COBOL – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
RjpBot (שיחה | תרומות)
מ r2.7.2) (בוט מוסיף: ml:കോബോൾ
Matanyabot (שיחה | תרומות)
מ בוט: שינויים קוסמטיים
שורה 1:
'''קובול''' ('''COBOL''') ראשי תיבות של: '''COmmon Business Oriented Language''' (בתרגום חופשי: [[שפה]] משותפת לשימושים מסחריים), היא [[שפת תכנות]] מהוותיקות ומהנפוצות ביותר, שמיועדת בעיקר לניהול ועיבוד נתונים.
 
מאז נוצרה השפה בשנת [[1959]] היא עברה שינויים ושיפורים שונים על מנת להפכה לשפה תקנית.
 
[[מכון התקנים האמריקני]] (ANSI) פיתח תקן קובול המשמש את רוב ה[[תעשייה]] המכונה ANSI COBOL (להרחבה ראו בהמשך).
שורה 7:
קובול הינה שפה דמוית [[אנגלית]]. כל הפקודות הינן מילים אנגליות לדוגמה: על מנת לחסר מספר אחד ממשנהו משתמשים בפקודה SUBTRACT או שפשוט משתמשים בתרגיל חשבוני תוך שימוש בפקודה COMPUTE.
 
== היסטוריה ==
על פיתוחה של השפה הוחלט בוועדה שהוקמה ביוזמת משרד ההגנה של ארצות הברית, ובה השתתפו נציגים של שש חברות המחשבים המובילות ושלוש מרשויות הממשל האמריקאי. ועדה זו הקימה ועדת-משנה ובה שני נציגים מכל אחת מהחברות הבאות [[IBM]], [[RCA]] וסילבניה. לקראת סוף [[1959]] סיימה ועדת-משנה זו את הגדרתה של שפת קובול. ההגדרה הושפעה רבות משפת FLOW-MATIC שפותחה על ידי [[גרייס הופר]] ושפת COMTRAN שפותחה על ידי איש IBM בוב במר. הוועדה הראשית אישרה את המפרט של השפה, ותוך חצי שנה פותח [[מהדר]] לשפה.
 
קובול זכתה לפופולריות עצומה כשפה לפיתוח [[מערכת מידע|מערכות מידע]] בעולם העסקי, ונעשה בה שימוש נרחב גם כיום (2005), אם כי בעיקר לתחזוקה של תוכניות קיימות ולא לפיתוח של תוכניות חדשות. בעיית "[[באג 2000]]" גרמה לביקוש מוגבר למתכנתי קובול, במקביל להחלפתן של מערכות שפותחו בקובול במערכות מודרניות יותר. כיום ניתן למצוא פיתוחים בקובול גם בתחום ה[[אינטרנט]] ואף ישנה גרסה של קובול עבור [[.NET]]. הגרסאות האחרונות של ה[[קומפיילר]] מכילות גם תמיכה מלאה ב-[[תכנות מונחה עצמים|OBJECT ORIENTED COBOL]] וב [[XML]] ו [[Web Services]].
 
== מאפייני השפה ==
 
בהגדרתה של קובול נעשה מאמץ לפתח שפה שסגנונה מזכיר אנגלית מדוברת, כך שה[[תכנות]] בה ייעשה בקלות ובטבעיות. לשפה שנוצרה היו תכונות טובות מבחינת תיעוד עצמי של התוכנית, טיפול ב[[קובץ|קבצים]] והגדרה של סוגי נתונים. כל תוכנית בשפה זו מורכבת '''מארבע חטיבות''':
שורה 25:
<source lang="COBOL">
IDENTIFICATION DIVISION.
PROGRAM ID. HELLO-WORLD.
PROCEDURE DIVISION.
DISPLAY "Hello, world!"
שורה 31:
</source>
 
== ANSI COBOL ==
תקן לכתיבה בשפת COBOL שפותח על ידי מכון התקנים האמריקני (ANSI), על מנת לאפשר ניידות גמישה יותר של [[קוד מקור|קוד]] כתוב בשפה זו.<br />התקן הראשון היה ANSI74 COBOL, אך למעשה התקן המשמעותי הראשון של השפה היה ה- ANSI85 COBOL.<br />לתקן התייחסות שונה לפלטפורמה שעליה התוכנית כתובה, אם על מחשבי [[UNIX]] או אם על [[מחשב מרכזי|מחשבים מרכזיים]].
 
== ביקורת על השפה ==
עיקרון מרכזי בהגדרתה של קובול הוא יצירת שפת תכנות שסגנונה מזכיר אנגלית מדוברת, כך שה[[תכנות]] בה ייעשה בקלות ובטבעיות. שוללי עיקרון זה טוענים שהבעיה העיקרית ב[[תכנות]] היא תרגום הבעיה מהעולם האמיתי ל[[אלגוריתם]] שייתבצע במחשב, ולאוצר המילים של שפת התכנות, המשמש לתרגום האלגוריתם לשפת תכנות, נודעת חשיבות משנית. לפיכך, טוענים מבקרי השפה, סגנונה של קובול יוצר תוכניות ארוכות הכתובות בשפה מסורבלת, ופוגע בחשיבה המדויקת הנחוצה למלאכת התכנות. מדען המחשב [[אדסחר דייקסטרה]] כתב בשנת [[1975]]: "השימוש בקובול גורם לנכות של המחשבה; לפיכך על הוראת השפה להיחשב לעברה פלילית". עם זאת דייקסטרה, אבי ה[[תכנות מובנה|תכנות המובנה]], התרשם לטובה מהגישה של [[מייקל א. ג'קסון]] למימוש רעיון זה בקובול.
 
הביקורת על השפה לא פגעה בשליטתה של קובול בפיתוח מערכות מידע עסקיות. נסיון שנעשה שנים מעטות לאחר יצירתה של קובול, להחליפה בשפה הרבה יותר משוכללת - [[PL/I]], לא עלה יפה.
 
== המחשה של תחביר השפה ==
הדוגמה הבאה ממחישה את צורתה המיוחדת של שפת קובול. את הביטוי המתמטי אפשר ליישם בקובול בשני דרכים.
 
שורה 46:
</math>
 
אף שאפשר ליישם את הביטוי בתחביר הבא באמצעות הפקודה COMPUTE
<div style="direction: ltr;">
COMPUTE X = (-B + (B ** 2 - (4 * A * C)) **.5) / (2 * A)
שורה 64:
ניתן לראות שהתחביר מובן אף להדיוטות, ומצד שני אפשר להבין את המסורבלות הגדולה שלו, שגורמת לכמעט כל תוכנית מחשבים קצרה, להיראות כמו חיבור באנגלית.
 
== היכן כותבים בקובול ==
בישראל שפת קובול עדיין בשימוש בבנקים (כמו בנק הפועלים, לאומי, דיסקונט, מזרחי-טפחות וכו') ובמשרדי ממשלה רבים.