Turbo Pascal की 40वीं वर्षगांठ
(blog.marcocantu.com)- Borland द्वारा नवंबर 1983 में पेश किया गया Turbo Pascal नवंबर 2023 में आधिकारिक रूप से 40 साल का हो गया
- Turbo Pascal को Borland की शुरुआत कराने वाला उत्पाद और इंडस्ट्री में व्यापक रूप से इस्तेमाल किए गए पहले integrated development environment (IDE) के रूप में माना जाता है
- उस समय इसने development experience और product completeness, दोनों के मामले में गहरी छाप छोड़ी, और बड़ी commercial success हासिल की
- Embarcadero इसकी बाद की compiler श्रृंखला का विकास अब भी जारी रखे हुए है, और Delphi 12 Athens का Win32 command-line compiler version 36.0 इस्तेमाल करता है
- मौजूदा version numbering system पहले Turbo Pascal तक जुड़ा हुआ है, इसलिए यह 40वीं वर्षगांठ Delphi श्रृंखला के इतिहास से भी सीधे जुड़ती है
नवंबर 1983 में शुरू हुआ Turbo Pascal
- Turbo Pascal Borland का नवंबर 1983 में जारी किया गया उत्पाद था
- नवंबर 2023 के हिसाब से इसे आधिकारिक रूप से 40 साल पूरे हो गए
Borland और IDE इतिहास में इसकी जगह
- Turbo Pascal को इंडस्ट्री का एक milestone product माना जाता है
- यही वह उत्पाद था जिसने Borland कंपनी की शुरुआत कराई
- इसे व्यापक रूप से पहचाना जाने वाला पहला IDE कहा जाता है
- उस समय के मानकों के अनुसार यह एक उत्कृष्ट उत्पाद था और इसकी सफलता का पैमाना भी बहुत बड़ा था
आगे पढ़ने की सामग्री और Pascal का संदर्भ
- Turbo Pascal के बारे में David I की हाल की ब्लॉग पोस्ट और Wikipedia पर और पढ़ा जा सकता है
- Pascal से संबंधित सामग्री के तौर पर Pascal के 50 साल पर ब्लॉग पोस्ट और Salamanca में पहले Pascal World Congress की प्रस्तुति भी साथ में दी गई हैं
Embarcadero तक जारी रहने वाली बाद की compiler श्रृंखला
- Embarcadero, Turbo Pascal की successor compiler श्रृंखला का विकास जारी रखे हुए है
- हाल ही में इस compiler का version 36 जारी किया गया
- Delphi 12 Athens के command-line compiler में
Embarcadero Delphi for Win32 compiler version 36.0का version label दिखाई देता है - यह version 36 पहली Turbo Pascal तक पीछे जाने वाली numbering system का हिस्सा है
40वीं वर्षगांठ का Easter Egg
- Embarcadero ने इस 40वीं वर्षगांठ के उपलक्ष्य में अपने उत्पाद के Easter Egg को Turbo Pascal की वर्षगांठ को समर्पित किया
- संदेश का समापन “Happy 40th birthday, Turbo Pascal!” से होता है
1 टिप्पणियां
Hacker News की राय
मेरे पसंदीदा कंप्यूटर गेम्स में से एक ZZT था, जो Turbo Pascal में लिखा गया था। यह Epic Megagames के Tim Sweeney द्वारा बनाया गया एक विचित्र text-mode गेम था, जिसमें puzzle और shooting का मिश्रण था, और इसके मुफ्त shareware version में game editor भी शामिल था, साथ ही ZZT-OOP नाम की एक छोटी programming language भी थी
ZZT का मूल source code खो गया था, लेकिन कुछ साल बाद Adrian Siekierka ने मूल Pascal code का बेहद धैर्यपूर्वक reverse engineering किया, ताकि उसे मूल Turbo Pascal version से compile करने पर byte-for-byte identical executable मिले। यह सचमुच अविश्वसनीय है
https://blog.asie.pl/2020/08/reconstructing-zzt/
https://news.ycombinator.com/item?id=22609474
https://benhoyt.com/writings/zzt-in-go/
Turbo Pascal ने ही मुझे programming में प्रवेश दिलाया। मुझे याद है कि मैंने Borland Pascal 7.0, और बाद में Delphi 1.0 और 2.0 के licenses पर सैकड़ों German mark खर्च किए थे, और आखिरकार अपना पहला paid “commercial” software भी बनाया
DOS दौर में, Basic को छोड़ दें तो शायद programming में आने का सबसे आसान रास्ता Turbo Pascal ही था, और Windows 3.1/95 पर Delphi ऐसा चौंका देने वाला tool था जिसने दिखाया कि GUI programming इतनी आसान भी हो सकती है
कई मायनों में लगता है कि हम तब से पीछे ही गए हैं। Turbo Pascal / Delphi compiler छोटे binaries में पूर्ण GUI programs बना देता था, और आज सोचता हूँ कि समान प्रदर्शन वाले software आखिर इतने कई गुना बड़े कैसे हो गए
अगर वजह सिर्फ typo होती, तो उसे ठीक करके फिर से compile और run करने में 1 सेकंड लगता था। आज के tools अक्सर ऐसी अलग philosophy पर बने होते हैं जो developer से ज्यादा अनावश्यक steps करवाती है
अपवाद SAP है, जिसने किसी तरह 90 के दशक के UI की user-hostility को आधुनिक programs की resource consumption के साथ जोड़ने में सफलता पा ली है। BASIC के बाद मैंने भी Turbo Pascal ही सीखी थी
TP की सबसे यादगार बात यह थी कि हर फ़ंक्शन के लिए सरल और समझने में आसान code examples होते थे, और सब कुछ तार्किक रूप से व्यवस्थित था, इसलिए ढूँढना और इस्तेमाल करना आसान था। इसी वजह से, BASIC को मुश्किल से समझने वाला एक किशोर होने के बावजूद, मैं इंटरनेट के बिना सिर्फ IDE के सहारे Turbo Pascal खुद सीख सका।
आज की बहुत-सी systems में इसके आसपास की चीज़ भी नहीं मिलती। सोचता हूँ कि क्या यह उस दौर के सरल x86 DOS-आधारित systems की वजह से संभव था, या फिर आज की तेज़ बदलाव की रफ़्तार, cross-platform ज़रूरतों और complexity के कारण ऐसी चीज़ बनाना अब असंभव हो गया है।
मैं यह भी जोड़ना चाहूँगा कि उस समय पूरी तरह offline docs वाला creative coding framework सिर्फ Processing ही था। उदाहरण के लिए, OpenFrameworks आज भी ज़्यादातर auto-generated खाली खोल जैसी documentation के क़रीब है।
मेरे हिसाब से यही उन कारणों में से एक था, जिनकी वजह से Processing को शैक्षिक माहौल में alternatives पर बढ़त मिली। यह काफ़ी अफ़सोस की बात थी कि p5.js ने उस परंपरा को पूरी तरह आगे नहीं बढ़ाया; docs पढ़ने के लिए online जाना पड़ता है, और static website की जगह अब ऐसा ढाँचा है जिसमें खोलते समय JavaScript से text render होता है। फिर भी, examples सहित documentation खुद पूरी है।
https://processing.org/
https://p5js.org/
यह विश्वविद्यालय में इंटरनेट के बारे में जानने से कई साल पहले की बात थी, इसलिए learning materials तक आसानी से पहुँचने का कोई तरीका नहीं था। उससे पहले मैंने C कई बार सीखने की कोशिश की थी लेकिन बात नहीं बनी; TP सीखने के बाद ही मैं Pascal में सीखी चीज़ों को C में ले जा सका, और तब भी एक और बेहतरीन Borland product, C++ Builder, ने मदद की।
80 के दशक के आख़िर में 6809E assembly, structured BASIC variants, और batch/shell के बाद मैंने जो पहली “असली” programming language सीखी, वह Turbo Pascal थी। 90 के दशक की शुरुआत में जब मैं computer science में गया, तब भी first-year classes Borland Pascal से पढ़ाई जा रही थीं, इसलिए वह अनुभव काफ़ी काम आया।
कुछ साल बाद Pascal background की बदौलत मुझे करीब 5 साल तक Delphi में custom apps develop करने का काम मिला, और उसके बाद Borland में Kylix और C++Builder IDE का testing करने तक बात पहुँची। बहुत अच्छे दिन थे।
आज भी Delphi की याद आती है। अब तो IDE plugins के बिना चीज़ को घातक कमी माना जाता है, लेकिन उस समय अपनी ही language में आसानी से extend हो सकने वाली component library और coding environment का विचार एकदम शुद्ध जादू जैसा था। VCL और IDE को छेड़ना-सँवारना सचमुच बहुत मज़ेदार था।
अफ़सोस इस बात का है कि Borland ने enterprise market के पीछे भागते हुए grassroots developers को पीछे छोड़ दिया, और community adoption की growth को लगभग मार ही डाला। कम-से-कम Delphi 7 के आसपास तक तो यह सच में शानदार setup था।
TP से मेरा पहला परिचय 1993 की सर्दियों में हुआ, जब 14 साल की उम्र में मैंने उसे एक warez BBS से pirated रूप में लिया। सिर्फ .BAS files चलाने से अलग, जब मैंने खुद EXE compile किया, तो जो कच्ची ताक़त महसूस हुई वह नशे जैसी थी।
मैंने Renegade BBS को modify करना और door programs बनाना शुरू किया, और हालाँकि मैं नाकाम रहा, worms, trojans, और viruses बनाने की कोशिश भी की। इस अनुभव ने मेरी ज़िंदगी बदल दी और मुझे आज tech field में लाने वाला रास्ता बनाया। और हाँ, किशोरावस्था की वह भटकी हुई प्रवृत्ति अब ठीक हो चुकी है। Borland का मैं बहुत ऋणी हूँ।
कुछ साल बाद, 16 साल की उम्र में, मैंने अपने पिता के customer management के लिए एक छोटा app बनाया और उसके लिए सचमुच पैसे भी मिले, और उसी पैसे के एक हिस्से से TP6 का legal version खरीदा। अच्छे दिन थे।
Free Pascal में अब भी एक ऐसा मोड है जो मूल TP IDE जैसा दिखता है। लेकिन जैसा कि वे खुद मानते हैं, उसका कोडबेस धीरे-धीरे जर्जर हो रहा है और अब भी मूल MS-DOS प्लेटफ़ॉर्म की पुरानी विचित्रताओं पर काफी निर्भर है
अफ़सोस यह है कि उसका कोई ऐसा हमशक्ल वर्ज़न नहीं है जिसे neovim या emacs की तरह टर्मिनल में सामान्य एडिटर की तरह इस्तेमाल किया जा सके, और जो LSP, tree-sitter parser, debug adapter protocol जैसी आधुनिक IDE-उन्मुख सुविधाओं के साथ इंटीग्रेट हो। SSH/टर्मिनल कनेक्शन के ज़रिए remote code edit करते समय यह खेल ही बदल सकता था
Turbo Pascal प्रतिस्पर्धी उत्पादों से कितना तेज़ था, इसे बढ़ा-चढ़ाकर बताना मुश्किल है। वह इतना तेज़ था कि लगता था जैसे कोई चाल चल रहा हो, और उससे बने प्रोग्राम भी ज़्यादा तेज़ थे
उस समय के हिसाब से वह एक मास्टरपीस था, और उसे मिली प्रशंसा पूरी तरह जायज़ थी
तब सीखा कि एक परिपक्व compiler, 1.0 release compiler से बेहतर होता है
मुझे याद है कि कुछ साल पहले मैंने Windows PC पर 512MB RAM वाले माहौल में FPC 2.0-सीरीज़ का एक version build किया था, और उसमें 5 मिनट भी नहीं लगे थे
https://www.tmssoftware.com/site/blogold.asp?post=759
बचपन में एक दयालु computer shop मालिक ने मुझे MS-DOS 1.25 चलाने वाला एक PC अर्ध-संगत सिस्टम अच्छे सौदे में बेच दिया। कीमत लगभग उतनी थी जितनी सौ बार घास काटने और बच्चों की देखभाल के बदले मिलती
उस मालिक ने मुझे सामान्य MS-DOS के लिए Turbo Pascal, यानी वह version जो PC BIOS को मानकर नहीं चलता था, 8-inch floppy पर बेचा और उसे मेरे अर्ध-संगत सिस्टम में इस्तेमाल होने वाले 160KB 5.25-inch फ़ॉर्मैट में ट्रांसफ़र भी कर दिया। आशा है कि मैं तब भी उतना ही आभारी रहा होऊँगा जितना आज महसूस करता हूँ। उसी ने मेरे करियर की शुरुआत कराई
80 के दशक की शुरुआत में Apple ][+ और //e पर Apple Pascal, यानी UCSC p-system Pascal आधारित माहौल इस्तेमाल करने के बाद मैं DOS के Turbo Pascal पर आया। Turbo Pascal सचमुच रोमांचक था। बहुत तेज़ compiler, अच्छा feedback, रंगीन editor, और WordStar key bindings जिनकी मुझे पहले से आदत थी — इन सबने अनुभव को शानदार बना दिया
मुझे यह भी याद है कि जब प्रोग्राम काफ़ी बड़ा हो गया था तो overlay feature इस्तेमाल करना पड़ा था। DOS में यह ऐसा फीचर था जो प्रोग्राम के अलग-अलग हिस्सों को मानो pages की तरह लोड करने देता था
80 के दशक में किसी समय, शायद बाद के वर्षों में, मुझे Borland के शानदार evangelist David Intersimone से मिलने की याद भी है। वे हमारे यूनिवर्सिटी के स्थानीय ACM chapter के निमंत्रण पर आए थे
अजीब बात यह है that Turbo Pascal मेरी सीखी हुई पहली high-level programming language थी, और उसका environment Macintosh Plus था। बाद में पता चला कि Turbo Pascal असल में PC वाली दुनिया की चीज़ के ज़्यादा करीब था
यूनिवर्सिटी में मैंने student loan से अपना पहला Apple computer, Macintosh Plus खरीदा था, और संयोग से यूनिवर्सिटी अख़बार के classified ads में Mac के लिए Turbo Pascal की एक copy देखी। कोई professor उसे लगभग 40 डॉलर में बेच रहा था, तो मैंने तुरंत खरीद लिया
सौभाग्य से manual था, लेकिन Macintosh development tools बहुत बुनियादी थे। ResEdit नहीं था, और एक अजीब-सा R-Maker app था जो आपसे Macintosh resources को text file में बनाने और फिर tool से गुज़ारकर resource fork बनाने को कहता था
मैंने जो शुरुआती apps बनाए, उनमें से कुछ Scientific American की Computer Recreations column में छपे algorithms के Turbo Pascal implementation थे। अच्छी बात यह थी कि UI की लगभग ज़रूरत ही नहीं पड़ती थी, इसलिए आम तौर पर एक window और कुछ buttons काफ़ी होते थे
बाद में मुझे THINK Pascal के बारे में पता चला, जो कहीं ज़्यादा Mac-केंद्रित IDE था, और मैं उधर चला गया; फिर उससे भी बाद में THINK C पर कूद पड़ा
फिर भी Turbo Pascal हमेशा स्नेहभरी यादों में रहेगा। वह एक खुरदुरी और नई दुनिया में कदम रखने का समय था, और Turbo Pascal ने मेरे लिए उसका दरवाज़ा खोल दिया था