צעדים ראשונים בתכנות - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

צעדים ראשונים בתכנות


Inner Peace

Recommended Posts

שלום לכם,

 

 

אני בן 30 בלי שום רקע בתכנות. התחום שאני עוסק בו זה חשמלאות.

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

אני לא שולל אפשרות לעשות תואר במדעי המחשב, אני עומד בתנאי הקבלה, ואולי אירשם בעוד שנה-שנתיים. אף פעם לא מאוחר.

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

קישור לתוכן
שתף באתרים אחרים

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

קישור לתוכן
שתף באתרים אחרים

^^^

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

 

הבעיה בלהתחיל בשפה פשוטה מידי היא שכשאתה לומד שפות כאלה, אתה לא באמת לומד מספיק "תכנות" כי אתה לא נחשף לאלמטנים רבים של עולם התכנות. למשל, כשאתה מתחיל במשהו שהוא יותר מידי HIGH-LEVEL אתה לא מפתח מודעות לדברים כמו מצביעים, וניהול . כשאתה מתחיל במשהו שהוא לא OBJECT-ORIENTED אתה לא לומד את הפרדיגמה החשובה הזו וכל מה שזה מביא.

 

זה לא אומר שדווקא חייבים להתחיל מהדברים הקשים (++C/C) אבל זה כן משהו שצריך להיות מודעים אליו.

 

מישהו שהוא כרגע עם 0 ניסיון, ורוצה לעשות קריירה כמפתח תוכנה (להבדיל ממישהו שסתם רוצה ללמוד איזו שפת סקריפטים פשוטה כדי לדעת לפתור בעיות נקודתיות למטרות אישיות), אני לא חושב שיש לו מסלול קצר. גם אם מוותרים על התואר האקדמי המובנה, כדי לקבל ידע מספיק רחב ועמוק, תצטרך ללמוד את כל הנושאים הרלוונטיים - שפות יסוד (JAVA, C, כנראה גם ++C שמשלבת את שני העולמות), מבני נתונים ואלגוריתמים, תכנות מערכות, מערכות הפעלה... לתחומים מסוימים שדורשים הבנה "של הברזלים" - גם אסמבלי ומבנה מחשבים, מבנה קומפיילרים (גם אם לא תשתמש בזה בפועל כמעט אף פעם, ההבנה נדרשת). לתחומים אחרים יכולה לעזור חשיפה לפרדיגמות תכנות לא סטנדרטיות, כמו תכנות פונקציונלי (Scheme/Lisp) וכו'. בסופו של דבר זה כמעט כמו לעשות את התואר, רק בלי הקורסים המתמטיים הטהורים.

 

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

 

קישור לתוכן
שתף באתרים אחרים

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

 

@QttPמבנה קומפיילרים זה דבר חשוב?

 

קישור לתוכן
שתף באתרים אחרים

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

 

מה גם, שאפילו אם אתה לא כותב קומפיילרים, אתה משתמש בהם, וככל שאתה מבין יותר את הכלים שלך, כך תוכל להשתמש בהם יותר טוב.

 

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

קישור לתוכן
שתף באתרים אחרים

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

אחד בסן חוזה והשני פה בארץ.

 

1. אם זה לא מעניין \ מאתגר אותך ( תכנות ) - אל תלמד. זו המלצה אישית, ראיתי מספיק בנושא.

 

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

רוב האנשים מעלימים עין ( לא מתעלמים לחלוטין ) מהיום-יום וחושבים על העשור הבא \ שני עשורים הבאים שלהם.

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

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

 

3. מכיר גם חבר'ה שלמדו קורסים מקצועיים של פייטון ו\או שפות כמו Java והם עובדים בחוץ גם ללא* תואר ומעולם

לא נגעו באסמבלי או במתמטיקה דיסקרטית וכו' וכו' ובלה בלה.

 

ולסיכום - כמקצוע לחיים רוב האנשים לא עושים את מה שהם אוהבים. זה אולי לא מה ששאלת, אבל זה רלוונטי לתת תשובה

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

החלטה לעתיד פחות ורוד כלכלית והמשכתי עם לימודי כלכלה. מה שיצא מזה בסופו של דבר (אני עוד לא בן 32 ) זה משכורת של מתכנת +-

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

שרוצה להעשיר את עצמו בלימודים ומקצוע. אז במובן הזה - שיהיה בהצלחה.

 

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

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

של מקצוע וכו'.

 

 

קישור לתוכן
שתף באתרים אחרים

אתה יכול לבדוק אם התחום מתאים לך  ותוכל להצליח בו 
זה  להקדיש כל יום 3-4 שעות למידה , אפשר שפת עלית כלשהי כמו ג'אווה  או פייתון , תוכל גם ללמוד  C# גם לסי שארפ  יש דרישה  בשוק .
אתה יכול ללכת גם על כיוון אתרים וללמוד HTML\CSS\JS    אחר כך ללמוד  איזה פריימוורקים שיקלו על העבודה .

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...