-
הדיון שם באתגר של רחמים הוא דוגמה מעולה. ניכר שרבים מהמשתמשםי לא הבינו בכלל את המשמעות של אלוגריתם יעיל ומה הוא יכול לתרום, ובטח לא את עולם האינדוקס. לקח זמן להבין שבכלל דרוש אינדקס.
וגם אז - ניסו להמציא תבניות של אינדקסים לבד, או לתת קישורים לרשימות של אלוגריתמים.
אני לא הייתי הולך לבנות אלוגריתם של אינדקס לבד, לפחות חלק מהסוגים הם מסוכים ואחרים כבר עשו את העבודה. אבל להבין ולהכיר אותם! עולם אחר לגמרי מהדיון שם.
וההנחה שם של מישהו שזה אתגר חריג שלא נתקלים בו בפיתוח סטנרדטי - שגויה לחלוטין. אלא אם אתה מתכוון להספתק בלהיות בודק תכנה או מפתח וורדפרס.
זה אתגר שנתקלתי בו כמה וכמה פעמים, ופתרתי אותו אחרת כל פעם, לפי הצרכים המקומיים.
-
- אני לא מרגיש סיפוק בידע שלי היום
- אני נתקל האתגרים חדשים כל הזמן, אבל לא בתחום שלך, יותר בקטע של ניהול עומסים.
- אני נהנה ללמוד מושגים חדשים כל הזמן.
- אני לא אוהב משימות קבועות, ונהנה לעבור בין תחומים.
- אני יהנה מאוד ללמוד איך לבנות אינדקס, אבל רק כשיהיה לי צורך באינדקסים
סתם ללמוד את זה בתיאוריה? חבל על הזמן.
-
@nigun אמר בתכנות | איך להתחיל?:
- אני לא מרגיש סיפוק בידע שלי היום
- אני נתקל האתגרים חדשים כל הזמן, אבל לא בתחום שלך, יותר בקטע של ניהול עומסים.
ללא ספק גם בתחום הזה יש תחומי ידע נלמדים שמעניקים הבנה מעמיקה ומקצועית יותר ונותנים לך כלי התמודדות במקום להמציא את הגלגל.
- אני נהנה ללמוד מושגים חדשים כל הזמן.
- אני לא אוהב משימות קבועות, ונהנה לעבור בין תחומים.
- אני יהנה מאוד ללמוד איך לבנות אינדקס, אבל רק כשיהיה לי צורך באינדקסים
סתם ללמוד את זה בתיאוריה? חבל על הזמן.
גם לי חבל על הזמן ללכת ללמוד עכשיו שנה במכללה, לכן אני לא עושה את זה. זה לא אומר שאני לא מרגיש את פערי הידע ומחפש למצוא דרך שמתאימה לי להשלים אותם.
-
@אינטרקום אמר בתכנות | איך להתחיל?:
סליחה שאני קוטע את ההתפלספות...
אבל אם נחזור לנושא הראשי שעבורו נפתח האשכול.
אז ראיתי שרן בר זיק ממליץ להתחיל בHTML וCSS לפני JS.
זה לעיכובא? או שזו המלצה בלבד, ולא כ"כ משנה תכל'ס מה קודם למה.צודק, שאלה מהותית. אז קצת הסבר:
HTML - זו לא בדיוק שפת תכנות, זה סוג של תחביר כדי לסדר טקסטים ואלמנטים אחרים על דף אינטרנט.
CSS - זה כבר קצת יותר מתקדם, זה תחביר להגדיר עיצובים לאלמנטים הנ"ל. זה עדין לא ממש שפת תכנות.
JS - זו שפת תכנות בסיסית (סקריפט) שניתן לשלב בדף אינטרנט כדי לעשות פעולות שונות על הHTML ועל הCSS, כמו לשנות אותם בהתאם לפעולות המשתמש, ועוד. (כמעט) כל מה שלא סטטי בדף אינטרנט - הוא ע"י JS.
עדכון קריטי על JS: התיאור הנ"ל נכון לשנת 2000, כאשר דפי אינטרנט היו פשוטים מאוד והJS עשה בהם מעט. כיום דפי אינטרנט הם אפליקציות לכל דבר במקרים רבים, וJS התפתחה בהתאם לשפה מודרנית עם יכולות רבות.
יתירה מזו, בשלב כלשהו מישהו החליט שJS היא שפה מוצלחת, ואין סיבה להגביל אותה רק לצורך טיפול בדפי אינטרנט. הוא העתיק את המנוע כך שאפשר להשתמש בו כמו כל שפת תכנות, כולל עבודה עם קבצים ומערכות הפעלה וכו'. הוא קרא לזה nodeJs.אם אתה מתחיל עם NODEJS - אז אין צורך מידי ללמוד HTML וCSS. אבל בדרך כלל זה לא המקרה, ופחות מומלץ.
אז בהנחה שאתה מתחיל עם JS רגיל (צד לקוח) - היות שמה שעושה הJS זה לשטפל בHTML והCSS אתה חייב להכיר אותם. עם זאת, אין צורך להכירם בשלמות, ואפשר ללמוד במשולב ובמקביל זה עם זה.
-
@למה אמר בתכנות | איך להתחיל?:
אני חושב שדרך מועילה היא לקחת קוד קיים (=תוכנה/אפליקציה/אתר) ו'לפרק' אותה
ולהתחיל לשחק איתה ולהבין מה עושה מה, כל מילה מה זה עושה ומה קורה ללא המילה הזאת וכו'אביא לך מהנסיון שלי. לפני שהתחלתי לתכנת קראתי המון קוד מקור והכרתי כמה שפות. אבל לא יצאתי מתכנת מקריאת קוד מקור והכרת שפות.
כיום אני מתכנת בפועל כשנה וחצי והעיסוק בתכנות בפועל זה מה שמקדם אותי.
ברור שקיבלתי תועלת מכל הידע הקודם שלי, אבל זה לא הפך אותי למתכנת.
האם אתה רוצה להיות מתכנת או להיות אחד כזה שמבין קוד? -
@yossiz אמר בתכנות | איך להתחיל?:
@למה אמר בתכנות | איך להתחיל?:
אני חושב שדרך מועילה היא לקחת קוד קיים (=תוכנה/אפליקציה/אתר) ו'לפרק' אותה
ולהתחיל לשחק איתה ולהבין מה עושה מה, כל מילה מה זה עושה ומה קורה ללא המילה הזאת וכו'אביא לך מהנסיון שלי. לפני שהתחלתי לתכנת קראתי המון קוד מקור והכרתי כמה שפות. אבל לא יצאתי מתכנת מקריאת קוד מקור והכרת שפות.
כיום אני מתכנת בפועל כשנה וחצי והעיסוק בתכנות בפועל זה מה שמקדם אותי.
ברור שקיבלתי תועלת מכל הידע הקודם שלי, אבל זה לא הפך אותי למתכנת.
האם אתה רוצה להיות מתכנת או להיות אחד כזה שמבין קוד?עד עכשיו שמרתי על שתיקה, אין לי כח וזמן להאריך אבל בקטע הזה אני כבר מתערב.
מסכים ולא מסכים
מסכים שסתם לקרוא וכו' מכניס לגדר חכמתו מרובה ממעשיו
אני לא מסכים לפסול את זה, אך כדאי מאוד שיהיה מטרה בדבר
אסביר: מאוד יעיל לקחת משהו קיים אבל במטרה לשנות אותו למשהו שלא קיים בו, כך אתה מרוויח שאתה נכנס לקוד עמוק, לומד אותו וחייב להבין אותו בכדי לשנות אותו.
לי אישית יצא שחלק מהתחומים אצלי למדתי כך -
@dovid @רחמים תודה
(רק שאלה קטנה, אפשר הסבר? אתה לא מסכימים על מה שכתבתי. כלומר זה לא דרך או משהו אחר?)@yossiz אמר בתכנות | איך להתחיל?:
אביא לך מהנסיון שלי. לפני שהתחלתי לתכנת קראתי המון קוד מקור והכרתי כמה שפות. אבל לא יצאתי מתכנת מקריאת קוד מקור והכרת שפות.
כיום אני מתכנת בפועל כשנה וחצי והעיסוק בתכנות בפועל זה מה שמקדם אותי.
ברור שקיבלתי תועלת מכל הידע הקודם שלי, אבל זה לא הפך אותי למתכנת.
האם אתה רוצה להיות מתכנת או להיות אחד כזה שמבין קוד?לא בדיוק הבנתי, אתה טוען שזה לא דרך ללמוד לתכנת אלא רק ללמוד את השפה?
למה? מה זה משנה אם אני אתחיל לכתוב את הכל מההתחלה או שאני אתחיל רק בכמה שורות שאני אשנה/אכתוב וכל היתר יישאר כפי המקור?
אולי לא הובנתי או שגם לא הבנתי אותךאשמח מאוד להסבר אם אפשר.
-
@למה
זה כמו שתתחיל ללמוד אנגלית מתוך ספר אקדמי על דקדוק באנגלית.
בהתחלה צריך ללמוד ABC, ואז תחביר, ואז קצת דקדוק.
ואחרי שיודעים את הבסיס אפשר לקרוא ספרי ילדים, ואחר כך ספרים כבדים.אם תתחיל ללמוד מתוך תוכנה מסובכת, ומסועפת לפני שאתה יודע לכתוב שורת קוד
אתה תאבד. -
הדרך המועילה ביותר ללמוד לכתוב קוד - היא לכתוב קוד.
לקרוא קוד זה רק כלי עזר. אם מתאים לך לשלב את שניהם יכול ללכת טוב. למשל אם אתה לוקח קוד קיים על מנת להשתמש בו למשהו אחר, ולצורך כך אתה עורך בו וכותב אותו, וממילא גם תוך כדי קורא ומפענח את הקוד הקיים - אתה יכול להרוויח כפול, זאת בתנאי שלקחת קוד ברמה שלך ולא משהו גדול מידי.יש לזה יתרון נוסף - כשאתה כותב קוד בלי להכיר תכנות אתה כותב העיקר שיעבוד ולא מכיר את האפשרויות הנוספות העומדות בפניך.
ועם כל זה, אני אישית, לומד בעיקר מכתיבת קוד.
-
@davidnead אמר בתכנות | איך להתחיל?:
למשל אם אתה לוקח קוד קיים על מנת להשתמש בו למשהו אחר, ולצורך כך אתה עורך בו וכותב אותו, וממילא גם תוך כדי קורא ומפענח את הקוד הקיים - אתה יכול להרוויח כפול, זאת בתנאי שלקחת קוד ברמה שלך ולא משהו גדול מידי.
זה בדיוק מה שהתכוונתי
יכול להיות שלא הובנתי טוב -
@למה אמר בתכנות | איך להתחיל?:
@davidnead אמר בתכנות | איך להתחיל?:
למשל אם אתה לוקח קוד קיים על מנת להשתמש בו למשהו אחר, ולצורך כך אתה עורך בו וכותב אותו, וממילא גם תוך כדי קורא ומפענח את הקוד הקיים - אתה יכול להרוויח כפול, זאת בתנאי שלקחת קוד ברמה שלך ולא משהו גדול מידי.
זה בדיוק מה שהתכוונתי
יכול להיות שלא הובנתי טובהובנת טוב.
-
@למה אמר בתכנות | איך להתחיל?:
ועוד שאלה...
אני חושב שדרך מועילה היא לקחת קוד קיים (=תוכנה/אפליקציה/אתר) ו'לפרק' אותה
ולהתחיל לשחק איתה ולהבין מה עושה מה, כל מילה מה זה עושה ומה קורה ללא המילה הזאת וכו'האם אתם מסכימים איתי או שאתם חולקים עלי??
ולמה?@למה אמר בתכנות | איך להתחיל?:
@dovid @רחמים תודה
(רק שאלה קטנה, אפשר הסבר? אתה לא מסכימים על מה שכתבתי. כלומר זה לא דרך או משהו אחר?)אני חולק בהחלט! במקום לפרק ולנחש איך זה עובד, יש ספרים ויש מדריכים שמסבירים איך לבנות.
הדרך "המועילה" שהצעת, מזכירה את אותו בעל עגלה שראה פעם ראשונה בחייו את הקטר של הרכבת, שסוחב אחריו עשרות קרונות, ואמר כך:
זה ברור שבתוך הקטר יש לפחות 40 סוסים, אחרת איך יתכן שהוא סוחב כל כך הרבה קרונות, ולכן נשארה לי רק שאלה אחת, איפה משיגים כאלה סוסים קטנים שנכנסים 40 מהם בתוך כזה קטר קטן?
אבל אם היה לומד ממי שבנה את הקטר, היה מגלה מושגים חדשים שהוא כלל לא חלם עליהם.יש מקום לפרק ולנסות להבין תוכנה, כאשר כבר יש לך ידיעות רחבות בתיכנות, כך שפחות סביר שתטעה בניחושים כנ"ל, וגם אין אפשרות לקבל הסבר מסודר איך תוכנה שכזו אמורה לפעול, ואתה מוכרח לקבל עליה הסבר כי היא היחידה שעושה מה שאתה מנסה לעשות וכדומה. אז בשעת הדחק שכזו שאין ברירה יכולה להיות מזה תועלת לפעמים.