7 คะแนน โดย GN⁺ 2023-12-29 | 7 ความคิดเห็น | แชร์ทาง WhatsApp

IDE ที่เราเคยมีเมื่อ 30 ปีก่อน... และสิ่งที่เราสูญเสียไป

  • ประสบการณ์การเริ่มเรียนเขียนโปรแกรมในช่วงปลายทศวรรษ 1980 ถึงต้นทศวรรษ 1990
  • IDE แบบข้อความล้วนที่น่าประทับใจ แม้จะมีข้อจำกัดด้านฮาร์ดแวร์ในยุคนั้น
  • การเปรียบเทียบระหว่างเอดิเตอร์โหมดข้อความในยุคก่อนที่ Windows จะครอบงำอุตสาหกรรมพีซี กับ IDE ในปัจจุบัน

เอดิเตอร์ตัวแรกและ TUI

  • โปรแกรม DOS ส่วนใหญ่ในช่วงทศวรรษ 1990 ใช้อินเทอร์เฟซผู้ใช้แบบข้อความเต็มหน้าจอ (TUI)
  • เอดิเตอร์ของ MS-DOS (EDIT.COM) มีอินเทอร์เฟซที่ครบถ้วน ทั้งแถบเมนู กล่องโต้ตอบ และแถบสถานะคีย์ลัด
  • แต่ละโปรแกรมมีอินเทอร์เฟซเฉพาะตัว แต่ไม่ได้ทำให้การใช้งานหรือการค้นพบฟังก์ชันยากขึ้นมากนัก
  • ระบบจัดการข้อมูลส่วนตัว (PIM) อย่าง SideKick Plus เป็นโปรแกรม TSR ที่เรียกขึ้นมาได้ทุกเมื่อด้วยการกด Ctrl+Alt

ซีรีส์ Borland Turbo

  • ซีรีส์ Borland Turbo เป็น IDE ที่มี TUI แบบเต็มหน้าจออันทรงพลังและออกแบบเฉพาะสำหรับแต่ละภาษา
  • Turbo C++ มีทั้งการเน้นไวยากรณ์ การผนวกรวมคอมไพเลอร์และข้อความวินิจฉัย การจัดการโปรเจกต์และระบบบิลด์แบบรวม ดีบักเกอร์ และคู่มืออ้างอิงฉบับสมบูรณ์
  • ฟังก์ชันเหล่านี้มีให้ใช้ตั้งแต่ต้นทศวรรษ 1990 แล้ว

แล้ว Linux ในยุคนั้นเป็นอย่างไร?

  • ใน Linux ยุคแรก โปรแกรมส่วนใหญ่ยังเป็นแบบข้อความ และไม่ได้มี TUI แบบเต็มหน้าจอ
  • Vim และ Emacs ทรงพลังมาก แต่ไม่ได้มอบประสบการณ์ที่ตรงไปตรงมาและบูรณาการแบบเดียวกับชุดผลิตภัณฑ์ IDE ของ Borland

TUI IDE สมัยใหม่

  • RHIDE มีหน้าตาและประสบการณ์คล้ายกับ Borland Turbo C++ มาก แต่ใช้ได้เฉพาะบน DOS และหยุดพัฒนาไปแล้ว
  • Free Pascal และ QB64 มอบประสบการณ์แบบเก่าบนโค้ดเบสสมัยใหม่ แต่ใช้ภาษาที่ไม่ค่อยดึงดูดความสนใจในปัจจุบัน

คอนโซล IDE สมัยใหม่แบบ "จริงจัง"

  • Neovim, Doom Emacs และ Helix ทรงพลัง แต่ก็ยังต่างจากประสบการณ์ที่ผลิตภัณฑ์ของ Borland เคยมอบให้
  • GNU Nano ไม่ใช่ IDE และชวนให้นึกถึงประสบการณ์ของโปรแกรมประมวลผลคำในอดีต

ทำไม TUI IDE ถึงสำคัญ?

  • เมื่อต้องทำงานบนเครื่องระยะไกล TUI IDE อาจดีกว่าระบบปฏิบัติการแบบกราฟิก
  • ฟีเจอร์ remote extension ของ VSCode ไม่ได้เป็นโอเพนซอร์ส และใช้งานไม่ได้บนบางระบบปฏิบัติการ
  • ใช้ทรัพยากรน้อยกว่า

"ความบวม" ที่มีอยู่ทุกที่

  • Borland Turbo C++ มีขนาดไม่ถึง 9MB หลังติดตั้ง และทำงานได้บน RAM 640kb
  • IDE สมัยใหม่มีเครื่องมือรีแฟกเตอร์และความสามารถที่ดีกว่า แต่โดยพื้นฐานแล้วไม่ได้เปลี่ยนไปมากนัก
  • การเขียนโค้ดโดยมี AI ช่วยอาจเป็นความแตกต่างใหม่

ความเห็นของ GN⁺

  • บทความนี้เปรียบเทียบ IDE เมื่อ 30 ปีก่อนกับสภาพแวดล้อมการพัฒนาในปัจจุบัน พร้อมสำรวจว่าฟังก์ชันจากอดีตกำลังกลับมาในยุคใหม่อย่างไร
  • โดยเฉพาะอย่างยิ่ง สภาพแวดล้อมการพัฒนาแบบบูรณาการและประสบการณ์ผู้ใช้ที่ตรงไปตรงมาของ IDE แบบ TUI ในอดีต ยังเป็นสิ่งที่ IDE จำนวนมากในปัจจุบันตามไม่ทัน
  • บทความนี้ปลุกความคิดถึงต่อประวัติศาสตร์ของการพัฒนาซอฟต์แวร์ และมอบมุมมองต่อการพัฒนาของเครื่องมือเขียนโค้ดสมัยใหม่

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

 
geekgram 2023-12-30

ถ้าจะเขียนมาสเตอร์บูตเซกเตอร์ Turbo C ก็ยังใช้ได้อยู่ดี...เก็บไว้ที่มุมหนึ่งของดิสก์และไม่เคยหยิบออกมาเลยกี่สิบปีแล้ว 555

 
ianstream 2023-12-29

ไม่ได้เห็น Borland Turbo มานานแล้ว ฮ่าๆ

 
xguru 2023-12-29

อ้า ชวนให้นึกถึงความหลังเลยครับ।

แม้จะไม่ได้ถูกรวมไว้ในนี้ แต่ Visual Basic for DOS ที่ออกมาในปี 91 นั้น ในยุคนั้นถือว่าช็อกมากจริง ๆ
https://winworldpc.com/product/microsoft-visual-bas/10-for-dos

มันเป็น TUI แต่มีคอนโทรลสารพัดแบบที่เคยเห็นใน GUI รวมมาให้ด้วย เลยทำให้สร้างแอป TUI ได้ง่ายมาก ๆ
แม้เวลาจะผ่านไป 30 ปีแล้ว ตอนนี้ก็ยังแทบไม่ค่อยเห็นเครื่องมือที่ช่วยพัฒนา TUI ได้ง่ายแบบนี้

 
GN⁺ 2023-12-29
ความคิดเห็นจาก Hacker News
  • ความเร็วและประสิทธิภาพของ Visual Basic 6

    ผู้ใช้คนหนึ่งชี้ว่า ความเร็วและประสิทธิภาพที่ Visual Basic 6 มอบให้กับการพัฒนาเดสก์ท็อป GUI นั้น เครื่องมือพัฒนาเว็บและมือถือสมัยใหม่ยังตามไม่ทัน พร้อมตั้งคำถามว่าทำไมงานที่เคยทำได้ด้วย VB6 ถึงกลับทำได้ช้าลงในปัจจุบัน

  • ความทรงจำเกี่ยวกับ Metrowerks CodeWarrior

    ผู้ใช้อีกคนรำลึกถึง Metrowerks CodeWarrior ที่ออกเมื่อ 29 ปีก่อน และเล่าว่าเคยใส่เสื้อยืดที่ได้รับตอนนั้นอยู่นานมาก อีกทั้งยังย้อนความว่า IDE ของ CodeWarrior ใช้งานง่ายกว่าหน้าจอ DOS มาก

  • ความสามารถอันทรงพลังของ IDE ใน Turbo Pascal 7.0

    มีการอธิบายถึงฟีเจอร์อันทรงพลังของ IDE ใน Turbo Pascal 7.0 ซึ่งรวมถึงต้นไม้ของการเขียนโปรแกรมเชิงวัตถุ (OOP), การแก้ไขโค้ดแอสเซมบลีแบบ inline และภายนอก, หน้าต่างรีจิสเตอร์ และอื่น ๆ โดยทั้งหมดนี้มอบสภาพแวดล้อมสำหรับพัฒนาและดีบักอย่างครบถ้วนที่สามารถทำงานได้แม้บน IBM PC ในยุคนั้น

  • ความผูกพันกับ Turbo Pascal

    ผู้ใช้คนหนึ่งแสดงความรักที่มีต่อ Turbo Pascal และย้อนความว่า ก่อนที่อินเทอร์เน็ตจะแพร่หลายมาก ผู้คนต้องแก้ปัญหาและหาความรู้จากคู่มือ หนังสือ นิตยสาร และ BBS ปัจจุบันเมื่อมีปัญหาก็มักจะค้นหาใน Google หรือใช้ไลบรารี แต่ในอดีตนักพัฒนาสามารถเข้าใจสแตกได้แทบทั้งหมด

  • การเปรียบเทียบระหว่าง VSCode กับ TUI IDE

    ผู้ใช้คนหนึ่งมองว่า TUI (Text-based User Interface) IDE เหมาะกับงานรีโมตมากกว่า แต่มีอีกคนโต้แย้งว่า VSCode สะดวกกว่ามากเมื่อต้องทำงานบนเซิร์ฟเวอร์ระยะไกล เพราะโครงสร้างแบบเว็บของ VSCode ทำให้สามารถรันฟรอนต์เอนด์บนเครื่องโลคัล ขณะที่รันแบ็กเอนด์จากระยะไกลได้ ส่งผลให้งานส่วนใหญ่เร็วและมีประสิทธิภาพกว่า

  • คุณค่าที่มักถูกมองข้ามของ Eclipse

    มีการชี้ว่า Eclipse มักถูกมองข้าม ทั้งที่เป็น IDE ที่มีฟีเจอร์ครบถ้วน Eclipse ใช้ทรัพยากรน้อยกว่า VSCode แต่ยังสามารถรันเครื่องมือต่าง ๆ ได้หลากหลาย และครอบคลุมตั้งแต่การเขียนโค้ดไปจนถึง git, CI/CD และการพัฒนาแบบรีโมต

  • Visual Studio และ Jetbrains IDE ในฐานะผู้สืบทอด Borland

    มีความเห็นว่า Visual Studio และ Jetbrains IDE คือทายาทยุคใหม่ของเครื่องมือจาก Borland โดยประเมินว่าทั้งคู่มีการออกแบบแบบองค์รวมที่เน้นการดีบักเป็นศูนย์กลาง ขณะเดียวกันก็เห็นว่าแนวทางการพัฒนาแบบใช้เทอร์มินัลเป็นหลักในสไตล์ FAANG ยุคใหม่ได้ขัดขวางการพัฒนาเครื่องมือ แต่ก็รู้สึกว่าอธิบายเรื่องนี้ให้คนที่ไม่เคยสัมผัสยุคนั้นเข้าใจได้ยาก

  • ยุคทองของ Delphi

    มีผู้ยืนยันว่า Delphi คือจุดสูงสุดของเครื่องมือ Borland และทุกครั้งที่ได้ยินว่าการพัฒนา GUI ด้วย Electron นั้นง่าย ก็อดคิดไม่ได้ว่าอยากให้คนเหล่านั้นได้สัมผัสช่วงรุ่งเรืองของ Delphi โดยระบุว่าสามารถดูเดโมง่าย ๆ ของ Delphi ได้บน YouTube

  • ความยอดเยี่ยมของสภาพแวดล้อมพัฒนา BRIEF

    มีการย้อนความว่าแม้ BRIEF จะไม่ใช่ IDE แต่ก็ยอดเยี่ยมมากในฐานะโปรแกรมแก้ไขโค้ดสำหรับการพัฒนาซอฟต์แวร์

  • ความภักดีต่อ Neovim

    ผู้ใช้คนหนึ่งชื่นชมความสามารถในการปรับแต่ง, รูปแบบการทำงานแบบ modal และความเป็นโอเพนซอร์สของ Neovim พร้อมย้ำว่าต่อให้ VSCode หรือ IDE อื่นจะมีฟีเจอร์เหนือกว่า ก็จะไม่เปลี่ยนไปใช้ จากประสบการณ์ในงานวิศวกรรมซอฟต์แวร์ เขาเรียนรู้ว่าแต่ละคนชอบเวิร์กโฟลว์ไม่เหมือนกัน และเชื่อว่าสิ่งสำคัญคือการเปิดโอกาสให้ทุกคนสร้างสภาพแวดล้อมการทำงานของตัวเองด้วยเครื่องมือที่ต้องการ

 
iolothebard 2023-12-29

สภาพแวดล้อมการพัฒนาแบบบูรณาการของ uscd-pascal ก็ยอดเยี่ยมเหมือนกันนะ...(หือ?)

 
fupfin 2023-12-29

Apple Pascal นั้นถึงขั้นรวมแม้กระทั่ง OS ไว้ด้วยเลยครับ

 
fupfin 2023-12-29

คุณลุง! (ผมเองก็นึกถึง Apple Pascal เหมือนกัน...)