שיחה:פקודה (מחשב)

message: הערך עוסק בשלוש משמעויות נפרדות של המילה "פקודה", והשאלה שמטרידה אותי היא האם להשאירו כך, או לפצלו לשלושה ערכים. באנגלית מקבילות למילה פקודה המילים command, instruction, statement כך שקל לבצע את ההפרדה. במקרה של פיצול, יהיה צורך למצוא שמות מקבילים, שאולי כבר ישנם, למשל:
* פקודת מכונה - command
* הוראה - instruction
* פקודה (שפת תכנות) - statement 
בוויקיפדיה משמשים המונחים בערבוביה, ואם תתקבל החלטה, יהיה צורך בעשיית סדר בעקבותיה. 
מה דעתכם? דוד שי 18:06, 21 באוקטובר 2006 (IST)
replies: text: נשמע לי בעייתי במיוחד, אך איני יודע בנתיים לפרט בדיוק מדוע. ננסה לפתור יחד.

text: לשם התחלה, דווקא פקודות למעבד מכונות instructions ולא commands, בניגוד למה שכתבת כאן.

text: בנוסף, שכחת את הפקודות שכותבים בשורת הפקודה. הא? 00:06, 22 באוקטובר 2006 (IST)
replies: text: :כן, הנה הטבלה המתוקנת:

text: :* פקודת מכונה - instruction

text: :* הוראה (שפת תכנות) - statement

text: :* פקודה בשורת הפקודה - command

text: :דוד שי 00:14, 22 באוקטובר 2006 (IST)
replies: text: ::נראה לי טוב. כדאי שנקבל חיזוקים מוויקיפדים נוספים. הא? 00:57, 22 באוקטובר 2006 (IST)
statement היא הצהרה ולא פקודה. statement יכולה להכיל מספר "פקודות" ואפילו statements אחרות. המתעתק • שיחה 00:35, 22 באוקטובר 2006 (IST)

text: אולי בתרגום מילולי statement היא הצהרה, אבל במשמעותה בשפות שהן imperative לא מדובר בהצהרה. זאת בניגוד לשפות declerative (הצהרתיות), שם אכן מדובר בהצהרה. הייתי שמח לדבוק במונחים מדוייקים עד כמה שאפשר, אבל המונח "הצהרה" לא מקובל בעברית ל"פקודות" בשפות שהן imperative. מישהו יודע אחרת? הא? 00:57, 22 באוקטובר 2006 (IST)
replies: text: :כן. ראה Statement (programming)‎. מבחינה תחבירית וסמנטית בשפות רבות מהסוג שציינת (C, לדוגמה) יש הבדל בין הצהרה לפקודה בודדת. הטקסט הבא, לדוגמה, הוא הצהרה יחידה:
if (f(a) > f(b)) {
  c = f(d);
} else {
  e = f(g+f(h));
}

text: :ההצהרה הזו כמובן כוללת הצהרות פנימיות, אבל כמות הפקודות כאן עדיין עצומה (קריאות לפונקציה, השוואה, השמות).

text: :ואם כבר הזכרת את המונחים, declaration היא הכרזה, ו-definition היא הגדרה. המתעתק • שיחה 01:03, 22 באוקטובר 2006 (IST)
replies: text: ::נכון שזה statement אחד. זה לא משנה את העובדה שבעברית לא מכנים זאת הצהרה. הכוונה כרגע היא לתרגם statements במקרה כזה ל"הוראה", וכך גם עבור שפות שהן declerative. זה מקובל עליך? הא? 01:18, 22 באוקטובר 2006 (IST)
replies: text: :::ובכן בוודאי שלא המצאתי את המונח בעצמי, כך שכנראה שיש המכנים זאת כך. statement איננו בהכרח הוראה, כי הוא יכול להיות גם הכרזה חסרת תוכן. אם נלך שוב לדוגמה ב-C, הכרזה על "אבטיפוס" של פונקציה
int f(int i);

text: :::גם היא statement, אבל אין כאן הוראה במובן המקובל של המילה (לך לשם, עשה את זה). אם תבחר בהגדרה מכלילה ומוזרה של הוראה שכוללת גם את מה שבעצם איננו הוראה, לא ברור מה השגת בהתעקשות שלא להשתמש במילה מתורגמת נפרדת עבור מילה מקורית נפרדת, בעלת משמעות נפרדת ומיוחדת. המתעתק • שיחה 01:31, 22 באוקטובר 2006 (IST)
אני בעד החלוקה שדוד הציע, רק בשמות אחרים:
* פקודה (שפת מכונה)
* פקודה (שפת תכנות)
* פקודה (מערכת הפעלה)
גדי ו. (שיחה) 01:34, 22 באוקטובר 2006 (IST)
thread_title:  עשיית סדר: משמעויות שונות של "פקודה" בתחום המחשוב 

message: האם כדאי להגדיר תוכנית מחשב כאוסף של פקודות (שלרוב גם מקבלות פרמטרים, נניח פקודת השמה מקבלת רצף של משתנים, ערכים מספריים וקריאות לפונקציות התחומות בין אופרטורים מתמטיים שמהוות גם פקודות ויעד אליו תישמר התוצאה, או פקודת if המקבלת צירוף בוליאני ובלוק פקודות)? גם שמתי לב שבהגדרה של אלגוריתם לא מוגדר המושג פקודה, שקיים צורך באוסף של פעולות אפשריות כדי לממש אלגוריתם (גם אם מאוד בסיסיות, כמו במקרה של מכונת טיורינג). זה די מוזר לאור העובדה שאלגוריתם הוא מושג מתמטי ושהפקודות הבסיסיות בשפות עיליות שמבוססות על לוגיקה אנושית הן לא חלק מזה והדבר הקרוב ביותר לזה הוא פסאודו קוד שהוא בכלל מושג בתחום התכנות, אפילו לא מדעי המחשב.  (¯`gal´¯)‎ - שיחה 08:10, 24 במאי 2013 (IDT)
replies: text: פקודה היא הוראה למחשב (ולכן לא מושג ששייך ל"מדעי המחשב" כתחום מתמטי טהור) להפעיל פונקציה (במובן המתמטי, או יותר נכון במובן של פונקציה בתורת החישוביות) על המצב הנוכחי של המכונה. תוכנית מחשב אימפרטיבית היא אוסף של פקודות - קיימות שפות שבהן זה לא מדויק. אלגוריתם הוא אוסף של פונקציות כאלה, שהמגבלה היחידה עליהן היא שהן ניתנות לחישוב, והוא מיוצג לרוב באמצעות פסאודו-קוד, שהוא מושג ששייך הן למדעי המחשב והן לתכנות, שמהווה אבסטרקציה של פקודות כך שאין צורך במכונה מסויימת שיודעת לבצע אותן, אלא די בכך שהקורא יבין מה הן ויוכל לוודא שהן אכן ניתנות לחישוב (על סמך ידע קודם). --אלעזר - שיחה 02:43, 26 במאי 2013 (IDT)
thread_title:  פקודה כחלק מתוכנית מחשב