גוגל למפתחים: עזבו אתכם מ-Java או ++C, תעברו ל-Kotlin
גוגל רוצה שמפתחי אנדרואיד יעבור לשפת תכנות קצת יותר מודרנית, ומכריזה על Kotlin בתור שפת התכנות המועדפת לאנדרואיד, ויש לזה כמה השלכות
עדיין מתכנתים ב-Java או אולי ++C לאנדרואיד? לגוגל יש תוכניות אחרות עבורכם. בכנס המפתחים השנתי שלה כבר ב-2017 הודיעה גוגל כי Kotlin תיתמך ב-Android Studio, אך לקח לה שנתיים בלבד כדי להפוך לשפה המועדפת על גוגל, שכעת רוצה שתעברו לעבוד איתה, ויש לה כמה דרכים לעשות את זה.
מעכשיו, סביבת הפיתוח היא "קודם כל Kotlin"
קוטלין הפכה לשפת פיתוח רשמית לאנדרואיד ב-Google I/O 2017. היא רצה על גבי Java Virtual Machine והחלה להיות משולבת באנדרואיד סטודיו כבר בגירסה 3.0. בדומה ל-Java, גם קוטלין מונחת עצמים ומתבססת על מערכת טיפוסים (Statically Typed). היא מאפשרת כתיבת קוד נייטיב גם ל-iOS, macOS ול-JavaScript לצורך שימוש באפליקציות ווב. היא נחשבת ידידותית יותר למשתמש, ונוחה במיוחד לפתרון בעיות מורכבות.
בגוגל מציינים כי יותר מ-50% מהמפתחים המקצועיים לאנדרואיד משתמשים ב-Kotlin וכי זו אחת משפות התכנות האהובות ביותר על פי סקרי Stack Overflow (מקום 4). אבל במקום רק להמליץ למפתחים לעבור לוותר על השפות הוותיקות יותר ולעבור ל-Kotlin, גוגל הודיעה בכנס המפתחים שלה, Google I/O 2019 על צעדים אקטיביים כדי להעביר את המפתחים שנותרו אליה: ראשית, היא הודיעה כי מעתה סביבת הפיתוח של אנדרואיד תהפוך ל-"Kotlin First", כלומר פיצ'רים חדשים ו-"Jetpack API" חדשים, שהם מעין אוגדן רכיבי תוכנה שמאפשרים פיתוח אפליקציות קל יותר, יוצעו קודם כל ב-Kotlin; שנית, גוגל טוענת שהיא תמשיך להשקיע ביצירת כלים, מדריכים, אירועים ומסמכים שיעזרו לכם ללמוד ולהשתמש ב-Kotlin.
"אנחנו מבינים שלא כולם עובדים ב-Kotlin כרגע, אבל אנחנו מאמינים שאתם צריכים להגיע לשם", מסבירים בגוגל. לפני שחלקכם חוטף התקף חרדה קל, לגוגל יש גם כמה מילים מרגיעות לאלו שלא אוהבים שינויים: "ישנן כמה סיבות טובות שאתם עדיין משתמשים ב-++C וב-Java בתור שפות התכנות שלכם, וזה בסדר גמור. הן לא הולכות לשום מקום".
בגוגל מסבירים כי מדובר באינטרס שמשרת את שני הצדדים, מכיוון ש-Kotlin היא שפה מודרנית יותר שנותנת יותר מקום לביטוי העצמי שלכם ודורשת מכם לכתוב פחות שורות קוד שתצטרכו לבחון ולתחזק. כמו כן, Kotlin מאפשרת לכם להשתמש בקוד מ-Java או להשתמש ב-Kotlin בקוד ב-Java, כך שאתם עדיין יכולים להשתמש בידע שלכם ב-Java גם בשפה החדשה יותר.
ההודעה מבית גוגל לא מפתיעה כל כך בהנחה שאתם מכירים את הקרב המשפטי באורך 9 שנים בין גוגל לבין Oracle, שקנתה את Sun Microsystems, החברה שפיתחה את השפה ופלטפורמת הפיתוח Java. במסגרת התביעה, אורקל טוענת שגוגל השתמשה ב-APIs בג'אווה שלא על פי תנאי השימוש ("Fair Use") כשפיתחה את אנדרואיד באמצעותה. מאז, בית המשפט הספיק לפסוק ש-APIs לא נתונים לזכויות יוצרים, הערעור בנושא התקבל ונערך משפט חוזר עם חבר מושבעים שפסק לטובת גוגל, אך אורקל שוב הגישה ערעור שהפעם פסק לטובתה.
המאבק המשפטי הזה משך ומושך לא מעט תשומת לב בעולם הטכנולוגיה, כיוון שהוא עשוי להשפיע על הרבה אפליקציות וספריות אשר מחקות APIs של חברות אחרות, ויצור פתח לתביעות ביניהן על הפרות זכויות יוצרים. על כן הצעד של גוגל למעבר לשפה אחרת הוא הגיוני.
הגב
23 תגובות על "גוגל למפתחים: עזבו אתכם מ-Java או ++C, תעברו ל-Kotlin"
* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.
C++ לא תושפע ברור שאין לkotlin סיכוי לעקוף אותה בביצועים כל אחד שהשתמש בקוד C++ לפני השינוי עדיין יצטרך את זה אחרי השינוי. Java הלכה לפח.
אתה ממש מדבר שטויות- כל המערכת הפעלה בנויה על java שלא לדבר על מיליוני אפליקציות- איך "יזרקו לפח"?
4 מינוסים- ואפילו לא תשובה אחת- פשוט מאוד כי אין לכם תשובה
אין תשובה לאיך מכריחים 15 מיליון מתכנתי java לעבור לkotlin
אין תשובה לאקו-סיסטם של java סיפריות דוקמונטציה מדריכים וכ"ו
אין תשובה לאיך זורקים את java לפח בלי לזרוק לפח מיליון אפליקציות לאנדרויד ולעצבן מיליון מתכנתים
אין מה לעשות הליכוד וJAVA בשלטון וזה כנראה ישאר ככה
– תלמדו לחיות עם זה -פחחח דור הZ….
אין לך מושג, נכון? תגובה של בור ליכודניק טיפוסי. קוטלין מבוססת jvm. אתה יכול לקרוא ממנה בקלילות לכל האקו סיסטם הקיים. אין שום שינוי. שום קוד לא נזרק לפח
כל יומיים יוצאת שפת פיתוח חדשה וסביבות פיתוח "עדכניות" ו"ידידותיות" יותר לפיתוח מובייל וווב … בפועל ++C כאן כדי להשאר ולאחרונה רואים צמיחה מחודשת של השפה, בטח עם השינויים והשדרוגים בסטנדרט.
מצחיק אבל פתאום כולם מגלים ש c++ היא השפה היחידה שהיא באמת cross-platform מהבסיס ושפשוט לא קיימת פלטפורמה שלא תומכת בה- אפילו דפדפנים…
sounds interesting. what changes are happening to C++ that you believe improve it?
מניסיון של שנתיים בסקלה, דעתי היא שג'אווה לא הולכת לשום מקום
כולם מנסים "לפשט" תהליכים ועל הדרך חזרו לקוד שמתאים למכונות ולא לבני אדם, נכון שג'אוה זה יותר שורות קוד, אבל זה שורות קוד קריאות ובכל מקרה חצי מהקוד מג'ונרט אוטומטית בintrellij , אבל שאני מגיע לקוד של ג'אווה של מתכנת אחר לוקח לי שתי דקות להבין מה הוא רצה להשיג, בסקלה כל אחד בוחר את ה"קסם" שלו והרדיפה אחרי הקוד הקצר ביותר וה"מתוחכם" ביותר גורמת לזה שאי אפשר לקרוא וקשה עוד יותר לשכתב ולהרחיב (כי הכל מותאם בול לפתור בעיה ספציפית)
סקאלה בנויה ככה שקשה להבין את כוונת המתכנת, בג'אווה, קוטלין ואפילו ++C הרבה יותר קל להבין מה רצו לעשות בקוד, הבעיה בסקאלה
אחי אני מכיר פסיכולוג טוב שמתמחה בנפגעי סקאלה
אם אי פעם תצטרך…
אתה יכול להשתמש בKotlin גם ב Android Studio, שהיא תכנה חינמית.
"בדומה ל-Java, גם קוטלין מונחת עצמים ומתבססת על מערכת טיפוסים (Statically Typed)."
לפי המשפט הזה, אני מבין שלא תכנתת ב-Kotlin.
בשפה אפשר להחליט שלא משתמשים בטיפוסים בכלל, ובמקום זאת שה-Compiler h יבין לבד לפי ההשמה.
כמו גם, שאפשר גם להגדיר מראש את הטיפוס. אבל כאמור לא חובה להגדיר טיפוס.
זה שיש Type Inference לא אומר שאין טיפוסים בכלל. בסוף כל משפט שאתה כותב בkotlin יש טיפוס שמעשן נרגילה.. גם אם אתה לא מצהיר עליו מראש אלא הוא מוגדר בcall site
להשתמש ב מ.א. בגיקטיים זה (כמעט) חילול הקודש.
אין ספק ש-JAVA זאת השפה הכי גרועה בעולם, אין סיבה הגיונית לפתח דברים חדשים בשפה הזאת כשיש אלטרנטיבות כל כך טובות אחרות, ובנוסף על הכל, אורקל הפכו אותה לשפה בתשלום!
ממש הגזמת- השפה הכי גרועה? אתה בכלל מתכנת? כולם יודעים שאין שפה יותר פגומה תחבירית ולוגית מJAVA-SCRIPT
היחידה שנותנת תחרות זה C# שהיא בעצם העתק של JAVA
שפה בתשלום? על מה אתה מדבר? לצייר את אורקל בתור השטן זה מאד פופולרי
אבל יש לך את openJDK חינם בלי שום הגבלות רישוי שמפותח ע"י אורקל וIBM
לדעתי C# היום היא מה שכולם ציפו שג'אווה צריכה להיות…
זו שפה נפלאה שמתקדמת כל הזמן.
Java מרגישה לידה כמו שפה מימי הביניים. אומנם kotlin מדביקה את הפער או אפילו עוקפת, אבל לטעמי היא לא אלגנטית תחבירית כמו C#
לא ממש מכיר #C אבל אכן נראה על פניו שMS תודות למנכ"ל המדהים עושים נפלאות עם השפה בשנתיים האחרונות- חבל שהתעוררו כל כך מאוחר
לכתוב בג'אווה זה כמו לרכוב על אופניים, לא שוכחים איך.
הרפרנס של כל השפות נישה האלו הוא ג'אווה – תמיד משווים לג'אווה.
חבל שהענקיות החליטו ללכת למלחמה נגד השפה הזאת, זה גורם לפיזור פוקוס של מפתחים, כל שנה יוצאת שפה אופנתית אחרת. בעיה.
כל האקו-סיסטם באנדרואיד חולה מהבסיס. ג׳אווה שפה נוראית (סינטקס לא מעניין אותי) ובזבזנית במשאבים, צורכת כל פיסת זכרון ומעבד פנויה שקיימת ולא חשוב כמה טוב אתה מתכנת וכמה טוב אתה חושב שטיפלת בזליגות זכרון. שפה לחובבנים שלצערי בשימוש נרחב ומלמדים אותה באקדמיות. למה? כי זה קל לפתח בלי התחשבות בחומרה, אבל המחיר? מחשב בתוך מחשב. כן, זה בדיוק מה ש JVM עושה.
אז זה ממש לא משנה אם תפתחו קוטלין או ג׳אווה לאנראויד, האפליקציות שלכם רצות בתוך אמולטור. אין פלא שאפליקציות אייפון עובדות הרבה יותר טוב מבחינת ביצועים ויציבות.
מסכים ב100%- לJVM בעיות מובנות בהקצאת זכרון ובGC- אפשר לעשות הוקוס פוקוס ולעקוף את הבעיות אבל בתכלס כבר עדיף לכתוב בC++