אני השתמשתי ב-ChatGPT כדי לכתוב את אותה רוטינה בעשרה שפות תכנות מועט ידועות אלה

תמונה 9.jpg

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

גם: הבוטים הטובים ביותר של AI: ChatGPT ואלטרנטיבות לנסות

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

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

אני אומר לך את זה מפני שכותרות המסך בטעויות. רובן רשומות כ-SQL. לסיבה מסוימת, BAL מוצגת כ-VBNet, ו-Prolog מופיעה כ-Rust. ChatGPT לא טעתה פעם שעברה, אבל טעתה הפעם, לכל השפות המוצגות כאן.

ועם זאת, בואו נצפוף.

פורטרן

Fortran (או FORTRAN, כפי שהוא נמצא בתמונה אז) הוא ראשי תיבות של Formula Translation. פותח בעיקר עבור חישובים מדעיים והנדסיים. למרות שנוסד בשנות ה-1950, הוא היה לעיתים השפה הראשונה שנלמדה לתלמידי הנדסה בשנות ה-1970 וה-1980.

גם: טכנולוגיה חדשה זו עשויה לנפוץ את GPT-4 והכל בדומה לו

עבורי, זו הייתה השפה התיכונה שלי, אחרי BASIC, שפת האסמבלי של PDP-8 והבינארי של PDP-8 (כן, כתבתי קוד בינארי כדי שאוכל להחליט בפנל הקידמי של מחשב מיני מוקדם). אבי נהג אותי למטה ל-GO! במרכז למדעי ההנדסה שבניוארק (היום NJIT), כדי שאוכל לקחת את קורס התכנות שנה א' שלהם, עדיין בתום השנה השנייה בתיכון.

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

כאן, בגלל השימוש במילה המפתח implicit, נראה כי ChatGPT מתאר קוד שנכתב בגרסת פורטראן-77.

תמונה7.jpg

COBOL

הייתי מתכנת COBOL בעל ניסיון. בעשור השמיני של המאה ה-21 ראיתי מודעת דרושים למתכנת COBOL במרכז הנתונים האזורי הצפון-מזרחי של אינטרנשיונל פייפר בדנוויל, ג'רזי. הייתה לו סביבות 40 דקות מבית ההורים שלי והייתה לי צורך בעבודת קיץ. מיד שהצלחתי לקבוע פגישה לראיון, רציתי אל חנות הספרים המקומית ובמהלך סוף השבוע שתכתבתי התענגתי על כל החומר הלימודי שמצאתי על COBOL.

COBOL הורם לעיבוד מונה לשם התחשבות בעסקים. היום, הלקוחות הסוגים הם משתמשי SAP או Salesforce. אבל COBOL, כפי שתוכלו לראות מתפריט הקוד COBOL-88 למטה, היה תכנותי, אך בהחלט לא אלגנטי.

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

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

תמונה11.jpg

RPG (מחולל דוחות)

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

אני כן כתבתי מספר תוכניות RPG III עבור ה-AS/400 כעבודת תורן במהלך הסטודנטות שלי, אך זה לא היה משהו שעקבתי אחריו בצורה קרובה.

תמונה3.jpg

ליספ

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

בשנות ה-1980, הייתי מנהל מוצר עבור יישום קומון ליספ מבוסס RISC וכתבתי בו לזמן מה. מבוסס על defun greeting ותחביר ה-let שנוצר על ידי ChatGPT, נראה שהקוד למטה הוא גם ליספ קומון, גרסה מאוחרת יותר של המימוש המקורי של ג'ון מקארתי מאחורי 1950. מקארתי היה אחד מאבות היישום של מחקר הבינה המלאכותית, כך שאין דבר יותר הולם מזה שמערכת הבינה המלאכותית תכתוב בשפה שלו.

תמונה 4.jpg

אלגול

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

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

תמונה5.jpg

סימולה

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

שימוש במילת המפתח OUTFIX מספרת לי ש-ChatGPT כנראה כתב את הקוד הבא בשפת סימולה-67.

תמונה 6.jpg

BAL (שפת האסמבלי IBM 360/370)

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

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

זה פלא שאף אחד מאיתנו עבר, אבל אין פלא שכמעט אף אחד מאיתנו לא בחר ללמוד תכנות BAL ככלי התכנות שלו.

תמונה 8.jpg

APL

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

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

תמונה 10.jpg

פרולוג

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

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

תמונה 1.jpg

סמולטוק

סמולטוק הוא מיוחד. פותח ב-Xerox PARC, אותו מש labororio משפיע על פיתוח העכבר ומרכויות חלונות. סמולטוק משתמש במהות במהפכניות של השפה מסימולה בתכנות עצמי, ומתקדם עוד צעדים קדימה. סמולטוק היא אחת מהשפות הראשונות שהשתמשו בסביבת פיתוח אינטראקטיבית בהרחבה של ממשק משתמש גרפי. לא מעט מהשפות המובילות של היום, כולל ג'אווה, פייתון ורובי, נחקרו והושפעו באופן עצום מסמולטוק.

רק ניסיתי לשחק קצת עם Smalltalk, בעיקר כדי להכיר אותו. חי בסיליקון ואלי באותה תקופה, הכרתי את מעצבי ה-Smaltalk, שאחר כך יצאו להקים את חברת ParcPlace Systems, כבר כדי למסחריים את Smalltalk מחוץ לליכד של המולטינציה של Xerox. יש לי המון זכרונות נעימים של שיחות על תאוריה של תכנות תוך אכילה של צלי וסלט כתום בחנות סטייקים בפאלו אלטו.

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

תמונה2.jpg

יש לי מחשבות

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

גם: ביקשתי מאתר ChatGPT לכתוב תוסף וורדפרס שצריך. הוא כתב אותו תוך פחות מ-5 דקות

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

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

כתבות קשורות

הצג עוד >>

פתח את הכוח של AI עם HIX.AI!