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

האם שפת C++ עדיין רלוונטית?

  • פותח הנושא פותח הנושא מתכנת
  • פורסם בתאריך פורסם בתאריך

מתכנת

מודרטור
הצטרף ב
10/2/16
הודעות
9,640
דירוג
8,804
[פתחתי כאן נושא חדש והעברתי לכאן את כל ההודעות מהדיון שהתפתח לגבי הרלוונטיות של C++, מתכנת]
 
נערך לאחרונה ב:
מה נסגר איתך? מה אתה סתום?
1. מי מתכנת ב c++ ¿¡ ועוד למחקר? ועוד בתחום כמו ml ?!
למשל הרוב המוחלט של מי שעובד בגוגל, כולל חלק מאוד גדול מהחוקרים. כל מי שאכפת לו מקוד production. ממש, ממש (אבל ממש) לא סתום. למשל, האופרטורים של TensorFLow כתובים ב- C++.
 
נערך לאחרונה ע"י מנהל:
הרוב המוחלט של מי שעובד בגוגל
אז מה? בפייסבוק עובדים ב PHP. תכף תגיד לי שPHP זאת שפת תכנות.

למשל הרוב המוחלט של מי שעובד בגוגל, כולל חלק מאוד גדול מהחוקרים. כל מי שאכפת לו מקוד production. ממש, ממש (אבל ממש) לא סתום. למשל, האופרטורים של TensorFLow כתובים ב- C++.
אני לא רוצה לעורר פה ויכוח דתי. מהניסיון שלי, C++ היא שפת תכנות נוראית, (למרות השיפור בגרסאות האחרונות) כי היא מאפשרת, ובמידה מסויימת מעודדת, לייצר מורכבות נוראית שלא ניתן להשתלט עליה (במיוחד כשעובדים בקבוצה גדולה, או לא מסודרת), בנוסף חלק גדול מהפיצ'רים שלה מרגישים כמו תפירה עקומה על C. אתה יושב מנסה להבין קוד, ומישהו החליט ש template meta-programming זה רעיון טוב.

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

עבדתי קצת בעולם של systems , ואמבדד, שם אני משוכנע של C++ אין מקום. C זה הסטנדרט, דה פאקטו, ומסיבה טובה. D הייתה ניסיון משעשע, ו Rust זה אולי העתיד.

ברגע שאתה יוצא מתחום ה low level , וכל עוד אתה לא צריך לספור סייקלים, יש לך כל כך הרבה אפשרויות מעולות... לשימוש כללי: C#, JAVA , Python , גם GO בתחום שלה. ופייתון הופכת לסוג של סטנדרט בעולם הdata . אם אתה רוצה מתמטיקה אז יש לך את R . אם אתה רוצה פונקציונלי: Closure, F# , Scala . אם אתה רוצה concurrency אז erlang, elixer .

וכמובן matlab ו mathematica
 
נערך לאחרונה ע"י מנהל:
עבדתי קצת בעולם של systems , ואמבדד, שם אני משוכנע של C++ אין מקום. C זה הסטנדרט, דה פאקטו, ומסיבה טובה.
סבאל'ה, זה לא פייר מה שאתה עושה בשרשור לא קשור, כך שאי אפשר להעמיד אותך על טעותך בלי להחריב אותו.
 
נערך לאחרונה ע"י מנהל:
סבאל'ה, זה לא פייר מה שאתה עושה בשרשור לא קשור, כך שאי אפשר להעמיד אותך על טעותך בלי להחריב אותו.
כעת אתה בשרשור ייעודי.
מה נסגר איתך? מה אתה סתום?
1. מי מתכנת ב c++ ¿¡
https://insights.stackoverflow.com/survey/2018/#most-popular-technologies
https://insights.stackoverflow.com/trends?tags=c++,c,rust
 
נערך לאחרונה ב:
מהניסיון שלי, C++ היא שפת תכנות נוראית, (למרות השיפור בגרסאות האחרונות) כי היא מאפשרת, ובמידה מסויימת מעודדת, לייצר מורכבות נוראית שלא ניתן להשתלט עליה (במיוחד כשעובדים בקבוצה גדולה, או לא מסודרת), בנוסף חלק גדול מהפיצ'רים שלה מרגישים כמו תפירה עקומה על C. אתה יושב מנסה להבין קוד, ומישהו החליט ש template meta-programming זה רעיון טוב.

לעתים רחוקות אני מסכים עם @Benjamin Willard , אבל זה אחד מהמקרים.
 
יש לי אהבה לא רציונאלית ל ++C *
עם זאת אני לא נותן לזה להשפיע עלי, ומודע לכך שזו שפה נוראית.

ובכל זאת, מי שלא ראה קוד גנרי(כמו רוב הקוד) של subsystem כתוב ב C , לא ראה קוד מחריד מימיו.**
מנסיוני, ל embedded דווקא ++C מתאימה הרבה יותר, ומובנת הרבה יותר מ C
אממה כל התעשיה מלאה ב legcay ובדינוזאורים שלא מוכנים לשמוע על זה.
מי שיצא לו להיות שותף בפיתוח מערכת הפעלה מסקראצ' יכול להבין איזו יופי זה יוצא עם ++C

* בכל מקום שנכתב כאן ++C, הכוונה כמובן ל --C , שזה ++C עם חלק(לא מאוד גדול) מהפיצ'רים בלבד. צריך כנראה להיות די משוגע כדי לזרוק exception ב embdded code, למשל
** שם ה type הנפוץ ביותר הוא function pointer, איזה כיף לדבג
 
אני כבר חלוד ולא נגעתי בקוד כבר כ 15 שנים אבל אשאל - והיכן ממוקמת #C?

בצעירותי למדתי כול כך הרבה שפות שיצאו והמצאו כול יום שני וחמישי עד שהראש שלי התפוצץ ונטשתי את התכנות לטובת DB, System design and architecture, שם ואז זה היה הכסף הגדול בחברות על בארה"ב.
אבל שתי האהבות שלי באמת Pascal ו Ada, שהייו שפת התכנות הראשונות עם וורק-פלוו שדרשו חשיבה של bottom-up. האלגנטיות והשיק שלהם ממש כבשו אותי.
כן, הן נחשבו כשפות תכנות "אקדמיות" ללימודי מדעי והנדסת מחשבים ללא יישום בשטח ולמרות זאת, ומי שעדיין זוכר את PDP-11M+ של חברת דיג'יטל המיתולגית, אני וחברי כתבתנו ב Pascal מערכת מאוד מורכבת של מערכות סליקה בנקאיות [Chips, Chaps, Swift] שהתמענו ב 3 בנקים מרכזיים בניו-יורק.
טוב, אפשר להרפק על העבר ואני ממליץ בחום למתכנתים כאן לבדוק את Pascal סתם בשביל הכיף.
 
והיכן ממוקמת #C?
לדעתי C# היא סוג של מתחרה לjava.
היא "מתקמפלת" לקוד ביניים מולטי פלטפורמי שדורש סביבת .net להרצה (מקביל לjvm לצורך העניין)
היא לא באמת שייכת לקטגוריה של c/c++.

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

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

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

עכשיו חשוב לי להבהיר, אני לא טוען כמובן שC++ תדיח שפות אחרות מעולם התכנות, אבל מצד שני היא גם לא תמשיך לדעוך אלא אפילו תהיה לה מגמת חזרה מסוימת. גם לשאר השפות יהיה מקום, בהרבה מקרים כותבים אב טיפוס בפייטון, מאטלאב וכו׳ ואז את הגירסא הסופית מממשים בשפה יותר ביצועית.
 
שפות עיליות זה נהדר, אבל כשה latency של האיסוף זבל מפריע לדרישות מהתוכנה והחברה (סיפור אמיתי) צריכה לעבוד עם off-heap objects וערבוב מוזר בין Java ל C++, אז אתה עשוי להשתוקק לחזור לתכונות הנוראיות פחות של C++.
 
שפות עיליות זה נהדר, אבל כשה latency של האיסוף זבל מפריע לדרישות מהתוכנה והחברה (סיפור אמיתי) צריכה לעבוד עם off-heap objects וערבוב מוזר בין Java ל C++, אז אתה עשוי להשתוקק לחזור לתכונות הנוראיות פחות של C++.
משעשע אותי שמתייחסים ל C++ ככה :). מבחינתי C++ זו שפה עילית.
מתכנת אמיתי כותב באסמבלי ;) (או בC)
 
בעתיד הצפי הוא שרוב הדברים הכבדים שנריץ יהיו בענן. כיום ההוצאה הכי גדולה של חוות השרתים היא צריכת חשמל ולכן בעתיד הלא רחוק אני מאמין שלחברות גדולות יהיה יותר משתלם להעסיק 100 מתכנתי C++ שיקבלו משכורות עתק ויחסכו הרבה יותר בצריכת החשמל של השרתים מאשר כמה מתכנתי גאבה שאומנם ישתכרו פחות אבל הקוד שיכתבו יהיה פחות יעיל אנרגטית.
אני נוטה להסכים שיקדישו מאמצים לצמצם עלויות אלו,
אבל ספק האם הפער בין שפות Just-in-time לבין Ahead-of-time compiling, כה משמעותי מבחינת חיסכון באנרגיה באופן שיצדיק את הייקור בעלויות כח אדם.
יהיה יותר יעיל להשקיע באופטימיזציה של הרצת JIT, כי יתאפשר להמשיך להעסיק את כל אותם מתכנתי java/js/python וכו'
האימפקט של זה גדול עשרת מונים מאשר לייעל בנפרד את כל הפרויקטים שנכתבו בשפות JIT

עריכה:
מצאתי את זה http://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
(לא קראתי את המסמך, בעמודים 6-8 יש נתונים על הבדלים בין השפות)
נראה שאכן c/c++ צורכות כחצי מהאנרגיה (ואף פחות) לעומת האחרות.
 
נערך לאחרונה ב:
מצאתי את זה http://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
(לא קראתי את המסמך, בעמודים 6-8 יש נתונים על הבדלים בין השפות)
נראה שאכן c/c++ צורכות כחצי מהאנרגיה (ואף פחות) לעומת האחרות.
מהמחקר נראה שC++ צורכת כ30% יותר חשמל ורצה כ50% יותר זמן מC. ככה שאם כבר להמיר קוד עדיף לעבור לC מאשר לC++

השפות האחרות כמובן צורכות משמעותית יותר משאבים.
 
עוסק בתחום קרוב לאנליזה סטטית, ולא רואה איך ניתן לתכנת מערכת עובדת עם ביצועים סבירים בשפה אחרת מ c++.
ולמי שרוצה לראות master piece כתוב ב c++, שיפתח את הקוד של llvm. למי שלא מכיר, זה קומפיילר, בעיקר ל c++, כתוב ב c++.
 
אני נוטה להסכים שיקדישו מאמצים לצמצם עלויות אלו,
אבל ספק האם הפער בין שפות Just-in-time לבין Ahead-of-time compiling, כה משמעותי מבחינת חיסכון באנרגיה באופן שיצדיק את הייקור בעלויות כח אדם.
יהיה יותר יעיל להשקיע באופטימיזציה של הרצת JIT, כי יתאפשר להמשיך להעסיק את כל אותם מתכנתי java/js/python וכו'
האימפקט של זה גדול עשרת מונים מאשר לייעל בנפרד את כל הפרויקטים שנכתבו בשפות JIT

עריכה:
מצאתי את זה http://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
(לא קראתי את המסמך, בעמודים 6-8 יש נתונים על הבדלים בין השפות)
נראה שאכן c/c++ צורכות כחצי מהאנרגיה (ואף פחות) לעומת האחרות.
למיטב ידיעתי ה GC הרבה יותר משמעותי מבחינת עלויות. אלא אם התוכנית ממש קצרה. ונראה לי שכבר ראיתי מחקרים על Java שמשתמשת רוב הזמן ב Ahead-of-time compilation.

מהמחקר נראה שC++ צורכת כ30% יותר חשמל ורצה כ50% יותר זמן מC. ככה שאם כבר להמיר קוד עדיף לעבור לC מאשר לC++

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

אפשר גם להשאר ברמה של C++ ופשוט לא להשתמש בחלק מהפיצרים של C++.
אז למה לא לכתוב כבר מראש בC וזהו?
שילוב של Java ודומיו עם C הוא הרבה יותר מורכב.
לא בטוח.
יש למשל את JNI שיודעת לשלב בצורה יחסית נוחה בין גאוה לC++. אני מניח שהמרחק משם לשילוב עם C הוא לא גדול.
 
נושאים דומים
פותח הנושא כותרת פורום תגובות תאריך
T שפת הילידים אינדיאנים עזרה אוף טופיק 5
123W שפת תכנות לעתיד אוף טופיק 45
Myrath לימוד אנגלית לרמת שפת אם (אנגלית עסקית/משפטית) התפתחות אישית 28
A צריך קצת יעוץ לגבי לימודים. שווה עדיין ללמוד מדמ"ח היום, בהינתן מצב השוק היום והתפתחות ה-AI? התפתחות אישית 55
O האם עדיין הגיוני להחזיק אג״ח ממשלתי? שוק ההון 20
D פרישה לפנסיה של מי שעובד עדיין פנסיה, גמל וקרנות השתלמות 6
מ יש עדיין צ'אנס לאזרחות פורטוגלית? אוף טופיק 4
מ עכשיו שיש ניקוי במקור באינטראקטיב ישראל , האם עדיין יש עדיפות להיות באינטראקטיב האמריקאי לאזרח אמריקאי\ ישראלי ברוקרים ופלטפורמות מסחר 28
ל למה עדיין אין כזו אפלקציה? עוזר כלכלי אישי יזמות והגדלת הכנסות 3
S עדיין לא הצלחתי להבין למה האדם הממוצע צריך ביטקוין קריפטו והשקעות אלטרנטיביות 200
A מחנה דורה בנתניה, עדיין קיים? נדל"ן 0
Homer כתבה מלפני 10 שנים, עדיין רלבנטית? אוף טופיק 3
ע עדיין אג"ח להורדת סיכון רצף תשואות? שוק ההון 12
M קרן כספית עדיין נחשבת כנזילה העדיפה ביותר? שוק ההון 11
ה בהשקעת סכום גדול - עדיין עדיף בארץ? שוק ההון 25
O המעסיק עדיין לא מפריש לי פנסיה כי כבר חצי שנה אין לי קרן פנסיה פעילה האם לפי תיקון 190 אוכל להפקיד בעצמי או שצריך לחכות? פוסטים מאיכות נמוכה 1
Y מישהו עדיין חושב שBitcoin זה רעיון טוב? קריפטו והשקעות אלטרנטיביות 1056
tomer111 אם נופלת פצצה גרעינית ויצאתי חיי הניירות ערך בברוקראז עדיין אצלי והכל בסדר? שוק ההון 353
ב מסלול פנסיה sp500 + מיועדות - יש עדיין ממונף? פנסיה, גמל וקרנות השתלמות 11
P באילו תחומים אנחנו עדיין נמצאים מאחור? פוסטים מאיכות נמוכה 9
L האם יש עדיין סיבה לבחור בסטארטאפ? התפתחות אישית 92
O האם עדיין אפשר לקבל 70% מימון על דירה חליפית נדל"ן 11
S יש סעיף בעבודה שלי לגבי קרן השתלמות והייתי אמור לקבל אותו (כנראה) אבל עדיין לא, מה לעשות? אוף טופיק 2
צ האם עדיין שווה להשקיע באשקלון? נדל"ן 48
tomer111 האם עדיין תקף שאגח הם לא correlated למניות שוק ההון 12
O חוק מס' 1 עדיין רלוונטי? שוק ההון 2
A לא מצליח להבין איך אין עדיין אינפלציה שוק ההון 22
T האם יש טעם עדיין להחזיק באג"ח שוק ההון 4
ת האם עדיין יש בעיות עם IRA? צרכנות פיננסית 10
R האם עדיין יש לי סיכוי עם מתמטיקה? התפתחות אישית 11
tpr שאלה בנוגע לתיק השקעות (עדיין לומד את התחום) שוק ההון 0
C אופציות לעובד בסטראטפ ללא תוכניות אופציות עדיין אוף טופיק 8
ת עדיין על הגדר יומני מסע אישיים 6
1337justme מכירה של קרן נאמנות ישראלית - פעולה עדיין לא בוצעה? שוק ההון 4
I הגשה מקוונת של טופס 1301 לשנת 2018 עדיין סגורה? צרכנות פיננסית 1
B עדיין חדש ומחפש תשובות לשאלות בסיס מינימליזם, חסכנות ואנטי-צרכנות 3
S כבר זמן מה אני חושב להיכנס לבורסה אבל עדיין מחפש דרך להוריד את הסיכון דרך פיזור טוב יותר שוק ההון 42
ח עדיין מחפש את עצמי אוף טופיק 22
amikal אם יותר זול לנהל תיק השקעות בבית השקעות למה אנשים עדיין מנהלים אותו בבנק? שוק ההון 72
מ יש עדיין אג"ח מיועדות בקרן פנסיה? צרכנות פיננסית 22
O למה השקל עדיין מתחזק שוק ההון 122
ח האם ניתן עדיין למצוא את הבלוג 'התמונה הגדולה'? שוק ההון 26
sogi אורדרנט פרו - עדיין קיים ? אוף טופיק 4
breezblock טראמפ מוביל - עדיין לא מוכרת. שוק ההון 59
כ אירלנד בראי הברקזיט- עדיין מקום להשקיע בו את חסכונותיכם? שוק ההון 4
שרון למה בבתי השקעות עדיין כ"כ רוצים לנהל את הכסף שלכם? צרכנות פיננסית 1
ס קופת גמל צמודת מדד מבטיחת תשואה 4.5% - (מנורה יתר ג), האם עדיין ניתן להפקיד? צרכנות פיננסית 3
C "בדרך הנכונה" אבל עדיין משהו חסר יומני מסע אישיים 40
c881 תלושים לחג? עדיין תבדוק איך ועל מה מינימליזם, חסכנות ואנטי-צרכנות 10
ב דיון תיאורטי: מה יקרה כשהבורסה לא תהיה רלוונטית יותר? שוק ההון 29

נושאים דומים

Back
למעלה