-
מי יודע משהו על זה,
ואיך זה שלא שמעתי על זה חוץ מבוייקיפדיה?ע"פ הוויקי זה נשמע הדבר הכי מקסים שיכול היה לקרות!
ראסט (באנגלית: Rust) היא שפת תכנות מרובת פרדיגמות תכנות שפותחה על ידי מוזילה, השמה דגש על מהירות ובטיחות. השפה מתאפיינת ביכולות ביצועיות גבוהות, כמו היכולות הביצועיות של שפות סף, אך גם בפשטות המאפיינת שפות עיליות.
היא מתאימה לאנשים בעלי ניסיון בשפות כמו שפת C, המחפשים אלטרנטיבה בטוחה יותר, כמו גם לאנשים בעלי ניסיון בשפות כמו Python שמעוניינים לכתוב קוד עם יכולת ביצועית גבוהה יותר, אבל בלי לוותר על חלק מהתכונות שמשרתות את השפה.
שפת ראסט משלבת יכולת ביצועים גבוהים כמו של שפת C לצד רמת בטיחות גבוהה. חלק מן הבעיות האופפות את C (למשל גלישת מחסנית) לא אפשריות בראסט.
התחביר של השפה פשוט וקל ללמידה.
השפה זכתה בתואר "שפת התכנות האהובה ביותר" לשנים 2016, 2017, 2018 ו-2019 בסקר קהילת המתכנתים של StackOverflow.לכתוב ב-C++ עם שפת עילית...
אין אוסף זבל...
נשמע כמו משהו חלומי.
אפילו נתמך בדפדפן עם asm! נו, אז מה חסר?מי יספר לי משהו על זה?
לא מצאתי מדריך אחד בעברית! -
-
השאלה המרכזית היא מה רע לכם במה שלמדתם עד היום.
ביצועים? תחביר? או שזה ספורט בלימודי תכנות.
העובדה שהשפה אהובה על המשתמשים שלה לא לי הרבה, ייתכן שהקהל שמתאים לה אוהב אותה, כי היא מאוד טובה בתחום שלו. בתחום של שפות אחרות יש פחות שפה שולטת, וממילא כל אחת מקבלת פחות אהבה... -
-
@yossiz כשאין אוסף זבל, המתכנת "מוכרח" לשחרר את הזיכרון תוך כדי הקוד של צואר הבקבוק, דבר שיכול להאריך את הפעולה אפילו בעשרות אחוזים, לעומת זאת כשיש אוסף זבל, הזיכרון ישתחרר לאחר צואר הבקבוק כאשר המערכת תהיה יותר פנויה.
יצא לי לחוות דברים כאלה כמה פעמים. אפילו בדוטנט שיש אספן, אם משתמשים בזיכרון לא מנוהל, ולא נותנים לאספן הזבל לשחרר אותו.
זה דעתי על פי הכרותי את GC של דוטנט. וראה כאן -
@רחמים סה"כ הסברת מצויין את הנקודה הראשונה שכתבת שאוסף זבל מביא פשטות.
להגיד שבלי אוסף זבל אתה "מוכרח" לעשות כך וכך לא נכון. בלי אוסף זבל אתה חופשי לנהל זכרון בכל צורה שתמצא לנכון. וגם במקרים כעין אלו שחווית יש דרך לנהל את הזכרון בצורה מיטבית, אומנם לא פשוטה. עם אוסף זבל את באמת מוכרח להכנע לגחמות של אוסף הזבל. -
@yossiz לדעתי שפה שנותנת אספן זבל, גורמת לכתוב תוכנות יותר מהירות, בגלל הנקודה שהסברתי לעיל. לכן אפשר בהחלט לומר שאותה שפה משפרת את המהירות לעומת שפה שלא נותנת אספן זבל.
בדוטנט אספן הזבל מאוד מושקע וחכם, ובנוסף אפשר לנהל אותו, כך שאין צורך להכנע לגחמות שלו. -
אספן זבל:
הם טוענים שהם בנו את זה בצורה שלא צריך אספן זבל.
(אין לי מושג מה אני כותב עכשיו אבל:) זה בנוי בצורה שהזיכרון מוקצה בזמן הקומפילציה. אין פוינטרים (אין אפשרות ששני משתנים יצביעו לאותו האובייקט. לכן אין סיכוי להפנייה הדדית), ואין שום דבר שיכול לבלבל ולגרום לדליפות וגלישות.--
זו שפה דעתנית שבה אתה חייב לכסות 100% מהמקרים, אחרת תהיה שגיאה (סטאק). לכן מחד יותר קשה לפתח, מצד שני, יותר קל אחר כך בניפוי הבאגים.--
יש גם טוענים שזה כן תחליף לפייתון וכד'.
https://blog.usejournal.com/moving-from-nodejs-to-rust-in-2019-62c0b85d2fa7אחרי כל זה, עדיין אין לי משהו ברור ביד.
למי זה מתאים? למה? זה מתאים לפרוייקטים קטנים? אפשר לכתוב שרת? אפליקציית שולחן עבודה? ספריית מערכת? לא ברור.אשמח אם מישהו יפנה פה, לסקירה כללית, למה זה מתאים, ואת מה זה מחליף.
ל @dovid, מה רע במה שלמדתי? כלום.
כלומר, הכל.
לכל שפה החסרונות שלה (למשל JS, התנהגויות לא צפויות, שנובעות מההיסטוריה הבעייתית שלה. למשל this בתוך פונקציה, וכו'.), ואני עדיין סקרן למצוא את השפה הכי טובה, או את השפה שהכי מתאימה לכל סוג פרוייקט.
זה למעשה סקרנות + ספורט כזה לבדו,ק אם יש מישהו שעשה את 'זה' יותר טוב...אבל אם היה משהו שמחליף את JS או את פייתון, ובמהירות של C, ברור שהייתי הולך על זה באותו הרגע.
ואני מנסה להבין, האם זה כך.מה גם שיותר נראית לי שפה עם קומפיילר, מאשר אינטרפרטר.
למה לעשות כל פעם הידור מחדש לקוד?
חבל על הזמן שלנו.אה, אל תדאגו לי.
זה רק סקרנות, לא אנטוש את NodeJS לפני שאראה משהו שעובד... -
השאלה המרכזית היא מה רע לכם במה שלמדתם עד היום.
ביצועים? תחביר? או שזה ספורט בלימודי תכנות.אכן ללמוד ראסט זה בעיקר לספורט
לא מוצא נתקלתי בכל כך הרבה מקרים שGC מפריע (לפחות בעיני).@nigun לא, אני לא מכיר אותה. אבל ממה שאני (לא) מכיר אני מבין שכמו שכתבתי זה תחליף ל-C/++C ולא ל-PHP/פייתון/JS. ואם כן צפוי לגמרי שיהיה עקומת למידה.
אני התכונתי ביחס לGO (בעצם כמעט כל שפה יש לה יותר עקומת למידה מGO)
@רחמים
גם מייקרוסופט אימצו את ראסט בחלק מהמקרים
אז כנראה שכדאי לקרוא קצת למה? -
אז מכל מה שקראתי הבנתי, שזה נועד באמת להחליף את C++, או מערכות בקאנד שצריכות מהירות תגובה.
זה שפה קשה, שהקומפיילר שלה זורק שגיאה על כל סטייה קטנה,
לא משהו שמעורר חשק ללמוד,
אבל הרבה יותר סיכויים שהכל ירוץ כמו שצריך.בקיצור, אם אצטרך לכתוב מנוע כלשהו - נראה שזה הכיוון.
מהיר, בטוח, וללא קריסות.לאתרים וכו', מה שקיים מספיק טוב... לא רואה סיבה לעזוב את NODEJS.
-
זה שפה קשה, שהקומפיילר שלה זורק שגיאה על כל סטייה קטנה,
בעייני זו מעלה, למה לחכות לקוד שירוץ בשביל לגלות באגים מעצבנים?
בקיצור, אם אצטרך לכתוב מנוע כלשהו - נראה שזה הכיוון.
מהיר, בטוח, וללא קריסות.את זה יש לך בGO עם שפה קלה יותר ללמידה (ועם קומפיילר יורת מהיר).
לאתרים וכו', מה שקיים מספיק טוב... לא רואה סיבה לעזוב את NODEJS.
לא נראה לי שמישהו חשב לבנות עם זה אתר
זה נועד בעיקר למקומות שאפילו GO נכשל (בגלל הGC בעיקר).עריכה: קח לדוגמה את הבנצ'מארק הזה
שמנסה להשוות בין מנועי SSG (כלי לבניית אתרים סטטיים)blades: 3.43311 ms (±1.41216) (מנוע שנכתב בראסט ע"י עורך הבנצמארק)
zola: 44.90000 ms (±4.08778) (מנוע שכתוב בראסט)
hugo: 53.46000 ms (±8.47516) (מנוע שכתוב בGO)עיין כאן להשוואות של HUGO עם שאר הSSG
אז למי שחייב בנייה מהירה, יכול להסתדר עם HUGO
ואם העוד כמה שניות הם ממש קריטיות אז אולי ראסט זה הפתרון.
(נ.ב. לא צריך להתייחס לבנצ'מארקים כאל תורה מסיני, זה רק כדי להראות דוגמה)