לימוד שפת C לצורך פיתוח – האם רלוונטי גם כיום?

 

מלאו פרטים לקבלת ייעוץ





אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לprivacy


לחץ לצפיה

האם צריך שפת C לפיתוח? האם שפת C רלוונטית לפיתוח היום?

שפת התכנות C

לעיתים קרובות מהנדסים / מפתחים שואלים אותי  – "בשביל מה לי ללמוד שפת C כיום בעידן של C++ וJava   ?"
אני מקבל הערות כגון: "שפת C היא שפת תכנות ישנה, כבר לא משתמשים בה, שפת C  היא Obsolete" וכדומה.

בכתבה זו אתייחס בקצרה לנושאים הבאים:

  • האם גם כיום בעידן של שפות עיליות אשר תומכות בפיתוח ׁ( OOP ( Object Oriented Programmingׁ ׁכגון C++ או C#\.Net קיים עדיין שימוש בשפת C?
  • לאילו מטרות משתמשים בשפה זו?
  • האם כדאי ללמוד שפת c?

אז בשביל מה באמת יש צורך בשפת C?

אז תחילה קצת שיעור בהיסטוריה, שפת C הומצאה לקראת סוף שנות ה 60  (69-73) מתוך שפה שנקראת דאז שפת B  בחברת Labs  Bell ע"י Dennis Ritchie כחלק אינטגרלי מפיתוח מערכת ההפעלה UNIX.

שפת C נתמכת כיום ע"י כלל מערכות ההפעלה ל PC  וכן מערכות Embedded  כגון Windows \ Linux  ועוד.

השימוש העיקרי בשפת C כיום מתבטא בפיתוח ובדיקות מערכות משובצות מחשב (Embedded Systems), בין אם הן מערכות Embedded  המבוססות מערכת הפעלה כגון RTOS\ Embedded Linux \ Vxworks \ Psos \ ThreadX או פיתוח ללא מערכות הפעלה –Bare Board \ BareMetal הכוונה לפיתוח ישירות על החומרה .

הפיתוח בשפת C  מאוד יעיל, מאפשר גישה ישירה לחומרה (CPU Registersׁׂ), דוגמא טובה לכך הינה מערכת הפעלה Linux , כידוע הגרעין של מערכת הפעלה הנ"ל ה –  Linux Kernel מבוסס כולו על פיתוח בשפת C,  כמובן שזה כולל את כל ה –  Networking Stack ,Kernel Device Drivers , File Systems  ועוד.

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

בשנים האחרונות נכנס C++ כמתחרה לא קטן ל C , האמת שכל קוד בשפת C נתמך ע"י מהדרים של C++, שפת  ++C בעצם מבוססת על שפת C. בשנים האחרונות חברות הייטק מסודרות מעדיפות להשתמש ב ++C לצורך אפליקציות  High-level ויוצרות שכבת HAL  (Hardware Abstraction Layer) שמתחתיו הגישה לחומרה (Device Drivers) ממומשים בשפת C, מניסיוני רוב הסטארטאפים, מפאת הזמן, עדיין מעדיפים Quick and dirty.
למד עוד על קורס C ועל קורס C++.

קהל היעד לשפת C

היות ושפה זאת מיועדת כיום במיוחד ל Low Level Programming, אני ממליץ להלן:

  • מהנדסים / הנדסאים בתחום החומרה והאלקטרוניקה – בראש ובראשונה אשר יצטרכו בנוסף לתכנון ובניית הכרטיס גם להשמיש אותו, הכוונה ל  Boot loading \ Booting \ Development Testing  וכו'.
  • מהנדסים / הנדסאים בתחום התוכנה לרבות בוגרים במדעי מחשב – אשר מיועדים לעבוד במערכות משובצות מחשב (Embedded Systems) עם או בלי מערכות הפעלה .
  • אקדמאים מתחומי ההנדסה המעוניינים לבצע הסבה מקצועית.
  • מנהלי / מפתחי בדיקות – פיתוח כלים אוטומטיים לבדיקות מערכות Embedded .

מי אנחנו?

חברת Real Time Group הינה מרכז פיתוח המספק פתרונות פיתוח /מיקור-חוץ / הדרכה והשמה בתחומי ה -Real Time & Embedded למגוון חברות  לרבות חברות הייטק, ביו-טק ובנקאים. נשמח לעזור, תרגישו נוח לפנות אלינו.

לפרטים על קורס C for RT & Embedded Systems

אולי יעניין אותך גם:

אני מאשר קבלת מבצעים ועדכונים מחברת RT-GROUP בכפוף לתקנון