@זונדל @אליר325000 דיברתם כאן על 3 נושאים שונים :
א) JAVA נגד קוטלין כלפי הJVM או ART)
ב) JAVA נגד קוטלין כלפי שאר הפלטפורמות (מה שקוראים KOTLIN MULTIPLATFORM וKOTLIN NATIVE)
ג) XML נגד JETPACK COMPOSE (כי עד 2021 שלא היה קיים, היו משתמשים בקוטלין עם XML ועד היום זה אפשרי)
אני לא אכתוב מאמר על כל הדבירם הללו, אבל ביקיצור נמרץ כל מה שאפשר לעשות בJAVA אפשר בקוטלין ב-100%, כל פריימוורק JAVA כגון SPRINGBOOT לשרתים, או JAVAFX לדסקטופ אפשר להשתמש בו בקוטלין, אבל ההיפך הוא ממש לא נכון, הרבה הרבה דברים אפשר לעשות רק בקוטלין, הכי פופולרי באנדרואיד זה השימוש של JETPACK COMPOSE שזה לא אפשרי בJAVA. אבל לא רק,
א) הקומפיילר הרבה יותר חכם, למשל קוטלין הוא NULL SAFE, אי אפשר לקראו למשתנה NULL אלא אם כן כתבת את זה במפורש, ולכן אתה עוקף את כל הNULL POINTER EXCEPTION, יש גם את CONCURRENCY MANAGEMENT שהוא הרבה יותר קל בקוטלין מאשר בJAVA (אי אפשר להשוות THREADS עם COROUTINES בין בקלות לשימוש בין בביצועים), יש עוד הרבה דברים שאין בJAVA ואין לי זמן להזכיר הכל אבל מה אני חושב עליו זה DATA CLASS שמשתמשים זה תמיד או INLINE FUN שמאפשר את הביצועים ועוד הרבה אבל מגדיל את הקובץ הDEX, יש הרבה מאמרים על היתרונות של קוטלין.
חוץ מזה הקוד הרבה יותר קצר וקל לקריאה, לא צריך להגדיר על כל משתנה מה זה, הקומפיילר מבין לבד אם זה STRING או INT, ועוד הרבה דברים כאלו שהופכים את הקוד ליותר נקי וקל להבנה. איפה שיש חיסרון זה יהיה בקהילה, אבל זה חיסרון כל עוד שלא מגיעים לאנדרואיד, באנדרואיד, כבר כולם עברו לקוטלין, לכן לדעתי יש פחות קהילה בJAVA מאשר קוטלין באנדרואיד.
ב) בקיצור קוד קוטלין מתקמפל גם לשאר הפלפורמות ולכן זה יתרון ממש גדול כשרוצים לבנות גם אפליקצייה לאייפון או למחשב, אפשר גם לבנות אתרים בקוטלין בין בJS (אני חושב על KOBWEB, KVISION) או אפליקציית WEB בWASM. זה דבר שאין בכלל בJAVA, אפשר אוליי להזכיר את GRAALVM אבל לדעתי אתם לא משתמשים בזה ואי אפשר כלל להשוות בינהים. גם קוטלין היא גם שפה של סקריפטים ולכן כשמגדירים את GRADLE אפשר להגדיר אותו בקוטלין איפה שבJAVA חייבים להשתמש בעוד שפה (GROOVY).
ג) השארתי אותו לבסוף, כי לדעתי JETPACK COMPOSE זה הדבר ההכי טוב שקרא לאנדרואיד מאז שאנרואיד קיים, מה שאתה עושה ב3 שעות בXML עם תוצאות בינוניות תעשה בשעה עם קומפוז עם תוצאות מושלמות, היום בכל החברות צריך לדעת את XML רק כדי לכתוב את הממשק מחדש לקומפוז, חוץ מזה, ממשק עם קומפוז ניתן לשתף אותו עם שאר הפלטפורמות אפילו אתרים דרך WASM מה שאין כן XML. ביצועים גם יותר טובים. אני בין כה שונא לבנות ממשק אבל עם קומפוז זה הרבה יותר נוח. לדעתי רק בשביל זה צריך לעבור לקוטלין, גוגל כבר לא משקיעים כלום בXML ומשקעים רק בקומפוז.
בקיצור להשתמש בקוטלין עם JETPACK COMPOSE זה יתן לכם קוד הרבה יותר נקי וקצר (זה יכול להגיע ל50% פחות קוד), הרבה פחות באגים, יותר ביצועים, ובמתנה 95% של אפליקציית אייפון (כי גוגל התחילו לכתוב מחדש את כל הספרייות JAVA שלהם לקוטלין בשביל זה) ואפליקצייה נטיבית לאנדרואיד. אני לא אעריך אבל אתם צריכים להגיד לי מה מצאתם בJAVA, הרי אתם מפתחים רק לאנדרואיד, באנדרואיד יש רק חסרונות לJAVA