Carbon, שפת התכנות שמטרתה להחליף את C++

לפני כמה ימים חשף עובד גוגל שמפתח שפת תכנות חדשה בשם "פֶּחָם", כי ממוקם כתחליף ניסיוני עבור C++, הרחבת שפה זו וביטול ליקויים קיימים.

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

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

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

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

לדוגמה, אתה יכול לשכתב ספרייה מסוימת ב-Carbon ולהשתמש בה בפרויקט C++ קיים. המהדר Carbon נכתב באמצעות בניית LLVM ו-Clang.

מהמאפיינים העיקריים של פחמן, בולטים הבאים:

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

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

  • התאמת ביצועים של C++ באמצעות LLVM, עם גישה ברמה נמוכה לביטים וכתובות
  • פעל הדדית עם קוד C++ הקיים שלך, מירושה ועד תבניות
  • בנייה מהירה וניתנת להרחבה שעובדת עם מערכות ה-C++ הקיימות שלך

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

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

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.