עבור לתוכן

בן 15 מעוניין להיכנס לעולם התכנות

Featured Replies

פורסם
הבנה אמיתית של מה?

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

למרות ש-++C היא "הרחבה" של C, עדיין יש עקרונות מסוימים שנלמדים כשלומדים C שפשוט לא רלוונטיים יותר ב-++C והם רק יכולים לבלבל, או שהם פשוט מיותרים. גם ככה בהתחלה של ++C עדיין לא נוגעים במחלקות.

בשביל בן אדם שלומד כדי לדעת ולהעשיר ידע אסמבלי רעיון מאוד טוב לדעתי

אבל מישהו שהוא בן 15? לא יודע... אולי באמת עדיף פייתון C#

  • תגובות 47
  • צפיות 15.8k
  • נוצר
  • תגובה אחרונה
פורסם
באותה מידה אתה יכול לומר שצריך להתחיל ללמוד מאסמבלי, כי רק ככה יש "הבנה אמיתית" איך עובד המחשב.
כבר דיברנו על זה בעבר. :)

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

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

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

גם אם עקרון מסוים של C הוא לא רלוונטי ב++C, זה לא אומר שהוא מיותר בכלל. ואם זה עקרון שב++C ושפות OOP אחרות כמעט לא בא לידי ביטוי - על אחת כמה וכמה חשוב ללמוד C.

פורסם

אני מסכים ולא מסכים איתך.

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

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

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

בשנה השנייה יש קורסי חובה ב-C ו-++C ולומדים בצורה מעמיקה על הברזלים. ממשיכים בקורס במערכות הפעלה לכתוב ב-++C.

לדעתי סדר כזה של למידה הוא נכון. להתחיל בפיית'ון לא אומר שלא לומדים C.

פורסם

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

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

אני כן חושב ש-C היא לא שפה כבדה מדי לבן 15 מבחינת תחביר וכו', אבל אולי באמת שווה להתחיל ממשהו שמאפשר תוצאות מגוונות יותר, כמו פייתון.

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

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

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

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

בשנה השנייה יש קורסי חובה ב-C ו-++C ולומדים בצורה מעמיקה על הברזלים. ממשיכים בקורס במערכות הפעלה לכתוב ב-++C.

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

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

פורסם

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

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

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

לא בפרט לא למי שרוצה ללמוד C++

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

מי שרוצה ללמוד שפות תכנות כדי להתקדם ולהרחיב אופקים כדאי שילמד אחד מהניבים של LISP ו PROLOG.

פורסם

מישהו עוד משתמש ב-LISP? :huh:

פורסם

לפי דעתי הוא צריך להתחיל ללמוד C כי זו מצד אחד שפה עילית ומצד שני זה מאוד קרוב לאיך המחשב עובד "מתחת למנוע".

ללמוד C# יהיה יותר מדי גבוהה והוא לא ממש יבין את ה"קסם" מאוחריי השפה.

לגבי PYTHON אני לא יודע אבל אם זה גם OOP אז לא נראה לי שכדאי.

ברור שC# וPYTHON הם יותר טובים בשביל תכלס לכתוב אלפקציות אמיתיות אבל הוא בא ללמוד לא לכתוב אפלקציה אמיתית כרגע.

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

ללמוד C# יהיה יותר מדי גבוהה והוא לא ממש יבין את ה"קסם" מאוחריי השפה.

לגבי PYTHON אני לא יודע אבל אם זה גם OOP אז לא נראה לי שכדאי.

ברור שC# וPYTHON הם יותר טובים בשביל תכלס לכתוב אלפקציות אמיתיות אבל הוא בא ללמוד לא לכתוב אפלקציה אמיתית כרגע.

הוא בן 15 והוא הולך ללמוד עצמאית צריך שפה שתאפשר ליצור משהו ויזואלי לדעתי כך יהיה יותר מוטיבציה ללמוד ולא ירים ידיים באמצע

פורסם

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

  • 4 שבועות מאוחר יותר...
פורסם

דעתי האישית היא שלמרות שpython יותר קלה ללימוד הכי טוב היום להתחיל עם C#.

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

עם C# תוכל אח"כ להתקדם גם לASP.net וגם לתכנות לסמארטפונים (WP8 שלא צוברת תאוצה וxamarine).

visual studio הוא ללא ספק הכלי הכי טוב לתכנות היום וגרסאת הexpress מצויינת (עד שאתה מתחיל לעבוד עם WCF ופרוייקט windows בsolution אחד. בררר....).

בסופו של דבר להתחיל בשפה אחת ולעבור לאחרת זה לא הכי נעים, ברגע שלמדת C# תוכל להשתלט בקלות על java,c++ וכ"ו בניגוד לפייטון בה הסינטקס מאוד שונה משפות מבוססות C.

פורסם

יהיה יותר קל לעבור לפיית'ון מאשר ל-++C

פורסם

כן... :P

http://yosefk.com/c++fqa/picture.html#fqa-6.5

Yet another thing is almost always true: picking up a new language is easier for an experienced C++ programmer than working in C++. This is the result of the exceeding complexity of C++C

נערך על-ידי QttP

פורסם

מניסיוני הצנוע הייתי ממליץ לבחור להתחיל דווקא עם C++.

כאחד שהתחיל עם Java\C# ודומיהן הידידותיות נתקלתי בקושי אמיתי כשהתחלתי C++. לקח הרבה זמן וסבל עד שהבנתי הכל לעומק כמו שצריך, כי הבסיס שלי היה גרוע.

אז לדעתי, תתחיל עם C++, שהיא ללא ספק יותר קשה מפייטון וכו', אבל יהיה לך בסיס רחב וטוב, ומשם הכל יהיה לך קליל וידידותי (אחרי שתשלוט פחות או יותר ב C++).

פייטון\Java\סישארפ\php וכו' וכו' הן שפות ידידותיות שיעזרו לך. אתה יכול לכתוב קוד גרוע, והוא עדיין יעבוד מצויין - וככה לא תבין שמה שאתה עושה לא טוב, כי זה עובד.

ארכיון

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

דיונים חדשים