CodeGym /בלוג Java /Random-HE /היסטוריה של ג'אווה. סיפור מלא של פיתוח Java, מ-1991 עד 20...
John Squirrels
רָמָה
San Francisco

היסטוריה של ג'אווה. סיפור מלא של פיתוח Java, מ-1991 עד 2021

פורסם בקבוצה
כיום Java היא אחת משפות התכנות הפופולריות והמבוקשות ביותר בעולם, עם למעלה מ-7 מיליון מפתחי Java ואלפי אנשים שלומדים ג'אווה באופן מקוון (בפלטפורמות כגון CodeGym ובדרכים אחרות) מדי שנה , מכיוון ש-Java נמצא בשימוש אוניברסאלי ברחבי תעשיות ולמגוון מטרות עסקיות. כפי שאתה אולי יודע או לא יודע, לג'אווה יש היסטוריה ארוכה (למעשה כמעט שלושה עשורים). נולדה בתחילת שנות ה-90 בתור Project Oak, במקור Java תוכננה להפוך לשפת תכנות נישה שנועדה לשמש בתעשיית הטלוויזיה בכבלים הדיגיטלית לתכנות מכשירים דיגיטליים כגון ממירים וטלוויזיות חכמות. נדרשו שנים ושינויים רבים כדי להביא את ג'אווה למקום שבו היא נמצאת כעת. כמו שנאמר, חזור לשורש ותמצא את המשמעות. היסטוריה של ג'אווה.  סיפור מלא של פיתוח Java, מ-1991 עד 2021 - 1מתוך ידיעה שלרוב האנשים שלומדים Java ואפילו מפתחי Java מקצועיים חסרים בדרך כלל את הידע כיצד פותחה והתפתח Java עם הזמן, חשבנו שזה יהיה רעיון טוב לחקור את ההיסטוריה של Java ביתר פירוט.

ג'אווה: השורשים

Java נולדה ביוני 1991 כפרויקט שנקרא "Oak" בפיתוח של צוות קטן של מהנדסים שעובד עבור Sun Microsystems. הם קראו לעצמם הקבוצה הירוקה: ג'יימס גוסלינג, מייק שרידן ופטריק נאוטון. והמילה "אלון" נבחרה לשם הטכנולוגיה החדשה מכיוון שעץ האלון הוא סמל לחוזק ועמידות. הזמן הראה שהשם הזה בסופו של דבר היה מתאים מאוד ואפילו נבואי למרות שהוא שונה ל-Javain 1995 בשל העובדה שאוק כבר היה רשום כחלק מסימן מסחרי אחר. ג'יימס גוסלינג עמד בראש הפרויקט, ומטרתו המקורית הייתה ליצור שפת תכנות מונחה עצמים שתוכל ליישם מכונה וירטואלית ותהיה פשוטה ואוניברסלית יותר מ-C/C++, אך יחד עם זאת תהיה בעלת תחביר דומה לזה C/C++ כדי להקל על הלמידה והשימוש על ידי מתכנתים נוכחיים המכירים היטב את תווי C. שפת התכנות החדשה תוכננה במקור בעיקר עבור תעשיית הטלוויזיה בכבלים הדיגיטלית, כדי לתכנת את הדור החדש של טלוויזיות עם פונקציות חכמות ומכשירי ממיר שונים.

ג'אווה: תקווה חדשה

הפיתוח של שפת תכנות חדשה הסתיים רק בשנת 1995. ובתחילת 1996, Sun Microsystems פרסמה את המימוש הציבורי הראשון של Java 1.0. "יכולת הכתיבה של ג'אווה לרוץ-פעם אחת-בכל מקום יחד עם הנגישות הקלה שלה הניעו את התוכנה ואת קהילות האינטרנט לאמץ אותה כסטנדרט דה פקטו לכתיבת יישומים עבור רשתות מורכבות. אנו שמחים להזמין מפתחים להוריד את Java 1.0 באופן מיידי ולהתחיל לבנות את אפליקציית הרוצח הבאה", אמרה Sun Microsystems בהודעה לעיתונות שהכריזה על השקת Java. לפני השחרור, ב-1995, שונה שם הפרויקט מ-Oak ל-Oak. ג'אווה. הסיבה: השם המקורי כבר היה סימן מסחרי של Oak Technologies. לפי ג'יימס גוסלינג, היו להם אפשרויות שונות להשתמש כשם חדש, כולל "דינמי", "מהפכני", "טלטול" ו-"DNA" , כמשהו שישקף את האופי האבולוציוני, הדינמי והארוך-עמיד של הטכנולוגיה הזו. "ג'אווה הייתה אחת הבחירות המובילות יחד עם משי", אמר גוסלינג. בסופו של דבר, תוך כדי כוס קפה, הוא החליט להפוך את ג'אווה ל- בחירה אחרונה, שמה של השפה על שם אי באינדונזיה בו הופק הקפה הראשון.

ג'אווה: מהפכה

האם ג'אווה באמת הייתה מהפכה בפיתוח תוכנה באותה תקופה? ובכן, יותר נכון לומר שזה היה פתרון נחוץ מאוד שהותאם די מהר על ידי השוק. הרעיון להשתמש ב-Java בעיקר כשפת תכנות למכשירי טלוויזיה בכבלים ירד אי שם באמצע פיתוח Java, מכיוון שהמפתחים הבינו שהיא מתקדמת מכדי להשתלב בתעשיית הטלוויזיה בכבלים הדיגיטלית באותה תקופה. במקום זאת, לג'אווה היו את כל התכונות הנדרשות לתכנות אינטרנט, אשר פרחו בשנות ה-90. Java התבססה על ההבטחה "Write Once, Run Anywhere", ותומכת בזמני ריצה בחינם בפלטפורמות פופולריות. זה גם הציע הרבה יותר אבטחה בהשוואה ל-C/C++, תמיכה באפשרויות אבטחה הניתנות להגדרה, שאפשרו למתכנתים להגביל בקלות את הגישה לרשתות ו/או קבצים מסוימים. לדברי המפתחים, הם פיתחו את ג'אווה כדי לעמוד בקנה אחד עם מספר עקרונות ליבה:
  • פָּשׁוּט,
  • חָסוֹן,
  • נייד,
  • בלתי תלוי בפלטפורמה,
  • מְאוּבטָח,
  • ביצועים גבוהים,
  • ריבוי חוטים,
  • אדריכלות ניטראלית,
  • מונחה עצמים,
  • פירשתי,
  • דִינָמִי.
היו להם חמש מטרות עיקריות בעת פיתוח שפת התכנות הזו. Java היה צריך:
  1. השתמש במתודולוגיית התכנות מונחה עצמים.
  2. תמיכה בביצוע של אותו קוד במספר פלטפורמות ומערכות הפעלה.
  3. תמיכה מובנית ברשת מחשבים.
  4. אפשר ביצוע מאובטח של קוד ממקורות מרוחקים.
  5. היה קל ללמוד ולהשתמש.

ג'אווה: לעלות לתפארת

זמן קצר לאחר שחרורו של Java 1, כל דפדפני האינטרנט הגדולים שילבו את היכולת להפעיל יישומוני Java בתוך דפי אינטרנט, מה שהפך את Java לאחת הטכנולוגיות המרכזיות ביותר בתכנות אינטרנט. Java 2 (שוחרר בתחילה כ-J2SE 1.2 בסוף 1998) הוסיף מספר תצורות שנבנו עבור סוגים שונים של פלטפורמות. J2EE כללה טכנולוגיות וממשקי API עבור יישומים ארגוניים המופעלים בדרך כלל בסביבות שרתים, בעוד ש-J2ME הוסיף ממשקי API מותאמים ליישומים ניידים. בנובמבר 2006, Sun שחררה חלק גדול מהמחשב הווירטואלי של Java (JVM) שלה תחת הרישיון הציבורי הכללי של GNU כתוכנה חופשית וקוד פתוח. במאי 2007 הם השלימו את תהליך הפיכת Java לקוד פתוח על ידי גישה מלאה לקוד הליבה של JVM. באפריל 2009 השלימה Oracle Corporation את רכישת Sun Microsystems ואיתה רכשה את כל הזכויות על טכנולוגיות Java שפותחו על ידי המפתחים של Sun במסגרת Green Team. ג'יימס גוסלינג התפטר מאורקל שנה לאחר מכן, באפריל 2020.

ג'אווה: עידן חדש

השינוי הגדול ביותר בפיתוח טכנולוגיות Java תחת אורקל הגיע ב-2017, כאשר הודיעו ש-Java תועבר למחזור שחרור חדש, עם גרסה חדשה שתושק כל שישה חודשים, כדרך לוודא שטכנולוגיות הקשורות ל-Java מתעדכנות בזמן ב- בהתאם לצרכים ולדרישות של השוק המודרני. השינוי התרחש לאחר שחרורו של Java 9 בספטמבר 2017. יחד עם מחזור השחרור החדש, אורקל הכריזה גם על שינוי משמעותי באופן שבו הם בונים ומשחררים Java. ה-Oracle JDK בעל רישיון קנייני הוחלף בקבצים בינאריים של OpenJDK כחפץ ההפצה הראשי המופץ על ידי Oracle. לדברי מארק ריינהולד, האדריכל הראשי של Java, עיכובים עם Java 8 ו-9 היו הסיבה העיקרית לכך שהם החליטו לאמץ את המודל החדש. "מחזור השחרור הנוכחי של Java מיועד להיות שנתיים, אך Java 9 נתקלה בעיכובים משמעותיים עקב מערכת Java Platform Modules System (Jigsaw) וכעת היא באיחור של כ-18 חודשים. Java 8 נדחה גם בשמונה חודשים על מנת לטפל בבעיות אבטחה. תחת לוח הזמנים החדש של השחרור אורקל מציעה מהדורות קפדניות המבוססות על זמן, המכונה מהדורות תכונות. אלה יופיעו מדי שנה בחודשים מרץ וספטמבר ויהיו להם מספרי גרסה של הטופס 18.3, 18.9, 19.3 וכן הלאה. שלא כמו הדגם הנוכחי מבוסס הרכבת, שחרורים אלה לא יעוכבו כדי להכיל תכונה מרכזית. תכונות חדשות לא ימוזגו למאגר בקרת מקור שחרור עד להשלמת הפיצ'רים - אם הם מחמיצים גרסה, יש למקד אותן מחדש לגרסה הבאה או מאוחר יותר", אמר ריינהולד. נכון לספטמבר 2021, הגרסה האחרונה היא Java 16 או JDK 16 שפורסמה ב-16 במרץ 2021. ל-Java 16 היו 17 שיפורים חדשים לפלטפורמה שישפרו עוד יותר את פרודוקטיביות המפתחים. "הכוח של קצב השחרור של שישה חודשים הוצג במלואו עם המהדורה האחרונה. התאמת דפוסים ושיאים הוצגו לפני שנה כחלק מ-JDK 14 ומאז עברו מספר סבבים של משוב קהילתי המבוסס על יישומים מהעולם האמיתי. תהליך זה לא רק נתן למפתחי ג'אווה את ההזדמנות להתנסות עם התכונות הללו לפני שהן הושלמו, אלא גם שילב את המשוב הקריטי הזה שהביא לשני JEPs יציבים אשר באמת עונים על צורכי הקהילה", אמר ז'ורז' סאאב, סגן נשיא של פיתוח, Java Platform Group, Oracle. Java 11, שפורסמה ב-25 בספטמבר 2018, היא גרסת תמיכה לטווח ארוך (LTS) נתמכת כרגע. JDK 17 נמצא כעת בתהליך עם בניית גישה מוקדמת ויהפוך ל- LTS (תמיכה לטווח ארוך) ה-JDK הבא.

ג'אווה: העתיד

כיום Java ידועה כאחת משפות התכנות המגוונות ביותר בעולם. הוא נמצא בשימוש כמעט בכל מקום במונחים של פלטפורמות, טכנולוגיות ומגזרי כלכלה: מיליארדי טלפונים אנדרואיד מפעילים כולם Java; משחקים רבים מפותחים ומתוחזקים ב-Java; שלא לדבר על השימוש הנרחב ב-Java ביישומי שרת ברמת הארגון. הצורך במפתחי Java מוסמכים ומנוסים ברחבי העולם ממשיך לגדול למרות העובדה שכבר יש כל כך הרבה קודני Java בחוץ, שכן נישות מגמתיות חדשות, כולל AI, Big Data, IoT, Blockchain ואחרים, מסתמכות רבות על Java. אם אתה מעוניין לדעת יותר על אופן השימוש ב-Java היום, בשנת 2021, ועד כמה היא תישאר רלוונטית בשנים הבאות, עיין בכמה מהמאמרים הקודמים שלנו בנושא זה:
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION