כמה שאלות

andav

New member
כמה שאלות

לגבי שפות תסריט(perl,python) - עד כמה שאני מבין "מחיר" השימוש בשפות אלו הוא מהירות התוכנה(היותר נמוכה מ- c או pascal) מפני ששפת תסריט רצה בזמן אמת. אם כך מדוע לא לכתוב compiler שיתרגם את הקוד לשפת מכונה וירוץ באותה מהירות(פחות או יותר) כמו c ,לדוגמה?. (ככה אפשר להנות מכתיבת קוד מועטה יותר ומהירות גבוהה יותר) ניקח שפות מהודרות,לדוגמה, c, הקוד המהודר הופך,עד כמה שאני מבין ל- 0 ו- 1 חומרת המחשב יודעת להתמודד עם 0 ו- 1 וככה המחשב מבצע את מה שביקשנו. השאלה שלי היא כזו,הרי זה לא הגיוני שעובר רק 0 ו- 1 בצרורות,בסופו של דבר יש פעולת רבות לתוכנה: לשמור קובץ בדיסק , לצייר תמונה על המסך , למצוא רשומה במסד נתונים וכולי , אם היה עובר רק 0 ו- 1 כיצד המחשב יודע למה אני מתכוון? האם יש הוראות אחרות שבאות עם ה- 0 וה- 1 ? בקיצור,מה לכל הרוחות קורה -- כאשר אני מריץ תוכנה כלשהיא -- בין התוכנה לחומרה עליו היא מופעלת? לסיום,שאלה קצת לא קשורה,זה כניראה מתאים יותר לפורום בניית אתרים יותר מאשר לתכנות אבל ננסה: כאשר אני מבקש לראות את הקוד של עמוד זה ,לדוגמה(אני מתכוון לתפוז ,לפורום), אני לא רואה בקוד את ההודעות של האנשים,מדוע? תודה רבה
 

BeyondTheWall

New member
ככה ...

נתחיל מהשאלה האחרונה : כן רואים בקוד את ההודעות של אנשים .. תריץ חיפוש ל: "תריץ חיפוש ל: "תריץ חיפוש ל: "תריץ חיפוש ל: לא חשוב בדיחה רקורסיבית ...
perl ופייתון נוצרו כדי לעבוד כמו שהן עובדות, לרעיון שהתוכנית לא מתקמפלת אלא רצה ע"י interperter יש יתרונות- אתה לא תלוי מערכת הפעלה לדוגמה ... בקשר ל0 ו1, הכל מתורגם בסוף ל0 ו1. כיצד המחשב יודע למה אתה מתכוון ? פשוט, יש קודים, שמורכבים מ0 ו1ים שמסמלים עבור המעבד פעולות שונות . לדוגמה הרצף 0001001 יכול לייצג "תכפול את מה שבזיכרון XX במה שבזיכרון YY ותשים בZZ" ... בסה"כ מרצפים של 0 ו 1 אפשר ליצור אינסוף רצפים שונים, כך שאף פעם לא חסר
 

andav

New member
OK,אהבתי את הבדיחה


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

andav

New member
טוב,הקובץ לא בדיוק נפתח לי

בקיצור,אני לא מצליח לראות את ההודעות בקוד. אני בודק את זה עם firefox אם זה משנה משהו.
 

IP yuval

New member
הן בנויות כך שאפשר יהיה להריץ אותן

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