Lucifer LightBringer
Well-known member
The US government wants devs to stop using C and C++
Does anyone want to tell Linus Torvalds? No? I didn't think so
www.theregister.com
האוניברסיטאות עדיין מלמדים C כקורס מבוא ואח"כ מלמדים ++C כקורס המשך ויש כאלו שמלמדים ג'אווה כקורס המשך, אך המבוא הוא C.עכשיו מתברר שזה ממשלת ארה"ב...The US government wants devs to stop using C and C++
Does anyone want to tell Linus Torvalds? No? I didn't think sowww.theregister.com
לדעתי לומדים שפת סי באינפיניטי לאבס, כנראה מתוך ניסיון ללמד את הבסיס של ניהול זכרון.
בתור מי שלמדה לתואר ממש בסוף התקופה שבה לימדו פסקל כשפת תרגול והכירה את התלונות האלו - אני מסכימה ולא מסכימה עם הצורך בשפה ״פרקטית״ בתואר.פייתון זאת שפה שיחסית קל להתחיל איתה, כך שזאת לא בחירה כזאת יוצאת דופן. בעבר השתמשו בפסקל שבכלל נועדה לזה (היא הומצאה בכוונה כדי לשמש שפת תרגול), אבל אנשים התרעמו שזה ״לא מכין אותם לתעשיה״, אז האוניברסיטאות מנסות להשתמש בשפות שמשתמשים בהן בתעשיה.
בסטנפורד (אוניברסיטה טובה לכל הדעות) משתמשים בJavascript. רק אומר.
בקורסי מבוא? מסכנים הסטודנטים.מעבר לזה, תחומים כמו design patterns ו clean code והעקרונות של SOLID נלמדים תמיד במקום העבודה, למרות שהם בעצם מבוססים על מחקרים אקדמאים, אני לא רואה שום סיבה שהאקדמיה לא תלמד את הנושאים האלו.
נשמע מעניין, אבל למה C#? אם כבר דיברנו על שפות נישתיות...בקורסי מבוא? מסכנים הסטודנטים.
מלמדים את הדברים האלה, אבל בקורסים יותר מתקדמים. חלק מהדברים האלה נלמדים בקורסי בחירה ובהתמחויות הנדסיות (למשל אם התואר הוא ב"הנדסת תוכנה" זה אולי אפילו בקורסי חובה, ובתואר ב"מדעי המחשב" יהיה רק קורס בחירה). הנה דוגמא מאו"פ (קורס בחירה).
ניהול זיכרון, התעסקות במחוונים נותן בסיס חזק.המבוא הוא למדעי המחשב, שפת תכנות בקורס הזה היא כלי להכרת ותרגול המושגים התיאורטיים.
לדעתי, פסקל היא יותר קשה מ-C ודורשת הבנה רבה יותר, בפונקציות יש 3 אפשרויות להעברת פרמטרים ועוד.פייתון זאת שפה שיחסית קל להתחיל איתה, כך שזאת לא בחירה כזאת יוצאת דופן. בעבר השתמשו בפסקל שבכלל נועדה לזה (היא הומצאה בכוונה כדי לשמש שפת תרגול),
אכן, פרט לנייס שהמשיכה לעבוד בפסקל מונחה עצמים (דלפי), רוב החברות עברו ל-++C ולג'אווה.אבל אנשים התרעמו שזה ״לא מכין אותם לתעשיה״, אז האוניברסיטאות מנסות להשתמש בשפות שמשתמשים בהן בתעשיה.
שים לב, שלעתים באוניברסיטאות במחלקות שונות מלמדים שפות שונות, לדוג' ++C ילמדו בהנדסה, ג'אווה במדמ"ח ופייתון במתמטיקה.בסטנפורד (אוניברסיטה טובה לכל הדעות) משתמשים בJavascript. רק אומר.
ניהול זיכרון, התעסקות במחוונים נותן בסיס חזק.
לכן אוניברסיטאות מלמדות בקורס מבוא C ובקורס המתקדם לאחר שכבר יותר את הבסיס טוב, מלמדים ג'אווה ולא ++C, למרות שיש כאלו שנשארים ב-++C, בעיקר הנדסות.
דלפי זאת הייתה הגרסה המסחרית של פסקל, אבל היא לא תפסה. לא יודע מה עושים בנייס, אבל לא יצא לי להכיר אף חברה בה היה קוד דלפי. כן ראיתי קוד פורטרן, עדה, קובול, ועוד מיני שפות שנחשבות "איזוטריות".אכן, פרט לנייס שהמשיכה לעבוד בפסקל מונחה עצמים (דלפי), רוב החברות עברו ל-++C ולג'אווה.
כן, זה בדיוק מה שעושים בטכניון.שים לב, שלעתים באוניברסיטאות במחלקות שונות מלמדים שפות שונות, לדוג' ++C ילמדו בהנדסה, ג'אווה במדמ"ח ופייתון במתמטיקה.
השאלה פה היא איך אתה מגדיר ניהול זכרון - כי רוב מבני הנתונים כן דורשים הבנה בסיסית מאוד בנושא. רשימות מקושרות ועצים לא יכולים להתקיים בלי הקצאת זכרון דינאמית, שדורשת הבנה בסיסית בניהול זכרון.מה זה "מחוונים"? פוינטרים? בחיים לא שמעתי מישהו משתמש במילה הזאת, אם כבר "מצביעים" אולי?
בכל אופן, כמו שאמרתי - אוניברסיטאות לא מלמדות בקורסי מבוא את C יותר. אפילו בטכניון יש את גרסת הC שקישרתי אליה, ויש גם את גרסת המאטלאב וגרסת הפייתון, וככל הידוע לי הן שקולות מבחינת דרישות התואר.
אם תסתכל על הסיליבוסים תראה שניהול זכרון לא מוזכר שם. במבואים מלמדים בעיקר מימוש מבני נתונים ובקרת זרימה. זה נדרש אחרי זה לקורסים כמו מבני נתונים ואלגוריתמים כשסטודנטים נדרשים לממש את המבני נתונים והאלגוריתמים. זה ממש לא משנה אם הם משתמשים במצביעים או לא.
בקורסים יותר ספציפיים לומדים דברים יותר ספציפיים. קורסים במבנה המחשב לומדים בC, או אפילו באסמבלר. קורסים במערכות הפעלה או קומפיילרים כנראה גם ידרשו רקע בשפות יותר קרובות לברזלים.
כל זה לא נדרש בכלל במבוא וללמד את זה במבוא בא על חשבון זמן לימוד של דברים יותר בסיסיים שכן צריך להשקיע בהם.
דלפי זאת הייתה הגרסה המסחרית של פסקל, אבל היא לא תפסה. לא יודע מה עושים בנייס, אבל לא יצא לי להכיר אף חברה בה היה קוד דלפי. כן ראיתי קוד פורטרן, עדה, קובול, ועוד מיני שפות שנחשבות "איזוטריות".
כן, זה בדיוק מה שעושים בטכניון.
כן, אבל אין שום צורך למתכנת לנהל את דינמיקה הזאת. שפות כמו JAVA או פייתון מסתירות את זה וכולם יכולים לממש בהן רשימות מקושרות בלי שום בעיה. יש לזה גם חסרונות, אבל אין שום סיבה להכנס לזה בקורסי מבוא. אם אני רוצה ללמד מישהו איך עושים רשימה מקושרת - אני לא רוצה לבזבז את הזמן שלי על ללמד אותם על איך עושים הקצאות ושחרורים. אפילו ב++C כבר אימצו מודלים של מצביעים אוטומטיים שמשחררים את המתכנת מהעול הזה.השאלה פה היא איך אתה מגדיר ניהול זכרון - כי רוב מבני הנתונים כן דורשים הבנה בסיסית מאוד בנושא. רשימות מקושרות ועצים לא יכולים להתקיים בלי הקצאת זכרון דינאמית, שדורשת הבנה בסיסית בניהול זכרון.
זה בא בעיקר מהשימוש בפסקל באקדמיה ונסיון להשריש את הידע שרכשו בלימודים אחרי זה בתעשיה. כמובן אם יש מוצרים שנכתבו בדלפי אז תהיה דרישה להמשיך ולתמוך בהם, אבל ככל הידוע לי כרגע מדובר אך ורק בלגאסי. קשה לי להאמין שמישהו יכתוב מוצר חדש עכשיו בדלפי.ואפרופו שפות איזוטריות - יצא לי לאחרונה להתראיין לתפקיד שהשתמש באיזושהי שפה איזוטרית של .net כי הם היו צריכים להתממשק עם תוכנה כזו או אחרת של מיקרוסופט, ומשום מה מיקרוסופט התעקשה לכתוב את הממשקים לתוכנה הזו דווקא בשפה הלא שימושית בעליל הזו, ואפילו לא כתבה ממשק ב C#.
כך שאי אפשר לדעת מה המגבלות הטכנולודיות שהובילו חברות לכתוב אפילו בדלפי. אני חושבת שבחיפושי העבודה האחרונים שלי כן יצא לי לראות כמה משרות שדורשות ידע בתחום.
Copyright©1996-2021,Tapuz Media Ltd. Forum software by XenForo® © 2010-2020 XenForo Ltd.