![تصویر۹.jpg](https://static-lib.s3.amazonaws.com/cms/image9_d9eb3867ed.jpg)
چند هفته پیش، من یک نگاهی به استفاده از ChatGPT برای نوشتن یک روتین مشابه در دوازده زبان برنامهنویسی محبوب داشتم. اما به عنوان یک علاقمند به زبان برنامهنویسی، تعجب کردم که تا چه حد ChatGPT میتواند برود. آیا میتواند برنامهنویسی در یک زبان از دهه ۱۹۵۰ انجام دهد؟ آیا میتواند برنامهنویسی در یک زبانی که مجموعه کاراکتر خود را استفاده میکند انجام دهد؟ آیا میتواند کدی را به زبانی بنویسد که برای خودش وابسته به کاراکترهای خودش است؟
همچنین: بهترین چتباتهای هوش مصنوعی: چتچیپیتی و جایگزینهای آن را امتحان کنید
و بنابراین، وارد این موضوع شدم. از بسیاری از زبانهایی که در اینجا برجسته کردهام استفاده کردهام، بنابراین یک گام کوچک در راه یادگیری آنها برداشت میکنم و برخی داستانهای مربوط به تجربیات خود را با آنها در اینجا درج میکنم.
با اینکه کد را اجرا نکردم، اما تمام برنامههای تولید شده را خوندهام. بیشتر آنها درست به نظر میرسند و نشانگرهای مناسبی نشان میدهند که زبان موردنظر را نمایش میدهند.
من این را به شما میگویم چون هدرها در تمام عکسهای اشتباه است. بیشتر آنها به عنوان SQL لیست شدهاند. به دلیلی، BAL به صورت VBNet نشان داده میشود، و برای Prolog به عنوان Rust لیست شده است. ChatGPT این اشتباه را دفعه گذشته نداشت، اما این بار دارد، برای تمام زبانها نشان داده شده در اینجا.
و با آن، همینک با یک شروع میکنیم.
فورترن
فرترن (یا فورترن، همانطور که در آن زمان نشان داده میشد) به معنای ترجمه فرمول است. در ابتدای توسعهاش، بیشتر برای محاسبات علمی و مهندسی توسعه یافت. اگرچه به سالهای ۱۹۵۰ برگشت میکند، اما در دهههای ۱۹۷۰ و ۱۹۸۰ معمولاً به عنوان اولین زبانی که به دانشجویان مهندسی آموزش داده میشد.
همچنین: این تکنولوژی جدید میتواند GPT-4 و هر چیز مشابه آن را جانشین کند
برای من، این چهارمین زبان برنامهنویسی بود، پس از زبان BASIC، زبان ماشین PDP-8 و کد دودویی PDP-8 (بله، کد دودویی را نوشتم تا بتوانم آن را روی پنل جلویی یک کامپیوتر کوچک اجرا کنم). پدرم با سخاوت همراهم را به مسافرتی دو ساعته به دانشکده مهندسی نیوآرک(اکنون NJIT) راهنمایی کرد تا بتوانم در حالی که هنوز دانشجوی دوم دبیرستان بودم، درس برنامهنویسی سال اول این دانشگاه را بگذارم.
فرترن هرگز محبوب نبود، اگرچه بیشترین کارهای محاسباتی را انجام میداد. یک نسخه از فرترن همچنان در حال استفاده است، اما تنها به کارهای علمی تخصصی محدود شده است زیرا زبانهای مدرن دیگری وجود دارند که امکانات مشابه فرترن را دارند و بهتر انجام میدهند.
در اینجا به دلیل استفاده از کلمه کلیدی implicit ، به نظر می رسد ChatGPT کد نوشته شده در نوع Fortran-77 را تجسم می کند.
![تصویر۷.jpg](https://static-lib.s3.amazonaws.com/cms/image7_516ce78986.jpg)
COBOL
من برنامهنویس COBOL نوجوان بودم. در آن زمان COBOL را نمیشناختم، اما در حدود سال 1980 تبلیغی برای یک برنامهنویس COBOL در مرکز داده منطقه شمال شرقی شرکت International Paper در دنویل، نیوجرسی دیدم. از خانه والدین من حدود 40 دقیقه دور بود و به یک کار تابستانی نیاز داشتم. همان لحظه که موفق شدم یک مصاحبه زمان بگیرم، به کتابفروشی محلی شتافتم و در طول آخر هفته، تمام منابع مطالعه COBOL را فرا گرفتم.
کوبول برای پردازش با تمرکز بر کسب و کار ایجاد شد. امروزه، مشتریان همان نوع خدمات میتوانند کاربران SAP یا Salesforce باشند. اما همانطور که از کد کوبول-88 زیر میبینید، کوبول عملی بود، اما قطعاً زیبا نبود.
از آنجا که ظاهراً با امتیاز بالایی در آزمونشان عملکرد خود را نسبت به حرفهایانی که درخواست کار داده بودند ارتقا دادم، آنها تصمیم گرفتند که من را برای تابستان استخدام کنند. باید بگویم که نامساعدی فرهنگی بیش از حد بود. اینها روزهای اولیه کامپیوترهای کوچک بودند (قبل از زمان کامپیوترهای شخصی) و من از آنها لذت میبردم. در عین حال، این افراد به لباس گرد و غبار و مراکز داده بزرگ علاقهمند بودند. تقریباً زود نام تکیکی «مشکل» به من اختصاص یافت. هی، من هنوز کودک بودم.
لحظه تعریفکننده برای من زمانی رخ داد که یکی از برنامهنویسان با تجربه راهنماییم کرد و با این جمله برخوردم: "COBOL زندگی است". این پیام را حرفی به دل گرفتم و تصمیم گرفتم که میخواهم زندگیم در مورد COBOL نباشد. آن تابستان، آخرین باری بود که هرگونه برنامه ریزی را به زبان COBOL انجام دادم.
![تصویر11.jpg](https://static-lib.s3.amazonaws.com/cms/image11_cf7c57b041.jpg)
RPG (گزارش ساز برنامه)
نه، این یک موشک تحت فشار یا یک بازی نقش آفرینی نیست. RPG یک برنامه برای ایجاد گزارشات بود. شما میتوانید تحول زبان (و تفکر زبان کامپیوتری به طور کلی) بین دو نسخه نشان داده شده در زیر ببینید. RPG II به اواخر دهه 1950 برمیگردد. RPG IV در دهه 1990 به روز شد و قطعاً بهتر است عصر حاضر زمانی بوده است (اما هنوز به تاریخ باقی میماند).
من هنگام تحصیل در دانشگاه به عنوان کار پاره وقت چند برنامه RPG III برای AS/400 نوشتم، اما هرگز به آن با دقت پیروی نکردم.
![تصویر۳.jpg](https://static-lib.s3.amazonaws.com/cms/image3_751e11848e.jpg)
لیسپ
دارم یک عاشقی طولانی با لیسپ دارم. لیسپ که برای پردازشگر لیست نامگذاری شده بود، گاهی به عنوان «بسیاری از پرانتزهای بیهوش و بیمعنی» توصیف میشد. به دلیلی، آن پرانتزها مختصرا به ذهن من کلیک کردند. لیسپ، دروازه ورود من به برنامه نویسی هوش مصنوعی بود و همانطور که از پردازش زبان توسط ChatGPT متوجه شدیم، دانش میتواند به شکل رشتههایی از کلمات و یا لیستها نمایش داده شود.
در دهه ۱۹۸۰، من مدیر محصول برای یک پیادهسازی Common Lisp مبتنی بر RISC بودم و برای مدتی در آن کد نویسی میکردم. بر اساس دستور defun greeting و ساختار let تولیدشده توسط ChatGPT، به نظر میرسد که کد زیر نیز Common Lisp است، یک نسخه بعدی از پیادهسازی اصلی Lisp جان مککارتی اواخر دهه ۱۹۵۰ است. مککارتی یکی از بنیانگذاران تحقیقات هوش مصنوعی بود، بنابراین منطقی است که یک هوش مصنوعی بتواند به زبان او کد بنویسد.
![تصویر۴.jpg](https://static-lib.s3.amazonaws.com/cms/image4_074ad270a8.jpg)
الگول
ALGOL (زبان ALGOthymic) پیش از زمان خود بود. این امکان را می داد تا توابع را به عنوان پارامترها منتقل کند و استفاده از بازگشت را امکان پذیر می کرد. این دو عنصر اصلی برنامه نویسی مدرن است که در زبانهای محبوبی مانند فورترن و کوبول که در همان زمان ورود ALGOL محبوب بودند ، وجود نداشتند.
اگر فرتران، بیسیک و زبان اسمبلی به من یاد داد که چگونه برنامهنویسی از بالا به پایین را بیاموزم ، الگول من را یاد داد چگونه کد خود را ساختاردهی کنم. این زبانی بنیادی بود که مرحله اولیهای را برای استفاده من از زبان سی، پاسکال، جاوا، جاوا اسکریپت و اکثر زبانهای ساختاری مدرن که امروزه استفاده میکنیم، تعیین کرد.
![تصویر۵.jpg](https://static-lib.s3.amazonaws.com/cms/image5_0c325cd122.jpg)
سیمولا
سیمولا، همانطور که ممکن است تصور کنید، برای شبیه سازی و مدل سازی توسعه یافته است. مانند الگول، سیمولا نیز به پیشگام بوده و استفاده از اشیاء و کلاس ها را پشتیبانی میکند. برنامه نویسی شی گرا اکنون برای بسیاری از زبانهای برنامه نویسی موثر امروزی بنیانگذاری شده است.
استفاده از کلمه کلیدی OUTFIX به من نشان میدهد که احتمالاً ChatGPT کد زیر را به زبان سیمولا-۶۷ نوشته است.
![تصویر۶.jpg](https://static-lib.s3.amazonaws.com/cms/image6_1cbec10943.jpg)
BAL (زبان ماشین اسمبلی ای بی ام ۳۶۰/۳۷۰)
بال، که مخفف "زبان مبتنی بر مونتاژ اساسی" است، زبان مونتاژ برای دستگاههای بزرگ IBM در دهههای ۱۹۷۰ و ۱۹۸۰ بود. زبان مونتاژ به عنوان یک "سطح پایینتر" نسبت به "زبانهای سطح بالاتر" در نظر گرفته میشود به این معنا که دستورات و کلمات کلیدی فردی به دستورات پردازنده تکرار میشوند. در زبان های سطح بالاتر (مانند بیشتر زبانهایی که امروزه استفاده میکنیم)، زبان به طور معمول از معماری ماشین پایه به طور قابل توجهی دور است و بیشتر برای کارآیی برنامهنویسی تعبیه شده است تا استفاده کارآمد از سختافزار است.
من یک نیمسال آموزش زبان بال در دانشگاه گرفتم. اون خیلی سخت بود. استاد بیشتر اوقاتش رو به دانشجوها پشتش میگذراند ، با طنینی ملالآور درس اش را می گفت و در حالی که بیشتر روی تابلو سیاه نوشت میکرد. من در ردیف عقب نشسته بودم کنار یک دختر به نام لورا. یک روز ، لورا و من تصمیم گرفتیم از پنجره عقبی بریم بیرون کافه بخریم. بعد از اینکه قهوه خودمون رو گرفتیم ، باز به داخل اتاق اومدیم اما استاد هیچوقت توجهی بهمون نکرد.
شگفت این است که هیچکدام از ما قبول شدیم، اما شگفتی نیست که تقریباً هیچکدام از ما برنامهنویسی BAL را به عنوان ابزار کدنویسی انتخابی خود نداشتیم.
![تصویر۸.jpg](https://static-lib.s3.amazonaws.com/cms/image8_71f6fb81e2.jpg)
برنامهنویسی آرایهای
APL، یا زبان برنامه نویسی APL، یک زبان برنامه نویسی دیگر است. یکی از جنبه های برجسته APL این است که از مجموعه کاراکتر غیر استاندارد برای برخی از عملگرها و کدنویسی استفاده می کند. می توانید آن را در تصویر زیر ببینید. نمادهای کوچک آنچه که ChatGPT قادر به استخراج آن از فونتی که استفاده می کند است، اما APL طراحی شده است تا از فونت یونیکد APL385، که یک فونت منحصر به فرد در برنامه نویسی APL است، استفاده کند.
به دلیل ساختار کوتاه و مدیریت مناسب برای مجموعه دادههای بزرگ، از آن در تعداد قابل توجهی از پروژههای علمی، مالی و تحلیلی استفاده میشود.
![تصویر۱۰.jpg](https://static-lib.s3.amazonaws.com/cms/image10_274e92e278.jpg)
پرولوگ
پروگ (که از عبارت "برنامه نویسی به صورت منطقی" مشتق میشود) یک زبان دیگر تمرکزی بر هوش مصنوعی است. پروگ یک زبان اظهاری است که قوانین و شرایطی را لیست میکند و سپس درخواستها را بر اساس آنها اجرا میکند. بر اساس ChatGPT:
پرولوگ یکی از زبانهای برنامهنویسی استفاده شده در توسعه ChatGPT میباشد، به طور خاص برای تولید متن. این زبان در ماژول پرولوگ به انگلیسی استفاده میشود، که فرمهای منطقی را در پرولوگ به جملات زبان طبیعی ترجمه میکند.
![عکس۱.jpg](https://static-lib.s3.amazonaws.com/cms/image1_b6b65af8f8.jpg)
کوچک صحبت کردن
اسمالتاک ویژه است. این زبان در محیط پژوهشی آزمایشگاه Xerox PARC توسعه یافت، همان محیطی که در توسعه ماوس و محیطهای پنجرهای بسیار تأثیرگذار بود. این زبان برخی از نوآوریهای سیمولا در برنامهنویسی شیءگرا را بکار برد و به اعماق آن دست یافت. این همچنین یکی از اولین زبانها بود که از محیط تعاملی مبتنی بر رابط گرافیکی کاربر (GUI) استفاده کرد. بسیاری از زبانهای برتر امروزی، از جمله جاوا، پایتون و روبی، تحت تأثیر قرار گرفتهاند.
من فقط کمی با Smalltalk آشنا شدم، به طور اساسی برای آشنایی با آن. در آن زمان که در ولی نی مها در سر میکشیدم، اشخاصی که طراحان Smalltalk بودند را آشنا شدم. بعدها آنها شرکت پاراپلاس سیستم را تاسیس کردند تا Smalltalk را به صورت تجاری به خارج از شرکت Xerox با سنتگرایی شده عرضه کنند. خاطرات زیادی از بحث درباره نظریه برنامه نویسی را در یک رستوران باربیکیو کوچک و کثیف در پالو التو دارم.
یکی از معاونانی که با او در شرکت کامپیوتری که در آن استخدام بودم همکاری میکردم، سعی کرد تا مرا متقاعد کند که یک شرکت باهم تشکیل دهیم تا تکنولوژی Smalltalk را در بازار نشان دهیم، اما در آن زمان من هنوز تجربه یک شرکت نوپا را نداشتم. Smalltalk هرگز بازار را به خود اختصاص نداد. با این وجود، با خوشحالی که زندگی من این مسیر را طی کرده است، گاهی اوقات به این فکر میکنم که چه اتفاقی می افتاد اگر من به پیشنهاد او پاسخ مثبت میدادم.
![تصویر۲.jpg](https://static-lib.s3.amazonaws.com/cms/image2_68853a88d6.jpg)
دارم به فکر میافتم
من این کد را اجرا نکردم و از آنجایی که تجربه معاصری با این زبانها مانند PHP و جاوااسکریپت ندارم، نمیتوانم با اطمینان کامل بگویم که بررسی بصری من تضمین میکند کد نشان داده شده به درستی اجرا شود. همانطور که در اوایل هفته با بررسی مهارتهای برمخت خود در برنامهنویسی بارد، دیدیم، امکان نوشتن کد بدون آنکه کد به درستی کار کند وجود دارد.
ما میدانیم که حداقل یک خطا در هر مثال وجود دارد: سربرگها اشتباه است. لذا در حالی که قابلیت ماشین هوشمند برای تولید کدها در زبانهای نسبتاً ناشناخته، بسیار جالب و دیدنی است، اما فرض نکنید که تمام کار را به درستی انجام میدهد.
اگر تصمیم بگیرید برنامهنویسی ChatGPT را در جریان کار خود داشته باشید، باید همانطور که در صورت استخدام شخصی برای نوشتن روتینهای پایهای برایتان میکنید، کدی که ایجاد میکند را بررسی، تست و اصلاح کنید.