כותרות TheMarker >
    cafe is going down
    ';

    פרטי קהילה

    מחקר ופיתוח

    ביקורת קפה מו"פ: דבר בחזותו הסטנדרטית של בית קפה יחודי זה אינו מסגיר את היותו מקום מפגש יומי קבוע של האנשים העסוקים ברחבי המדינה – אנשי המו"פ. יחודיות המקום המותאם לדרישות הקהל שלו הוא בראש וראשונה באיכות הבלתי מתפשרת של הקפה המפותח מתערובת יחודית המיוצרת מפולי ג'אווה ועוד זנים יחודיים שיובאו מהודו,סין וארצות הבלקן. המקום עוצב כך שיתאים גם לאנשים עסוקים הממהרים לשגרת יומם ובו שולחנות גבוהים המשמשים לשיחות עמידה מהירות, וכן כורסאות נוחות לקריאה ודיונים טכניים עמוקים וארוכים יותר. בין הטיפוסים המגיעים לכאן ניתן למצוא מנהלי מו"פ, אנשי מוצר, בדיקות, מהנדסי פיתוח ואפילו אנשי אקדמיה.   אז – בואו לבקר. קפה ומאפה על חשבון הבית. טיפים טובים יתקבלו בברכה!

    אינטרנט והייטק

    פורום

    מו"פ - כללי

    דיונים בכל נושא הקשור למו\"פ

    חברים בקהילה (1520)

    אמיר לשם
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    משה ,
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    bfou
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    היזם
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    תנועת כמוך
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    לואיס קרול
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    שחר י
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    דורון טל
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין
    רובינזוןקרוזו
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    ג'אווה תחת מתקפה?

    14/1/08 01:44
    0
    דרג את התוכן:
    2008-01-17 11:05:44
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    (נסיון שני להעלות את הפוסט)

    (קישור למאמר של Joel Spolsky והכתבה הזו מ-TheRegister)

     

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

     

    בטכניון נראה שעדיין מלמדים C ולמיטב הבנתי בעברית מלמדים ג'אווה.

     

    מה דעתכם? אני חושב שהביקורת רלוונטית גם ל-c# (פשוט עוד לא ממש גילו אותה באקדמיה)

    מה אתם חושבים? מעתה קל יותר להוסיף תגובה. עוד...
     

    הוספת תגובה על "ג'אווה תחת מתקפה?"

    נא להתחבר כדי להגיב.

    התחברות או הרשמה   

    14/1/08 05:51
    1
    דרג את התוכן:
    2008-01-14 05:59:00
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    באוניברסיטה מלמדים מדעי המחשב, ועל הקשר הרופף של תחום זה לעולם המעשה (תכנות) עמד כבר אדסחר דייקסטרה שאמר:

     

    "מדעי המחשב אינם עוסקים במחשב יותר משאסטרונומיה עוסקת בטלסקופ"

     

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

     

    אני מסכים עם דייוויד פרנס שאמר ב-1999 כך:

     

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

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

     

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

     

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

    -שרון
    14/1/08 11:16
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 11:16:30
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

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

    14/1/08 22:48
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 22:48:36
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

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

     

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

     

    כך לדעתי גם ללימודי תכנות - ואני בכלל לא בטוח שלתכנות (כמושג מופשט) יש הרבה עקרונות שאפשר ללמוד ככאלה. יש היום שפות שכל אחת מבוססת על עיקרון אחר - החל משפת assembly, דרך C ו-Java וכלה ב-lisp, prolog, ml, python, ruby וכד'. לכל אחת מהן יש עקרונות קצת אחרים. למרות הדמיון, תכנות רקורסיבי ב-prolog לא זהה לתכנות רקורסיבי ב-assembly. האם כל נושא ה-curried functions/closures הוא עיקרון או פרט טכני?

     

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


    --
    מנהל קהילת מחקר ופיתוח:
    http://randd.cafe.themarker.com
    14/1/08 22:51
    0
    דרג את התוכן:
    פורסם ב: 2008-01-14 22:51:53
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    ליאור - פעם פגשתי מישהו מהעברית שניסה ללמול C++ מספר הקורס - stroustrup מהדורה שלישית. אם זה עדיין כך, בגיהנום יהיה די נעים לעומת הקורס... :)


    --
    מנהל קהילת מחקר ופיתוח:
    http://randd.cafe.themarker.com
    15/1/08 10:44
    0
    דרג את התוכן:
    פורסם ב: 2008-01-15 10:44:35
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    זה היה ספר הקורס - גם אני קראתי בו...

     

    15/1/08 16:15
    1
    דרג את התוכן:
    פורסם ב: 2008-01-15 16:15:20
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    אתחיל בטפל: אני מזועזע מהמחשבה שהספר של סטראוסטראפ שימש מישהו לצורך לימוד השפה. ניסיתי כמה פעמים לקרוא אותו (באמת שניסיתי!), והוא הצליח תמיד להכריע אותי עוד לפני שהגעתי ל-20 אחוז. זהו אחד מהספרים הגרועים ביותר שקראתי בתחום התוכנה (ותמיד היה עצוב לי להשוות אותו עם התנ"ך של קרניגהאן וריצ'י שהוא סמל המופת לכתיבה).

     

    ועכשיו לעיקר. אני חושב שלימוד תכנות באוניברסיטה משמש כמה מטרות שונות מאוד זו מזו. בין שלל המטרות, אני מאמין שניתן למנות ולומר שהחשובות ביניהן הן:

    1. ללמוד עקרונות תכנות.

    2. ללמוד על "איך עובד המחשב" (כפי שהוגדר כאן).

    3. לשמש ככלי עזר לצורך מטלות יותר "CS-יות", כמו כתיבת אלגוריתמים.

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

     

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

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

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

     

    בסך הכל, אני חושב שאפשר לבצע ב-C++ את כל המטרות, ובשפות כמו C, C# וג'אווה רק את חלקן. בנוסף, ישנה מטרה חשובה נוספת לסטודנטים בדרך כלל (למרות שהמחלקות למדמ"ח מתעלמות ממנה לעתים) - והיא לדעת לתכנת, ולתכנת היטב. גם לצורך זה אני מאמין ש-C++ היא החשובה ביותר, כיוון שמי שהסתדר איתה, יוכל בקלות לעבור לשפה שרצה על VM, וגם יוכל כנראה לעבור בקלות לעולם ה-C, למשל אם יבחר בתחום ה-REAL TIME.

     

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

     

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

     

    מיכאל


    --
    Miqe - הרצאות וייעוץ בתחומי הנדסת תוכנה.
    Qliqa - לגלוש 2.0.
    15/1/08 23:51
    1
    דרג את התוכן:
    פורסם ב: 2008-01-15 23:51:55
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    מעבר לחשיבות של תאוריה לתואר (אלגוריתמים, חישוביות וכו') ועקרונות הנדסת תוכנה, זה מאוד מאוד כיף לדעת איך המחשב עובד בכל רמות ההפשטה (משער DNAN, דרך UPC, שפת מכונה, אסמבלי, MV ועד שפות דור שלישי). ה"דימיסטיפקציה" של תכנות קרוב לברזלים יוצר (לדעתי) מתכנת שיודע יותר טוב מה הוא עושה וחש בטחון לגבי מה קורה עם הקוד שלו. בסופו של דבר הידע הזה גם נחוץ כאשר הצרות מגיעות. אז כדאי מאוד שתבין מה זה תהליך, daerht, MV וכו'. מלבד זאת - אין כמו לראות קוד C++ יעיל ויפה. פשוט אין...

    16/1/08 09:45
    0
    דרג את התוכן:
    פורסם ב: 2008-01-16 09:45:23
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

     

    צטט: liorebel 2008-01-15 23:51:55

    מלבד זאת - אין כמו לראות קוד C++ יעיל ויפה. פשוט אין...

     

    כל מילה נוספת - מיותרת!


    --
    Miqe - הרצאות וייעוץ בתחומי הנדסת תוכנה.
    Qliqa - לגלוש 2.0.
    16/1/08 17:39
    0
    דרג את התוכן:
    פורסם ב: 2008-01-16 17:39:43
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

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

    לימוד כל נושא בשפה המתאימה יותר להדגים אותו הוא יתרון, הכרת גישות של שפות שונות גם חיובית.

    אישית עברתי שפות שונות במהלך הקריירה מ  C עברתי לג'אווה והיא הכלי העיקרי שלי בעשר השנים האחרונות.


    --
    גיא גליל - Guy Galil
    17/1/08 11:05
    0
    דרג את התוכן:
    פורסם ב: 2008-01-17 11:05:44
    1. שלח הודעה
    2. אוף ליין
    3. אוף ליין

    דווקא יש- קוד Perl יעיל ויפה 

    צטט: miqe 2008-01-16 09:45:23

     

    צטט: liorebel 2008-01-15 23:51:55

    מלבד זאת - אין כמו לראות קוד C++ יעיל ויפה. פשוט אין...

     

    כל מילה נוספת - מיותרת!

     



    ארעה שגיאה בזמן פרסום תגובתך. אנא בדקו את חיבור האינטרנט, או נסו לפרסם את התגובה בזמן מאוחר יותר. אם הבעיה נמשכת, נא צרו קשר עם מנהל באתר.
    /null/cdate#

    /null/text_64k_1#

    מה אתם חושבים? מעתה קל יותר להוסיף תגובה. עוד...
     

    הוספת תגובה על "ג'אווה תחת מתקפה?"

    נא להתחבר כדי להגיב.

    התחברות או הרשמה