-
לא קשור ישירות לנושא, אבל הציק לי קצת הקביעות (במיוחד כשאומרים אותם למתחילים)
@davidnead אמר בתכנות | איך להתחיל?:אלא מה? מתחשק לך להיות מפתח, עצמאי, לא מוגבל בכלים שהקצו לך. ובכן - מעט מאוד מפתחים בעולם באמת עונים להגדרה הזו, בשביל זה צריך לכתוב ישירות בשפה שהמעבד מבין. אחרת אתה תמיד פועל בתוך מסגרת מסוימת. אבל נכון שככל ששפת התכנות מתקדמת יותר - היכולות שלך רחבות יותר. ואפילו שפה הכי פשוטה נותנת לך כבר כלים עוצמתיים שלא הכרת קודם.
מי שכותב באסמבלי (שפת מכונה) פחות מוגבל ממי שכותב בראסט?
גם מי שיודע לכתוב אסמבלי, משתמש בזה רק בשביל לערוך טיפה את הקוד במקרים מאוד מסויימים, ולא כותב בזה כל היום.מה עוד צריך? צריך אמביציה וזמן להשקיע. אם אתה חושב על זה כפרנסה, ואתה מוכן להשקיע באמת, אז יש לך. אבל יש לי תחושה, ניחוש בלבד, שזה קודם כל מסקרן אותך. אם זה המצב - אדרבה לך תלמד, אבל מתכנת לא תצא מזה, רק תחביבון שיתן לך קצת כלים ויכולות חדשים.
אדרבה, מי שמגיע רק בשביל הפרנסה, שירד מזה.
מי שעושה את זה מסקרנות, יגיע למשהו בסוף, זה אומנם לא יקרה בתוך חודש
אבל יש כאן מספיק אנשים שעובדים בתחום שהתחילו מסקרנות (בעיקר @yossiz ).
וגם אם לא מתפרנסים מכלל זה יכול לתת תועלת יותר מסתם תחביבון.מה שבאתי להגיד בכל זה, שזה לא בשמיים, ועם מדריך טוב אפשר ללמוד איך לכתוב משהו שעובד תוך שבוע, ורק אחרי תקופה ממושכת אפשר להחליט האם זה מתאים לבן אדם או לא.
-
וואו, תודה @למה שעוררת את הנושא החשוב!
ברצוני להוסיף את התובנות שלי:-
דפוס חשיבה חיובי:
כלומר להתמקד בכל יום במה שאתה יותר טוב בו, מאשר לחשוב ולדעת עוד כמה אתה לא יודע.
בכלל תחומי החיים, יש יותר מדי אנשים חכמים ומוכשרים שנופלים בנקודה הזו. ובתחום פיתוח תוכנה, זה ממש קריטי, כי
א. הוא מתפתח בקצב מסחרר, קשה לעמוד בקצב, וקל ליפול לחלישות הדעת.
ב. יתכן ונקודה פיצפונת בקוד תגרום לכל התוכנה לא לעבוד (או רח"ל לעבוד בצורה לא נכונה), וזה עלול לתסכל מאוד.
מניסיוני האישי ומרוב תיסכולי הבנתי שזה הענין הכי חשוב בלגדול כמתכנת. -
תפעיל את הידיים:
אל תתקע בקריאה או צפייה במדריכים על גבי מדריכים. סיימת ללמוד משהו – קום ותתחיל לעשות עם זה משהו מעשי.
זה חשוב מאוד מבחינה לימודית, כי אתה בעצם לא הבנת משהו עד שלא התנסית בו לבד. אבל זה גם חשוב מאוד למוטיבציה שלך, אפילו שורות בודדות של קוד שהצלחת לכתוב לבד יתנו לך הרגשת סיפוק גדולה. כל שכן אם הצלחת ליצור משהו שבאמת עובד. -
בחר לך נישה להתמחות:
טכנולוגיות חדשות צצות חדשים לבקרים. אל תנסה ללמוד את כל הטכנולוגיות הקיימות תחת השמש, ואפילו לא את כל העיקריות - באופן יסודי. תבחר לך תחום אחד ותתמחה בו. אם תהיה מומחה ב-JS או במונגו, זה עדיף בהרבה מאשר לדעת בשטחיות המון דברים. -
דיבוק חברים:
אל תנסה לעשות הכל לבד. אתה פשוט תתייאש.
תצטרף לאיזו שהיא קהילה של מתכנתים, שיהיה לך שיח ושיג איתם. שתוכל להציג לפניהם שאלות, להתייעץ, או לשתף בדברים חדשים. הפורום הזה הוא מקום נפלא להתחיל בו, יש בו כמה אנשים חזקים בתחום הפיתוח, והלוואי והוא היה עוד יותר מאוכלס.
-
-
@nigun אמר בתכנות | איך להתחיל?:
לא קשור ישירות לנושא, אבל הציק לי קצת הקביעות (במיוחד כשאומרים אותם למתחילים)
@davidnead אמר בתכנות | איך להתחיל?:אלא מה? מתחשק לך להיות מפתח, עצמאי, לא מוגבל בכלים שהקצו לך. ובכן - מעט מאוד מפתחים בעולם באמת עונים להגדרה הזו, בשביל זה צריך לכתוב ישירות בשפה שהמעבד מבין. אחרת אתה תמיד פועל בתוך מסגרת מסוימת. אבל נכון שככל ששפת התכנות מתקדמת יותר - היכולות שלך רחבות יותר. ואפילו שפה הכי פשוטה נותנת לך כבר כלים עוצמתיים שלא הכרת קודם.
מי שכותב באסמבלי (שפת מכונה) פחות מוגבל ממי שכותב בראסט?
גם מי שיודע לכתוב אסמבלי, משתמש בזה רק בשביל לערוך טיפה את הקוד במקרים מאוד מסויימים, ולא כותב בזה כל היום.אממ, כן. לכל שפה יש יתרונות וחסרונות, ומגבלות. אני עובד היום עם פרוייקט גדול מאוד בNODEJS, ואנו מותחים את היכולות שלו לקצה. אבל בסוף אין ברירה והרבה דברים נאלצים להעזר בDLL (עניינים כמו ביצועים, הרשאות, גישה לAPI של WIN ועוד). לא אמרתי שצריך שפת מכונה, רק לחדד שגם שפה היא כלי שפותח על ידי מישהו. אין הבדל אמיתי בין כלי פיתוח אתרים לשפת תכנות. יש היום אפילו מושג של תכנות בלי קוד.
מה עוד צריך? צריך אמביציה וזמן להשקיע. אם אתה חושב על זה כפרנסה, ואתה מוכן להשקיע באמת, אז יש לך. אבל יש לי תחושה, ניחוש בלבד, שזה קודם כל מסקרן אותך. אם זה המצב - אדרבה לך תלמד, אבל מתכנת לא תצא מזה, רק תחביבון שיתן לך קצת כלים ויכולות חדשים.
אדרבה, מי שמגיע רק בשביל הפרנסה, שירד מזה.
מי שעושה את זה מסקרנות, יגיע למשהו בסוף, זה אומנם לא יקרה בתוך חודש
אבל יש כאן מספיק אנשים שעובדים בתחום שהתחילו מסקרנות (בעיקר @yossiz ).
וגם אם לא מתפרנסים מכלל זה יכול לתת תועלת יותר מסתם תחביבון.צודק לגמרי (אני אישית התחלתי כתחביב, בתור ילד), לא הבהרתי את עצמי טוב. הכונה היא שאם זה רק סקרנות - זה ישאר בזה. תכנות היא תחביב נפלא ושימושי, אבל ההבדל בין תחביב קליל לבין "להיות מתכנת" הוא שמים וארץ. ובשביל להיות מתכנת חייבים המון השקעה, מה שלא עושים בשביל תחביבון מהצד.
מה שבאתי להגיד בכל זה, שזה לא בשמיים, ועם מדריך טוב אפשר ללמוד איך לכתוב משהו שעובד תוך שבוע, ורק אחרי תקופה ממושכת אפשר להחליט האם זה מתאים לבן אדם או לא.
-
וואו תודה לכולם על ההתייחסות והעזרה
החכמתי פה בהרבה (וגם למדתי שיש עוד מושגים שאני לא מבין... )א. החלטתי ללכת על JS ועכשיו כמה שאלות מעשיות:
אפשר ללמוד בחינם?
יש מדריכים שמלמדים JS בחינם (שלב מתקדם יותר, לא ההתחלה)ב. מה הכי מומלץ מדריכים כתובים או ווידאו?
ג. סביבת עבודה.
הבנתי שהכי מומלץ לעבוד עם סביבת עבודה שיכולים לראות מיד את התוצאות
יש לכם אולי מ"מ מי נותן דבר כזה?ד. איפה עדיף לעבוד, על המחשב המקומי או על שרת?
(אם אין הבדל קיצוני, יותר מתאים לי שרת, תוכלו לציין איזה מהם טוב?)ה. בקיצור.. תוכלו לציין מדריך שאתם ממליצים עליו (עם קשר או בלי קשר לשאלה הראשונה שלי)
(נ.ב. אפשר לחפש בגוגל אבל מה לעשות שגוגל הדור אין לו ניסיון של האנשים לגבי התוצאות) -
@למה
א. כן
ב. תלוי בבן אדם (וידאו יותר מבינים, בכתוב יש פי מאה חומר)
ג. תתחיל בקונסול (של הדפדפן) או node.exe, אח"כ תעבור לvscoe או באינטרנט באתר אונליין כמו https://replit.com/languages/nodejs
ד. מקומי (שרת זה מחשב מקומי לכל דבר למעט העובדה שקשה לעבוד עליו)
ה. לא. גם באופן כללי, ובמיוחד בJS. -
@dovid אמר בתכנות | איך להתחיל?:
ד. מקומי (שרת זה מחשב מקומי לכל דבר למעט העובדה שקשה לעבוד עליו)
כשאין לך מחשב אישי, ואתה עובד מחדר מחשבם או סתם של מישהו אחר
שרת הרבה יותר נוח.וגם כשיש מחשב אישי, אני עובד כיום עם code-server וכמעט שאין לי צורך לפתח מקומית.
וכשמפתחים צד שרת, יש הרבה משתנים שלא נמצאים על המחשב המקומי, אז למה להעלות את הקוד מחדש אחרי כל שינוי? -
איזה שימושים עושים עם JS
בעיקר אתרי אינטרנט - גם צד הלקוח וגם צד השרת. (בצד לקוח אין כמעט שפות אחרות, בצד השרת JS היא (אחת מתוך כמה) מהשפות הפופולאריות ביותר היום
אין כמעט תוכנות דסקטופ שכתבות ב-JS (למעט אלה שמבוססים על electron שהוא בעצם דפדפן שמציג תוכנה אחת)ומה נרוויח שנלמד את זה
JS היא השפה הכי פופולארית היום מבחינת כמות האנשים שמתכנתים בה ומשרות פנוייות.
חוץ מזה יש בו כמה יתרונות:
- אפשר לראות תוצאות אחרי שורות בודדות של קוד.
- היא קיימת בכל דפדפן, לא צריך שום התקנה להתנסות בה
- אני אישית סבור שהיא פשוטה יותר מפייתון (רבים יחלקו עלי מן הסתם), קלה יותר ללימוד מ-#C, ואם כן אחרי שהורדנו את שתי המתחרים העקריים מהשולחן לא נשארו בעצם מתחרים.
עוד נקודה:
כל שפה שתלמד תכניס לך מושגים חדשים שירחיבו את האופקים שלך. גם אם בסוף לא תעשה שימוש בשפה לא הפסדת מללמוד אותה. -
@למה אמר בתכנות | איך להתחיל?:
וואו תודה לכולם על ההתייחסות והעזרה
החכמתי פה בהרבה (וגם למדתי שיש עוד מושגים שאני לא מבין... )א. החלטתי ללכת על JS
מעולה להתחיל ממנו (וגם להמשיך)
ועכשיו כמה שאלות מעשיות:
אפשר ללמוד בחינם?
באנגלית-בטח. בעברית-את השלבים הראשונים בטח שכן.
יש מדריכים שמלמדים JS בחינם (שלב מתקדם יותר, לא ההתחלה)מחפש מדריכים יסודיים ומסודרים? אז לא, לא בעברית. אבל אתה יודע להסתדר עם אוסף קישורים ומאמרים - בהחלט יש. מלבד זאת אל תינעל על חינם, אפשר למצוא חומרים טובים בגרושים.
ב. מה הכי מומלץ מדריכים כתובים או ווידאו?
אתה עם הפרעת קשב או בלי? אם יש לך זמן וסבלנות - וידיאו בהיר ויסודי יותר, במידה ויש. אם אין לך, או שאתה רוצה רק לסקור את הנושא - טקסטים.
ג. סביבת עבודה.
הבנתי שהכי מומלץ לעבוד עם סביבת עבודה שיכולים לראות מיד את התוצאות
יש לכם אולי מ"מ מי נותן דבר כזה?סביבת עבודה ראשונית - קונסול של דפדפן, אין כמוה.
סביבת עבודה מקצועית, נוחה ופשוטה - VS CODE
סביבת עבודה אונליין שנותן גם תוצאות לייב -
יש את הפשוט, ויש קצת יותר מתקדם ויש עוד יותר ויש גם עוד הרבה. בסוף מוצאים מה שאתה אוהב.ד. איפה עדיף לעבוד, על המחשב המקומי או על שרת?
(אם אין הבדל קיצוני, יותר מתאים לי שרת, תוכלו לציין איזה מהם טוב?)הכל תלוי מה אתה עובד. כל מה שצריך זה מחשב ומקום לשמור קבצים. אתה לא הולך לעבוד עם PHP ודברים כאלו שדורשים XAMPP ושאר ירקות. JS זה כותבים ומריצים - אפילו אם זה צד שרת, וזה חלק מהיתרון שלה.
ה. בקיצור.. תוכלו לציין מדריך שאתם ממליצים עליו (עם קשר או בלי קשר לשאלה הראשונה שלי)
(נ.ב. אפשר לחפש בגוגל אבל מה לעשות שגוגל הדור אין לו ניסיון של האנשים לגבי התוצאות)אני הפקתי תועלת מכל המדריכים בעברית. לפעמים מהמתמצת, לפעמים מהמרחיב, לפעמים מהמיושן שנותן את היסודות בלי לבלבל, לפעמים מהעדכני שנותן לך חומר חם מהתנור.
הערה חשובה: JS (צד לקוח, אבל מזה כנראה תתחיל) היא שפה שמטפלת באתרי אינטרנט, שהם עצמם בנויים בHTML וCSS. תצטרך לקחת את זה בחשבון.
devschool - חינמי - שימש אותי הרבה בתחילת הדרך. ישן, אבל מתומצת ומסודר. סקירה מהירה של כל השפה, טוב להתחלה, וטוב ל"חזרות" מידי פעם.
tocode - כמאה ש"ח לחודש - מעולה, כולל וידיאו וגם טקסטים, קורסים מסודרים ובהירים, נדיר בעברית. אם אתה רציני - לך עליו.רשתק - חינם - אוסף מאמרים אקראיים, הרבה פעמים אפשר למצוא פה דברים טובים.
אינטרנט ישראל - חינם - הרבה מאמרים ומדריכים טובים, נכתבים ע"י רן בר זיק, בסוף הוא כינס אותם+הרבה תוספות לספרים מסודרים ששוה לרכוש (דיגיטלית, גם גרושים יחסית).
נראה לי שזה מספיק בשביל להתחיל.
-
@יוסי12345 אמר בתכנות | איך להתחיל?:
קשה לי להאמין שניתן ללמוד בצורה חובבנית.
צריך ללכת למקום מסודר עם 'שיעורי בית' רק ככה מתקדמים.
ישנם בודדים שהצליחו ללמוד לבד.הגעת למקום הלא נכון
רוב המגיבים בשרשור הזה למדו לבד, ועובדים בתחום.
זה רק עניין של התמדה, ולהאמין שזה לא מסובך (מכיר כאלו שנשרו רק כי חשבו שזה מסובך) -
@davidnead אמר בתכנות | איך להתחיל?:
רשתק - חינם - אוסף מאמרים אקראיים, הרבה פעמים אפשר למצוא פה דברים טובים.
אינטרנט ישראל - חינם - הרבה מאמרים ומדריכים טובים, נכתבים ע"י רן בר זיק, בסוף הוא כינס אותם+הרבה תוספות לספרים מסודרים ששוה לרכוש (דיגיטלית, גם גרושים יחסית).
נראה לי שזה מספיק בשביל להתחיל.
זה מאד פרקטי
https://www.w3schools.com/js/default.asp -
@nigun אמר בתכנות | איך להתחיל?:
@יוסי12345 אמר בתכנות | איך להתחיל?:
קשה לי להאמין שניתן ללמוד בצורה חובבנית.
צריך ללכת למקום מסודר עם 'שיעורי בית' רק ככה מתקדמים.
ישנם בודדים שהצליחו ללמוד לבד.הגעת למקום הלא נכון
רוב המגיבים בשרשור הזה למדו לבד, ועובדים בתחום.
זה רק עניין של התמדה, ולהאמין שזה לא מסובך (מכיר כאלו שנשרו רק כי חשבו שזה מסובך)בגדול נכון, אבל צריך עוד משהו: נסיון. לימוד תיאורטי לא יכול להחזיק הרבה מים. צריך הזדמנות תעסוקתית, אם קיימת טוב ואם לא לנסות לייצר אותה. כשלומדים קורס אפשר ללמוד הרבה חומר מלווה בפרוייקטים של תרגול, וגם אז היעילות מוגבלת. אבל אם אתה לומד לבד - לא תוכל באמת ללמוד בלי שתמצא לך פרוייקטים אמיתיים (לא תרגולים) להתנסות בהם, ורצוי מאוד יחד עם מנוסים ממך. כמה חומר כבר אפשר לדחוס לעצמך בלימוד עצמאי שטרם בא לידי שימוש?
-
@יוסי12345 אמר בתכנות | איך להתחיל?:
קשה לי להאמין שניתן ללמוד בצורה חובבנית.
צריך ללכת למקום מסודר עם 'שיעורי בית' רק ככה מתקדמים.
ישנם בודדים שהצליחו ללמוד לבד.אני למדתי במקום מסודר והכרתי המון המון שלמדו במגוון של מקומות כאלה.
בא נאמר ככה, מי שמסודר אולי זה החלק הכלכלי של הגוף המארגן, לא משהו מעבר.אני מסכים שלימוד שפה ולימוד כלים לרוב מייצרים מישהו שיודע לכתוב קוד אבל בכלל לא מתכנת של ממש,
וחסר לו הרבה תיאוריה ורגישות לאמנות הזאת. אני לא חושב שמקומות "מסודרים" נותנים אותה (אולי כמה טיפות וגם הם כ"תופעת לוואי" של הרבה דברים אחרים), אבל כן חושב שיש דרכים להשיג את זה גם לבד.
בזמנו המלצתי על ספרים אקדמיים של תכנות בפועל (כמו זה) הבעיה שהם לא מתאימים לJS אלא לC# או JAVA, אם כי את האמנות של התכנות הם מעבירים יפה.אם הכונה למשמעת, אז ברור שקבוצה ומורה ויחס זה מחייבים שעוזרים להיכנס לנושא, אבל לצערי במקומות האלה התועלת הזאת גם קטנה מאוד לרוב סוגי האנשים:
כמה מחייב אותך מרצה שלא באמת אכפת לסבתא שלו אם תדע או לא ואיך הסתדרת בשיעורי בית? וכשהמרצה טוב יותר, זה עדיין "מרצה" רחוק ממורה, ובודאי שאין שום אכפתיות של הסגל המלווה.
כמה מחייבים חברי קבוצה שרובם בספק עצום אם הם נכנסו לתחום שקשור אליהם, מתהלכים בתחושה שהם כנראה לא בקטע, רובם עם מצפון מיותר ומשתק על חיפוף במכינה באנגלית/מתמטיקה (שלעיתים קרובות זו התועלת הבלעדית שלה)? -
@dovid אמר בתכנות | איך להתחיל?:
שלימוד שפה ולימוד כלים לרוב מייצרים מישהו שיודע לכתוב קוד אבל בכלל לא מתכנת של ממש,
וחסר לו הרבה תיאוריה ורגישות לאמנות הזאתאה, תודה על המילים האלו!
זה מזכיר לי נושא חשוב מאוד.על כל מתכנת מצויין יש 10 בינונים ו-100 לא טובים. (כמובן שאין אף אחד מהמאה בשיחה זו. איכשהו זה תמיד מישהו אחר ולא אנחנו... )
יש טווח עצום של רמות מהגרועים ביותר עד המצויינים ביותר.מה מבדיל בין המצויין לבינוני והגרוע? (חוץ מיכולות שכליות)
ובמילים אחרות, איך תמשיך לגדול אחרי שנהיית "יודע קוד" לכדי "מתכנת" ובהמשך להיות "מתכנת טוב" או אפילו מצויין?
נראה לי שחלק מההבדל הוא היכולת לדעת מה אתה לא יודע. אם תדע מה אתה לא יודע תמיד תלמד ותשאף ליותר.
צריך להתרגל למידה החשובה של ביקורת עצמית. אף פעם אל תחשוב שאתה יותר טוב מכולם. תמיד תחיה בהרגשה שאתה רק בתחילת הדרך ויש אחרים שטובים ממך בהרבה. אם תחיה בהרגשה זו, כבר תמצא בכל צעד את הרגעים של "אוי, כמה זה נכון!" ותדע את התחומים שבהם אתה צריך להשתפר. להיות מתכנת זה למידה תמידית לא רק של טכנולוגיות אלא גם של טכניקות.
אני מרשה לעצמי לומר את זה למרות שאני לא ה"מתכנת הדגול" שיכול להרשות לעצמו לטפטף לאחרים על איך להיות מתכנת, כי הדבר נכון בכל תחום ולא רק בתכנות
-
@davidnead
כל החברים כאן שלמדו לבד, בסוף מצאו פרוייקטים
לכן אין סיבה שהלומד המתחיל לא יוכל למצוא.
ולא חייבים פרוייקטים בתשלום, אפשר לעשות התנדבות או בקוד פתוח.@yossiz
לא נראה לי שה100 מתכנתים הלא טובים חושבים שהם הכי טובים
יש כאלה שפשוט לא דחוף להם לדעת יותר, הם התקבלו לעבודה כל שהיא וכל עוד לא מפטרים אותם והם נתקעים חצי שנה בבית, למה שישקיעו יותר. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
כל החברים כאן שלמדו לבד, בסוף מצאו פרוייקטים
לכן אין סיבה שהלומד המתחיל לא יוכל למצוא.
ולא חייבים פרוייקטים בתשלום, אפשר לעשות התנדבות או בקוד פתוח.ברור, זה כולל אותי. זו רק היתה הכוונה איך להשקיע נכון.
בקש לחשיבות של לדעת מה אינך יודע - כל מילה סלע.
בקשר למה שדיברו על לימודים - אני למדתי לבד, כמו כולם פה (כמעט). אין ספק שהלימוד לבד+השפשוף המעשי נותן הרבה יותר ממה שנותן מקום לימודים מסודר.
מאידך, יש דברים שדוקא מקום מסודר נותן, ואני מרגיש שהם מאוד חסרים לי: דוקא הדברים היותר "משעממים" ופחות מעשיים, כמו מדעי המחשב ומתמטיקה ואנגלית שאפשר לתכנת מצוין כמה שנים בלעדיהם - תכל'ס דוקא אחרי שאני נהיה מקצועי אני מרגיש יותר את החוסר בהם. מרגיש שהם מעכבים ואף תוקעים אותי לפעמים. לפעמםי מרגיש פערים של חוסר ידע בסיסי, שלמסיים בי"ס לתכנות יש ולי אין, גם אם בשורה התחתונה אני מתכנת הרבה יותר טוב ממנו. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
אתה מרגיש שחסר לך מתמטיקה?לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
אני גם מרגיש חוסר בהבנה מעמיקה של איך פועל המחשב, הזכרון, קבצים בינאריים, מערכות הפעלה.
אנגלית-בעיה ידועה, כמה שניסיתי להתגבר עליה - אני מתקדם נפלא, אבל רק רואה כמה יכולתי להתקדם יותר אם הייתי יודע יותר. אגב, לזה לא יעזור לימוד מסודר, למדתי גם קורס אישי טוב. לזה צריך או לימוד בי"ס יסודי או חופשות בחו"ל.