C++ 11: מאושר

הוחלט על סטנדרט בינלאומי חדש לשפת התכנות ++C בשם: C++ 0x. מאז הסטנדרט האחרון עברו מספר שנים ויש להניח כי הגרסה החדשה תהיה מהירה ויעילה יותר

מקור: flickr, cc-by Marjan Krebelj

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

שפה חדשה?

הסטנדרט הבינלאומי: C++ 0x אושר פה אחד. הוא אושר על ידי ועדת ++C, שהיא חלק מארגון האינטרנט לתקנים. המספר 11 בשם המלא של השפה מתייחס לשנה בה אושרה – 2011. הסטנדרט הנוכחי הוא C++ 98 שנקרא גם C++ 03, כך שלקח בין 8 ל-13 שנים לעדכן את הסטנדרט, בהתאם למספר שבחרתם לספור ממנו.

הכוונה בסטנדרט היא שהקומפיילרים יכולים להמשיך במימוש התקן המלא גם של C++ 11. רוב הקומפיילרים הקיימים כבר מממשים חלק מהתכונות בתקן, שכן השפה מסתמכת על השפות הקודמות לה. ניתן לראות בויקי של Apache את הסטטוס הנוכחי: GCC נמצא במצב הכי מתקדם, אחריו קומפלייר ה- ++C של אינטל ולבסוף כנראה Microsoft Visual C.

הסטנדרט החדש C++11 פחות או יותר תואם את הקוד ב- C++ 03, כך שקוד קיים כיום אמור לעבוד גם עם הגרסה החדשה. עם זאת, ישנן תכונות חדשות עליהן מדבר יאן סטרוסטופ (Bjarne Stroustrup), מעצב ומטמיע שפת ++C המקורית, בהודעה ששחרר אודות הגרסה החדשה. לטענתו, C++ 0x מרגישה כשפה חדשה לחלוטין, החלקים מתאימים אחד לשני בצורה יותר טובה מבעבר והוא רואה סגנון תכנות טבעי ברמה גבוהה יותר ויעילה יותר מאי פעם.

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

טבעי מול מלאכותי

זה מסקרן כיצד תכנות השתנה במהלך התקופה האחרונה. לפני מספר שנים היה ניתן לחשוב שיום אחר רוב שפות התכנות יהיו JavaJavaScript או NET. – שפות של קוד מנוהל. אמנם השפות הללו עדיין מהוות רוב, אך קוד “מקור” (Native Code) החל לבוא יותר לידי ביטוי הודות לסיבות שונות כגון ההתמקדות של אפל ב-Objective C וסימנים לקונפליקט פנימי בתוך מיקרוסופט הנוגעים לאיזה שפה טובה ביותר לקידוד אפליקציות עבור Windows.

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

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

חן אידן

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

הגב

1 תגובה על "C++ 11: מאושר"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

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

סידור לפי:   חדש | ישן | הכי מדורגים
קרטמן
Guest

הכתבות שלך תמיד טובות, קצרות, לעניין, ומקצועי ביותר. אני רוצה להוסיף שאחת המטרות של הסטנדרט החדש, עם אפשרויות כמו “פונקציות למבדה” וספריית טמפלטים מעודכנת (ועוד אלף ואחת דברים אחרים) היא לשנות בצורה דיי דרסטית את הצורה שמתמשים בשפה ולגרום לקוד להראות ולהיות יותר קריא ונוח. יקח עוד שנים עד שקודים יעברו את השינויים שהסטנדרט מביא (אם בכלל לגבי קוד ישן) אבל C++ נמצאת פה כדי להשאר, למעשה ניתן יהיה לכתוב C++ בצורה דיי דומה ל-JavaScript. וגם מיקרוסופט הבטיחו להשקיע בעיקר ב-C++ בויזואל סטודיו הבא. ולגבי GCC 4.6 הנה דוח המצב שלו – http://gcc.gnu.org/gcc-4.6/cxx0x_status.html

wpDiscuz

תגיות לכתבה: