Java היא שפת תכנות מונחה עצמים ופלטפורמת תוכנה בשימוש נרחב. הוא פועל על מיליארדי מכשירים כולל מחשבים ניידים, מכשירים ניידים, קונסולות משחקים ועוד רבים אחרים.
ליכולות כאלה יש מחיר. ג'אווה יכולה להיות קשה ללימוד, עם תחביר מסובך ארוך. זה מוקלד סטטי, וזה יכול להיות פחות נוח. ולמרות שהיא בלתי תלויה בפלטפורמה, עלייתה של פלטפורמת מחשוב הענן הופכת את העצמאות לפחות מנצחת.
אלו הן רק כמה מהסיבות לכך ש-Java עשויה להתפרק.
1. Java הופכת פחות פופולרית
בראש ובראשונה, נראה ש-Java מחליקה לאט בפופולריות. במשך שנים, זה היה אחת משפות התכנות הטובות ביותר ללמוד, אבל עכשיו זה כבר לא פופולרי. המשמעות היא שלאורך זמן, מפתחים יכתבו פחות ופחות יישומים חדשים ב-Java.
מגמה זו מרמזת ש- Java בסופו של דבר תיעלם. עסקים ברחבי העולם ימשיכו לשכור מתכנתי Java כדי לשמור על בסיסי קוד מדור קודם, אבל זה לא יימשך לנצח.
ובכל זאת, אם אתה רוצה למקד את הקריירה שלך בבניית דברים חדשים, במקום לשמור על תוכניות קיימות, ייתכן ש-Java לא תהיה הבחירה הטובה ביותר עבורך.
שפת תכנות | מאי 2022 |
---|---|
פִּיתוֹן | 1 |
ג | 2 |
JavaScipt | 3 |
C++ | 4 |
C# | 5 |
ויז'ואל בייסיק | 6 |
Java | 7 |
שפת אסמבלי | 8 |
SQL | 9 |
PHP | 10 |
2. Java זה לא פשוט
ג'אווה אולי קל ללמוד, אבל זה לא פשוט. קל ללמוד את השפה מכיוון שקוד Java הוא פשוט לכתיבה, ארגון והידור. אבל זה לא פשוט כי קוד שנכתב בג'אווה נוטה להיות יותר מפורט ומייגע יותר לכתיבה.
אתה גם צריך לקמפל אותו, מה שהופך את Java להרבה פחות נוח משפות כמו Python. לכן, אם אתה טירון שלומד קוד בפעם הראשונה, Java היא לא שפה טובה להתחיל איתה.
אם אתה מקצוען שרוצה להוציא קוד פשוט ואלגנטי ולפרוס אותו במהירות, ג'אווה היא גם לא הבחירה האידיאלית.
3. גטרים וסטרים
גטרים ומגדירים הם כמעט חלק חובה בשימוש בשפה ומסגרות רבות מעודדות את השימוש בהם. עם זאת, הגטרים וההגדרות של Java יכולים להיות מילוליים שלא לצורך.
ניהול קוד המעוטר ב-Java getters ו-seters הוא גיהנום ומסובך. היעדר פתרון משמעותי לבעיית הגטרים והמקבעים הוא רק קצה הקרחון.
פּוּמְבֵּימעמדרכב{
פְּרָטִי חוּט צֶבַע;// גטר
פּוּמְבֵּי חוּט getColor(){
לַחֲזוֹר צֶבַע;
}
// סטטר
פּוּמְבֵּיבָּטֵלsetColor(מחרוזת ג){
זֶה.color = c;
}
}
4. ללא ציפוי תחבירי
אתה פועל על אוסף. אתה רוצה את הפריט הראשון. מה אתה עושה? כמובן, אתה קורא לשיטה במקום להשתמש במשותף [] מַפעִיל. הכל בגלל שאתה לא יכול להעמיס מפעילים.
כמעט עבור כל פעולה, עליך להשתמש בשם שיטה מלל גם אם אופרטור של תו בודד יעשה זאת.
Java תומכת ברעיון; השפה מאפשרת לך לשרשר מחרוזות עם + מפעיל, למשל. זה פשוט לא נותן לך, המתכנת, לעשות את אותו הדבר.
5. הכרזת החריגים כשיטה עלולה לזרוק
Java דורשת ממך להכריז על החריגים ששיטה עשויה לזרוק. זה נראה שימושי, לא? על ידי שימוש בשיטה נתונה, אתה יודע למה לצפות.
הבעיה היא שהקוד הוא אורגניזם חי, וקורה שהשיטה שבה אתה משתמש מתחילה לזרוק עוד חריגים. מה יקרה אז? ובכן, הקוד שלך פשוט הפסיק להדר.
עליך לטפל במצב או להוסיף חריגה לרשימת ההשלכות. בוא נניח שה-API שבו אתה משתמש לא משתנה. יש דבר כזה RuntimeException ב-Java. אם השיטה שלך יכולה לזרוק את החריג הזה או את אחד מצאצאיו, עליך להכריז עליו.
החריגים של Java יכולים להביא הרבה בעיות תחזוקה של קוד.
// תוכנית Java המדגימה את השימוש ב-throw
מעמדThrowExcep
{
סטָטִיבָּטֵל כֵּיף()
{
לְנַסוֹת
{
לזרוקחָדָשׁ NullPointerException("demo");
}
לתפוס (NullPointerException ה)
{
System.out.println("נתפס בתוך כיף().");
לזרוק ה; // השלכה מחדש של החריג
}
}
פּוּמְבֵּי סטָטִיבָּטֵל רָאשִׁי(חוּט args[])
{
לְנַסוֹת
{
כֵּיף();
}
לתפוס (NullPointerException ה)
{
System.out.println("נתפס ב-main.");
}
}
}
6. IDEs מסובכים
מתכנתי Java משתמשים לעתים קרובות ב-IDE כמו Eclipse או IntelliJ. IDEs אלה הם רבי עוצמה, אבל הם מורכבים לאינטראקציה איתם, במיוחד עבור מפתחים מתחילים או בינוניים. תצטרך להשקיע מאמץ רב בלימוד ה-IDE שלך מבפנים ומבחוץ כדי שהוא יהיה פרודוקטיבי יותר ופחות כואב עבורך.
7. עצמאות פלטפורמה פחות חשובה ב-2022
העובדה ש-Java היא מאוד עצמאית בפלטפורמה חשובה פחות היום מאשר לפני 10 או 20 שנה.
הסיבה לכך היא שאנו חיים בעולם המוגדר בתוכנה. כיום, מכונות וירטואליות, קונטיינרים ושירותי ענן מקלים על הפעלת אפליקציה בכל מקום שתרצה, מבלי לדאוג לגבי הסביבה הבסיסית.
במילים אחרות, אינך צריך לשנות את הקוד שלך כדי שהאפליקציה שלך תעבוד היכן שאתה צריך שהיא תעבוד. אתה יכול לשנות את סביבת האירוח במקום זאת.
זה לא אומר שניידות האפליקציות כבר לא חשובה. זה פשוט לא קריטי כמו שהיה פעם, וזה הופך את Java לקצת פחות חשוב בהרחבה.
8. הקלדה סטטית
Java מבצעת בדיקת סוגים במהלך זמן ההידור. המשמעות היא שעליך להצהיר על סוג כל משתנה בזמן ההידור. זה אותו דבר עם שפות כמו C ו-C++, אבל שפות אחרות, כמו סקאלה והאסקל, מציעות סוג מסוים של הסקת מסקנות.
עם הקלדה סטטית, משתנים בדרך כלל אינם מורשים לשנות סוגים. זה הופך את תחביר Java לקצת מסובך במיוחד בעת כתיבת קוד עבור פרויקט גדול.
מתכנתים רבים מעדיפים תכנות דינמי שבו מתרחשת בדיקת סוג בזמן ריצה. המשמעות היא שסוג המשתנה יכול להשתנות במהלך חייו.
למד שפות תכנות חדשות
זה לא ש-Java לא טוב לכלום, אבל התחביר שלה מגושם ולא מתאים לקריאת קוד. ניהול התלות של Java מאפשר שימוש לרעה ומוביל לבאגים קשים לזיהוי.
הטכנולוגיה ממשיכה להשתנות, וכמפתח, תמיד שימושי להיות מעודכן בשפות תכנות מתפתחות. מה שיש היום באופנה עשוי להיות בקרוב החדשות של אתמול.