ABA


"שאלה בקשר לשפות תיכנות:"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #8390 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 8390
TheTom

דרג אמינות חבר זה
   15:42   25.11.02   
אל הפורום  
  שאלה בקשר לשפות תיכנות:  
 
   עבר עריכה לאחרונה בתאריך 25.11.02 בשעה 15:43
 
אני עכשיו לומד פסקל, כמעט חצי שנה, ואני חושב שהשפה יותר מדי קלה בשבילי, לא בשביל משהו- זה פשוט ביזבוז זמן...אז לבנתיים אני התחלתי לקרוא פרקים בשפת C ולהפתעתי גיליתי שזאת כמעט אותה שפה רק אם שינויים קטנים.
לדוגמה אם אני רוצה להגדיר משתנה שלם בפסקל אני כותב:
num1: integer;
ואם אני רוצה להגדיר משתנה שלם בc אני עושה:
int num1;

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


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  לא למדת כלום... Boaz_fr 25.11.02 16:12 1
     לדעצי אתה טועה, dryice 25.11.02 16:24 4
         הסבר קצר Boaz_fr 25.11.02 17:00 5
             לידיעתך, כבר כתבתי דרייבר בפסקל. dryice 26.11.02 14:42 12
  C זאת השפה השולטת היום בשוק, dryice 25.11.02 16:14 2
     נכון אבל TheTom 25.11.02 20:33 6
         כמו שהסברתי קודם לכן... Dudenland 25.11.02 20:51 7
             הבנתי.. עוד שאלה קטנה: TheTom 25.11.02 21:00 9
                 לא הבנת אותי... Dudenland 25.11.02 21:07 10
                     הבנתי תודה רבה... ומסקנה: TheTom 25.11.02 22:11 11
         הבדלים בין C לפסקל: dryice 26.11.02 14:58 13
             הבנתי...תודה רבה TheTom 26.11.02 20:39 14
  זה הולך ככה: Dudenland 25.11.02 16:19 3
     בימים אלו יש לי המון זמן: TheTom 25.11.02 20:55 8

       
Boaz_fr

דרג אמינות חבר זה
   16:12   25.11.02   
אל הפורום  
  1. לא למדת כלום...  
בתגובה להודעה מספר 0
 
   ההבדל הוא עמוק ומהותי
אבל לגל שפות התכנות ישנו מכנה משותף
ולכן הגדרת משתנים דומה למדי
יש עוד דברים משותפים
אבל השינוי הוא אדיר

פסקל שפת עילית
C שפת ביניים

s22Boaz_frs33


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   16:24   25.11.02   
אל הפורום  
  4. לדעצי אתה טועה,  
בתגובה להודעה מספר 1
 
   C לרוב נחשבת כשפה עילית, מה שנקרא גם "דור שלישי"
אולי אתה משתמש בהגדרות שונות,
אבל בכל הגדרה שאני מכיר לחלוקה לרמות.
C ופסקל נמצאים באותה רמת הפשטה, בשניהם יש פקודות
עם תחביר טיפה נוקשה, אך בעל דמיון מסוים לשפה טבעית(אנגלית)
כל פקודה מתורגמת למספר מכובד, אך לא עצום של פקודות מכונה,
והתרגום הזה הוא דיי פשוט, אך לא טריוויאלי(כמו באסמבלי למשל).
על כן C ופסקל שניהם "שפות עיליות".

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Boaz_fr

דרג אמינות חבר זה
   17:00   25.11.02   
אל הפורום  
  5. הסבר קצר  
בתגובה להודעה מספר 4
 
   ההבדלים בין שפות עלית לשפות ביניים ניהיו פחות ברורים בשנים האחרונות
אבל ההבדל בין השפות הוא כזה

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

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

לדוגמה - תנסה לכתוב driver בפסקל (בהצלחה...)

אין ספק שהיחס ל ++C ול ++VC הוא קצת אחר...

s22Boaz_frs33


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   14:42   26.11.02   
אל הפורום  
  12. לידיעתך, כבר כתבתי דרייבר בפסקל.  
בתגובה להודעה מספר 5
 
   פסקל כמו C מכיל ASM KEYWORD וכן פסקל (ספציפית בורלנד)
בניגוד לC גם מכיל מערך נחמד MEM שמאפשר גישה נוחה לזכרון
כמערך רציף ענק מה שמונע גימיק מוזרים בC כמו MK_FP

פסקל וC הם זהות מבחינת רמת ההפשטה.

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   16:14   25.11.02   
אל הפורום  
  2. C זאת השפה השולטת היום בשוק,  
בתגובה להודעה מספר 0
 
   רובם המוחץ של התוכנות על המחשב שלך נכתבו בC
כך שאם אתה מודאג שזאת שפה "חלשה" מדיי, הסר דאגות
מעל ליבך. למעשה גם בפסקל אפשר לעשות הרבה מאוד,
צריך רק לדעת איך, הרמה של התיכון, בין אם מלמדים
פסקל ובין אם C היא דיי ירודה.

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

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

דרג אמינות חבר זה
   20:33   25.11.02   
אל הפורום  
  6. נכון אבל  
בתגובה להודעה מספר 2
 
   נכון שאני מחפש משהו קצת יותר קשה מפסקל..אבל לבנתיים לא ראיתי שינוי כזה גדול..
ה"גול" שלי בתיכנות זה ליצור תוכנות בסביבת ווינדוס, משחקים גרפיים ושימוש טוב בגרפיקה.

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   20:51   25.11.02   
אל הפורום  
  7. כמו שהסברתי קודם לכן...  
בתגובה להודעה מספר 6
 
   רוב התוכנות העכשוויות שיש לך במחשב, כולל קאזה, כולל FIFA 2003, כולל מה שלא יהיה, נכתבו בשפה הנקראת ++C.

השפה הזאת היא הרחבה של השפה הבסיסית C.

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

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

כשתדע ++C תבין למה כל התוכנות שבמחשב שלך בנויות ב-++C...

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   21:07   25.11.02   
אל הפורום  
  10. לא הבנת אותי...  
בתגובה להודעה מספר 9
 
   C היא שפה די פשוטה, וממש לא מורכבת מדי...

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

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

דרג אמינות חבר זה
   22:11   25.11.02   
אל הפורום  
  11. הבנתי תודה רבה... ומסקנה:  
בתגובה להודעה מספר 10
 
   להמשיך בסי!


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

דרג אמינות חבר זה
   14:58   26.11.02   
אל הפורום  
  13. הבדלים בין C לפסקל:  
בתגובה להודעה מספר 6
 
   מעבר להבדלים הסינטקטים הקלים יש כמה הבדלים ותר מהותיים
מבחינת השוואת שפות תיכנות.

פסקל היא מה שנקרא STRONGLY TYPED כלומר מעבר בין טיפוסים
שונים הוא לא טריוויאלי, אם אתה רוצה להפוך למשל CHRACTER
לINT אתה חייב לבקש המרה מפורשת ORD
ב C בדיוק להיפך הכל WEAKLY TYPED המרות רבות מתבצעות "בחינם"
וקל לבצע הרבה מאוד המרות מאוד חשודות שיכולות בכיף להפיל
את כל התוכנית.
אם אתה יודע מה אתה עושה, אז פסקל "סתם" כופה מגבלות,
אבל לרוב המגבלות האלו דוקא במקום. C++ דרך אגב בניגוד לC
היא STRONGLY TYPED.

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

בניית ספריות נוספות בפסקל, היא יותר מובנת מאשר בC,
בפסקל יש באמת תוכן מממשי בהגדרת ספריה, הגדרת
interface ו implementation בדומה לתפיסה של בניית ADT
(שזה חצי הדרך לOOP) ב C ספרייה זה סתם קובץ ששותלים את התוכן
שלו בראש התוכנית ע"י הPRE-PROCEESOR

בC יש באמת PRE-PROCESSOR מאוד חזק, שמאפר הגדרת מאקרואים
מתוחכמים קומפילציה מותנית ושלל גימיקים נחמדים.

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

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

DRYICE


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

דרג אמינות חבר זה
   20:39   26.11.02   
אל הפורום  
  14. הבנתי...תודה רבה  
בתגובה להודעה מספר 13
 
   שמעתי על זה שפסקל באמת מקשה יותר..כמו המעבר בן הטיפוסים שהזכרת...char לinteger שצריכים לעשות ord מינוס 42 שזה סתם סיבוך...
תודה על ההסבר dryice.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Dudenland

דרג אמינות חבר זה
   16:19   25.11.02   
אל הפורום  
  3. זה הולך ככה:  
בתגובה להודעה מספר 0
 
   דבר ראשון, ברגע שתגיע לשלבים מאוחרים יותר(מתקדמים יותר) תבין שבכל-זאת יש הבדל.

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

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

C היא השפה ה"אוניברסלית", ולכן היא פותחה לסעיפים אחרים...
ברגע שאתה יודע C, יש לך את הבסיס הכי מצויין לתיכנות בהרבה שפות...
תראה למשל את ++C, או PHP או Java ועוד הרבה אחרים, הם בעצם תחביר בסיסי ודומה ל-C...

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

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

אבל תצטרך לשבת על התחת הרבה מאוד...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
TheTom

דרג אמינות חבר זה
   20:55   25.11.02   
אל הפורום  
  8. בימים אלו יש לי המון זמן:  
בתגובה להודעה מספר 3
 
   במיוחד שאני מחפש אתגר


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net