آنها دیگر آنها را اینطور نمی سازند: Borland Turbo Pascal 7
آدرس مقاله: https://kevinboone.me/tpwin.html آدرس نظرات: https://news.ycombinator.com/item?id=50405678 امتیاز: 207 # نظرات: 113
توربو پاسکال بورلند یکی از موفق ترین ابزارهای برنامه نویسی تمام دوران بود. تکنیکهای توسعهای مانند اشکالزدایی یکپارچه در سطح منبع را معرفی کرد که امروزه آن را بدیهی میدانیم. اما در آن زمان رادیکال بودند.
TP 7 که به عنوان توربو پاسکال برای ویندوز 1.5 نیز شناخته می شود، اوج خط توربو پاسکال و پایان آن بود. نام "توربو" با محصولاتی که به عنوان محصولات سرگرمی در نظر گرفته می شدند مرتبط بود - "بورلند پاسکال" محصولی متفاوت و بسیار گران تر بود. اما توربو پاسکال برای برخی کاربردهای کاملا اساسی کافی بود و بسیار مقرون به صرفه بود. همچنین "مجوز کتاب" بود، که فکر می کنم چیز جدیدی در صنعت نرم افزار بود. شما می توانید یک نسخه از TP بخرید، و هر تعداد از مردم می توانند از آن استفاده کنند - اما فقط یک نسخه در یک زمان. حتی زمانی که روی فلاپی دیسک توزیع میشد، هیچ حفاظتی از کپی وجود نداشت.
(توربو) پاسکال سرانجام جای خود را به دلفی داد که علیرغم شایستگی های فنی آن، هرگز تاثیر مشابهی نداشت.
من از TP 7 برای نوشتن نرم افزار تصویربرداری پزشکی در دهه 90 استفاده کردم، تا تحت ویندوز 3.1 اجرا شود - که در زمان خود یک سیستم عامل عالی بود. مانند نسخههای قبلی، ویندوز 3.1 هنوز هم اساسا یک افزونه برای MSDOS بود، اما با ترفندهای هوشمندانهای که به آن اجازه میداد چند کار (بعد از مد) انجام دهد و حافظه بیشتری را مدیریت کند. این یک مدل رابط کاربری ساده و سازگار داشت - هم برای کاربر و هم برای برنامه نویس. در آن زمان، هیچ یک از ویژگیهای ضدویژگی بیهوده و آزاردهندهای که استفاده از ویندوز مدرن را تا این حد افسردهکننده کرده بود، نداشت.
بنابراین ویندوز 3.1 پلتفرمی بود که همه ما میخواستیم برنامههایمان از آن پشتیبانی کنند – نه اینکه در آن زمان جایگزینهای زیادی وجود داشت.
مانند بسیاری از برنامه نویسان دیگر، من زبان برنامه نویسی پاسکال را به طور خاص برای استفاده از TP 7 یاد گرفتم – در آن روزها اساسا یک برنامه نویس C بودم، اما برنامه نویسی برای ویندوز در C کار وحشتناکی بود. صادقانه بگویم، امروز به ندرت بهتر است. لازم بود و هست که مجموعه کاملی از ابزارهای خط فرمان را با هم ترکیب کنیم که فایل های متنی نامفهوم را به عنوان ورودی می گیرند. TP 7 خودکار شد و تمام آن بدی را پنهان کرد.
فقط ابزارها مشکل ساز نبودند: مدل رابط کاربری اساسا شی گرا بود. اما C برنامه نویسی به روش شی گرا را آسان نمی کرد. TP 5 مفاهیم اساسی شی گرا را به زبان پاسکال معرفی کرده بود و اینها باید ضروری بودند. ویژگی های خاص ویندوز توسط چیزی به نام Object Windows Library ارائه شده است: یک پوشش نسبتا ضخیم و شی گرا در اطراف API اصلی Windows C.
به یاد دارم که بورلند قبل از مایکروسافت یک کتابخانه برنامه نویسی شی گرا برای مایکروسافت ویندوز معرفی کرد – و بورلند بهتر بود.
OWL ایجاد رابط کاربری با ظاهری زیبا را با کمی آب نبات چشم آسان کرد. "دکمه تیک سبز" آشنا یک پیشرفت OWL بود که آنقدر برنامه های ویندوز را زیبا کرد که در نهایت تبدیل به یک کلیشه آزاردهنده شد.
در مجموع، برنامه نویسی برای ویندوز با استفاده از Turbo Pascal 7 بسیار ساده تر از هر چیز دیگری بود. این برنامه نه تنها یک مدل برنامه نویسی ارائه می کرد که با نحوه کار رابط کاربری ویندوز مطابقت داشت، بلکه خود برنامه دارای یک رابط گرافیکی ویندوز بود – بسیاری از ابزارهای برنامه نویسی ویندوز در آن زمان در واقع تحت MSDOS اجرا می شدند و کاملا مبتنی بر متن بودند. TP 7 همچنین دارای ابزارهای کاملا گرافیکی برای طراحی عناصر رابط کاربری مانند منوها و نمادها بود. چیدمان یک منو با استفاده از یک فایل تعریف با فرمت مبهم، با استفاده از Notepad ویندوز، هرگز تجربه قابل قبولی نبود.
مایکروسافت ابزارهای گرافیکی را برای این نوع عملیات تولید کرد، اما Turbo Pascal آنها را در یک IDE یکپارچه ترکیب کرد. تنها کاری که برای ساختن و اجرای برنامه هایم باید انجام می دادم این بود که کلید F7 را بزنم. من حتی میتوانم نقطههای شکست را برای دیباگر تنظیم کنم، فقط با کلیک کردن روی یک خط کد. همانطور که گفتم، امروزه به اندازه کافی رایج است، اما برای برنامه نویسی اولیه ویندوز انقلابی است.
اما چیزی که واقعا TP 7 را خاص کرد، میراث CP/M آن بود. توربو پاسکال از طریق CP/M و MSDOS به ویندوز آمد، که به این معنی بود که دارای یک هسته کامپایلر بود که برای اجرا با حافظه فشرده و CPU نسبتا کند طراحی شده بود. در روزهایی که اکثر کامپایلرها مجبور بودند پشته ای از فایل های میانی را روی دیسک بنویسند، TP فقط همه چیز را در حافظه می ساخت. این کار را با استفاده از کدهای بسیار بهینه شده، نوشته شده به زبان اسمبلی، توسط افراد بسیار ماهر انجام داد. امروزه اگر کامپایلر شما انبوهی از فایلهای موقت را بیرون بیاورد، اهمیتی ندارد، زیرا ذخیرهسازی دیسک سریع و ارزان است.
اما در روزگار فلاپی دیسک، باید دسترسی به دیسک را به حداقل می رساند. متأسفانه، شما همچنین مجبور بودید استفاده از حافظه را به حداقل برسانید، زیرا مقدار زیادی از آن نیز وجود نداشت. برنامه نویسی برای CP/M به مهارت و تعهد واقعی نیاز داشت.
بنابراین وقتی TP به دستگاههای ویندوزی با پردازندههای 16 بیتی و مگابایتهای رم وارد شد، برای توسعهدهندگان مانند کریسمس اولیه بود. یک کامپایلر طراحی شده به گونه ای که با 32 کیلوبایت رم و یک فلاپی درایو مناسب باشد، وقتی مگابایت و هارد دیسک به آنها داده می شود، به طور مثبت پرواز می کند.
همه اینها به این معنی بود که استفاده از TP 7 لذت بخش بود. این مانند یک IDE مدرن بود، اما بدون هیچ چیزی. توسعهدهندگانی که هرگز برنامهنویسی ویندوز را با ابزارهای مایکروسافت حل نمیکردند، میتوانستند بدون مشکل زیاد از MSDOS به ویندوز بروند – حتی اگر ابتدا مجبور بودند مانند من، پاسکال را یاد بگیرند. کد کامپایل شده بسیار سریع بود، اما اگر به اندازه کافی سریع نبود، میتوانید زبان اسمبلی را مستقیما در فایلهای منبع پاسکال بنویسید.
فکر نمیکنم اغراقآمیز باشد که بگوییم توربو پاسکال در جذب گسترده و در نهایت تسلط مایکروسافت ویندوز بر روی رایانههای شخصی دسکتاپ نقش داشته است. اگر در اوایل دهه 90 یک «توربو پاسکال برای لینوکس» وجود داشت، ممکن بود امروز همه ما لینوکس را روی دسکتاپ خود اجرا کنیم.
پس توربو پاسکال چه شد؟ حداقل سه چیز به سقوط نهایی آن کمک کرد.
اول، رقابت فزاینده ای از سوی زبان برنامه نویسی C وجود داشت. بورلند یک Turbo C و بعدها یک Turbo C++ تولید کرد، اما آنها به اندازه پاسکال تأثیرگذار نبودند. به راحتی می توان فراموش کرد که رایانه های شخصی اولین دستگاه های محاسباتی همه منظوره نبودند. اکثر مؤسسات علمی و آموزشی و بسیاری از مشاغل از ایستگاه های کاری گرافیکی و یک مینی کامپیوتر مرکزی استفاده می کردند. قبل از اینکه رایانههای رومیزی برجسته شوند، C قبلا در این محیطها به خوبی تثبیت شده بود. و قبل از آن ما مینفریمها و ترمینالها داشتیم – اما این دنیای متفاوتی بود، جایی که Fortran و COBOL در آن حکومت میکردند.
بیشتر برنامههای «جدی» رایانه شخصی در روزهای اولیه به زبان اسمبلی نوشته میشدند، همانطور که برای CP/M نوشته شده بود - منابع کم تقریبا این را ضروری میکرد. مینی کامپیوترها چندان محدود نبودند، بنابراین کامپایلرها حتی در دهه 1980 عملی تر بودند. بنابراین زمانی که کامپایلرها برای توسعه دهندگان میکروکامپیوتر مورد توجه قرار گرفتند، تقریبا هیچ دلیلی وجود نداشت که یک زبان برنامه نویسی را بر دیگری ترجیح دهیم. پاسکال می توانست به زبان برنامه نویسی استاندارد برای رایانه شخصی تبدیل شود.
فکر میکنم این اتفاق نیفتاد، نشاندهنده این واقعیت است که بسیاری از شرکتهای نرمافزاری که در محاسبات صنعتی و علمی فعال بودند، فرصتی را در رایانههای شخصی دیدند و سعی کردند به آن بازار حرکت کنند. این شرکت ها قبلا تجربه قابل توجهی با C داشتند و ترجیحات خود را با خود به همراه داشتند. بنابراین در حالی که من از یادگیری یک زبان برنامه نویسی جدید برای توسعه برای ویندوز خوشحال بودم، یک تجارت نرم افزاری با هزار کارمند ممکن بود نمی خواست این قدم را بردارد.
دومین عامل، فکر میکنم، خوشمزه بودن ابزارهای C مایکروسافت بود. مایکروسافت در نهایت یک IDE برای خودش تولید کرد و البته مایکروسافت پلتفرم ویندوز را کنترل کرد. من فکر نمیکنم استفاده از C IDE مایکروسافت به آسانی بورلند باشد، اما با توجه به موقعیت مایکروسافت، احتمالا مجبور نبودند.
سوم، ویژوال بیسیک مایکروسافت شروع به حمله به توسعه دهندگان در مقیاس کوچک و سفارشی کرد. بیسیک قبلا جزء اصلی دنیای ریزمحاسبات بود، زیرا یادگیری آن آسان بود و نیازی به مرحله تلفیقی جداگانه نداشت. الصاق بیتهایی از کد BASIC به عناصر رابط کاربری ویندوز یک راه کارآمد برای تولید برنامههای نسبتا ساده و با حجم کم بود.
من در دهه 90 از ویژوال بیسیک متنفر بودم و تا روزی که VB6 آخرین نفس خس خس سینه خود را در سال 2005 کشید، از آن متنفر بودم. VB موانع ورود به برنامه نویسی ویندوز را به همان روشی که TP قبلا انجام داده بود کاهش داد. مسلما آنها را بسیار پایین آورده است، اما اجازه دهید امروز به آنجا نرویم.
نسخه های اولیه Turbo Pascal اکنون به صورت آزاد و قانونی در دسترس هستند. علاقه مندان به کامپیوترهای قدیمی و MSDOS به خوبی مورد توجه قرار می گیرند. با این حال، تا آنجا که من می دانم، TP 7 مالکیت معنوی یک فرد باقی می ماند، اگرچه کاملا مشخص نیست که متعلق به چه کسی است. احتمالا در دسته «ابزار افزارها» قرار میگیرد، اما، صادقانه بگویم، آنقدرها هم مهم نیست: نمیتواند کدی تولید کند که روی سیستمهای ویندوز مدرن اجرا شود، و تعداد کمی از مردم علاقه زیادی به ویندوزهای اولیه دارند – این به اندازه کافی یکپارچهسازی نیست.
پس این توربو پاسکال است: غول پیکر دنیای ریزمحاسبات که محو شد و تا حد زیادی بی تاسف مرد. این همیشه موجودی در زمان خود بود - برای دوره کوتاهی که میکروکامپیوترها به اندازه کافی برای پاداش دادن به توسعه ماهرانه محدود بودند، رونق گرفت، اما به اندازه کافی گسترده بود تا بازاری قابل توجه برای برنامه نویسان ایجاد کند. زمانی که پیدا کردن برنامه نویسان با مهارت کافی برای برآوردن نیازهای بازار دشوار شد، مهم نبود: کامپیوترها به اندازه کافی قدرتمند می شدند تا محدودیت های ما را به عنوان برنامه نویس برطرف کنند.
اینکه این روزها تقریبا هیچ کس مهارت اجرای چیزی مانند TP را ندارد، چیزی است که در نهایت ممکن است پشیمان شویم - یا بهتر است بگوییم، نوه های ما می توانند. توسعه نرم افزار در حال تبدیل شدن به یک صنعت نیمه ماهر است و من شک دارم که ظهور هوش مصنوعی به طور کامل این را جبران کند.
اما چه کسی به توربو پاسکال نیاز دارد، وقتی شما 128 گیگ رم به یک CPU 5 گیگاهرتزی وصل کرده اید، تا یک برنامه جاوا که عجولانه نوشته شده و باد کرده رایت کند؟
آیا چیزی در پاسخ به این صفحه ارسال کرده اید؟ با دادن آدرس وبلاگ یا صفحه ای که به این صفحه اشاره دارد، می توانید یک وبمنشن ارسال کنید تا به من اطلاع دهد.
متن اصلی (انگلیسی)
They don't make 'em like that any more: Borland Turbo Pascal 7
Article URL: https://kevinboone.me/tpwin.html Comments URL: https://news.ycombinator.com/item?id=50405678 Points: 207 # Comments: 113