לשטוף את הסבון עם מתכנתיו

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

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

אם באבטחת מידע, אנחנו קוראים לאלו שרק משתמשים במה שאחרים עושים Script Kiddies, אז לאנשי .NET האלו צריך להיות שם בסגנון Monkey puppets או משהו כזה (כל הזכויות לא שמורת). כי יש לנו Code Monkey למישהו שרק כותב קוד בלי להיכנס לעובי הקורה, אבל כאן, אפילו להבין מה הם עושים, זה לרוב יותר מידי עבורם, ולכן, הם בובות של Code Monkey כי אפילו Code Monkey זה מסובך מידי בשבילהם…

הפוסט נכתב בעקבות דרישה נוספת לכתוב פונקציות SOAP מול .NET, והתנשאות מטופשת של האנשים אשר אפילו אמרו שהבעיות שנתקלתי בהם קשורות לכך שאני לא מתכנת בשפה נורמאלית (למרות שניסיתי את העבודה עם soap4r, soapui, php soap, nusoap ועוד ספריית ג'אווה נוספת – ולכולן היו את אותן הבעיות מול ה wsdl). לאיזו רמה הגענו, מתכנתי .NET חושבים שהם מתכנתים נורמאליים וכל שאר התעשייה כמו גוגל, פייסבוק וכו' לא יודעים כלום מהחיים שלהם. זו הסיבה כנראה שיש כל כך הרבה מערכות מבוססות .NET בעולם של הרשתות החברתיות בניגוד לשאר הטכנולוגיות (או שלא).

ביקשתי מהCTO שאיתו התנהלתי ישירות לקבל את ה dump של בקשות תקינות, שאוכל לשים אותם ב telnet ושזה יעבוד לי. הוא בתגובה אמר לי כי אי אפשר להשתמש ב telnet בשביל לבצע בקשות SOAP. וכל ניסיונותי החוזרים לקבל את המידע עלו בתוהו.

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

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

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

7 מחשבות על “לשטוף את הסבון עם מתכנתיו

  1. משה

    "זה לא סוד שמרבית מתכנתי ה .NET הם מתכנתים ברמה מאוד נמוכה יתר על המידה. "
    "מרבית אנשי ה .NET הם ילדים קטנים בהתנהגות"

    אפילו שאני אדם רגוע לרוב, המשפט הזה ממש מעליב וגם ממש לא נכון
    כידוע, אני חובב Mono ואוהב להשתמש בסי-שארפ כשמתאפשר לי (למשל, לקחתי חלק בפיתוח של Gnome-DO שהייתה חלק מאובונטו במשך זמן ארוך ומכובד). אני מכיר עוד מתכנתי דוט-נט רבים, ואף אחד מהם לא חובבן כמו שאתה מתאר.
    האם אתה מתכוון לאנשים מוכשרים כמו אלה שעובדים ב Soluto? או שמא האנשים שמאחורי StackOverflow?

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

    1. ik_5 מאת

      אתה נפגע כשאני מדבר על אנשים או בגלל שזה .NET ?
      וכשאני אומר .NET זה לא רק #C אלא עוד מספר טכנולוגיות שנכנסו לשם …

      מתוך 30 מפתחי #C ו .NET בכלל שלי יצא לעבוד מולם, אתה יודע כמה מהם הבינו משהו ? 3. והם אנשים שאני מאוד נהנה לעבוד מולם.

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

      מצטער, אבל יש בעיה עם האנשים שניגשים לטכנולוגיה הזו. לא כולם, אבל הרבה מאוד מהם. זה לא FUD, אלא מגובה ביותר מידי עבודה מול אותם האנשים.

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

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

      1. משה

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

        בעניין המשקיעים – אפילו שזה off topic, אני לא יכול שלא להגיב – זה מגוחך. אני יכול להבין למה משקיע לא ירצה לשים את כספו בחברה שתבזבז אותו על רישיונות למיקרוסופט. אבל כתבת שמדובר בחברות שבוחרות בדוט-נט. קיימת סביבה נפלאה לדוט-נט ללינוקס ולמק (ועכשיו גם לאייפון ולאנדרויד ולפלייסטיישן 3) בשם מונו. מיגל-דה-איקזה וחבריו עשו פלאים על מנת להביא שפות נוחות כמו c# ו f# לעולם הקוד הפתוח, ואנחנו צריכים להודות להם על כך (בטח יצא לך להשתמש ב f-spot או banshee). לא לרצות להשקיע בחברה שבחרה באחת משפות התכנות המשובחות שיש בתעשייה זה פשוט מגוחך.

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

        1. ik_5 מאת

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

          עכישו לגבי בחירת שפות תכנות. אני כמו שאתה יודע מתכנת בשפת פסקל מונחת עצמים. זו שפה מדהימה עם המון יכולות שלמרות שהשורשים שלה הומצאו בסוף שנות ה 60, היא עדיין מתפתחת ועדיין מתחדשת.
          זה לא מפריע להרבה אנשים לחשוב עליה מליארד דברים לא נכונים, ולא לבחור בה.
          יש לה סביבות מדהימות. למעשה בתחילת שנות ה80, אפל הוציעה סביבת תכנות גרפית לפסקל אשר שימשה כבסיס לVB, לדלפי ל PowerBuilder ועוד המון סביבות אחרות.
          אני רואה אנשים בקהילת הקוד הפתוח בוחרים לכתוב ממשק גרפי בC או פיתון, עם 2,000-4,000 שורות קוד, אשר אני יכול לחסוך להם שבמקומם יהיו להם רק 100 שורות קוד לאותה תכנית בדיוק אם יבחרו בלזרוס למשל. שהוא מאפשר לך לפתח ממשקים גם לווינדוז, מאק, לינוקס, אנדרואיד, איפון, נינטדו ועוד מגוון מערכות.

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

        2. הבוריס שדיברת עליו

          טוב אם כבר השם שלי משורבב אבקש להבהיר –

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

          נמשיך הלאה האם יצא לי לקלל הרבה על שימוש במוצרי MS ?
          לפעמים , בדרך כלל כאשר אני נתקל בגישה מזלזלת ומעצבנת אני אף כותב על זה.
          יש המון קוד שכתוב *טוב* ב C# ו ASP.NET לראייה הרבה מהממשקים הגדולים עובדים בכל אחד מצורות החיבור (לדוגמה תראה גישת הwebservices של שרתי exchange). אבל יש אבל גדול בארץ הרבה מקומות פשוט לא מתייחסים לסאנדארט (אנחנו אומרים שזה יעבוד רק עם MSXML/ IE) או מסיבות כאלה ואחרות בוחרות לעבוד בגישה שבורה. כן גם לי יצא בעוונתי לכתוב ב dotGNU האם זה הופך אותי למתכנת פחות טוב ? לא יודע מה שאני כן יודע שאני משתדל לכתוב קוד שיאפשר גישה מפלטפורמה אחרת.

          בגדול שימוש בשפה כזו או אחרת לא הופכת אותך לכותב קוד טוב , בעצם אני לא יודע מה כן הופך אותך לכתוב קוד טוב, הרבה קוד שכתבתי לפני מספר שנים אני יכול להגיד עליו שהוא קוד מכוער לפעמים גם קוד שמחייב עבודת Hacking (הממ .. באג עידכון שינוי קובץ ב Vista דרך SMB הממ … ) נראה כקוד יפה (אבל הוא מכוער).
          אבל מה שכן ידע של שפה אחת או 20 לא יעזור לך אם אתה כותב בצורה שאי אפשר לעבוד איתו , או שהתיעוד שלך פגום או שאתה לא קונסיסטנטי.

          האם פרוטוקול SOAP רע ? על זה אני לא יכול לשפוט אני יכול להגיד שבהשווא ל XML-RPC הוא נחות אבל בהשוואה ל protocol buffers יש לו יתרון משמעותי מבחינת אחזקת קוד ודיבוג (מצד שני הוא יותר איטי).

          יש מיליון ואחד סיבות למה חברות בוחרות לפתח עם ה eco system של .NET לדוגמה חוסר היכולת של מונו לתמוך בכל מבני הנתונים של SQL Server על גבי TDS (תוקן ב 2.6), חוסר המוכנות של החברה להשקיע במפתחים יחודיים (פעם לא היה הרבה אנשי לינוקס שיכלו לכתוב קוד אז היה מסוכן להעביר פלטפורמה למשהוא שלא יהיה בו מפתחים). הדרישה להוציא מוצר בזמן קצוב (לא יודע אבל ראיתי יותר מדי פעם פעמים דרישות שניתנו לצוותים להוציא מוצר בזמן לא סביר (אנשי הניהול והמחירות חושבים שהם יודעים טוב יותר מאנשי הטכנולוגיה מה אנשי הטכנולוגיה צריכים לעשות).

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

  2. borsood

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

כתיבת תגובה

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

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s