שיחה:שפת תכנות

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

זהר העביר את הערך "שפות תכנות" לערך "שפת מחשב", ואני החזרתי את הגלגל לאחור עם שינוי קטן, כלומר העברתי את התוכן לערך "שפת תכנות", ששני הערכים האחרים עושים REDIRECT אליו. הסיבה לכך היא שהשם "שפת תכנות" הוא השם הנכון לערך זה, זה השם המקובל בענף שנים רבות, וגם המקביל באנגלית הוא Programming language. יש בויקי האנגלית גם ערך בשם Computer language, שהמקביל שלו בעברית הוא "שפת מחשב", אך לא יש משמעות רחבה יותר - הוא כולל בתוכו גם כלי כגון HTML, שאינו שפת תכנות.

מילים אחדות על נימוסים בויקיפדיה: הערך "שפת תכנות" הוא ערך גדול למדי, למעשה אחד הערכים הגדולים בויקיפדיה, שהושקעה בו עבודה רבה. לפני שמעבירים אותו בלחיצת כפתור, יש מקום להתחשב בדעתם של הכותבים הקודמים, שסברו שהשם הנאות הוא "שפות תכנות", ולפתוח שיחה שמציעה להעביר אותו לערך אחר, כך זה מנומס יותר. אפשר גם למצוא את הכותבים הקודמים, ולפנות אליהם ישירות, באמצעות לחיצה על "גרסאות קודמות". אם תעשו זאת (בערך "שפת מחשב" דווקא, אליו עברה ההיסטוריה), תגלו שאני כתבתי אותו, בצעדים רבים. דוד שי 15:12, 25 אוק' 2003 (UTC)

אתה צודק ב 1000% דוד. עבדתי על כמה עמודים בתחום 'שפות' ולרגע חשבתי על צורך בהקשר יותר רחב. גם השעה המאוחרת תרמה לבלבול שלי ואפילו למען האמת ניסיתי להחזיר את זה חזרה ל'שפת תכנות' (במקום 'שפות תכנות') ולא הצלחתי אני מייד אבדוק למה.
יש לי המון הערכה לתרומה שלך ואני בתור איש מקצוע מוצא שם דברים חדשים ללמוד, אתה גם צודק בענין הקפדה על נימוס זה נורא מעצבן שנוגעים לך בעבודה, אני מכיר את זה אישית. רק הערה קטנה לא לקחת דברים קשה כי אנחנו יחסית קבוצה קטנה ועוד עובדים בצורה מסודרת יחסית, אז לא להתרגש משינויים כאלה או אחרים, יהיו לנו צרות יותר גדולות מאלה. זהר 16:10, 25 אוק' 2003 (UTC)

דוגמא לקוד[עריכת קוד מקור]

אני חושב שצריך לשנות את הדוגמא למשהו יותר קליל (לדוגמא - Hello World) וכמו כן לכתוב את הקוד כטקסט חסר סטייל בתוך המאמר ולא בתור קובץ תמונה Dalmozian 09:42, 6 מאי 2005 (UTC)

יש רשימה שלמה של דוגמאות מכל המינים והסוגים בתוכנית Hello world. טרול רפאים 11:36, 6 מאי 2005 (UTC)
אז למה לא לרשום תוכנית אחת לדוגמא בתוך הטקסט (שוב, לא בתמונה מעצבנת) ובסוף תחום הכותרת להביא קישור לערך תוכנית Hello World?
אני מתנגד בחריפות להחלפת הדוגמה הזו ב-Hello World, שהיא דוגמה של הבל, שאינה מלמדת דבר על מהותה של שפת תכנות. הדוגמה שכאן היא תוכנית של ממש, פשוטה למדי, שממחישה מימוש של אלגוריתם, לולאה, תנאי, משתנה ועוד. Hello World אינה ממחישה דבר מלבד פקודת הדפסה. הקוד נכתב כתמונה ולא כטקסט משום שכתיבת אנגלית בויקי העברית סוברת פורענויות מפעם לפעם. דוד שי 11:57, 6 מאי 2005 (UTC)
כדאי להוסיף דוגמה של קוד פשוט בשפה עילית לעומת שפת אסמבלר לשם המחשת ההבדל. למשל הפקודה A=B+C. הייתי עושה זאת אבל כבר שכחתי את האסמבלר. --אפי ב.שיחה • 15:07, 28 אפריל 2006 (IDT)

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

  • הקוד אמור להיות self explaining - לכן, התיעוד המיותר נחשב לסגנון לקוי. (ראו למשל את [1])
  • לא טוב לשלב בין הלוגיקה הפנימית לUI.
  • השם של הפונקציה - check - לא אומר הרבה על מה, שהיא עושה. שם יותר מוצלח לדעתי הוא למשל isprime.
  • שימוש בסוגריים ללר צורך (ב return) זה גם סגנון לא טוב.
  • השימוש ב"סוג של" משתנה גלובלי - document.primetest גם לא ממש רצוי.

אם אתם רוצים אני אתנדב למצוא משהו. מצטער על הטון הביקורתי. Jerry 19:09, 18 בינואר 2007 (IST)[תגובה]

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

#include
<math.h>


/* max calculated precise factorial */
#define
MAX_FACT (20)


/*
* function factorial calculates n!
* for big values it uses Stirling's approximation.

*/
double
factorial(
unsigned int
n)

{

if
(n <= 1)
return
1;
if
(n > MAX_FACT)
return
sqrt(2.0 * M_PI * n) * pow((
double
)n / M_E, n);

return
n * factorial(n - 1);

}

Jerry 22:58, 23 בינואר 2007 (IST)[תגובה]

מה הקשר של CodeGuru לכאן?[עריכת קוד מקור]

אמנם שתי התחרויות מבית CodeGuru עוסקת רבות פרטים הקטנים של שפת C ויותר מכך באסמבלי, אך איני רואה כיצד ניתן לקשר את התחרות למושג הכללי "שפת תכנות". דוד? הא? 14:28, 22 אפריל 2006 (IDT)

הסרתי הקישור. הא? 19:29, 28 אפריל 2006 (IDT)

מעבר משפת תכנות לביצוע בתוכנית[עריכת קוד מקור]

הערך כתוב בצורה טובה מאוד ומקיפה, אך לדעתי יש בעיה קטנה באמירה

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

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

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

אני מסכים. מפרשים קיימים לשפת C כבר הרבה שנים. זה לא מאפיין שהופך שפה לשפת תסריט. Selalerer - שיחה 13:39, 13 במרץ 2009 (IST)[תגובה]

הסיבה הנפוצה לשמירה על קוד קריא היא תחזוקה. אני חושב שכדאי להוסיף את זה לסוף הפסקה "מאפייני שפות תכנות" (בנוסף לסיבה שכתובה "לתאר אלגוריתמים"). Selalerer - שיחה 13:43, 13 במרץ 2009 (IST)[תגובה]

הוספתי. דוד שי - שיחה 14:25, 13 במרץ 2009 (IST)[תגובה]

מהדר בד"כ מכין קובץ הרצה עבור מערכת הפעלה.[עריכת קוד מקור]

מהדר, מעבר לתרגום של הקוד לשפת מכונה, מכין בד"כ קובץ הרצה בפורמט שמערכת ההפעלה, שעבורה נוצרת התוכנית, "מבינה" (למשל exe עבור Windows או a.out עבור גרסאות של Linux ו-Unix). כדאי להוסיף זאת בפסקה "מעבר משפת תכנות לביצוע בתוכנית" כשכתוב בקצרה תפקידו של המהדר. Selalerer - שיחה 13:51, 13 במרץ 2009 (IST)[תגובה]

ב-Perl‏, Python והרבה שפות אחרות המהדר לא מכין קובץ exe בכלל, וב-C המהדר מכין קובץ o או obj, והמקשר (linker) הוא שמכין את קובץ ה-exe. אם כבר כותבים, אז צריך לדייק. --אמיר א. אהרוני · בואו לכתוב דקדוק! 14:02, 13 במרץ 2009 (IST)[תגובה]
שפות שמשתמשות במפרש או במהדר JIT זה נושא אחר. Selalerer - שיחה 14:15, 13 במרץ 2009 (IST)[תגובה]
ב-C אכן המקשר הוא זה שמכין קובץ עבור מערכת ההפעלה, אך במקרה זה המהדר מכין קבצים בפורמט שמתאים למקשר. הוא הרי לא פשוט זורק קוד מכונה לתוך קובץ, יש פורמט מוגדר הייטב. המקשר של ++C אינו מוגדר כחלק נפרד מהמהדר בתקן. יש צורך שהמקשר יכיר הרבה תכונות של ++C בכדי שיוכל לעשות את עבודתו (למשל ידע לקשר templates ולא ליצור יותר מ-instance אחד שלהם בקובץ המקושר גם אם הם קיימים יותר מפעם אחת בקבצים המהודרים). לא ניתן להשתמש במקשר של C עבור קישור קבצי object של ++C. בכל מקרה קובץ התוצר של המהדר הוא בפורמט מוגדר ואיננו רק קוד מכונה. Selalerer - שיחה 14:15, 13 במרץ 2009 (IST)[תגובה]

מהירות אינה פונקציה רק של שפת תכנות.[עריכת קוד מקור]

אני חושב שבמשפט "לתכנות מערכות גדולות בהן מהירות אינה גורם מכריע , נוטים להשתמש בשפות עיליות כמו C++, Java, או פייתון" בפסקה "ריבוי שפות התכנות" ההכללה של ++C היא טעות. הרבה מאוד מערכות בהן מהירות היא גורם מאוד מכריע כתובות בשפה זו. היום גם יש מהדרים לשפה עבור מערכות משובצות ולמיטב הבנתי חלק מהתעשייה למערכות אלו אכן משתמש בשפת ++C. אם קוד ++C ירוץ מהר או לא תלוי מאוד באיך שכותבים את הקוד והאם המתכנת מודע לכיצד הקוד שהוא כותב יתורגם אח"כ לשפת מכונה. בנוסף ב-++C ניתן להכניס קוד C וקוד Assembly בצורה מובנית בשפה. Selalerer - שיחה 14:07, 13 במרץ 2009 (IST)[תגובה]

הסרתי את המילים "בהן מהירות אינה גורם מכריע". דוד שי - שיחה 14:29, 13 במרץ 2009 (IST)[תגובה]

"כאנטיתזה למורכבותן ועושרן ההולכים וגדלים של שפות התכנות..."[עריכת קוד מקור]

תקנו אותי אם אני טועה, אבל שפת התכנות הראשונה שפותחה כאנטיתזה למה שכתבתי בכותרת היא לא INTERCAL? en:INTERCAL --כרוזשיחהחידות 17:45, 19 באפריל 2009 (IDT)[תגובה]

INTERCAL היא פרודיה, ולפיכך מוטב שלא להזכירה בערך רציני זה. BF איננה פרודיה, היא שפת תכנות שמממשת בצורה ישירה את אחד הרעיונות העמוקים של מדעי המחשב - מכונת טיורינג, ולכן ראוי להזכירה. דוד שי - שיחה 22:11, 19 באפריל 2009 (IDT)[תגובה]
אם כבר מדברים על INTERCAL, האם היא ראויה לערך בויקיפדיה?--כרוזשיחהחידות 13:53, 21 באפריל 2009 (IDT)[תגובה]

"המושג שפת מחשב (Computer Language), הוא מושג רחב מאשר שפת תכנות (Programming Language) ולכן השימוש בו נפוץ יותר."[עריכת קוד מקור]

איפה הוא נפוץ יותר? (וזה משפט פתיחה בערך מומלץ)

תיקנתי. דוד שי - שיחה 22:15, 2 ביולי 2009 (IDT)[תגובה]

הצבעה על הסרת/השארת ההמלצה[עריכת קוד מקור]

הצבעה על הסרת/השארת ההמלצה מתקיימת כאן. לעיון הויקיפדים. ‏Danny-w00:20, 3 באוקטובר 2009 (IST)[תגובה]

בעיות בערך[עריכת קוד מקור]

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

  1. אין בערך שום סימוכין. חלק גדול מהקביעות הן נכונות בוודאות ואחרות נראות לי הגיוניות אך יש גם כאלה שאני סבור שהן שגויות (כמו הכללת Java בקטגורית השפות המפורשות)
  2. חסרה התייחסות לפרדיגמות התכנות השונות (ובהתאם לחלוקה של השפות לדורות)
  3. התפתחות השפות נעצרת ב-1995.
  4. חסרה התייחסות לפרמטרים שמבדילים בין שפות תכנות (Safe\unsafe, Strong\weak typing) ובהתאם חסרה התייחסות לדימיון בין שפות תכנות (בכל שפות התכנות אפשר לעשות את כל מה שאפשר לעשות בכל השפות האחרות).
  5. אין התייחסות למבני בקרה (הסתעפות, ריבוי איטרציה, סדרתיות, השמה). תומר א. - שיחה 16:38, 10 באוקטובר 2009 (IST)[תגובה]


הועבר מהדף ויקיפדיה:איך להקים אסם/רענון רשימת המומלצים/2005א
Ori‏ • PTT01:07, 15 באוקטובר 2009 (IST)[תגובה]

נשאר מומלץ


שפה דינמית מול סטטית[עריכת קוד מקור]

יש להרחיב את הפסקה שמפרטת את ההבדל בין שפות דינמיות כדוגמת בייסיק ו-PHP לבין שפות סטטיות כדוגמת פסקל וC++. אפי ב. • התחברו לרגשותיכם11:01, 17 במרץ 2010 (IST)[תגובה]

איחוד עם "שפה עילית"[עריכת קוד מקור]

הערך שפה עילית מיותר, לדעתי, כיוון שרוב הערך הנוכחי עוסק בכך. מה דעתכם? אלעזר - שיחה 17:25, 2 בספטמבר 2010 (IDT)[תגובה]

תרשים אחר לערך[עריכת קוד מקור]

שיניתי את התרשים שהופיע בערך. התרשים המקורי הוא:

היסטוריה של שפות התכנות וההקשרים שביניהן

לדעתי הוא לא מספיק ברור, לא טוב שהוא לא בעברית, ופחות מדויק היסטורית. אלעזר - שיחה 01:25, 16 בספטמבר 2010 (IST)[תגובה]

אירכוב דיון הסרת ההמלצה[עריכת קוד מקור]

ההצבעה להסרת ההמלצה מתחילה היום. ברכות אריאל פ. (slav4)דף שיחה 21:03, 22 בדצמבר 2010 (IST)[תגובה]

ברוב קולות המצביעים הוחלט להסיר את ההצבעה. ברכות אריאל פ. (slav4)דף שיחה 20:10, 6 בינואר 2011 (IST)[תגובה]

טעות בחלק של "ריבוי שפות התכנות"[עריכת קוד מקור]

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

העתקה ללא קרדיט[עריכת קוד מקור]

במהלך שיטוטי מצאתי אתר מעניין בשם תשתית תוכנה - Software Infrastructure שעוסק בתוכנה, שהוקם בידי שלשה (סטודנטים?), אבל פתאום גיליתי שאחד הערכים שם (כולו או רובו) ששמו "שפות תכנות" הועתק מילה במילה מויקי ללא כל קרדיט. יתכן מאוד שדפים רבים נוספים אף הם נוכסו ליוצרים. אמנם הרישוי הוא CC, אבל עדיין זה לא נחמד. --אפי ב.התחברו ל♥11:31, 27 באוקטובר 2013 (IST)[תגובה]

לעניין DNA ו"תכנות" בטבע[עריכת קוד מקור]

האם יש הסכמה שאכתוב פרק על קטעי קוד בטבע, למשל DNA ? ET - שיחה 19:49, 20 במרץ 2019 (IST)[תגובה]

קוד הפייתון[עריכת קוד מקור]

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

בפרט נחוצה אינדנטציה של השורות של if num % d == 0: ושל return d


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

AdonaiRoee - שיחה 23:20, 1 בספטמבר 2023 (IDT)[תגובה]