5 שפות תכנות חדשות שכדאי לדעת

עבור אנשים מסוימים למידת שפת תכנות חדשה היא עדיפה להימנע. מדוע, הו מדוע, הם טוענים, אנו זקוקים לשפה אחרת?


אין לנו מספיק כבר?

אינם הכלים הקיימים שעושים את העבודה?

ואז יש את אותם המחפשים הבלתי נלאים שקופצים על ההזדמנות לנסות דברים חדשים וממעדים באבני חן. מבחינתם הלמידה היא מטרה בפני עצמה, והם לא צריכים הרבה משכנעים לשרוף את סופי השבוע שלהם בבניית משחק קלפים מבוסס קונסולות באותה שפה מעורפלת וחדשה..

לא משנה לאיזה מחנה אתה שייך, יש משהו מעבר לוויכוח: כולנו רוצים לבזבז זמן על משהו שיהיה לו עתיד מזהיר.

עבור האנשים במחנה המורשת, לשפה הקיימת המועדפת עליהם כבר יש המון מומנטום והם ימשיכו לקבל עתיד מזהיר. להם אני צריך להזכיר שמחזיק הכלי המועדף עליהם לפיתוח מועדף היה בעבר “סיוע kool” שרבים סירבו לשתות. וכך זה גם היום; טכנולוגיות חדשות מתווספות כדי לפתור בעיות חדשות או כדי להקל על כאב ההתפתחות.

אם משהו עושה זאת בצורה קיצונית, רוב הסיכויים שהוא ימשיך לחטוף את המוח ולהגיע לפסגה. כשזה קורה, אתה לא רוצה להישאר מאחור. ��

ולמי שאוהב לרוץ עם הדברים המבריקים, אזהרה: כיף זה חיוני כמתכנת, אבל עלינו להיזהר שלא לבזבז את האנרגיה שלנו ללא מטרה..

בטוח, בריינפוק היא שפה קטנה ומעוותת, דמוית פאזל, מהנה, אך לא סביר שתפיק תועלת מכך שתמשיכי לרצונה. אתה רוצה משהו שהוא חדש, הגיוני ובעל בסיס איתן.

כיצד נבחרו שפות אלה

בחירת שפה היא עבודה מאיימת, במיוחד כאשר שוקלים שפות חדשות לטובת תועלות עתידיות בתעסוקה ושביעות רצון. כל כותב שפה משוכנע בתוקף שבנה את השפה המושלמת האפשרית ופתר את כל הבעיות שיש לענות עליהן. איך, אם כן, אתה חותך?

לפוסט זה התמקדתי בכמה פרמטרים כדי לשמור על החיפוש שלי בגבולות סבירים.

תאריך הוצאה

נמנעתי ספציפית משפות שהן מאוד מאוד חדשות.

חדש, אני מתכוון לשפות בנות פחות מ 5-6 שנים מהכתיבה, ובעיקר לשפות שלא הגיעו ליציבות (כלומר שחרור 1.0, כלומר). זה, למרבה הצער, פוסל כמה אבני חן אמיתיות כמו קריסטל, אבל אני מקווה לחזור לזה ולכתוב יום אחד על הצלחתו. ��

קטע קוד בקריסטל (“מהיר כמו C, חלק כמו רובי”)

מבחינתי 5-12 שנים זה המקום המתוק, וזה הרגע בו התייצבה שפה, ומעבדים שכלולים נוספים. כעת, כמובן, ישנם יוצאים מן הכלל לכלל זה, ואלה ייחשבו במקומות בהם ישים.

אינטרס קהילתי חזק

זה הוא לא מוחלט, אך לעיתים קרובות מתעלמים ממנו כשאנחנו מתלהבים ממשהו חדש. כעת, עבור אנשים רבים, הגיבוי של חברה גדולה מספיק תקדים להצלחה, אך זה לא תמיד נכון.

כן, המטרה-אפל של אפל ועכשיו סוויפט שגשגה מכיוון שאלו היו האפשרויות היחידות במערכת אקולוגית נשלטת מאוד, אבל ד ו האק (נטייה מכוערת לשפה מכוערת כבר לדעתי) נותרים מעט יותר מניסויים.

השילוב האידיאלי יהיה שפה המגובה על ידי חברה גדולה ויציבה ומתפוצץ בפופולריות (כמו React).

אבל בשר העניין הוא עדיין הקהילה. אם שפה לא יוצרת באזז, ואין מספיק מאמרים לחינוך ופופולריות, היא לא מתכוונת לטפס מקבר GitHub שלה.

מבחינתי זה פוסק שפות בוגרות ומרתקות כמו מחבט ו ארלנג, כפי שהם נשארו שטוחים על עקומת הצמיחה.

USP ממוקד ומוגדר היטב

הדבר השלישי שאני מחפש הוא מטרה ברורה לשפה. לדוגמה, גרסה טובה יותר של PHP שמתקנת בעיות שמות ומחוברת ל- PHP מקורית אינה עובדת עבורי.

היתרונות פשוט קטנים מכדי להצדיק את הסדקים שיופיעו אם כולם ינסו לעבור אליו. לפי קנה המידה הזה, אינני יכול שלא לדחות ניסיונות כמו CoffeeScript, ורבים אחרים דומים של קומפילציה ל- JavaScript.

בכנות, אני נאלץ לבטל מייד שיפורים לתחביר בלבד. ההיסטוריה הראתה שהשימושיות גוברת על ידידותיות בכל מה שקשור לשפות, כך שאם כל השפות החדשות מתמקדות בה היא חוויה נעימה יותר, אני חושש שהיא לא תעשה את הרשימה הזו.

תחביר ברור ועקבי

כן אני יודע. בדיוק אמרתי שתחביר לא משנה. ובכן, ליתר דיוק, אמרתי ש”שיפורים לתחביר בלבד “לא חשובים. עם זאת, התחביר נותר אחד הגורמים המשמעותיים בפריון ותחזוקה של מתכנת, כך שזה משהו שצריך להופיע בחישובים שלי כאן.

יחד עם התחביר מגיע רעיון העקביות. שמות פונקציות, בניית מודולים וכו ‘, הם דברים מרכזיים ששפה לא יכולה להרשות לעצמה לטעות. זהו 2018, למען השם, ועיצוב שפה אחר דמוי PHP יהיה חבל לכולנו. אז, בלי להתייחס יותר, בואו נתחיל בחמש ההמלצות המובילות שלנו.

1. ג’וליה

עבור האנשים ב- MIT, השפות הזמינות למדעי נתונים היו פשרה במקרה הטוב. לפייתון, על כל בהירותו ופופולריותו, היה חסר מבנים מקוריים להתמודדות עם אובייקטים נתונים. כמו כן, בהיותו שפה מפורשת, פייתון היה איטי עבורם (לא הספריות, אכפת לכם, כמו שהם נכתבים לרוב ב- C).

אבל אולי הכיבוי הגדול ביותר היה מודל המקבילים המגושמים, והיעדר מודל מחשוב מקביל, שהאחרון הוא מצרך דרך מחשוב-על..

כתוצאה, ג’וליה נולד.

ג’וליה הגיעה ליציאתה היציבה ב- 29 בספטמבר 2018, בקושי מספר ימים לפני כתיבת המאמר הזה (דברו על תזמון!). הנה מה שיש לאתר הרשמי לומר על יכולותיו:

ג’וליה מצטיינת במחשוב מספרי. התחביר שלו נהדר למתמטיקה, נתוני נתונים רבים מספריים נתמכים, והקבלה זמינה מחוץ לתיבה. המסירה המרובה של יוליה היא התאמה טבעית להגדרת תשחץ-סוגים ומספרי נתונים.

מבחינה תחבירית, ניתן לראות את ג’וליה כשילוב של פייתון ו- C. כן, זו כנראה הפעם הראשונה ששפה מכוונת לשתי התכונות הללו והצליחה.

כדי לשמור על עניינים פשוטים, ג’וליה לא אוכפת הקלדה קפדנית ובכל זאת בוערת במהירות. להלן כמה מדדים:

המדדים הרשמיים של ג’וליה

כפי שאתה יכול לראות, ג’וליה מעט גרועה יותר מ- C, אך מכה את ג’אווה ופייתון מהמים. ואיזה סוג סוכריות עיניים מציעה ג’וליה?

ובכן, הנה הטמעה של פונקציה לחישוב מצב מעבר משולש ימני:

סוף סוף, בעוד שרוב הג’וליה מערכת אקולוגית נוטה מאוד לכיוון העבודה המתמטית, אני מאמין שיש לה עתיד למטרה כללית בהירה.

זוהי השפה הראשונה שבידיעתי שיש לה תמיכה ממדרגה ראשונה במחשוב מקביל, כך שלא יפתיע לראות אותה צוברת פופולריות רבה יותר בתחומי האינטרנט וה- IoT.

2. חלודה

אם ניסית את הגרסאות החדשות של דפדפן פיירפוקס, אתה יודע שלבסוף, אחרי שנים של עבודה, נראה כאילו הם יוכלו לקחת נתח שוק כלשהו מ- Chrome.

אם הדפדפן מרגיש קל ומרושם ומופץ במהירות, הכל בזכות השפה שמוזילה פותחה במיוחד: חלודה.

לומר שלרוסט יש עתיד מזהיר יהיה שקר; השפה היא כבר הצלחה מסיבית, ואם עוד לא שמעת עליה, זה מכיוון שתחום היישום שלה מתמחה והמטרה שלה מפחידה: החלפת C ++! כן, סוף סוף יש לנו שפה שלא רק שהיא מסוגלת לעשות זאת אלא שהיא כבר עושה את זה.

עבור אנשים המתוסכלים מהאתגרים העומסים בעיצוב וניהול זיכרון של C ++, חלודה מגיעה כתאורת אוויר צח.

כך נראית תוכנית חלודה:

תמציתית ואלגנטית, לדעתי. חלודה נוקטת בגישת התכנות הפונקציונאלית, שהופכת את הקוד שלך להרכב יותר ואין היררכיות מונחות עצמים שאפשר להתמודד איתן..

אז מה נותן לרוסט את האומץ להמשיך אחרי C ++? זהו מודל הזיכרון החדש. במקום להסתמך על הריקוד החדש () / למחוק () הישן, חלודה מציגה את רעיון הבעלות.

במקום להקצות ולגשת ישירות לזיכרון, משתני חלודה “לווים” אחד מהשני, עם מגבלות קפדניות שהוצבו על ידי המהדר. הרעיון הכללי מסובך מכדי להסביר בכמה מילים, אז אל תהסס לבדוק את מסמכים רשמיים ללמוד ‘יותר.

העניין הוא שהדבר מביא לבטיחות זיכרון של 100% ללא צורך באספן זבל, וזה עניין גדול.

חלודה לקחה את עולם תכנות המערכת בסערה. זה כבר נתמך בחלק מהפלטפורמות, דפדפני כוח ומנועי טיוח מחליפים במהירות קוד C / C ++ במערכות ייצור ומשמש לכתיבת מערכות הפעלה..

בטח, זה לא כוס התה של כולם ליצור דפדפן או מנהל התקן נוסף, אבל חלודה כבר מפיצה את עצמה לדומיינים אחרים. יש לנו כבר כמה מסגרות אינטרנט פונקציונאליות ומהירות עד גיחוך בחלודה, ויותר ויותר ספריות יישומים מפותחות..

בכנות, אם אתם מעוניינים בעתיד מרגש, חלודה היא השפה המושלמת ועכשיו היא זמן מושלם. חלודה הוא מטוס שהמריא, אבל עדיין יש זמן לעלות על הסיפון כשהוא פונה לכוכבים!

למד חלודה מדמיטרי נסטרוק.

3. אליקסיר

מבין השפות המתמקדות באושר מפתחים, המקום הראשון שמור לצמיתות לרובי. זו שפה שקוראת כמו שירה ויש לה מספיק קיצורי דרך כדי להפחית את החיכוך הנפשי לפי סדר גודל.

אין פלא אפוא שמסגרת ה- Rails ממשיכה לשלוט בפיתוח ערימות מלא עבור מפתחים וסטארט-אפים רציניים. אבל לא כולם היו מרוצים מ- Rails, במיוחד אחד ממפתחי הליבה שלה – חוסה ולים. אני חושב שהיוצר עצמו מסביר בצורה הטובה ביותר את בראשית השפה הזו בספר ראיון:

זה סיפור ארוך, אבל אני אנסה להפוך אותו לקצר ומתוק. עוד בשנת 2010 עבדתי על שיפור ביצועי ה- Rails בעבודה עם מערכות מרובות ליבות, מכיוון שמכונות ומערכות הייצור שלנו מועברות עם יותר ויותר ליבות. עם זאת, כל החוויה הייתה די מתסכלת מאחר ורובי אינו מספק את הכלי המתאים לפיתרון בעיות במקביל. זה התחלתי להסתכל על טכנולוגיות אחרות ובסופו של דבר התאהבתי במכונה הוירטואלית Erlang.

התחלתי להשתמש בארלנג יותר ויותר, ובניסיון, שמתי לב שחסר לי כמה מבנים זמינים בשפות רבות אחרות, כולל פונקציונליות. הרגע בו החלטתי ליצור אליקסיר, כניסיון להביא קונסטרוקציות שונות וכלי עבודה מעולים על גבי ה- Erlang VM.

והנה, אליקסיר נולד!

בדיוק כמו שסקאלה משפרת את שפת ה- Java אך מכוונת לאותה מכונה וירטואלית שמתחת (JVM), כך גם אליקסיר מנצלת את המכונה הוירטואלית Erlang המוכחת בת עשרות שנים..

כעת, דיון על ארלנג הוא מעבר לתחום של מאמר זה, אך המינימום שכדאי לדעת הוא שזה הסוד הכי שמור של תעשיית הטלקום: אם רשתות הטלפון שלנו אמינות בהרבה מהמערכות מבוססות האינטרנט שלנו, הכל בזכות ארלנג.

במונחים פשוטים עוד יותר, המשמעות היא זו. אם אתה בונה מערכת בזמן אמת כמו צ’אט, אליקסיר הוא רעב ויציב בהרבה, הרבה פחות RAM מאשר רובי (או PHP, פייתון וג’אווה, לצורך העניין).

מכונה שמפעילה רובי וממציאה 10,000 חיבורים במקביל, יכולה להתמודד בקלות עם 200,000 בעת שימוש באלקסיר ועדיין יש לה מספיק זיכרון RAM כדי להריץ משחקי 2D!

קטע קוד של Elixir

באופן תחביר, אליקסיר מעתיק ללא בושה את רובי, ואת מסגרת האינטרנט הדומיננטית שלה, פיניקס, מעתיקה ללא בושה את Rails. גם אני הייתי אומר שזה דבר טוב, מכיוון שלצד Laravel, Grails, Masonite וכו ‘, אנו מגיעים לנקודה בה כל השפות כוללות מסגרות דמויות מסילות שיכולות להקל על המעבר. חלקם עשויים ללעג ל”חוסר מקוריות “, אך לפחות אני לא מתלונן.

סוף כל סוף, אליקסיר היא אחת מאותן טכנולוגיות מרעננות, נעימות ומעשיות ארורות. כמה חנויות רובי (ואפילו לא רובי) עוברות לאליקסיר, וחברות גדולות כמו פינטרסט משתמשות בה בייצור עם תוצאות מספקות במיוחד..

אנשים רבים חושבים ש- Node.js היה ניסיון מאולתר במקביל ובקרוב יוחלף על ידי אליקסיר. אני חייב לומר שאני מסכים איתם. ��

4. קוטלין

ב- 2017 I / O, גוגל שחררה פצצה על הקהל הבלתי מעורער. החברה הודיעה רשמית קוטלין כשפה העיקרית לפיתוח אנדרואיד, ושולחת גלי הלם בתעשייה.

כעת, כי גוגל חיפשה באופן פעיל להחליף את ג’אווה אינה מפתיעה לאחר שננשכה בתביעה של אורקל; עם זאת, אימוץ קוטלין היה מעט בלתי צפוי, ועדיין יש סיכוי טוב שגוגל תצא בקרוב עם המכונה הווירטואלית שלה. עם זאת, נכון לעכשיו, קוטלין נהנה מפעולה.

קוטלין פותחה על ידי JetBrains, חברה הידועה יותר בזכות חבילת העורכים הקוד הטובים שלה בטירוף. אחד מהם, IntelliJ IDEA, מהווה את סלע האם של סטודיו אנדרואיד. יעדי התכנון של קוטלין הם בטיחות, תמציתיות ויכולת פעולה הדדית של 100% עם ג’אווה.

יותר מכל דבר אחר, המהדר של קוטלין עובד קשה במיוחד בכדי לחסל כל חריגים של מצביעי האפס אשר נפוצים כל כך בעולם ג’אווה. זה גם מוריד לא מעט את מילוליות הג’אווה הפתגמית, שתגיע כמקלה עבור רבים.

להלן השוואה בין קוד נהדר בין Java לקוטלין:

אשראי תמונה: hype.codes

קוד קוטלין קצר משמעותית ועומס הרבה יותר קוגניטיבי לחרוש.

אבל בואו נבהיר דבר אחד: אין ספק שקוטלין יחליף את ג’אווה, אם כי הוא הופך במהירות לפייבוריט מהיר. אני מאמין שעשר שנים בהמשך הדרך צוותים קטנים ובינוניים לא יראו רחוק יותר מקוטלין, בעוד קבוצות גדולות ימשיכו להשתמש בג’אווה אך ורק מסיבות מדור קודם..

עם זאת, לקוטלין יש עתיד מזהיר במיוחד שכן הוא עושה את כל מה שג’אווה עושה, יכול להתמזג עם קוד Java מבלי שאיש ישים לב, והוא נעים בהרבה!

5. TypeScript

אלוהים יודע שהייתי צריך להתאפק על המקום הזה! כל מה שבתוכי צרח “אלם! אלם! “, אך לא משנה עד כמה רעיונותיה מהפכניים, או עד כמה התחביר האלוהי, אלם טרם נתפסת כאלטרנטיבה מיינסטרימית לעבודה חזיתית. �� בכל מקרה, בואו ונעבור למה שהוא הזרם המרכזי: TypeScript.

JavaScript הוא כמו גרגרי בר: מכוערים ומלאי טעם, אבל אתה צריך לבטן את זה אם אתה רוצה לשרוד את הג’ונגל של ההתפתחות הקדמית. ניסיונות רבים נעשו להחליפו (וסביר להניח שתקן WebAssemble החדש יצליח), אך מה שבאמת תפס את תשומת ליבם של כולם היה העל-על שפותחה על ידי מיקרוסופט.

יש סיכויים מצוינים ששמעת עליהם TypeScript: Angular הייתה המסגרת הראשונה לחבק אותה מגירסה 2 ואילך, ואנשים מיהרו לשים לב. הסיבה לכך היא ש- TypeScript מוסיפה כמה כוחות-על נחוצים וכמה מעולות-על פנטסטיות לשפת התכנות המפורסמת ביותר בעולם.

כן, סוף סוף ניתן לכתוב קוד JavaScript מקורי בלי לסבול ולקלל את לידתו!

להלן שיפורים ש- TypeScript מביא לטבלה:

✓ הקלדה חזקה: לבסוף, מחרוזת אינה מספר, ומספר אינו אובייקט, שאינו מערך ריק!

✓ בדיקת סוג זמן קומפילציה: אם הקוד שלך מורכב כהלכה, הוא פחות או יותר מובטח להיות חופשי מהיבלות של זמן הריצה של JavaScript.

✓ שיעורים ומודולים: כן, שיעורים הם סטנדרטיים ב- ES6, אך הם כלולים גם ב- TypeScript, מלבד מערכת מודולים מסודרת.

✓ הסקת סוג: עבור סוגים מורכבים, ניתן להבין את הסוג בקלות על ידי המהדר, ולחסוך לכם קצת כאב ראש.

✓ ליישר / לחכות: מילות המפתח והדפוסים האסינכרוניים / ממתינים הם בסיסיים, כך שלא יתעסקו יותר בהבטחות ובקליפינג!

מרחבי שמות, גנריים, קליעות. . . יכולתי להמשיך ולהמשיך, אבל צריך להספיק לומר ש- TypeScript ממיר את אחת מחוויות הפיתוח הגרועות ביותר לאחת הטובות ביותר.

קטע קוד TypeScript

לא ניתן לשלול את ההשפעה של TypeScript. זה דחף ניסיונות דומים כמו הדארט של גוגל מחוץ לתחום (אם כי הוא מנסה קאמבק דרך פלוטר, מסגרת פיתוח סלולרית), ופתח את עיניהם של מפתחי JS לתועלת של סוגים חזקים יותר..

כתוצאה מכך, לספריות משמעותיות כמו React, D3, Vue (אפילו jQuery!) יש כעת גרסת TypeScript, ובחנויות התוכנה הטובות בעולם, כל קוד JavaScript נכתב כקוד TypeScript. כותרות TypeScript זמינות כעת גם עבור Node.js (בכנות, אם צומת יכול לשפר את סיפור המקביל שלו ולתקן את ניהול הזיכרון המחורבן שלו, הוא יימשך לנצח).

אתה עשוי להיות מופתע לדעת שיוצר Node.js, אחרי בפומבי מתחרט היצירה שלו, עובד על א זמן ריצה חדש (אין כרגע אתר רשמי; רק ריפו GitHub) עם TypeScript כשפה ראשית.

החדשות הכי טובות? TypeScript הוא קטן שפה ללמוד עם יתרונות ניכרים בעתיד. אם אתה מפתח JavaScript ביניים, תאסוף מספיק TypeScript תוך יומיים כדי להעביר את כל הקוד הקיים שלך.!

מסקנה והצהרת אחריות

שפות ספציפיות זוכות לפופולריות רבה כמו אלה במאמר זה, אך לא נכללו ברשימה מסיבות שונות. להלן מבט מהיר:

  • גולאנג: כבר הוקמה כשפה מיינסטרימית, אם לא פופולרית במיוחד. אני מאמין שבנקודה זו יש לגולנג כמה מתחרים שישאירו את נתח השוק שלה נמוך.
  • R: R כבר חם בקרב מדעני נתונים, ולא סביר שימשוך מפתחי אפליקציות רבות. חוץ מזה, אל לנו לשכוח שספריות למידת מכונות עוברות אט אט את דרכן לכל השפות העיקריות (למען השם, אפילו ל- PHP יש אותן עכשיו!), כך שכל מה שאתה צריך לעשות זה לחכות זמן מה. ��
  • סוויפט: אפל אחזה ברזל במערכת האקולוגית שלהם, וסוויפט היא השפה היחידה שיש בה. אין ספק, מטרת C קודם לכן הייתה הזעם, כמו גם סוויפט כעת. אני חושב שזה רמאות ולכן מסרב לכלול את זה כאן. ��

העתיד תמיד לא ברור, ואחת הדרכים ללכת בקריירה שלך היא לדבוק במה שכבר עובד ולסרב “להסיח את דעתו.” אם תעשה זאת, ג’אווה, PHP, פייתון, רובי וכו ‘, כולם שפות מצוינות להתמודד איתן. עם זאת, עבור חלקנו, הנורמה אינה מספיקה. הם רוצים לצאת לחקור ולהמר בגדול על העתיד. אם אתה נופל במחנה האחרון, אחת מחמש השפות האלה צריכה להיות בראש רשימת המטלות שלך.

לבסוף, כשמנסים להעריך שפה, אל תתנו למאמץ הכלול להציף אתכם, כי זה לא כל כך. אם אתם כבר מכירים כמה שפות תכנות, תוכלו ללמוד כל אחת מהן תוך מקסימום חודשיים, על ידי השקעה של 5-6 שעות בשבוע. ואילו האושר והתשואות הכספיות שיכולות להיווצר בעתיד יהיו עוד מספר פעמים.

האם התגעגעתי לכמה שפות ביקורתיות כאן? או אולי יש לי משהו לא בסדר בשפות הרשומות כאן? אם כן, בבקשה, השאירו תגובה ועזרו לי להשתפר. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map