מהי שפת התכנות הקשה ביותר ומהי הקלה ביותר? - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

מהי שפת התכנות הקשה ביותר ומהי הקלה ביותר?


MAMZ BOY

Recommended Posts

  • תגובות 31
  • נוצר
  • תגובה אחרונה

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

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

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

קישור לתוכן
שתף באתרים אחרים

בלעח!

מה לא מובן?!

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

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

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

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

קישור לתוכן
שתף באתרים אחרים

בלעח!

מה לא מובן?!

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

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

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

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

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

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

זה אכן יפה שזכית במקום שלישי ב-CodeGuru , אבל העולם של תכנות אמיתי יותר מסובך מכתיבת תוכניות שורדות ב-8086 על virtual machine. אני מציע שתיקח אתגר תכנותי גדול יותר ואמיתי יותר, ואז אולי תבין למה כבר לפני 40 שנה העולם הבין שעדיף לעבור לשפות ברבה גבוהה יותר. תכתוב מנוע תלת מימדי. או תוכנה שמשמיעה -ים או מפענחת JPEG-ים. שם אמנם לאסמבלי יש יתרונות חשובים בביצועים, אבל הזמן שיקח לכתוב ולדבג באסמבלי יהיה גדול בהרבה.

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

קישור לתוכן
שתף באתרים אחרים

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

אם ב- C אתה רושם:

a = (5+4)*2+80/20

ב- ASM זה יקח לך קצת יותר משורה אחת.

C מתורגם ישירות לאסמבלי

ולכן אולי אתה רושם שורה אחת אבל המחשב רואה את זה כאותם הרבה שורות כמו שתכתוב אותם באסמבלי

זה לא משנה כמה שורות אתה רושם זה משנה כמה מחזורי שעון לוקח למחשב לחשב את זה

קישור לתוכן
שתף באתרים אחרים

C מתורגם ישירות לאסמבלי

ולכן אולי אתה רושם שורה אחת אבל המחשב רואה את זה כאותם הרבה שורות כמו שתכתוב אותם באסמבלי

זה לא משנה כמה שורות אתה רושם זה משנה כמה מחזורי שעון לוקח למחשב לחשב את זה

נראה לי ששניכם מדברים על שני דברים שונים.

UINT מדבר על כמות העבודה והקוד שצריך לכתוב בשביל להשיג תוצאה מסויימת.

big foot מדבר על התוצאה הסופית המקומפלת.

קישור לתוכן
שתף באתרים אחרים

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

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

זה אכן יפה שזכית במקום שלישי ב-CodeGuru , אבל העולם של תכנות אמיתי יותר מסובך מכתיבת תוכניות שורדות ב-8086 על virtual machine. אני מציע שתיקח אתגר תכנותי גדול יותר ואמיתי יותר, ואז אולי תבין למה כבר לפני 40 שנה העולם הבין שעדיף לעבור לשפות ברבה גבוהה יותר. תכתוב מנוע תלת מימדי. או תוכנה שמשמיעה -ים או מפענחת JPEG-ים. שם אמנם לאסמבלי יש יתרונות חשובים בביצועים, אבל הזמן שיקח לכתוב ולדבג באסמבלי יהיה גדול בהרבה.

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

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

מנגד אחרי מה שכתבת כאן:

נראה לי ששניכם מדברים על שני דברים שונים.

UINT מדבר על כמות העבודה והקוד שצריך לכתוב בשביל להשיג תוצאה מסויימת.

big foot מדבר על התוצאה הסופית המקומפלת.

אתה לא בן-אדם שהייתי שומע בעצתו בתכנות.

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

קישור לתוכן
שתף באתרים אחרים

יש פה איזה קצר בתקשורת. מה הקשר למיקרוסופט!? לא אמרתי מילה על מיקרוסופט.

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

תוצאה אחת היא שיש הרבה מתכנתים בעלי תואר שלא יודעים לתכנת. אבל התוצאה הבעייתית היא שיש הרבה בעלי תואר שחושבים שהם יודעים לתכנת טוב, אבל הם לא (ואני לא מדבר עליך, כי אני לא מכיר אותך).

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

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

1) לפחות תשמע לעצתו של מישהו שכן מנוסה בתכנות, גם אם זה לא יהיה אני.

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

נ.ב: לגבי ה-AVATAR, זה לא אמור להיות בדיוק פנגווין. זה תמונה של prinny מהמשחק Disgaea והנה לינק למעוניינים: http://www.mobygames.com/game/ps2/disgaea-hour-of-darkness

קישור לתוכן
שתף באתרים אחרים

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

תוצאה אחת היא שיש הרבה מתכנתים בעלי תואר שלא יודעים לתכנת. אבל התוצאה הבעייתית היא שיש הרבה בעלי תואר שחושבים שהם יודעים לתכנת טוב, אבל הם לא (ואני לא מדבר עליך, כי אני לא מכיר אותך).

מסכים לחלוטין (בתור בעל תואר במדמ"ח)

קישור לתוכן
שתף באתרים אחרים

כל הדיון הפך להשוואה סטייל "למי יש יותר גדול" רק במובן התיכנותי.

שכל אחד ייתן את הדעה שלו והרקע שממנו הוא מגיע וזהו.

לדעתי הכי קשה : כמה שיותר קרוב לשפת מכונה (פסקל זו דוגמא לא רעה)

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

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

קישור לתוכן
שתף באתרים אחרים

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

לדעתי הכי קשה: LISP ו-ML, ושפות פונקציונליות אחרות. גם בגלל שהחשיבה שם הפוכה לחלוטין למה שאני רגיל, וגם בגלל שחלחק מהן יש syntax איום ונורא. כמו כן שימוש אפקטיבי דורש מושגים ברמה גבוהה מאוד כמו currying.

שפה קלה: BASIC, .

שפה קלה קצת פחות: C ו- אסמבלי הן שפות קלות מאוד ללימוד אבל נחשבות קשות לשימוש אפקטיבי.

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

רקע: מהנדס מחשבים. כותב תוכנת realtime ו-embedded לא מעט שנים. גם התעסקתי לפני הרבה שנים בגרפיקה ממוחשבת.

קישור לתוכן
שתף באתרים אחרים

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

אם אתה רוצה נוחות וקלות בכתיבה ועיצוב זה VB ובזה אין ספק זו התוכנה הכי קלה שניתקלתי בה

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

רקע : הנדסאי אלקטרוניקה ועוד בפרויקטים במהלך הלימודים

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...