Car-tech

Google Business מתוסכל על ידי ג' אווה, C + + מורכבות

The voices in my head | Eleanor Longden

The voices in my head | Eleanor Longden
Anonim

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

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

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

"איך יש לנו דברים כאלה [להגיע להיות] הדרך הסטנדרטית של המחשוב הנלמדת בבתי הספר ומשמשת בתעשייה? " "מה קרה? "שאל, ברטור. זה סוג של תכנות "הוא ביורוקרטי מאוד, כל צעד חייב להיות מוצדק המהדר", אמר פייק הודה כי הוא היה קצת מתחשב, הוא טען כי שאלות כאלה עדיין צריך לשאול. C + + הגיע בגלל תסכול של אנשים עם עבודה עם רמת C ברמה נמוכה, ו- Java באה כדרך לפשט C + +. עם הזמן, עם זאת, נוספו תכונות חדשות לשתי השפות, מה שהופך אותן למורכבות יותר ויותר.

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

פייק הוא לא עובד בודד של Google המביע אי שביעות רצון של שפות מסורתיות בכיתה.

בכנס השנתי של USENIX בחודש שעבר, מהנדס Gmail אדם דה Boor הפתיע את הקהל בכך שציין כי שירות ה- Gmail של החברה נכתב כולו ב- JavaScript, וכי כל הקוד שלו, בערך 443,000 שורות בשווי, נכתב ביד.

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

JavaScript הוא אחד מכלל השפות - אחרים כוללים את רובי ופייתון - שפותחו במהלך 10 השנים האחרונות שנים בתגובה למורכבות הגוברת של C + + ו- Java. אבל גם אם יש להם תחביר פשוט יותר, גם לשפות האלה יש את החסרונות שלהם, הוא טען. [

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

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

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

אחד מחברי הקהל, לארי אוגסטין, מנכ"ל ספקית תוכנה לניהול קשרי לקוחות SugarCRM, הסכים עם הערכה של פייק כי C + + ו- Java יש gotten מורכבים מדי, אם כי הוא ציין כי זה קורה בדרך כלל עם כל השפות כפי שהם גדלים לפגוש מגוון רחב יותר של מקרים לשימוש."הסיבה לכך ששפות אלו גדלו במורכבות היא שככל שיותר נעשה בהן שימוש, כך יותר שגיאות ועמימות שמצאנו, והניסיונות להסיר את העמימות והשגיאות הללו יצרו משהו יותר מורכב", אומר אוגוסטין, רקע בהנדסת תוכנה ובעיצוב שפת תכנות. "אני מעריך את מטרתו", אמר על מאמציו של פייק. "השאלה היא האם הוא יכול להשיג את תוצאת היעד שלו, או האם הוא הופך להיות יותר מורכב", אומר אוגוסטין.

ג'ואב ג'קסון מכסה את התוכנה הארגונית ואת הטכנולוגיה הכללית שבירת חדשות עבור

שירות החדשות של IDG

. בצע יואב בטוויטר ב @ Joab_Jackson. כתובת הדואר האלקטרוני של יואב היא [email protected]