DCSIMG
July 2010 - Posts - הבלוג של צביקה פאר

הבלוג של צביקה פאר

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

July 2010 - Posts

#F ובגדי המלך החדשים

אחרי שקראתי את http://blogs.microsoft.co.il/blogs/pavely/archive/2010/07/20/how-to-be-a-cool-c-programmer.aspx

חשבתי מה זה בעצם השטויות האילו של הסינטקס המסובך הזה בC#:

אני חושב שבאמת היתרון הגדול ביותר ובעצם המטרה של כל הSyntex ים של lambda expression  , Linq וכד הינו ששימוש תדיר בהם חוסך לחלוטין ארועי code review מכוננים על ידי ראשי צוותים ומנהלים שפתאום הקוד נהפך בשבילם לבלתי קריא בעליל .

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

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

איזה שטות עשיתי שהסכמתי שנעבור ל.net  מה רע היה לנו עם visual studio 6.0 C++  הבנתי אז יופי את הכל ,בעצם כמעט את הכל חוץ מsmart pointers  ו templates מסובכים . בעצם גם על copy constractor מעולם לא הייתי סגור.

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

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

הסינטקס המוזר התחיל בהרבה קודם מ Linq  ו lambda expressions  כאשר הם נתקלו בsyntex של c# property רק עם get;set;

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

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

קבלו את השלמה ארצי של כל שפות התכנות #F

אני יודע שבאחת מהתעשיות הביטחוניות  במספר צוותים כולל הצוות שעובד על מערכות האוויוניקה של מטוס הקרב העתידי של מדינת ישראל הלביא (אין לכם מושג איזה ביטחון תעסוקתי נותן ועד עובדים חזק שלא מרשה שסתם כך יסגרו פרויקטים על ימין ושמאל מבלי סיבה רצינית)  התחילו לפתח בF# ההוראה שיצאה מהקב"ט של החברה הינה שמחשבים הנושאים קוד F# ללא קשר לסיווג הפרויקט יכולים להיות מחוברים ישירות לinternet אפילו בלי fire wall או אנטי וירוס הסינטקס של השפה מספק הגנה אולטימטיבית מפני כל מי שמנסה לפענח את הקוד של שפה שהיא בעצם שילוב של דוטפרוסטראקטור ושפת תיכנות.

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

אני זוכר שבבית ספר התיכון (הייתי בבית ספר תיכון של חנונים לא של יובל בנאי ) לימדו אותנו ששפת תיכנות אז קראו לזה שפות הדור השלישי תוכננו כך שהם היו דומות לשפה אנושית ויחסכו את הצורך להתעסק עם assembler  ב F#  נראה לי שעוברים לassembler  כדי להבין למה הקוד מתכוון .