בגוגל החליטו כנראה ששפות התכנות של היום ישנות ושלא ממש משתמשות בחומרה הנוכחית שיש כיום (ריבוי ליבות וכו'), והם החליטו לפתח שפה שתתן את היתרון בקימפול קבצים סטטיים, יחד עם פורמט כתיבה שמזכיר קצת פייטון (אוקיי, קצת הרבה) וקצת C. מה יצא מזה? שפה חדשה שנקראת Go.
בהדגמות שגוגל מציגים, הקומפיילר שלהם (יש להם כמה קומפיילרים: ל-64 ביט, 32 ביט, וגם איזה יצור עם חיבור ל-GCC שנקרא Gccgo) רץ כמו שד וההדגמות המתמטיות שלהם מראות תוצאות מעולה וזה עוד על מחשב מק נייד, לא משהו מרובע ליבות.
נציג מצוות הפיתוח של Go נתן הרצאה על השפה חדשה והסביר באריכות איך השפה שלהם הרבה יותר נוחה, וכן, יש אוסף זבל, הגדרות ערכים וכו' יותר פשוטים ("זה רק מספרים") ולמי שיש שעה זמן מוזמן להעיף מבט בלינק הזה ימצא הסברים רבים על השפה. התמונה מימין, אגב, הוא ה"קמיע" של השפה Go the Gopher. הקוד של השפה משוחרר כקוד פתוח, וסביר להניח שנמצא אותו בהפצות לינוקס בשנה הקרובה.
האם השפה החדשה תתפוס? שאלה טובה. השפה עדיין נסיונית, ואני בטוח שחובבי שפות אחרות יקטלו כל מיני נקודות בשפה, אבל לפחות לפי ההדגמות, הביצועים נראים בהחלט מרשימים ויש תמיכה בשפה לכתוב דברים גם ברמה של שרותי Web כ-Front End וגם לבנות שרותי סיסטם (Back end).
ולבסוף, כמובן, וידאו קצר להדגמה. תהנו.
ולאחר שראיתם, אתם מוזמנים להיכנס לאתר החדש של השפה וללמוד אותה (טוב נו, אם בא לכם).
אני לא מתרגש מהמהירות, היות ויש לי אותה כבר הרבה שנים עם שפות (לא פופלריות -> FPC, Delphi וכו') שאני מתכנת בהם 🙂 תוכנה בסדר גודל של לזרוס לוקח לי פחות מ2 דקות להדר עם המון רכיבים נוספים שהתקנתי ועוד הרבה דברים שלא קיימים בברירת מחדל בלפטופ אצלי, כאשר הדיסק הוא במהירות של 5400 סיבובים לשנייה, והוא אפילו לא מהדר את זה ב multi threaded או בצורה מבוזרת, אלא רק thread אחד.
תוכנה שכתובה ב ++C באותו סדר גודל, לוקח לי על הלפטופ בערך 20-30 דקות להדר. ככה שהמהירות ממש לא עושה לי את זה כבר כי יש לי את זה כבר בשפות קיימות 🙂
בקשר לשפה עצמה, לא ראיתי עדיין את התחביר, אבל לאחרונה הרבה חברות ממציאות מחדש שפות. למשל IBM עובדים על X10 שנראה כמו תחביר פסקל וג'אווה בייחד (לקחו את הדברים הטובים מכל שפה).
הפרוייקט של Gnome יצר עוד שפה שנראת כמו ג'אווה/.NET בשם Vala, וכל הזמן מנסים להמציא את הגלגל מחדש. מה השפה הזו משנה מכל השפות האחרות שקיימות בשוק כיום (כולל erlang שאמורה לספק בדיוק את הפיטצ'רים שאתה כתבת) ?