++C

erezor

New member
++C

יש למישהו המלצות איך אפשר ללמוד את השפה בצורה הטובה ביותר חוץ מספרים ותואר במדעי המחשב?
 

sandbird4

New member
לי אין תואר ואני עובד כבר 14 שנה בתעשיה ../images/Emo6.gif

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

erezor

New member
אין לי בעיה שלא יהיה לי תואר...

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

ahillel

New member
לא כולם לתואר ראשון

יש כמה מכללות שמציעות ללמד תיכנות עם תעודת הכשרה, על תקופות של בין סימסטר אחד לשניים. אני לא ניסיתי קורסים כאלה ולכן קשה לי להגיד איך הם, אבל יתכן שזה בהחלט יכול להתאים לך. הלימודים שם עולים פחות או יותר כמו שנה אוניברסיטאית ולפעמים קצת יותר. http://www.nasi.co.il/computer.asp
 

erezor

New member
תודה!

זה נראה כבר יותר כמו מה שחיפשתי, למרות שהעלות של קורס ++C היא כמו של שנה אוניברסיטאית...
 

voguemaster

New member
אתה טועה לגבי GOTO

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

sandbird4

New member
נו באמת! GOTO "לא נקי" ו-EXCEPTION זה "נקי"

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