2 คะแนน โดย GN⁺ 2023-12-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Turbo Pascal ที่ Borland เปิดตัวในเดือนพฤศจิกายน 1983 ครบรอบ 40 ปี อย่างเป็นทางการในเดือนพฤศจิกายน 2023
  • Turbo Pascal เป็นผลิตภัณฑ์ที่เป็นจุดเริ่มต้นของ Borland และได้รับการยกย่องว่าเป็น Integrated Development Environment (IDE) ตัวแรก ๆ ที่ถูกใช้งานอย่างแพร่หลายในอุตสาหกรรม
  • ในเวลานั้น สร้างความประทับใจอย่างมากทั้งด้านประสบการณ์การพัฒนาและความสมบูรณ์ของผลิตภัณฑ์ และนำไปสู่ ความสำเร็จเชิงพาณิชย์อย่างมาก
  • Embarcadero ยังคงพัฒนาสายคอมไพเลอร์รุ่นต่อเนื่องอยู่ และคอมไพเลอร์ command-line สำหรับ Win32 ของ Delphi 12 Athens ใช้ เวอร์ชัน 36.0
  • เนื่องจากระบบหมายเลขเวอร์ชันปัจจุบันสืบย้อนกลับไปถึง Turbo Pascal รุ่นแรก การครบรอบ 40 ปีครั้งนี้จึงเชื่อมโยงโดยตรงกับประวัติของสาย Delphi ด้วย

Turbo Pascal ที่เริ่มต้นในเดือนพฤศจิกายน 1983

  • Turbo Pascal เป็นผลิตภัณฑ์ที่ Borland วางจำหน่ายในเดือนพฤศจิกายน 1983
  • นับถึงเดือนพฤศจิกายน 2023 ครบรอบ 40 ปี อย่างเป็นทางการ

ตำแหน่งในประวัติศาสตร์ของ Borland และ IDE

  • Turbo Pascal ได้รับการยกย่องว่าเป็น ผลิตภัณฑ์หมุดหมายสำคัญ ของอุตสาหกรรม
  • เป็นผลิตภัณฑ์ที่ก่อกำเนิดบริษัท Borland
  • ถูกกล่าวถึงว่าเป็น IDE ตัวแรกที่เป็นที่รู้จักอย่างแพร่หลาย
  • ตามมาตรฐานในยุคนั้น ถือเป็นผลิตภัณฑ์ที่ยอดเยี่ยม และมีขนาดความสำเร็จใหญ่มาก

แหล่งอ่านเพิ่มเติมและบริบทของ Pascal

คอมไพเลอร์รุ่นต่อเนื่องที่มาถึง Embarcadero

  • Embarcadero ยังคงพัฒนาไลน์ คอมไพเลอร์รุ่นต่อเนื่อง ของ Turbo Pascal อยู่
  • ล่าสุดได้เปิดตัว เวอร์ชัน 36 ของคอมไพเลอร์ดังกล่าว
  • ในคอมไพเลอร์ command-line ของ Delphi 12 Athens มีการแสดงเวอร์ชันว่า Embarcadero Delphi for Win32 compiler version 36.0
  • หมายเลขเวอร์ชัน 36 นี้เป็นระบบหมายเลขที่ย้อนกลับไปถึง Turbo Pascal รุ่นแรก

Easter Egg ฉลองครบรอบ 40 ปี

  • Embarcadero ได้อุทิศ Easter Egg ในผลิตภัณฑ์เพื่อฉลองครบรอบ 40 ปีครั้งนี้ให้กับวันครบรอบของ Turbo Pascal
  • ข้อความลงท้ายด้วย “Happy 40th birthday, Turbo Pascal!”

1 ความคิดเห็น

 
GN⁺ 2023-12-02
ความคิดเห็นบน Hacker News
  • หนึ่งในเกมคอมพิวเตอร์ที่ผมชอบคือ ZZT ซึ่งเขียนด้วย Turbo Pascal เป็นเกมโหมดข้อความแปลก ๆ ที่ Tim Sweeney แห่ง Epic Megagames สร้างขึ้น ผสมทั้งปริศนาและยิงปืนเข้าด้วยกัน และแม้แต่เวอร์ชันแชร์แวร์ฟรีก็มีตัวแก้ไขเกมมาให้ รวมถึงภาษาโปรแกรมมิ่งเล็ก ๆ ชื่อ ZZT-OOP ด้วย
    ซอร์สโค้ดต้นฉบับของ ZZT สูญหายไปแล้ว แต่หลายปีต่อมา Adrian Siekierka ได้ทำรีเวิร์สเอนจิเนียริ่งโค้ด Pascal เดิมอย่างมุ่งมั่น จนเมื่อคอมไพล์ด้วย Turbo Pascal เวอร์ชันเดิมแล้วได้ ไฟล์ executable ที่เหมือนกันระดับไบต์ต่อไบต์ น่าทึ่งมาก
    https://blog.asie.pl/2020/08/reconstructing-zzt/
    https://news.ycombinator.com/item?id=22609474
    https://benhoyt.com/writings/zzt-in-go/

    • เพราะ ZZT ผมเลยติดตั้ง Turbo Pascal ไว้ในคอมพิวเตอร์
    • สำหรับผม ZZT ก็เป็นซอฟต์แวร์ที่พิเศษมากจริง ๆ และเป็นจุดเริ่มต้นที่ทำให้ได้สัมผัสการเขียนโปรแกรมอย่างจริงจัง ก่อนหน้านั้นเคยแค่พิมพ์ตามรายการโค้ด BASIC ในนิตยสาร หรือทำอะไรเล็ก ๆ น้อย ๆ บน BBC Micro ที่โรงเรียน แต่บน PC เครื่องแรก ผมได้เรียนรู้ด้วยการสร้างสิ่งที่ต้องการขึ้นมาตั้งแต่ต้นด้วย ZZT-OOP
    • ZZT ยังเป็นแรงบันดาลใจให้โอเวอร์เวิลด์ของ Frog Fractions 2 ด้วย
  • Turbo Pascal เป็นสิ่งที่พาผมเข้าสู่การเขียนโปรแกรม ผมจำได้ว่าเคยจ่ายเงินหลายร้อยมาร์คเยอรมันเพื่อซื้อไลเซนส์ Borland Pascal 7.0 และต่อมาก็ Delphi 1.0 กับ 2.0 สุดท้ายก็ได้ทำซอฟต์แวร์ “เชิงพาณิชย์” ตัวแรกที่ขายได้เงิน
    ในยุค DOS ถ้าไม่นับ Basic แล้ว Turbo Pascal น่าจะเป็นเส้นทางที่ง่ายที่สุดในการเข้าสู่การเขียนโปรแกรม และบน Windows 3.1/95 Delphi ก็เป็นเครื่องมือที่ทำให้ตาสว่างว่า GUI programming สามารถง่ายได้ขนาดนี้
    ในหลายแง่ กลับรู้สึกเหมือนถอยหลังจากตอนนั้นเสียอีก คอมไพเลอร์ Turbo Pascal / Delphi สร้างโปรแกรม GUI เต็มรูปแบบออกมาเป็นไบนารีขนาดเล็กได้ แต่ผมสงสัยว่าซอฟต์แวร์ที่มีประสิทธิภาพใกล้เคียงกันในวันนี้ทำไมถึงใหญ่ขึ้นได้อีกหลายหลักขนาดนั้น

    • ใน Turbo Pascal รุ่นแรก ๆ ตราบใดที่โปรแกรมและซอร์สใส่ลงใน RAM ได้ กระบวนการแก้โค้ดแล้วดูผลลัพธ์แทบจะเกิดขึ้นทันทีแม้บนเครื่องยุคนั้น การโต้ตอบก็ถูกออกแบบโดยคำนึงถึงความทันที และเท่าที่จำได้ แทนที่จะพ่นหน้ารายงาน error ยาวไม่รู้จบ มันจะพาไปยังบรรทัดที่เกิด error ทันที
      ถ้าสาเหตุเป็นแค่พิมพ์ผิด การแก้ไข คอมไพล์ใหม่ และรัน ใช้เวลาแค่ 1 วินาที เครื่องมือสมัยนี้จำนวนมากมีปรัชญาอีกแบบ ที่มักบังคับให้นักพัฒนาต้องทำขั้นตอนที่ไม่จำเป็นมากขึ้น
    • โปรแกรม GUI “ฟีเจอร์ครบ” ในยุค 90 แทบจะใช้งานยากตามมาตรฐานปัจจุบัน กล่าวอีกอย่างคือ เฟรมเวิร์กและโปรแกรมทุกวันนี้ไม่ได้มี ประสิทธิภาพใกล้เคียงกัน กับของช่วงกลางยุค 90 และแค่คอมไพล์แอปเมื่อ 25 ปีก่อนใหม่ด้วยเฟรมเวิร์กเวอร์ชันปัจจุบัน ในทางทฤษฎีก็จะได้สิ่งต่าง ๆ อย่าง Unicode, internationalization, accessibility และการรองรับเครือข่ายติดมาด้วย
      ข้อยกเว้นคือ SAP ซึ่งไม่รู้ทำได้อย่างไร เหมือนจะประสบความสำเร็จในการผสมความเป็นปฏิปักษ์ต่อผู้ใช้ของ UI ยุค 90 เข้ากับการกินทรัพยากรของโปรแกรมสมัยใหม่ ภาษาแรกที่ผมใช้ต่อจาก BASIC ก็เป็น Turbo Pascal เหมือนกัน
    • อ๋อ มาร์คนี่เก่าเลยนะ ไม่รู้ว่าเป็นเฉพาะในอังกฤษหรือเปล่า แต่เวลาพูดหรือเขียน เราไม่ได้แปลชื่อ mark เป็นอังกฤษ แต่เรียกว่า Deutschmark เสมอ
    • ในไฟล์ executable นั้นอย่างน้อยก็ขาดช้างตัวใหญ่ไปหนึ่งตัว นั่นคือ การรองรับ Unicode ซึ่งตอนนั้นคงใส่ลงใน RAM ของ PC ไม่ได้ด้วยซ้ำ
    • Turbo Pascal ไม่ได้สอนแค่การเขียนโปรแกรมแบบ procedural จากบนลงล่างที่เป็นแนวทางทั่วไปของ Pascal ในยุคนั้น แต่ยังสอนการเขียนโปรแกรมเชิงวัตถุผ่าน เดโม Breakout ด้วย
  • สิ่งที่จำได้ชัดที่สุดเกี่ยวกับ TP คือทุกฟังก์ชันมีตัวอย่างโค้ดที่เรียบง่ายและเข้าใจง่าย และจัดเรียงอย่างมีเหตุผล ทำให้ค้นหาและนำไปใช้ได้ง่าย ดังนั้นแม้ตอนเป็นวัยรุ่นที่แทบจะเข้าใจ BASIC ได้แค่พอถูไถ ผมก็ยังเรียน Turbo Pascal ด้วยตัวเองได้โดยใช้แค่ IDE โดยไม่ต้องมีอินเทอร์เน็ต
    ระบบสมัยนี้หลายอย่างแทบไม่มีอะไรที่ใกล้เคียงแบบนั้นเลย ผมสงสัยว่าเป็นเพราะลักษณะของระบบยุคนั้นที่เรียบง่ายและอยู่บน x86 DOS หรือว่าเพราะความเร็วในการเปลี่ยนแปลงของยุคใหม่ ความต้องการข้ามแพลตฟอร์ม และความซับซ้อน ทำให้การสร้างสิ่งแบบนั้นเป็นไปไม่ได้แล้วกันแน่

    • Processing(P5) เคยมีความสามารถแบบนี้ ใน IDE สามารถเลือกสตริงข้อความแล้วค้นหาในเอกสารได้ และถ้าเป็นฟังก์ชันหรือค่าคงที่ในตัว ก็จะเปิดหน้า HTML แบบสแตติกที่ติดตั้งมาพร้อมซอฟต์แวร์ จึงไม่ต้องใช้อินเทอร์เน็ตหรือเซิร์ฟเวอร์ แม้ออฟไลน์ก็ยังเรียกดูเอกสารได้ และรู้สึกเหมือนความสามารถพื้นฐานแบบนี้หายไปจากการสร้างไซต์สแตติกในปัจจุบัน
      อยากเสริมว่าในตอนนั้น Processing เป็นเฟรมเวิร์ก creative coding เพียงตัวเดียวที่มีเอกสารออฟไลน์ครบถ้วน ตัวอย่างเช่น OpenFrameworks แม้ตอนนี้ก็ยังเหมือนเอกสารเปลือกเปล่าที่ส่วนใหญ่สร้างอัตโนมัติ
      ผมคิดว่านี่เป็นหนึ่งในปัจจัยที่ทำให้ Processing ได้เปรียบทางเลือกอื่น ๆ ในแวดวงการศึกษา น่าเสียดายพอสมควรที่ p5.js ไม่ได้สืบทอดธรรมเนียมนั้นอย่างเต็มที่ ต้องออนไลน์ถึงจะอ่านเอกสารได้ และไม่ใช่เว็บไซต์สแตติก แต่กลายเป็นรูปแบบที่เรนเดอร์ข้อความด้วย JavaScript ตอนเปิดหน้าแทน ถึงอย่างนั้นตัวเอกสารเองก็ครบถ้วน รวมถึงตัวอย่างด้วย
      https://processing.org/
      https://p5js.org/
    • นั่นเป็นเพราะคนสมัยนี้ไม่เขียน เอกสาร กัน ภาษาใหม่ ๆ มักเป็นโอเพนซอร์ส และมีวัฒนธรรมว่าให้อ่านซอร์สเอาเอง ซึ่งผมมองว่านั่นผิด
    • ผมก็เรียน Turbo Pascal โดยไม่มีหนังสือเหมือนกัน มีหนังสือ BASIC ที่มากับคอมพิวเตอร์อยู่ แต่ Turbo Pascal ง่ายกว่ามาก การวาดพิกเซลก็แค่เลือกโหมดแสดงผลแบบ double buffering แล้ววาดพิกเซลไปเลย ส่วนการอ่านพอร์ตจอยสติกหรือเมาส์ก็แค่อ่านมันตรง ๆ
    • Turbo C ก็เหมือนกัน สมัยนี้ถ้าจะหาตัวอย่างก็ต้องภาวนาให้โชคดี
    • ผมก็เหมือนกัน ใช้ GFA Basic อยู่หลายปีแล้วมาเจอ Turbo Pascal มันรู้สึกเหมือน BASIC เวอร์ชันที่มีบล็อกโค้ด ชนิดตัวแปรรวมถึงเรคอร์ด ฟังก์ชันกับโพรซีเยอร์ และแม้แต่การอ้างอิง จึงช่วยได้มาก ผมเรียน Pascal ได้เพียงแค่อ่านเอกสารช่วยเหลือและดูตัวอย่างที่ชัดเจนและมีประโยชน์มากซึ่งมีอยู่แทบทุกหน้า
      ตอนนั้นยังอีกหลายปีกว่าผมจะได้รู้จักอินเทอร์เน็ตที่มหาวิทยาลัย จึงไม่มีวิธีเข้าถึงสื่อการเรียนรู้ได้ง่าย ก่อนหน้านั้นเคยพยายามเรียน C หลายครั้งแต่ไม่ค่อยสำเร็จ หลังจากเรียน TP แล้วจึงสามารถย้ายสิ่งที่เรียนจาก Pascal ไปสู่ C ได้ และตอนนั้นก็ยังได้ความช่วยเหลือจากผลิตภัณฑ์ชั้นยอดอีกตัวของ Borland คือ C++ Builder
  • ภาษาโปรแกรม “จริงจัง” ภาษาแรกที่ผมเรียน หลังผ่าน 6809E assembly, BASIC สาย structured และ batch/shell มาในช่วงปลายยุค 80 คือ Turbo Pascal ตอนเข้าเรียนวิทยาการคอมพิวเตอร์ช่วงต้นยุค 90 วิชาปีหนึ่งก็ยังสอนด้วย Borland Pascal อยู่ ประสบการณ์นั้นจึงมีประโยชน์มาก
    ไม่กี่ปีต่อมา พื้นฐาน Pascal ทำให้ผมได้ทำงานพัฒนาแอปแบบกำหนดเองด้วย Delphi อยู่ราว 5 ปี และต่อเนื่องไปสู่การทดสอบ Kylix กับ C++Builder IDE ที่ Borland เป็นช่วงเวลาที่ดีจริง ๆ
    ตอนนี้ก็ยังคิดถึง Delphi ทุกวันนี้ถ้า IDE ไม่มีปลั๊กอินก็มักถูกมองว่าเป็นข้อบกพร่องร้ายแรงจนเป็นเรื่องปกติไปแล้ว แต่ในตอนนั้น แนวคิดเรื่องไลบรารีคอมโพเนนต์และสภาพแวดล้อมการเขียนโค้ดที่ขยายได้ง่ายด้วยภาษาของตัวเองนั้นเหมือนเวทมนตร์ล้วน ๆ การได้แตะ VCL และตัว IDE เองสนุกมากจริง ๆ
    น่าเสียดายที่ Borland มุ่งสู่ตลาดองค์กร ทิ้งนักพัฒนาระดับรากหญ้าไว้ข้างหลัง และแทบจะฆ่าการเติบโตของการยอมรับในชุมชนไปเลย อย่างน้อยจนถึงช่วงราว ๆ Delphi 7 มันเป็นชุดเครื่องมือที่ยอดเยี่ยมจริง ๆ

    • ในประเทศของเรา Delphi เป็นสภาพแวดล้อมการพัฒนาที่ได้รับความนิยมอย่างท่วมท้นที่สุด เป็นสถานการณ์แปลก ๆ ที่โลกส่วนใหญ่ไปทาง VB 5 แต่พวกเราใช้ Delphi มองจากภายนอกมันดูเป็นสภาพแวดล้อมที่ยอดเยี่ยม แต่ด้วยเหตุผลบางอย่าง ดูเหมือนจะประสบความสำเร็จอย่างมากเฉพาะในบางตลาดเท่านั้น
    • ผมก็เดินเส้นทางคล้าย ๆ กัน แต่ภายหลังต้องย้ายไป Visual Basic 5 อย่างหลีกเลี่ยงไม่ได้เพราะเรื่องงาน ถึงอย่างนั้นก็ยังรู้สึกว่าไม่มีอะไรเทียบ Delphi ได้ในงานพัฒนา GUI ส่วน VCL นั้นอัจฉริยะมาก
  • ผมได้สัมผัส TP ครั้งแรกในฤดูหนาวปี 1993 ตอนอายุ 14 ปี เมื่อคัดลอกเถื่อนมาจาก warez BBS ต่างจากการแค่รันไฟล์ .BAS ความรู้สึกถึง พลังดิบ ๆ ตอนคอมไพล์ EXE ด้วยตัวเองนั้นชวนเคลิบเคลิ้มมาก
    ผมเริ่มดัดแปลง Renegade BBS และทำโปรแกรม door และแม้จะล้มเหลว ก็ยังพยายามสร้าง worm, โทรจัน และไวรัส ประสบการณ์นี้เปลี่ยนชีวิตผมและสร้างเส้นทางที่ทำให้มาอยู่ในสายเทคโนโลยีตอนนี้ แถมแนวโน้มชอบนอกลู่นอกทางในวัยรุ่นก็แก้ได้แล้วด้วย ผมติดหนี้ Borland มาก

    • สำหรับวัยรุ่นที่ยังไม่เข้าใจเรื่องคอมไพเลอร์กับอินเทอร์พรีเตอร์อย่างถ่องแท้ การที่ TP4 สามารถสร้างไฟล์ EXE ได้ด้วยตัวเองนั้นเหมือนได้พลังเหนือมนุษย์ รู้สึกเหมือนได้เป็นโปรแกรมเมอร์จริง ๆ
      ไม่กี่ปีต่อมา ตอนอายุ 16 ผมพัฒนาแอปเล็ก ๆ สำหรับจัดการลูกค้าให้พ่อและได้รับเงินจริง ๆ แล้วเอาเงินส่วนหนึ่งไปซื้อ TP6 เวอร์ชันถูกลิขสิทธิ์ เป็นช่วงเวลาที่ดีจริง ๆ
    • ทำให้นึกถึงยุค BBS เก่า ๆ ที่ดี ตอนปี 1989 อายุ 17 ผมเรียนวิธีเขียนไดรเวอร์ serial แบบใช้ interrupt แล้วทำไลบรารี door สำหรับ Turbo Pascal และแจกจ่ายเป็นแชร์แวร์ มันถูกใช้งานค่อนข้างมากจนกระทั่งวงการ BBS หายไปอย่างรวดเร็วในช่วงกลางยุค 90
    • ผมก็มีประสบการณ์คล้าย ๆ กันในยุคเดียวกัน นอกจากเรื่องนอกลู่นอกทางแล้ว ยังได้ลองเล่น การเขียนโปรแกรมกราฟิก โดยใช้ inline assembly ในส่วนที่ “ต้องการประสิทธิภาพ” บน 386SX ประสบการณ์นั้นวางรากฐานให้กับงานที่ทำอยู่ตอนนี้อย่างชัดเจน
  • Free Pascal ยังมีโหมดที่คล้ายกับ TP IDE ดั้งเดิมอยู่ เพียงแต่ว่าอย่างที่พวกเขาเองยอมรับ โค้ดกำลังเสื่อมสภาพลง และยังพึ่งพาลักษณะเฉพาะเก่า ๆ ของแพลตฟอร์ม MS-DOS ดั้งเดิมอย่างมาก
    น่าเสียดายที่ไม่มีเวอร์ชันหน้าตาคล้ายกันที่ใช้เป็นเอดิเตอร์ทั่วไปในเทอร์มินัลได้เหมือน neovim หรือ emacs และผสานกับฟีเจอร์แนว IDE สมัยใหม่อย่าง LSP, parser ของ tree-sitter, หรือ Debug Adapter Protocol ได้ด้วย มันอาจเปลี่ยนเกมได้เลยเวลาต้องแก้โค้ดระยะไกลผ่านการเชื่อมต่อ SSH/เทอร์มินัล

    • https://github.com/magiblot/tvision
    • เมื่อราว ๆ สิบกว่าปีก่อน เพื่อนหลายคนที่เป็นแฟน Turbo Pascal ย้ายไปใช้ Lazarus กัน มันดูเหมือนเป็นผู้สืบทอดตามตรรกะของ Turbo Pascal และ Free Pascal ส่วนตัวผมไม่ค่อยชอบภาษา Pascal เท่าไร เลยย้ายไปเขียน C++ ใน Emacs แทน
  • คงยากจะพูดให้เกินจริงได้ว่า Turbo Pascal เร็วกว่าผลิตภัณฑ์คู่แข่งแค่ไหน มันเร็วมากจนแทบสงสัยว่ามีลูกเล่นอะไรอยู่หรือเปล่า และโปรแกรมที่สร้างออกมาก็เร็วกว่าเช่นกัน
    สำหรับยุคนั้นมันคือ ผลงานชิ้นเอก และคำชมที่ได้รับก็สมควรอย่างยิ่ง

    • ในวิชากราฟิกที่มหาวิทยาลัย ซึ่ง Jack Bresenham เป็นผู้สอน ผมถามว่าใช้ Borland Turbo C ตัวใหม่ทำการบ้านได้ไหม หลังรีคอมไพล์อย่างเร่งด่วนเพื่อเดโม ผมก็พบว่าเพราะ PC ในห้องเรียนไม่ใช่ 80286 โค้ดของผมจึงรันได้เพียงหนึ่งในสามของความเร็วของโค้ดคนอื่น ๆ ที่เขียนด้วย Turbo Pascal v4
      นั่นทำให้ผมได้เรียนรู้ว่าคอมไพเลอร์ที่สุกงอมแล้วดีกว่าคอมไพเลอร์รุ่น 1.0
    • ใช่เลย แม้บนโปรเซสเซอร์ที่ช้าในยุคนั้น คอมไพเลอร์ Turbo Pascal ก็ประมวลผลโค้ดได้รวดเร็วเหมือนพุ่งทะยาน ต่างจากระบบบิลด์ซับซ้อนในปัจจุบันที่แม้จะคอมไพล์โปรแกรมที่ทำสิ่งเดียวกันก็ยังใช้เวลานาน
    • ทุกวันนี้ Pascal ก็ยังถูกพูดถึงว่าเป็นภาษาที่คอมไพล์ได้เร็ว มักถูกยกมาในทำนองนั้นแม้ในการถกเถียงเรื่อง Go กับ Rust
      ผมจำได้ว่าเมื่อหลายปีก่อนเคยบิลด์ FPC รุ่นสาย 2.0 บนพีซี Windows ที่มี RAM 512MB ใช้เวลาไม่ถึง 5 นาที
    • Delphi ผู้สืบทอดของมันก็ยังเป็นแบบนั้น มีบทความเกี่ยวกับโปรเจกต์จริงที่มีโค้ดมากกว่าหนึ่งล้านบรรทัดเล็กน้อย พร้อมวิดีโอ และในคอมเมนต์ยังพูดถึงเวลาคอมไพล์บน Win64 ด้วย
      https://www.tmssoftware.com/site/blogold.asp?post=759
    • https://prog21.dadgum.com/47.html
  • ตอนเด็ก ๆ เจ้าของร้านคอมพิวเตอร์ใจดีขาย เครื่องกึ่งเข้ากันได้กับ PC ที่รัน MS-DOS 1.25 ให้ผมในราคาดี ๆ ประมาณเท่าค่าตัดหญ้าสักร้อยครั้งกับค่าช่วยเลี้ยงเด็ก
    เจ้าของร้านคนนั้นขาย Turbo Pascal สำหรับ MS-DOS ทั่วไปให้ผม คือเวอร์ชันที่ไม่สมมติว่ามี PC BIOS โดยมาเป็นฟลอปปีดิสก์ 8 นิ้ว แล้วเขาก็ถ่ายโอนมาเป็นฟอร์แมต 5.25 นิ้ว 160KB ที่เครื่องกึ่งเข้ากันได้ของผมใช้ได้ หวังว่าตอนนั้นผมจะรู้สึกขอบคุณมากพอ ๆ กับที่รู้สึกในตอนนี้ เพราะนั่นเป็นสิ่งที่เริ่มต้นอาชีพของผม

    • งั้นขอถามหน่อย เครื่องกึ่งเข้ากันได้กับ PC ที่ว่าคืออะไรกันแน่?
  • ช่วงต้นยุค 80 ผมใช้ Apple Pascal บน Apple ][+ และ //e หรือก็คือสภาพแวดล้อมที่อิงกับ UCSC p-system Pascal แล้วจึงย้ายมาใช้ Turbo Pascal บน DOS Turbo Pascal นั้นสนุกจริง ๆ เป็นประสบการณ์ที่ยอดเยี่ยมด้วยคอมไพเลอร์ที่เร็วมาก ฟีดแบ็กที่ดี เอดิเตอร์แบบสี และคีย์ลัดแบบ WordStar ที่คุ้นเคยอยู่แล้ว
    ยังจำได้ด้วยว่าโปรแกรมใหญ่พอจนต้องใช้ฟีเจอร์ overlay ซึ่งทำให้โหลดส่วนต่าง ๆ ของโปรแกรมบน DOS เข้ามาได้เหมือนเป็นหน้าต่าง ๆ
    ผมยังจำได้ว่าได้พบกับ David Intersimone ซึ่งเป็นทูตประชาสัมพันธ์ชั้นยอดของ Borland ในช่วงใดช่วงหนึ่งของยุค 80 น่าจะเป็นช่วงปลาย ๆ ตอนที่เขามาเยี่ยมตามคำเชิญของสาขาท้องถิ่นของ ACM ที่มหาวิทยาลัยของเรา

  • แปลกดีที่ Turbo Pascal เป็นภาษาโปรแกรมมิงระดับสูงภาษาแรกที่ผมเรียน และสภาพแวดล้อมตอนนั้นคือ Macintosh Plus ภายหลังถึงได้รู้ว่า Turbo Pascal เป็นของฝั่ง PC มากกว่า
    ตอนเรียนมหาวิทยาลัย ผมใช้เงินกู้เพื่อการศึกษาซื้อคอมพิวเตอร์ Apple เครื่องแรกของตัวเอง คือ Macintosh Plus และบังเอิญเห็นประกาศขาย Turbo Pascal สำหรับ Mac ในหมวดโฆษณาของหนังสือพิมพ์มหาวิทยาลัย อาจารย์คนหนึ่งขายอยู่ราว 40 ดอลลาร์ ผมจึงซื้อทันที
    โชคดีที่มีคู่มือมาด้วย แต่เครื่องมือพัฒนา Macintosh นั้นเรียบง่ายมาก ไม่มี ResEdit และมีแอป R-Maker แปลก ๆ ที่ให้สร้างรีซอร์สของ Macintosh เป็นไฟล์ข้อความ แล้วส่งผ่านเครื่องมือเพื่อสร้าง resource fork
    แอปแรก ๆ ที่ผมทำคือการนำอัลกอริทึมจากคอลัมน์ Computer Recreations ของ Scientific American มาทำเป็น Turbo Pascal โชคดีที่แทบไม่ต้องมี UI ปกติก็แค่หน้าต่างหนึ่งบานกับปุ่มไม่กี่ปุ่มก็พอ
    ต่อมาผมได้รู้จัก THINK Pascal ซึ่งเป็น IDE ที่เน้น Mac มากกว่ามาก จึงย้ายไปทางนั้น และหลังจากนั้นก็ลุย THINK C ต่อ
    ถึงอย่างนั้น Turbo Pascal ก็จะยังคงเป็นความทรงจำอันน่ารักสำหรับผมเสมอ ในช่วงเวลาที่กำลังก้าวเข้าสู่โลกใหม่อันดิบหยาบนั้น Turbo Pascal เป็นผู้เปิดประตูให้ผม