למה כל מתכנת צריך ללמוד שפת C
דף הבית  >>  >>  הרשם  |  התחבר
מאמרים

למה כל מתכנת צריך ללמוד שפת C 

מאת    [ 11/06/2018 ]
מילים במאמר: 548   [ נצפה 5183 פעמים ]

 
 

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

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

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

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

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

אחרי שהסברנו את זה ננסה לפרט את היתרונות של לימוד שפת C:

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

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

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

פשטות ומהירות

שפת C היא שפה בסיסית, פשוטה, אלגנטית ומהירה ביותר. היא קומפקטית ויעילה מאוד. שפת Cתומכת במצביעים, פעולות על ביטים ומילות מפתח כמו: extern, volatile, static, and register. עם שפת C אתה תבין הרבה יותר טוב כיצד לכתוב קוד יעיל מאשר עם שפה גבוהה יותר.

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

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

משמעת

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

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

פחות הסחות דעת

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

פיתוח מערכות Embedded

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

טלי מיכאלי


Real-Time Group

מאמרים נוספים שעשויים לעניין אותך:

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

©2017
כל הזכויות שמורות

מורנו'ס - שיווק באינטרנט

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



מדיה חברתית:
חלון מאמרים לאתרך
תנאי שימוש במאמרים
ערוצי מאמרים ב-RSS Recent articles RSS


מאמרים בפייסבוק מאמרים בטוויטר מאמרים ביוטיוב