به مناسبت روز برنامهنویس
زن ریاضیدانی که تاریخ را تغییر داد
آنچه آیدا لاولیس، بهعنوان نخستین برنامهنویس تاریخ با اولین الگوریتم در ۱۸۴۳ آغاز کرد، امروز به «ماشینهای متفکر» تکامل یافته که نه تنها کد مینویسند، بلکه واقعاً فکر میکنند.

دویست و پنجاه و ششمین روز سال (معادل عدد ۱۰۰ در مبنای ۱۶) مطابق با ۱۳ سپتامبر به عنوان روز برنامهنویس نام گرفته است.
اما برنامهنویسی تاریخچهای تدریجی دارد که از نیازهای انسانها شروع شد. انسانها همیشه به دنبال راههایی برای انجام کارهای تکراری و پیچیده بودهاند. کارتهای سوراخدار ژاکارد در ۱۸۰۱ اولین شکل «برنامهریزی» بود؛ دستورالعملهایی که به ماشین میگفت چه الگویی را دنبال کند. در عین حال، با پیچیدهتر شدن علم و نیاز به محاسبات دقیق در جنگ جهانی دوم، رایانههای اولیه ساخته شدند. اما این ماشینها نیاز به دستورالعمل داشتند.
در ابتدا هر تغییر در برنامه، به معنای تغییر فیزیکی سیمکشی کامپیوترها بود. از همین رو، ایدۀ ذخیره کردن برنامه در حافظه (همان جایی که دادهها هم ذخیره میشود) یک انقلاب در عرصۀ کامپیوترها بود.
پس از آن، چون نوشتن برنامهها با ۰ و ۱ بسیار سخت و زمانبر بود، زبانهایی مثل FORTRAN (۱۹۵۷) این مشکل را حل کردند - به جای اینکه بنویسید “۱۰۱۱۰۰۰۰ ۰۱۰۰۰۰۰۱”، میتوانستید بنویسید “A = B + C”. برنامهنویسی در واقع، پاسخی طبیعی به نیاز انسان برای کنترل و خودکارسازی ماشینهایی بود که به تدریج پیچیدهتر میشدند.
اولین فرآیند دیباگ تاریخ
آیدا لاولیس ریاضیدان و نویسندۀ انگلیسی، زنی بود که عمدۀ شهرتش به دلیل همکاری با چارلز ببیج در توسعه کامپیوتر مشهور همهکارۀ این دانشمند، یعنی موتوری تحلیلیست که او را به اولین برنامهنویس تاریخ تبدیل کرد. چارلز ببیج، دانشمند، ریاضیدان، فیلسوف، مخترع و مهندس مکانیکی است که برای اولین بار، طرح مفهومی یک کامپیوتر قابل برنامهریزی را ارائه کرد و لقبهای پدر محاسبات و یا پدر کامپیوتر را گرفت. او مخترع اولین کامپیوتر مکانیکی تاریخ است و طرحهایش پایهگذار طراحی و ساخت کامپیوترهای الکترونیکی پیشرفته شده است. ایدا اولین کسی بود که متوجه پتانسیلهای ماشین محاسباتی ببیج، فراتر از محاسبات ساده ریاضی شد و اولین الگوریتم تاریخ را برای ارتباط با این ماشین تدوین کرد.
زندگی آیدا پس از اولین ملاقات با دانشمند بزرگ چارلز ببیج به کلی تغییر کرد. آیدا در سالهای بعد بهصورت مستقل به یادگیری ریاضیات پرداخت و مقالهای از منابرا به زبان فرانسوی را به انگلیسی ترجمه کرد. سپس به توصیۀ ببیج نظرات خود را بهصورت یادداشتهایی به متن اصلی مقاله منابرا اضافه کرد. در بخش آخر یادداشت های وی الگوریتمی برای اعداد برنولی قرار داشت. به همین دلیل این ریاضیدان بهعنوان اولین برنامهنویس تاریخ شناخته میشود. او در مطالعات خود، ایرادات ماشین تحلیلی ببیج را نیز توضیح داد. این کشف ایرادات، بهعنوان اولین فرآیند دیباگ تاریخ شناخته میشوند.
با این حال، بعضی مورخان نقش لاولیس بهعنوان اولین برنامهنویس تاریخ را رد میکنند و معتقدند که این الگوریتمها برای ببیج بوده که منتشر نکرده بوده است که البته باید گفت ایدا نه با برنامۀ خود بلکه با شناخت پتانسیل کامپیوترها، تاریخ را تغییر داد.
از ظهور زبانهای برنامهنویسی تا انقلاب ماشینهای متفکر
پس از آنکه، آیدا لاولیس در ۱۸۴۳، حتی قبل از اختراع لامپ، اولین الگوریتم کامپیوتری را نوشت، بین سالهای ۱۹۴۰-۱۹۵۰ که به عنوان «عصر رایانههای اولیه» شناخته میشود، ابتدا اولین رایانۀ الکترونیکی عمومی ایجاد شد که برنامهنویسی آن به معنای تغییر کابلها و سوئیچها بود؛ کاری که ساعتها طول میکشید. سپس جان فون نویمان در ۱۹۴۵ ایدهای انقلابی مطرح کرد: «برنامه را همانجا که دادهها ذخیره میشود، نگه داریم»؛ این باعث شد تغییر برنامه دیگر نیاز به تغییر سیمکشی نداشته باشد.
چیزی نگذشت که از حوالی ۱۹۵۰ زبانهای برنامهنویسی ظهور کردند. ابتدا به جای کد دودویی، از کلمات کوتاه استفاده میشد و این اولین قدم به سمت زبانهای انسانی بود. پس از آن، در ۱۹۵۷، جان باکوس در IBM کاری کرد تا به جای نوشتن صدها خط کد ماشین، یک خط ریاضی کافی بود.
پس از تغییرات تدریجی متعدد، در ۱۹۷۲، دنیس ریچی زبان C را ساخت که ترکیب قدرت زبان ماشین با سادگی زبان سطح بالاست و تا امروز استفاده میشود. به تدریج تعداد زبانهای برنامهنویسی بیشتر شدند و نامهایی هم چون پایتون در تاریخ فناوری ثبت شدند که امروز مبنای توسعۀ فناوریهایی انقلابی همچون هوش مصنوعی هستند.
وقتی آیدا لاولیس اولین الگوریتم کامپیوتری را نوشت و درک کرد که ماشین میتواند فراتر از محاسبات ساده کار کند، او بذر آیندهای را کاشت که امروز به بار نشسته است. لاولیس پیشبینی کرده بود که موتور تحلیلی میتواند قطعات موسیقی پیچیده و علمی از هر درجه پیچیدگی یا گستردگی بسازد.
امروز، ۱۸۲ سال بعد، این پیشبینی نه تنها تحقق یافته، بلکه فراتر رفته است. مدلهای جدید نه تنها موسیقی میسازند، بلکه کد مینویسند، مسائل ریاضی پیچیده حل میکنند، و حتی برای ساعتها بدون نظارت انسان کار میکنند. آنچه این ماشینهای متفکر را متمایز میکند، تنها بهبود تدریجی نیست بلکه این تغییر بنیادی در نحوه پردازش اطلاعات است.
دیگر نیازی نیست بین مدلهای مختلف انتخاب کنید؛ یک مدل هوشمند واحد وجود دارد که خودکار با پیچیدگی درخواست شما سازگار میشود. آیندهای که آیدا لاولیس با نوشتن اولین الگوریتم آغاز کرد، امروز به واقعیتی تبدیل شده که او نمیتوانست حتی تصور کند. ما دیگر در عصر ماشینهایی زندگی میکنیم که نه تنها محاسبه میکنند، بلکه فکر میکنند. و میتوان گفت برنامهنویسان، به جای آنکه جایگزین شوند، به رهبران این انقلاب فکری تبدیل شدهاند.