Dot Next
החלטתי לעשות שינוי מרענן בקריירה שלי ועברתי לתכנת בפייתון, בסביבת לינוקס.
תשאלו למה?
או, טוב ששאלתם. אז ככה:
1. תמיד טוב לעשות שינויים מדי פעם. לומדים מהשינוי ומתפתחים ממנו.
2. אני אוהב לעבוד בסטארטאפים. ומה לעשות, הנטיה ה"טבעית" של רוב הסטארטאפים היא לבחור בטכנולוגיות שהן יותר לכיוון ה open-source. כך שבתחומים שאני מכיר, ה stack הטכנולוגי הוא יותר לכיוון לינוקס עם שפה מודרנית יחסית כמו רובי, פייתון, סקאלה וכד' (מי יתנני Haskell או Erlang!) או מודרניות פחות כמו Java. מה שמאפיין את השפות האלו זה קהילת open-source פעילה, מה שנקרא אקו-סיסטם חי ובועט.
3. אני מרגיש שמיקרוסופט, איך לומר בעדינות, לא פונה לתחום של סטארטאפים במוצרי הפיתוח שלה. יהיו מי שיטענו ש"מה פתאום, תראה איך שפת C# מתפתחת, איך Visual Studio מתפתח" וכו'. לא קונה את זה. העתיד של דוט נט בכלל לא מספיק ברור. התחושה האישית שלי היא שמיקרוסופט מעוניינים שנשתמש ב Windows וב Office. אלה המוצרים שמיקרוסופט מתבססת עליהם, ושם יש הרבה מאוד כסף. כל שאר המוצרים, וכלי הפיתוח ביניהם, תפקידם ליצור אקו-סיסטם סביב Windows ו Office. מתכנתים לא מעניינים את מיקרוסופט כמו שמשתמשי Windows מעניינים אותם.
4. מיקרוסופט משנים את דעתם לעיתים קרובות מדי. כל כמה שנים יש למיקרוסופט איזה מלך חדש להמליך עלינו, המפתחים, ושאנחנו נקבל אותו בזרועות פתוחות ובהערצה. בכלל, יש למיקרוסופט מערכת שיווק מדהימה, לא פחות. אז פעם זה היה COM. ואח"כ דוט נט 1.1 ואחרי שהתייצבו קצת הדברים המליכו את דוט נט 2.0. ואחרי שכולם הקיאו מ WebForms, למשל, אז סוף סוף ניאותו שם ליצור סביבת MVC נורמלית ל Web. ועל מפתחי UI לדסקטופ בכלל אין מה לדבר: אלה כל שנתיים צריכים לבלוע צעצוע חדש שמיקרוסופט החליטו לשווק. אה, והענן של מיקרוסופט, Azure, עזבו. לא מצחיק.
5. שוב, שינויים זה טוב. תמיד תהיה לי פינה חמה בלב למוצרי מיקרוסופט, כי הייתי שם כבר כמה שנים טובות, ובכל זאת, התפרנסתי יפה מכל הגעשעפט הזה. מעניין שהיו לי הרבה הזדמנויות שבהן גם מתוך הסביבה המיקרוסופטית בחרתי לעשות דברים אחרת (דוגמה מהתקופה האחרונה – שימוש ב Nancy בתור שרת Web במקום ASP.NET)
אז… זהו, בינתיים. נקסט. אני אוהב סטארטאפים? סטארטאפים אוהבים פייתון? יאללה פייתון!
אז איך זה פייתון, תשאלו?
אה, טוב ששאלתם. זה אחרת לגמרי. לגמרי.
מתכנתים אחרת בפייתון, ועד שלא מנסים, לא מבינים.
שפה קלה מאוד להבנה ולקידוד.
יש לה יתרונות וחסרונות, מן הסתם, אבל העניינים שונים לגמרי ממה שהתרגלתי עד היום:
- התרגלתי לשפה סטטית, ופייתון דינמית.
- התרגלתי לקומפילציה, ופייתון היא סקריפט עם interpreter.
- התרגלתי לרפרנס בין פרוייקטים, ובפייתון אין את זה – יש import, וזה משהו אחר לגמרי.
- התרגלתי ל multi-threading, ובפייתון זה סרט אחר לגמרי.
- התרגלתי ל Dependency Injection ב class constructor, ובפייתון עושים DI אחרת, או בכלל SRP אחרת, ואני עדיין לומד את זה..
וזה מעניין, מאתגר, וכיף.
ולסיום:

מתוך xkcd, אלא מה
אתם מוזמנים! 🙂
וולקאם טו דה ריל וורלד 🙂
אחרי שהתאהבת בפייתון, נסה רובי ולא תרצה להסתכל יותר על אף שפה אחרת.
רון,
לצערי אני מסכים איתך על הגישה של MS.
מצד שני עולם ה NET הוא עולם רחב שמזמן יצא מהשליטה של MS.
אשמח לקרוא על החוויות שלך בדרך החדשה לעומת העולם "הישן" :-9
ליאור
@רון:
שינוי בכלים. לא ממש שינוי קריירה. בכל מקרה זה טוב מאוד להיות יותר עגול ולהכיר יותר כלים ושיטות. עבדתי בשנים האחרונות עם C#, JAVA, python, javascript, ruby ואולי עוד כמה שפות. ברוב המקרים עם יותר משפה אחת ומערכת הפעלה אחת באותו הפרוייקט. מה שמקדם את הפרוייקט/מוצר מהר יותר ועם פחות סיכונים – הולך!
@אלעד:
פעם חשבת כך על דוטנט וסישארפ, היום על רובי. בעוד כמה שנים (5? 10? 2? מי יודע?) יהיה משהו אחר שיהיה "הכי".
שלום רון –
אם כבר התחלת במלאכה 🙂
מה הפייבוריט שלך מבחינת כלי פיתוח בעולם של פייתון?
סביבת פיתוח, ספריות מובילות וכו'