چند هفته پیش، من نگاهی به استفاده از ChatGPT برای نوشتن روال مشابه در ده ها مورد از محبوب ترین زبان های برنامه نویسی انداختم. اما به عنوان یک متخصص زبان برنامه نویسی، فکر کردم که ChatGPT تا کجا پیش خواهد رفت. آیا به زبانی از دهه 1950 برنامه ریزی می کند؟ آیا به زبانی برنامه ریزی می کند که از مجموعه کاراکترهای خودش استفاده کند؟ آیا می تواند به یکی از زبان هایی که کد آن را نوشته است، کد بنویسد؟
همچنین: بهترین چت ربات های هوش مصنوعی: ChatGPT و جایگزین هایی که باید امتحان کنید
من از بسیاری از زبانهایی که در اینجا به آنها اشاره میکنم استفاده کردهام، بنابراین کمی در خط حافظه قدم میزنم و داستانهایی درباره تجربهام با زبانهایی که استفاده کردهام را درج میکنم.
در حالی که من خود کد را اجرا نکرده ام، تمام برنامه های تولید شده را خوانده ام. بیشتر آنها درست نگاه می کنند و شاخص های مناسب را نشان می دهند که به ما می گوید زبان ارائه شده همان زبانی است که من درخواست کردم.
همچنین: ChatGPT چگونه کار می کند؟
من این را به شما می گویم زیرا سرصفحه های همه اسکرین شات ها اشتباه هستند. اکثر آنها به عنوان SQL فهرست شده اند. به دلایلی BAL به عنوان VBNet نشان داده می شود و Prolog به عنوان Rust درج شده است. ChatGPT دفعه قبل این خطا را مرتکب نشد، اما امروز برای همه زبان های نشان داده شده در اینجا ایجاد شد.
و با آن، بیایید در آن شیرجه بزنیم.
فرترن
Fortran (یا FORTRAN، همانطور که در آن زمان به تصویر کشیده شد) مخفف Formula Translation است. این در درجه اول برای محاسبات علمی و مهندسی توسعه یافته است. اگرچه قدمت آن به دهه 1950 برمیگردد، اما اغلب اولین زبانی بود که در دهههای 1970 و 1980 به دانشجویان مهندسی آموزش داده شد.
همچنین: این فناوری جدید می تواند GPT-4 و هر چیزی شبیه آن را منفجر کند
برای من، این چهارمین زبان برنامه نویسی من بود، پس از زبان اسمبلی بیسیک، PDP-8، و باینری PDP-8 (بله، من کد باینری نوشتم تا بتوانم آن را در پنل جلویی یک مینی کامپیوتر اولیه جابجا کنم). پدرم سخاوتمندانه من را یک ساعت به کالج مهندسی نیوآرک (در حال حاضر NJIT) برد تا بتوانم دوره برنامه نویسی سال اول آنها را در حالی که هنوز در دبیرستان دانش آموز دوم بودم بخوانم.
فرترن هرگز مورد علاقه نبود، اگرچه اکثر کارهای محاسباتی را انجام می داد. یکی از انواع فرترن هنوز هم امروزه استفاده می شود، اما به کارهای علمی تخصصی محدود می شود، زیرا بسیاری از زبان های مدرن دیگر تجزیه و تحلیل های سطح فرترن را انجام می دهند و آن را بهتر انجام می دهند.
در اینجا، به دلیل استفاده از ضمنی کلمه کلیدی، به نظر می رسد ChatGPT کد نوشته شده در نوع Fortran-77 را به تصویر می کشد.
COBOL
من یک برنامه نویس نوجوان COBOL بودم. من در آن زمان COBOL را نمیشناختم، اما در حدود سال 1980 آگهی درخواستی برای یک برنامهنویس COBOL در مرکز داده منطقهای شمال شرقی کاغذ بینالمللی در Denville، NJ دیدم. حدود 40 دقیقه با خانه پدر و مادرم فاصله داشت و من نیاز به کار تابستانی داشتم. به محض اینکه توانستم برای مصاحبه برنامه ریزی کنم، به کتابفروشی محلی دویدم و یک آخر هفته را صرف خرید تمام مطالب خواندن COBOL کردم که می توانستم پیدا کنم.
همچنین: نحوه استفاده از ChatPDF: چت ربات هوش مصنوعی که می تواند همه چیز را در مورد PDF به شما بگوید
COBOL برای پردازش کسب و کار محور طراحی شده بود. امروزه، همین نوع مشتریان، کاربران SAP یا Salesforce خواهند بود. اما COBOL، همانطور که از کد COBOL-88 زیر می بینید، کاربردی بود، اما مطمئناً زیبا نبود.
همانطور که معلوم است، آنها یک کارمند تمام وقت می خواستند. اما از آنجایی که من در آزمون آنها قبول شدم (ظاهراً مطالعه آخر هفته من از نمرات حرفه ای هایی که درخواست کرده بودند شکست داد)، آنها تصمیم گرفتند که من را برای تابستان سر کار بگذارند. اینکه بگوییم ناهماهنگی فرهنگی وجود دارد، دست کم گرفتن است. این روزهای اولیه میکروکامپیوترها بود (فکر کنید قبل از رایانه شخصی) و من در این چیزها افتخار می کردم. در همین حال، این افراد همه در مورد کت و شلوار و کراوات و مراکز داده غول پیکر بودند. تقریباً بلافاصله نام مستعار “مشکل” را انتخاب کردم. هی من هنوز بچه بودم
لحظه تعیین کننده برای من زمانی فرا رسید که یکی از برنامه نویسان باتجربه تر در این شرکت، من را کناری برد تا توضیح بدهم، و نقل قول می کنم که “COBOL زندگی است.” من آن پیام را به دل گرفتم و تصمیم گرفتم که نمیخواهم زندگیام در مورد COBOL باشد. آن تابستان آخرین باری بود که در COBOL برنامهنویسی کردم.
RPG (سازنده برنامه گزارش)
نه، این یک نارنجک راکتی یا یک بازی نقش آفرینی نیست. RPG برنامه ای برای ایجاد گزارش بود. شما می توانید تحول در زبان (و به طور کلی تفکر زبان کامپیوتری) را بین دو نسخه نشان داده شده در زیر مشاهده کنید. RPG II به اواخر دهه 1950 باز می گردد. RPG IV در دهه 1990 به روز شد و به طور قابل توجهی مدرن تر است (اما هنوز مطمئناً قدیمی است).
زمانی که در کالج بودم، چند برنامه RPG III را برای AS/400 به عنوان کنسرت جانبی نوشتم، اما هرگز چیزی نبود که آنقدر از نزدیک دنبال میکردم.
لیسپ
من یک رابطه عاشقانه طولانی با لیسپ دارم. Lisp که بهخاطر LISt Processor نامگذاری میشود، گاهی اوقات به عنوان پرانتزهای احمقانه زیادی بیمزه توصیف میشود. بنا به دلایلی، آن پرانتزها در مغزم کلیک کردند. Lisp دروازه ورود من به برنامه نویسی هوش مصنوعی بود و همانطور که از پردازش زبان ChatGPT آموخته ایم، دانش را می توان به صورت رشته کلمات یا لیست نشان داد.
همچنین: به گفته متخصص هوش مصنوعی، هوش ChatGPT صفر است، اما یک انقلاب در سودمندی است
در دهه 1980، من یک مدیر محصول برای اجرای Common Lisp مبتنی بر RISC بودم و مدتی در آن کدنویسی کردم. بر اساس سلام کردن و اجازه دهید نحوی که توسط ChatGPT ایجاد شده است، به نظر می رسد که کد زیر نیز Common Lisp است، که نسخه بعدی اجرای Lisp اصلی جان مک کارتی در اواخر دهه 1950 است. مک کارتی یکی از بنیانگذاران تحقیقات هوش مصنوعی بود، بنابراین مناسب است که یک هوش مصنوعی به زبان خود بنویسد.
الگول
ALGOL (زبان ALGOthymic) از زمان خود جلوتر بود. اجازه عبور توابع به عنوان پارامتر را می داد و امکان استفاده از بازگشت را فراهم می کرد. اینها دو جزء کلیدی برنامه نویسی مدرن هستند که در زبان های محبوبی مانند Fortran و COBOL که همزمان با معرفی ALGOL محبوب بودند، وجود نداشتند.
اگر فرترن، بیسیک و زبان اسمبلی به من برنامه نویسی از بالا به پایین را آموختند، ALGOL به من یاد داد که چگونه کدم را ساختار دهم. این یک زبان اساسی بود که زمینه را برای استفاده من از C، پاسکال، جاوا، جاوا اسکریپت و بیشتر زبانهای ساختاریافته مدرنی که امروزه استفاده میکنیم، فراهم کرد.
شبیه سازی
Simula، همانطور که ممکن است تصور کنید، برای شبیه سازی و مدل سازی توسعه یافته است. مانند ALGOL، Simula نیز از زمان خود جلوتر بود و از استفاده از اشیاء و کلاس ها پشتیبانی می کرد. برنامه نویسی شی گرا از آن زمان برای بسیاری از موثرترین زبان های برنامه نویسی امروزی اساسی شده است.
استفاده از کلمه کلیدی OUTFIX به من می گوید که ChatGPT احتمالا کد زیر را در Simula-67 نوشته است.
BAL (زبان اسمبلی IBM 360/370)
BAL که مخفف زبان اسمبلی پایه است، زبان اسمبلی بزرگ آیبیام در دهههای 1970 و 1980 بود. زبان اسمبلی بیشتر از «زبانهای سطح بالاتر» «سطح پایینتر» در نظر گرفته میشود، به این معنی که دستورالعملها و کلمات کلیدی جداگانه به دستورالعملهای پردازشگر منفرد نگاشت میشوند. در زبانهای سطح بالاتر (مانند اکثر زبانهایی که امروزه استفاده میکنیم)، این زبان اغلب از معماری ماشین زیرین فاصله دارد و بیشتر برای کارایی برنامهنویسی طراحی شده است تا استفاده کارآمد از سختافزار.
همچنین: هوش مصنوعی مولد مسیر شغلی فناوری شما را تغییر می دهد. چه باید بدانیم
من یک ترم BAL را در کالج گذراندم. خشن بود. پروفسور بیشتر روزها را پشت به دانشآموزان میایستاد و سخنرانیاش را یکنواخت زمزمه میکرد، در حالی که بیوقفه روی تخته سیاه مینوشت. من در ردیف عقب کنار دختری به نام لورا نشستم. یک روز، لورا و من تصمیم گرفتیم از پنجره پشتی بیرون برویم تا قهوه بخوریم. هنگامی که جاوا را دریافت کردیم، دوباره به پنجره رفتیم. استاد هرگز متوجه نشد.
جای تعجب است که هر یک از ما قبول کرده ایم، اما جای تعجب نیست که تقریباً هیچ یک از ما برنامه نویسی BAL را به عنوان سلاح کدنویسی انتخابی خود انتخاب نکرده ایم.
APL
APL یا زبان برنامه نویسی یکی دیگر از زبان های برنامه نویسی است. یکی از قابل توجه ترین جنبه های APL این است که از یک مجموعه کاراکتر غیر استاندارد برای برخی از اپراتورها و کدنویسی خود استفاده می کند. در تصویر زیر می توانید آن را مشاهده کنید. گلیف های کوچک همان چیزی است که ChatGPT توانست از فونتی که استفاده می کرد بیرون بیاورد، اما APL برای استفاده از فونت APL385 Unicode طراحی شده است که برای برنامه نویسی در APL منحصر به فرد است.
همچنین: نحوه استفاده از ChatGPT برای نوشتن فرمول های اکسل
به دلیل اینکه نحوی مختصر دارد و مجموعه داده های بزرگ را به خوبی مدیریت می کند، در تعداد زیادی از پروژه های علمی، مالی و تحلیلی استفاده می شود.
پرولوگ
Prolog (که از عبارت Programming in Logic گرفته شده است) یکی دیگر از زبان های متمرکز بر هوش مصنوعی است. Prolog یک زبان اعلامی است که قوانین و شرایط را فهرست می کند و سپس درخواست هایی را روی آن اعلان ها اجرا می کند. طبق ChatGPT:
Prolog یکی از زبان های برنامه نویسی است که در توسعه ChatGPT به طور خاص برای تولید متن استفاده می شود. در ماژول Prolog-to-English استفاده می شود که فرم های منطقی در Prolog را به جملات زبان طبیعی ترجمه می کند.
اسمال تاک
اسمال تاک خاص است. این در Xerox PARC، همان آزمایشگاه تحقیقاتی که بر توسعه ماوس و محیطهای پنجرهدار تأثیر گذاشت، توسعه یافت. برخی از نوآوری های Simula در برنامه نویسی شی گرا را در خود جای داد و فراتر رفت. همچنین یکی از اولین زبان هایی بود که از یک محیط برنامه نویسی تعاملی مبتنی بر رابط کاربری گرافیکی استفاده کرد. بسیاری از زبان های برتر امروزی، از جمله جاوا، پایتون و روبی، بسیار تحت تأثیر اسمال تاک قرار گرفتند.
همچنین: خوب، پس ChatGPT فقط کد من را اشکال زدایی کرد. واقعا – جدا
من فقط در اسمال تاک کار کردم، بیشتر برای شناختن آن. در آن زمان که در دره سیلیکون زندگی میکردم، با طراحان اسمالتاک آشنا شدم که بعداً سیستمهای ParcPlace را در تلاش برای تجاریسازی اسمالتاک خارج از شرکت زیراکس به وجود آوردند. من خاطرات بسیار خوبی از صحبت کردن با تئوری برنامه نویسی بر روی دنده و سالاد کلم در محل کباب پز کوچک در پالو آلتو دارم.
یکی از معاونینی که در شرکت کامپیوتری که در آن مشغول به کار بودم با او کار میکردم، سعی کرد با من صحبت کند تا شرکتی را با او راهاندازی کنم تا Smalltalk را در بازار سازمانی بکار ببرم، اما هنوز باگ راهاندازی من را نیش نزده بود. اسمال تاک هرگز آن را به عنوان یک بازار معرفی نکرد. با این حال، به همان اندازه که از مسیری که زندگیم طی کرده خوشحالم، گاهی اوقات به این فکر می کنم که اگر او را به پیشنهاد او قبول کرده بودم، چه اتفاقی می افتاد.
من افکاری دارم
من این کد را اجرا نکردم و از آنجایی که اخیراً به اندازه PHP و جاوا اسکریپت با این زبان ها آشنایی ندارم، نمی توانم مطمئن باشم که بررسی بصری من تضمین می کند که کد نشان داده شده در بالا با موفقیت اجرا شود. همانطور که در اوایل این هفته با کاوش من در برنامهنویسی جدید Bard دیدیم، نوشتن کد بدون کارکرد کد امکانپذیر است.
همچنین: من از ChatGPT خواستم تا یک افزونه وردپرس را که نیاز داشتم بنویسد. این کار را در کمتر از 5 دقیقه انجام داد
ما می دانیم که حداقل یک خطا در هر مثال وجود دارد: سرصفحه ها اشتباه هستند. بنابراین، در حالی که توانایی هوش مصنوعی برای تولید کد در دستهای از زبانهای نسبتا مبهم فراتر از باور است، تصور نکنید که تمام کار را به درستی انجام میدهد.
اگر تصمیم دارید برنامهنویسی ChatGPT را در گردش کار خود بگنجانید، باید کدی را که تولید میکند بررسی، آزمایش و اشکالزدایی کنید، درست همانطور که اگر شخصی را استخدام کنید تا برخی از روالهای اولیه را برای شما بنویسد.
می توانید به روز رسانی های روزانه پروژه من را در رسانه های اجتماعی دنبال کنید. حتما من را در توییتر دنبال کنید @DavidGewirtz، در فیس بوک در Facebook.com/DavidGewirtz، در اینستاگرام در Instagram.com/DavidGewirtz و در YouTube در YouTube.com/DavidGewirtzTV.