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

איך להתחיל ללמוד שפת c בלימוד עצמי


shmulik88

Recommended Posts

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

איך להתחיל: בחירת סביבת עבודה- אני מאוד ממליץ על eclipse. מדובר בסביבת קוד פתוח (וחינמית כמובן) שעם ה SDK- (software development kit) zz עבור C מציגה תמיכה בכתיבת קוד ברמה מאוד גבוהה. (השלמה אוטומטית, דיבוג שלדעתי מאוד נוח וכו). ישנן הורדות עם ה SDK מראש אך ההתקנה הראשונית יכולה להיות מעט קשה (ספציפית ל C ו C++) אך אחרי שצלחת אותה אני חושב שמאוד תיהנה מסביבה זו. יש המון מדריכים לאיך להתקין eclipse עבור C וביוטיוד תמצא גם לא מעט הסברי "יד ביד". הייתי ממליץ להשקיע מעט בהיכרות עם הסביבה ועם השירותים שהיא מציעה שכן זה ישפר מאוד את חווית הפיתוח והלמידה.

מאיפה ללמוד:

1. מדריכי מיוטיוב וכו-

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

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

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

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

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

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

בהצלה!.

- - - תגובה אוחדה: - - -

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

איך להתחיל: בחירת סביבת עבודה- אני מאוד ממליץ על eclipse. מדובר בסביבת קוד פתוח (וחינמית כמובן) שעם ה SDK- (software development kit) zz עבור C מציגה תמיכה בכתיבת קוד ברמה מאוד גבוהה. (השלמה אוטומטית, דיבוג שלדעתי מאוד נוח וכו). ישנן הורדות עם ה SDK מראש אך ההתקנה הראשונית יכולה להיות מעט קשה (ספציפית ל C ו C++) אך אחרי שצלחת אותה אני חושב שמאוד תיהנה מסביבה זו. יש המון מדריכים לאיך להתקין eclipse עבור C וביוטיוד תמצא גם לא מעט הסברי "יד ביד". הייתי ממליץ להשקיע מעט בהיכרות עם הסביבה ועם השירותים שהיא מציעה שכן זה ישפר מאוד את חווית הפיתוח והלמידה.

מאיפה ללמוד:

1. מדריכי וידאו מיוטיוב וכו-

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

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

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

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

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

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

בהצלה!.

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

  • 3 שבועות מאוחר יותר...

אני איש חומרה מנוסה.

יש לי ניסיון עם אסמבלר מלפני כ-13 שנים.

בזמנו הדרך הטבעית הייתה לעבור לשפת c.

בכל אופן זה מה שהיה מקובל לפני כ-13 שנה.

האם זה נכון גם עכשיו או שהעולם השתנה?

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

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

אם אתה רוצה להמשיך להתעסק עם חומרה - דהיינו לתכנת דברים ב-low level, תכנות embedded וכד', אז כן, C או ++C הן השפות עבורך.

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

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

פייטון שפה טובה אבל בוא אני יגיד לך את זה ככה, בשביל מה אתה מתחיל ללמוד תכנות? יש לך דברים שאתה רוצה לעשות עם זה? ממליץ לך לקרוא את The Cathedral and the Bazaar שיסביר לך על איך תוכנה טובה באמת מתחילה. בכללי זה ספר טוב מאוד על פילוסופיה למתחילים בתכנות.

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

ושאף אחד לא יטעה, C שפה מעולה והחזיקה את המבחן של הזמן. אבל היא לא שפה למתחילים.

גם Lisp שפה מעולה והייתי ממליץ לך עליה. קרא את הספר Structure and Interpretation of Computer Programs כדי להבין אותה. (וזה ספר טוב מאוד ולא סתם השתמשו בו בMIT בזמנו)

אז בקיצר

1. או פייתון או Lisp

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

אה וshayfroid סרטונים מיוטוב זה חרא ואתרי זה לרוב חרא. בנוגע לספר אין על K&R C, לא משנה כמה שHead First C הולך יותר לכיוון ה"מתחילים" או לא יודע מה. K&R זה ה-ספר לC ובמקומות יותר רציניים יצחקו עליך אם תגיד את הדברים האלה.

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

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

הבחור אומר שהוא איש חומרה מנוסה עם ניסיון בתכנות באסמבלי. אני מניח שהוא מכיר קצת את מה שהולך במחשב שלו :)

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

קישור: http://he.wikibooks.org/wiki/%D7%A9%D7%A4%D7%AA_C

כששאלתי חבר שמבין בזמנו, הוא המליץ לי על code::blocks כעל סביבת . אחר כך גם השתמשנו בה באוניברסיטה. לא ממליץ בכלל, סביבת די גרועה בעיני.

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

בהצלחה לך!

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

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

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

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

  • 2 שבועות מאוחר יותר...

שפה ראשונה ללימוד עצמי = פייתון

אפשר ללמוד C כשפה ראשונה אבל זה יהיה פחות כיף.

C ואחותה השמנה ++C הן בעיקר שפה לתיכנות מערכות, פחות ופחות לאפליקציות. זאת הנישה של JAVA של #C ושל פייתון (ועוד שפות).

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

  • 2 שבועות מאוחר יותר...

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

אבל C מקנה יסודות שקשה למצוא והבעיות בC מלמדות אותך להעריך.

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

ארכיון

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

×
  • צור חדש...