שלום, רציתי לשאול:

nahsh

New member
כמעט נכון

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

אלדד26

New member
קודם כל,

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

nahsh

New member
שים לב שאין בנינו ויכוח על זה

לא כתבת משהו שסותר את מה שאני כתבתי. סך הכל אמרתי שיש תמיכה חומרתית באלמנטים של תכנות מונחה עצמים. לא שאסמבלר היא OO. ובקשר להסבר המלומד: תודה. באמת לא הבנתי מה אני עושה פה כבר שנה וחצי...
 

אלדד26

New member
אני אשמח לשמוע

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

אלדד26

New member
אני אשמח לשמוע

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

voguemaster

New member
אחחחחח

אם הייתה תשתית ל-OO ב-ASM, כבר מזמן הייתי כותב עם זה
יש סביבות פיתוח ל-ASM, יש אפשרות לתכנת לחלונות, אבל לצערנו אין עדיין OO יישומי ל-ASM. לא בעולם האמיתי בכל אופן... אלי
 

תמר,

New member
לדעתי בריא מאוד להתחיל בשפת OOP

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

אלדד26

New member
לא מסכים איתך.

אין שום קשר בין עקרונות ה - OOP לבין עקרונות התכנות הבסיסי, הפרוצדורלי. ה - OOP בא ומוסיף נדבך נוסף על בסיס התכנות הפרוצדורלי. לזרוק על מישהו מונחים כמו Class, Inheritance ו - Polymorphism בשבוע הראשון ללימודיו נראה לי כמו התעללות בגוויה אחרי כמה דקות. מתחילים ממשתנים, עוברים לביצוע מותנה (if, switch), לולאות, פונקציות וכו´. מה שתיארתי זה רוב שפת C, בבסיסה. אחרי תרגול ופיתוח קצת יכולות אלגוריתמיות אפשר לעבור ל - OOP.
 

gilad_no

New member
סוף סוף אנחנו מסכימים ../images/Emo9.gif

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

תמר,

New member
לדעתי אתה אומר זאת כי כך אתה התחלת

ואני חושבת שיש עוד דרכים ללמד/ללמוד OOP בלי כל המושגים המפוצצים והאפשרויות המתקדמות, אלא לאט לאט: קודם מבנה של מחלקה פשוטה עם מעט משתנים ופונקציה (או איך שקוראים לזה) אחת, אחר כך פקודות זרימה (flow control). את כל התכונות המתקדמות של הורשת תכונות וכדומה - לומדים יותר מאוחר, כשמזדדקקים לזה. כך גם מבינים יותר טוב למה צריך את זה. בעניין מצביעים - תכנות מתקדם צריך אותם. בעבר כשתכנתתי ב-c, cpp ובפסקל (לצערי, מזמן כבר לא עשיתי זאת) נהגתי להשתמש בהם רבות. מצד שני - ראיתי שהרבה מתכנתים מתחילים מתבלבלים מהפניות למצביעים, לכן יש יתרון ללימוד שפת תכנות ללא מצביעים. אחרי שלומדים לתכנת בשפה אחת, מעבר לכל שפה אחרת הוא פשוט וקל, וכך גם גם לימוד של עוד תוספות שלא קיימות בשפה הראשונה. בעניין זה שתכנות oop הוא תוספת לתכנות הפרוצדורלי - אני לחלוטין לא מסכימה איתך. בד"כ מי שחושב כך גם מתכנת כך - ואז תוכניות ב-cpp נראות כמו תוכניות ב-c שהדביקו להן קצת מחלקות. (דרך אגב - אני מכירה אישית מרצה שמלמד cpp כמו c, כל ההבדל הוא שימוש ב-cout במקום printf.) זאת הסיבה העיקרית שאני ממליצה על לימוד oop כבסיס.
 

אלדד26

New member
אבל תמר,

קודם כל, אני התחלתי מבייסיק. בייסיק כזו עם 10...20...30... אני לא יודע אם זה אומר לך משהו, אבל יהיו פה כמה זקנים שיבינו. על סינקלייר ZX81. אבל את מפספסת את הנקודה. OO זה מתודולוגיית design ופיתוח. זה לא תכנות. זו *דרך* לתכנת. תכנות הוא פתרון בעיות באמצעות אלגוריתמים. זה לא קשור לשפה. אלגוריתמים בנויים מאבני יסוד כמו התניות, לולאות וכו´. זה הבסיס של התכנות. לפני שאת יודעת מהי מחלקה, את צריכה להבין מה עושה תוכנית (קלט-עיבוד-פלט), איך היא עושה את זה (התניות, לולאות, משתנים, חישובים) וגם קצת דברים יותר מתקדמים (רשימות מקושרות, עצים, רקורסיה וכו´). class היא הגדרה ששייכת למתודולוגיית ה - OO, יחד עם עוד המון תכונות נוספות. לא מדובר בתכנות פרופר אלא בגישה מסוימת לתכנות. למה להתחיל מפונקציה, שהיא המעטפת של האלגוריתמים, לפני שמסבירים מה זה אלגוריתם ומה זה flow control? philips, אם אתה קורא את זה, אני מבקש את עזרתך כאן. טענת לניסיון בהדרכה של תכנות בסיסי לאנשים בעזרת java. יש לי שאלה. כשמישהו חסר ניסיון מגיע אליך ואתה מלמד אותו לתכנת עם java, האם אתה מסביר לו מהי class, או שאתה נותן לו מעטפת מסויימת שעובדת, ואומר לו "בנקודה הזו אתה תכתוב את האלגוריתמים הראשונים שלך, ואח"כ תלמד מה זה כל המסביב"? אני חושב שתוכניתן חייב להתחיל מלימוד אלגוריתמיקה בסיסית תחילה, ורק לאחר מכן לבחון מתודולוגיות פיתוח שונות, כמו *למשל* OOP. "בעניין זה שתכנות oop הוא תוספת לתכנות הפרוצדורלי - אני לחלוטין לא מסכימה איתך. בד"כ מי שחושב כך גם מתכנת כך - ואז תוכניות ב-cpp נראות כמו תוכניות ב-c שהדביקו להן קצת מחלקות." נכון, יש תוכניתנים שלא למדו OOP כמו שצריך. הם לא מבינים מה זה OOP ולא משתמשים בהם בהתאם. מצד שני, יעיד ספר ה - GOF שיש לי פה, יחד עם עוד ספרי ++C וספרים שדנים ב - OOP, שלמרות שהתחלתי בשפות פרוצדורליות, אני מבין היטב מהו עיצוב OO, ואיך מתכנתים נכון ב - OO. אין שום קשר לסדר הלימוד. מה שכן, מי שמתחיל מ - OO עלול לאבד את הרגליים ואת הידיים ולא להבין בכלל מה קורה שם. עלול - לא תמיד יקרה. אגב, מצביעים לא שייכים לתכנות מתקדם. מצביעים הם חלק בלתי נפרד מפונקציות שמקבלות פרמטרים IN/OUT ומנושאים כמו רשימה מקושרת, שאוי לתוכניתן שלא יודע מה זה, ומשתמש ב - CList ודומיו בלי להבין מה קורה מאחורה.
 

אלדד26

New member
נו, נו

לאטארי הגעתי אחרי שנתיים על סינקלייר. אוח, אני זוכר את הימים. 16 קיי זיכרון, עם גוש כזה שהיה מרחיב את הזיכרון ל - 32 קיי... ואז האטארי שלי היה עם 64 קיי, כל כך התרגשתי! ידעתי שהתשובה שלי לתמר תתחיל תגובות של "אני התחלתי עם ... על ...."
 

תמר,

New member
טוב, אפשר להתווכח עד מחר

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

אלדד26

New member
אבל... אבל...!!!

אני לא קראתי לך זקנה!!! להיפך, הטלתי ספק בזה שאת יודעת מה זה בייסיק עם מספרי שורות
 

nahsh

New member
מסכן, איך בלבלו אותך...

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

רפי2002

New member
את האמת?

באמת קצת בלבלו :) אבל זה עדיף על התעלמות :) לפי מה שהבנתי, אני מתלבט בין C , JAVA ופסקל... אין לי מושג מה כל אחד מזה עושה....אבל אלה הבנתי השפות הבכירות, ושאין כדדאי להתחיל ללמוד... יש הוצאת ספרים שאתם ממצליצים עליה?
 

philips

New member
המממ...

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

Scipio

New member
אתה יודע מה - אתה צודק

1. פסקל היא לא שפה בכירה - אלא שפה היסטורית שלמדו אותה בתיכון - אין לה שום חשיבות עיונית / מיקצועית.... 2. מה המטרה שלך בלימוד השפה? לתכנת סתם דברים נחמדים / משהו ספציפי / תכנות מקצועי? 3. אני מכיר ספרים באנגלית בלבד Java The Java Programmiing Language Third edition The Java tutorial (Download from Sun ++ C קומפיילר - הייתי הולך על JBUILDER או FORTE The C++ Prgoramming language / third edition by Stroustrup הוא זה שהמציא את השפה לפני הרבה זמן הייתי ממליץ על Visual C++ יש את הכלים JDK וGCC ל JAVA ו C++ בהתאמה אבל הם קומפיילים COMMAND LINE אז עזוב אותם בהתחלה אילו שפות תכנות למתכנתים. לפעמים יש רצון לתכנת ללא מתכנתים (כמו מתמטיקאים אשר צריכים או פיזיקאים. הייתי ממליץ להם לפי המטרה הספציפית. ++ C ו JAVA הם שפות למתכנתים - לא כולם הם כאלה
 

guysl

New member
כולכם נחמדים...

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