-
@dovid אמר בתכנות | איך להתחיל?:
שלימוד שפה ולימוד כלים לרוב מייצרים מישהו שיודע לכתוב קוד אבל בכלל לא מתכנת של ממש,
וחסר לו הרבה תיאוריה ורגישות לאמנות הזאתאה, תודה על המילים האלו!
זה מזכיר לי נושא חשוב מאוד.על כל מתכנת מצויין יש 10 בינונים ו-100 לא טובים. (כמובן שאין אף אחד מהמאה בשיחה זו. איכשהו זה תמיד מישהו אחר ולא אנחנו...
)
יש טווח עצום של רמות מהגרועים ביותר עד המצויינים ביותר.מה מבדיל בין המצויין לבינוני והגרוע? (חוץ מיכולות שכליות)
ובמילים אחרות, איך תמשיך לגדול אחרי שנהיית "יודע קוד" לכדי "מתכנת" ובהמשך להיות "מתכנת טוב" או אפילו מצויין?
נראה לי שחלק מההבדל הוא היכולת לדעת מה אתה לא יודע. אם תדע מה אתה לא יודע תמיד תלמד ותשאף ליותר.
צריך להתרגל למידה החשובה של ביקורת עצמית. אף פעם אל תחשוב שאתה יותר טוב מכולם. תמיד תחיה בהרגשה שאתה רק בתחילת הדרך ויש אחרים שטובים ממך בהרבה. אם תחיה בהרגשה זו, כבר תמצא בכל צעד את הרגעים של "אוי, כמה זה נכון!" ותדע את התחומים שבהם אתה צריך להשתפר. להיות מתכנת זה למידה תמידית לא רק של טכנולוגיות אלא גם של טכניקות.
אני מרשה לעצמי לומר את זה למרות שאני לא ה"מתכנת הדגול" שיכול להרשות לעצמו לטפטף לאחרים על איך להיות מתכנת, כי הדבר נכון בכל תחום ולא רק בתכנות
-
@davidnead
כל החברים כאן שלמדו לבד, בסוף מצאו פרוייקטים
לכן אין סיבה שהלומד המתחיל לא יוכל למצוא.
ולא חייבים פרוייקטים בתשלום, אפשר לעשות התנדבות או בקוד פתוח.@yossiz
לא נראה לי שה100 מתכנתים הלא טובים חושבים שהם הכי טובים
יש כאלה שפשוט לא דחוף להם לדעת יותר, הם התקבלו לעבודה כל שהיא וכל עוד לא מפטרים אותם והם נתקעים חצי שנה בבית, למה שישקיעו יותר. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
כל החברים כאן שלמדו לבד, בסוף מצאו פרוייקטים
לכן אין סיבה שהלומד המתחיל לא יוכל למצוא.
ולא חייבים פרוייקטים בתשלום, אפשר לעשות התנדבות או בקוד פתוח.ברור, זה כולל אותי. זו רק היתה הכוונה איך להשקיע נכון.
בקש לחשיבות של לדעת מה אינך יודע - כל מילה סלע.
בקשר למה שדיברו על לימודים - אני למדתי לבד, כמו כולם פה (כמעט). אין ספק שהלימוד לבד+השפשוף המעשי נותן הרבה יותר ממה שנותן מקום לימודים מסודר.
מאידך, יש דברים שדוקא מקום מסודר נותן, ואני מרגיש שהם מאוד חסרים לי: דוקא הדברים היותר "משעממים" ופחות מעשיים, כמו מדעי המחשב ומתמטיקה ואנגלית שאפשר לתכנת מצוין כמה שנים בלעדיהם - תכל'ס דוקא אחרי שאני נהיה מקצועי אני מרגיש יותר את החוסר בהם. מרגיש שהם מעכבים ואף תוקעים אותי לפעמים. לפעמםי מרגיש פערים של חוסר ידע בסיסי, שלמסיים בי"ס לתכנות יש ולי אין, גם אם בשורה התחתונה אני מתכנת הרבה יותר טוב ממנו. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
אתה מרגיש שחסר לך מתמטיקה?לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
אני גם מרגיש חוסר בהבנה מעמיקה של איך פועל המחשב, הזכרון, קבצים בינאריים, מערכות הפעלה.
אנגלית-בעיה ידועה, כמה שניסיתי להתגבר עליה - אני מתקדם נפלא, אבל רק רואה כמה יכולתי להתקדם יותר אם הייתי יודע יותר. אגב, לזה לא יעזור לימוד מסודר, למדתי גם קורס אישי טוב. לזה צריך או לימוד בי"ס יסודי או חופשות בחו"ל.
-
@davidnead אמר בתכנות | איך להתחיל?:
לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
מעניין, אני אף פעם לא הרגשתי שזה חסר
אולי אני לא יודע מה אני מפסיד?
יש לך דוגמה? -
@davidnead אמר בתכנות | איך להתחיל?:
הדרך להתגבר על זה היא ליצור לבד
או ללמוד את הנושא... יש טקסטים רבים (בעיקר באנגלית). האמת היא שכולם יצרו לבד, אבל חבל לעבוד על משהו שכבר עבדו עליו.
אני גם מרגיש חוסר בהבנה מעמיקה של איך פועל המחשב, הזכרון, קבצים בינאריים, מערכות הפעלה.
כנ"ל. (מתחשק לי מאוד לכתוב בנושא... זה נושא מרתק שהרבה מתכנתים לא מכירים מספיק. אבל כרגע אני לא רואה את עצמי מקדיש המון זמן לכתוב משהו ברור שיהיה לתועלת)
@davidnead אמר בתכנות | איך להתחיל?:
לזה צריך או לימוד בי"ס יסודי או חופשות בחו"ל
או לסובב את עצמך בדוברי אנגלית, יש כאלה גם בארץ (דוקא אנשים נחמדים
). לקרוא אנגלית ולתרגל יום יום. זה עוזר מאוד על פי נסיון (לא נסיון שלי, אני דובר אנגלית שפת אם).
-
@dovid אמר בתכנות | איך להתחיל?:
בזמנו המלצתי על ספרים אקדמיים של תכנות בפועל (כמו זה) הבעיה שהם לא מתאימים לJS אלא לC# או JAVA, אם כי את האמנות של התכנות הם מעבירים יפה.
תודה לך! נפלא, זה בדיוק מה שחיפשתי. אמנם בC# אבל לא מתמקד בC# אלא בחומר התיאורטי וזה מה שאני צריך.
-
@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
מעניין, אני אף פעם לא הרגשתי שזה חסר
אולי אני לא יודע מה אני מפסיד?
יש לך דוגמה?מאוד אופייני...
אתה יודע מה? אף אחד לא יצליח להוכיח לך שאתה מפסיד משהו.
השאלה אם אתה מרויח מזה שאין הוכחה... כנראה שכן -
@dovid אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
מעניין, אני אף פעם לא הרגשתי שזה חסר
אולי אני לא יודע מה אני מפסיד?
יש לך דוגמה?מאוד אופייני...
אתה יודע מה? אף אחד לא יצליח להוכיח לך שאתה מפסיד משהו.
השאלה אם אתה מרויח מזה שאין הוכחה... כנראה שכןלא הבנתי.
אני מפסיד משהו או לא?
למה זה לא ניתן להוכחה? -
@nigun ממ"נ, אם אתה מעוניין להשתכנע שכן, יכולת מייד להאמין לאחר וללמוד על זה יותר מכח הרצון הזה ללא אף שכנוע.
ואם אתה מעוניין שלא, אז מניסיון רב שנים אני אומר לך - אין הוכחה שמצליחה על מישהו שלא רוצה.
בטח תענה, מה פתאום, אני מעוניין! אבל למה שאשקיע בלי לראות איפה זה עוזר לי? אז תתחיל לקרוא שוב בwhile את ההודעה הזו עד שתבין אותי, או שתכפה יציאה מהנושא... -
@dovid
אני מעוניין להשתכנע
וחיפשתי הסבר בהרבה מקומות, שאלתי אנשים ותשבות שמצאתי זה משהו בסגנון:- זה נצרך לAI או מדעני נתונים.
- זה בשביל לחדד את החשיבה.
אז המסקנה שיש לי כיום, זה שביום שאני ארצה ללמוד AI, אני אצטרך לעבור על כמה קורסים במתמטיקה, אבל עד אז אני לא מוצא את הצורך.
ואין מישהו שאמר לי (עד ללפני חצי שעה) תלמד, וזה יעזור לך בעבודה הנוכחית שלך , ואין מצב שתבין בלי לטעום.
-
@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
לא הרבה, אבל קורה. אני מאמין שזו פחות הנקודה, יותר חוסר של אלוגריתמים מוכרים וכדו', אם זה אלוגריתמים מתמטיים ואם תכנותיים. הדרך להתגבר על זה היא ליצור לבד, אבל לפעמים זה בזבוז זמן ולפעמםי גם תוצאה לא יעילה.
מעניין, אני אף פעם לא הרגשתי שזה חסר
אולי אני לא יודע מה אני מפסיד?
יש לך דוגמה?דוגמה פשוטה ומינימלית שנתקלתי לא מזמן. נתון לי משפט שמורכב מכמה מילים. אני רוצה לשנות את סדר המילים, ולחשב את כל הקומבינציות האפשריות. (למשל "שלום לך עולם", "שלום עולם לך", "עולם לך שלום", וכו'). די פשוט, לא?
כמובן, גם הסתדרתי בסוף. אבל בזבזתי זמן מיותר, ויתכן שגם יש דרך יעילה יותר מהפתרון שבחרתי.
אולי בשביל מישהו עם ראש מתמטי טוב משלי אין צורך להשקיע רגע בשביל לפתור את זה, אבל הוא יתקל בזה בבעיה מורכבת יותר. -
@davidnead
צודק, דוגמה טובה
אני לא נתקלתי כל כך עם משימות בסגנון הזה
אבל בכל מה שקשור לאלגוריתמים של חיפוש והמסתעף, מתמטיקה יכולה בהחלט לעזור.
עריכה: במקרה הזה זכור לי שמשתמשים בסימן ! במחשבון מדעי
אז חיפשתי בגוגל "מה זה הסימן ! במחשבון"
ואחרי כמה תוצאות מצאתי את הערך עצרת
נראה לי שזה מה שצריך, צדקתי?
אם כן, כל מה שצריך זה מושגים בסיסיים, וגוגל.עריכה 2: בשביל מה יש פורומים, אם לא בשביל לשאול כאלו שאלות?
-
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
צודק, דוגמה טובה
אני לא נתקלתי כל כך עם משימות בסגנון הזה
אבל בכל מה שקשור לאלגוריתמים של חיפוש והמסתעף, מתמטיקה יכולה בהחלט לעזור.
עריכה: במקרה הזה זכור לי שמשתמשים בסימן ! במחשבון מדעי
אז חיפשתי בגוגל "מה זה הסימן ! במחשבון"
ואחרי כמה תוצאות מצאתי את הערך עצרת
נראה לי שזה מה שצריך, צדקתי?
אם כן, כל מה שצריך זה מושגים בסיסיים, וגוגל.ראשית, צדקת רק למחצה. זה נותן לך את מס' הקומבינציות, אבל צריך את הקומבינציות עצמן. שנית, כמו שאתה אומר צריך מושגים בסיסיים - הרבה באמת (כולל זה שהבאת) אין לי, ועל זה בדיוק דיברתי.
אני נזכר על דוגמה נוספת בעבר שכללה חישוב זוית כלשהי, משהו עם קונוס, לא זוכר. יש לזה אפילו פונקציות עזר מובנות נJS כי זה מונחים מקובלים במתמטיקה/גאומטריה. למזלי היה איתי מתכנת בעל תשובה (בוגר ליב"ה...) והוא ישר ידע לומר לי את המושגים. למזלי הפחות טוב הוא היה דוגמה מצוינת למי שיד עמושגי בי"ס אבל כשרון לא היה לו ולכן להשלים את המושגים לכדי יישום הייתי צריך עוד לעבוד.ואלוגריתמים, כפי שמבהיר יפה הספר הבסיסי ש@dovid נתן לעיל - יכולים להיות גם חישוב בסיסי ביותר, לוגי או מתמטי.
עריכה 2: בשביל מה יש פורומים, אם לא בשביל לשאול כאלו שאלות?
בדרך כלל אחת מהשתיים: או שמהר לי יותר לעשות/לחפש בעצמי מאשר להמתין לתשובה בפורום. או שעד שאני טורח לנסח את השאלה בבהירות בפורום - כבר מתבהרת לי חצי תשובה וכמאמר הידוע. ובשורה התחתונה בשני המקרים עשיתי את העבודה לבד.
-
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות. -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
-
@davidnead אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
מה אני אמור לענות על זה?
לא באתי לנגח, אני באמת מנסה להבין מתי? איפה? ואיך? צריכים ללמוד מתמטיקה? -
@nigun אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
@nigun אמר בתכנות | איך להתחיל?:
@davidnead
מה שיצא לבנתיים זה שחסר את השמות של המושגים, וברגע שמכירם את המושגים קל למצוא אותם בגוגל, ושוב אין צורך ללמוד באופן מסודר ע"י מורה פרטי, רק צריך ללמוד מילון מושגים.
ולבנתיים אפשר לשאול בפורום שאלות , ומישהו יכתוב את המושג, וההמשך תעשה בגוגל בקלות.נו נו
מה אני אמור לענות על זה?
לא באתי לנגח, אני באמת מנסה להבין מתי? איפה? ואיך? צריכים ללמוד מתמטיקה?גם אני לא באתי לנגח, חלילה. רק לא היה לי כל כך מה לענות. הצגתי בעיה פשוטה ומעשית, שכמוה אפשר להיתקל הרבה, ידע מסודר במתמטיקה בסיסית פותר אותה מהר ובקלות, ועוד יותר מזה ידע באלוגריתמים בסגנון מדעי המחשב. אתה פוטר את זה כלאחר יד, לא ברור לי איך, בסגנון ישראלי של "יהיה בסדר איכשהו".
אני יודע שיהיה בסדר, הסתדרתי עם זה ועם אתגרים גדולים בהרבה, אני רק, כמו ש @dovid ו @yossiz חידדו למעלה כל כך יפה, מנסה להבהיר לעצמי מה אני מפסיד (אני יותר אוהב: מה יכולתי להרוויח) ולא איך אני יכול להמשיך איכשהו להסתדר עם המצב הקיים.יודע מה? אתגר: תן לי קוד JS שעושה מה שביקשתי. ותתאר אחר כך איך הגעת לפתרון וכמה זמן לקח לך. זאת, אחרי שכבר יש לנו חצי תשובה.