התחלה חדשה

התחלה חדשה

שלום לכולם, בשעה טובה הגעתי למסקנה שצריך ורצוי ללמוד שפת תכות - אחרי שנים רבות של בהיה במסך ועשיית תוכניות קטנות בשפות נדושות כגון ASP וJAVA בכל אופן - אני מעוניין להיכנס לעולם ה -C++. ולא רק עד רמת IF THEN ELSE המלצות להתחלה? מישהו? בנוסף - איזו COMPILER להשיג (שמות יעזרו כאן...) אין לי מושג ב-C.... הכוונה לCOMPILER - ב-JAVA יש את KAWA לדוגמא , ב- ASP אפשר לתכנת בסביבת ה-V.B 6 בקיצור - איך קוראים לעורך ומה מלבדיו צריך להשיג על מנת להתחיל לתכנת ב C++. תודה על כל העזרה וחכו ותראו שאפילו אני אגיע לשאול שאלות מתחכמות קצת יותר בעתיד.... :)
 

DadleFish

New member
ברוך הבא ובהצלחה

מה שאתה מחפש הוא סביבת פיתוח - לא קומפיילר, אלא כל החבילה כלומר עורך, קומפיילר, לינקר, הכל ביחד. הסביבה הטובה היום לפיתוח היא Visual Studio .NET של Microsoft, שמאפשרת לך בין השאר לפתח תוכנה ב - ++C. סביבה חינמית שאפשר לעבוד איתה היא ++Dev-C. חיפוש קצר בגוגל ותמצא אותה.
 

voguemaster

New member
התכוון ל-JAVA;

עצם זה שבהודעה המקורית צוינה KAWA שזו סביבת פיתוח ל-JAVA, אומר הכל.
 
אז מה עדיף באמת?

אם רוצים לפתח קרירה כמתכנת - במה עדיף להשקיע? JAVA הרי נבנתה על C++ , לא? כלומר עדיף כבר ללמוד את המקור... ואם אני מפתח בסביבת פיתוח של .NET , זה לא מגביל אותי להתקע עם MICROSOFT? אחרת אני אלמד כבר C# ... C SHARP .... הבדלים בים C++ ל C# ? המלצות ? תודה!
 

vinney

Well-known member
אם כבר מדברים על מקורות

אז ++C נבנתה על C. כדי להיות מתכנת טוב צריך לדעת לתכנת, שפה זה כלי לביצוע הפעולה. כדי לדעת לתכנת צריך להכיר את המושגים של תכנות בסיסי (ובשביל זה כדאי לשלוט ב C) ותכנות מבוסס על אוביקטים (OOP) ובשביל זה כדאי לשלוט ב++C או JAVA (ולא יזיק לדעת את שתיהן). בנוסף מה שמתכנת צריך זה ראש יצירתי והכרות עם אלגוריתמים. בלי זה זה לא מתכנת אלא מקדד. לגבי Micro$oft, זה באמת מגביל אם אתה מתעסק רק ב NET. אם אתה מכיר ויודע ++C (שהיא שפה אוניברסלית לכל מערכות ההפעלה ופלטפורמות) אז אתה לא מוגבל, מייקרוסופט זה רק קומפיילר אחד מרבים. אם אתה מגביל את עצמך ל#C, אז אתה באמת מוגבל לעולם המייקרוסופט. הבדלים נוספים בין ++C ל #C הם : NATIVE מול BYTECODE (אסמבלי ב .NET), ניקוי זכרון (garbage collection) מול שליטת המתכנת על התוכנית, אפשרות לכתיבת קוד RT מול קלות כתיבת יישום אינטרנטי וכו וכד.
 

DadleFish

New member
נכון, #C מגבילה אותך

למיקרוסופט. לך על ++C. אין פה מה להתלבט. אין לזה קשר למקור של JAVA או לנדושות. יש קשר לעוצמה שתהיה לך באצבעות, ולמען העוצמה הזו אין על ++C.
 

alexrait1

New member
זאת דעתי אומנם

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

DNile

New member
אני מסכים...

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

Zack DA

New member
להפך.

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

vinney

Well-known member
זהו שלא

JAVA (ובמיוחד ה garbage collector) מעודדים שיטת "שגר ושכח", גם בNET יש את הבעיה הזאת. אני מכיר כמה אנשים שעברו ל CPP מג'אווה (אפילו שלפני זה כתבו בC ו CPP) ולא מבינים למה אחרי שהם סיימו לעבוד עם האובייקט, הוא עדיין תופס להם זכרון... מושג "delete" נעלם להם מהראש פתאום... וזה טריויאלי ! הנה לך דוגמא להפריך...
 

Zack DA

New member
בכלל לא שגר ושכח.

מתכנתי Java טובים, יודעים מתי לסמן ל- garbage collector להעיף את האובייקט, וזה יכול להיות ע"י עבודה נכונה עם בלוקים או ע"י השמה ל- null. זה שמתכנתים ב- java, זה לא אומר שלא צריכים לדעת לתכנת...
 

voguemaster

New member
אז ? הטיעון לא משהו...

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

DadleFish

New member
תלוי איך מסתכלים על זה.

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

Zack DA

New member
מהניסיון שלי עולה,

שמתכנתי CPP משקיעים יותר מדי זמן בפרטים טכניים ופחות מדי זמן בדברים הרבה יותר חשובים, כמו design.
 
למעלה