אני לא מכיר Java מספיק טוב או C# מספיק טוב כדי לתת לך חוות דעת על אחת מה-2 אני כן מכיר מאוד טוב את עולם הפיתוח והדרישות שלו מהמפתחים היום.לדעת את השפות האלה זה ממש נחמד בדיוק כמו לדעת לדבר שפה נוספת (אנגלית, ספרדית...) אבל החסרון הכי מהותי בללמוד את השפות האלה היא שהבסיס שלך מתחיל מהרמה הכי גבוהה שקיימת - ישר כותבים אפליקציות עם UI אין יותר מדי הבנה של איך הדברים עובדים באמת, כותבים תוכנות שמלאות בזליגות זיכרון ופרצות אבטחה, ואחר כך שרוצים לחזור וללמוד את הדברים הבסיסיים זה מאוד מאוד קשה.
אני יכול לתת את עצמי בתור דוגמה מעולה - יש לי נגיעה כמעט בכל שפה שתעלה לך בראש - מ-C עד למעלה אבל מעולם לא השקעתי בלהבין באמת איך הדברים עובדים מאחורה - מהר מאוד התפתחו שפות שחסכו ממני את הצורך לדעת את הדברים והתחלתי לפתח בהן - פיתחתי תוכנות מאוד לא יעילות - דברים שדרשו אלגוריתמיקה מסובכת פשוט ברחתי כמו מאש כי למי באמת אכפת איך הזיכרון עובד ומה הסיבוכיות ריצה של הקוד...
היום גם רוב המפתחים יגידו לך שעם המחשבים של היום זה ממש לא רלוונטי לדעת את כל הדברים האלה.
אני חושב שזאת שטות מוחלטת כי בן אדם שלא מבין את הקוד שהוא כותב או את ההשלכות של הדברים שהוא עושה יהיה לו מאוד קשה להתפתח...
אני לוקח את עצמי בתור פרוייקט בשנים האחרונות וכל שפה חדשה שאני לומד או טכנולוגיה שאני מכיר אני מאוד מנסה (זה לא קל בכלל) להכיר אותה לעומק זה עוזר לי המון ואני גם יכול לענות הרבה יותר טוב לאנשים כמוך שמחפשים את הדרך שלהם.
איך זה קשור למה שאתה שואל?
אני לא יכול להמליץ לך על שפה ספציפית או על טכנולוגיה ספציפית - אתה הולך להיות מתכנת קח בחשבון שהדרישות היום ממתכנת זה לא לדעת שפה אחת ספציפית או תחום אחד ספציפי - הדרישות הן לדעת כמה שיותר וגם החברות היום הקשיחו את התנאי קבלה שלהן מאוד - המבחנים מאוד מאוד קשים ולא טריוויאלים.
אם אתה שואל אותי מאיפה להתחיל? אני לא יודע להגיד לך ב100% אבל אני יכול להגיד לך ששפות כמו סי-שארפ ו-JAVA הן לא בדיוק התחלה טובה.
תלמד C ואם אתה ממש מעמיק תתחיל מאסמבלי ואם אתה ממש מעמיק תלמד איך כל רכיב במחשב שאתה משתמש בו עובד.
תזמין לך raspberry pi ותתחיל לפתח דברים בצורה הכי פרימיטיבית שיש, יש הרבה דרכים להיות מתכנת טובה זאת הדרך להיות עילוי בתחום.
@barkam@