|
כמו שאמרתי, לעבוד עם הקוד שרוז שופך זה באמת קיצוני. וכן, החברה ההיא נכשלה (אם כי יותר מסיבות אחרות).
השקילות של שפות התכנות היא בכלל לא במובן החישובי. כל דבר ניתן היום לתכנת בכל שפה. נניח שיש לך ספריות מקומפלות רק ל C++, אבל את הGUI וכל מיני דברים אחרים אין לך כוונה לכתוב ב C++, אז עוטפים ומסתדרים. קונסטריינטס מהבחינה הזו הם לא כזה בעיה. ברוב המקרים בחירת השפה היא תוצר של כוח האדם ולא להיפך, עד כמה שזה מאכזב לשמוע. והזלזול שלך בVB לא במקום, זו סביבת פיתוח עם ה User base הכי גדול (וא כמעט הכי גדול) מכולן. כל דבר ניתן לכתוב עם VB, ובמיוחד עכשיו עם .net, בדיוק בגלל שהframework שלהם עובד עם ה CLR לכל שפה. והרשימה של השפות בפעם האחרונה שבדקתי הייתה ארוכה ומרשימה. אין שום ספק שלכל שפה יש את הפורטה שלה אבל, כפי שאמרתי, כל ההחלטות המעניינות מתקבלות ברמה גבוהה יותר. ולא טענתי שתוכניתנים לא צריכים להשתתף בעיצוב, להיפך. אלא שזה שלב נפרד. כמו כן, אני מסכים שלא ניתן לתכנן _הכל_ מראש, אבל ברגע שעולות סוגיות בעייתיות פותרים אותן ברמת החלטה עיצובית ולא ברמת התוכניתן. אי אפשר שלכל אחד בצוות יהיה קוד משלו לתקשורת, לטיפול בשגיאות וכו'. "או, רגע הקוד הזה פה מעיף exception, טוב אז אני אטפל בהן ככה וככה..." זה לא רציני. סוגיות שכאלה הן קריטיות לעיצוב וההחלטות לא שייכות לתוכניתן ככזה, אלא למעצב. אלו דברים שצריכים להקבע ברמת מדיניות ולהיכתב פעם אחת. לכן, אלא אם כן אתה כותב איזה ספריית קוד ואז הדגש על השפה עצמה הוא המירבי, רוב התכנות שנעשה הוא רק מימוש. בכלל רוב התכנות האפליקטיבי הוא יותר חיווט של דברים קיימים מאשר פיתוח מקורי. 99% מכל פרויקט זה לחבר דברים קיימים ביחד ורק השארית היא איזה אלגוריתם או פרוטוקול מקורי. זה בדיוק הסיבה שהדגש בתכנות צריך להיות על מתודולוגיה ולא על מומחיות מקסימלית ביעילות וכו'. יעילות תמיד אפשר לשפר, כאמור.
|
|