โธมัส อี. เคิร์ตซ์ ผู้ร่วมคิดค้น BASIC เสียชีวิต
(computerhistory.org)- Thomas Eugene Kurtz เป็นนักคณิตศาสตร์และนักวิทยาการคอมพิวเตอร์ชาวอเมริกัน ผู้สร้าง BASIC และ Dartmouth Timesharing System ร่วมกับ John Kemeny เกิดเมื่อวันที่ 22 กุมภาพันธ์ 1928 และเสียชีวิตเมื่อวันที่ 12 พฤศจิกายน 2024
- ในช่วงต้นทศวรรษ 1960 วงการคอมพิวเตอร์เชิงวิชาการยังขาด ภาษาโปรแกรมสำหรับผู้ไม่เชี่ยวชาญ ที่นักศึกษาปริญญาตรีใช้งานได้ง่าย และ BASIC ถูกสร้างขึ้นเพื่อเติมเต็มช่องว่างนั้น
- Kurtz และ Kemeny ร่วมกันพัฒนา DTSS เพื่อให้นักศึกษาเข้าถึง BASIC ผ่าน เทอร์มินัล Teletype ในแคมปัสได้ และทั้งสองระบบเปิดตัวเมื่อวันที่ 1 พฤษภาคม 1964
- ในฤดูใบไม้ร่วงปี 1964 มีนักศึกษาหลายร้อยคนใช้ BASIC ผ่าน เทอร์มินัล 20 เครื่อง ในแคมปัส Dartmouth และต่อมาก็แพร่หลายไปยังคอมพิวเตอร์หลายเจเนอเรชัน
- อิทธิพลของ Kurtz สืบเนื่องไปถึงการศึกษาและองค์กรปฏิบัติการด้านคอมพิวเตอร์ของ Dartmouth, การทำมาตรฐาน BASIC และการก่อตั้ง True BASIC และในปี 1994 เขาได้รับเลือกเป็น ACM Fellow
BASIC และ Dartmouth Timesharing System
- Thomas Eugene Kurtz ร่วมกับ John Kemeny คิดค้น ภาษาโปรแกรม BASIC และ Dartmouth Timesharing System(DTSS)
- ในสภาพแวดล้อมคอมพิวเตอร์เชิงวิชาการช่วงต้นทศวรรษ 1960 ยังขาดภาษาโปรแกรมสำหรับผู้ไม่เชี่ยวชาญที่เรียบง่ายซึ่งนักศึกษาปริญญาตรีใช้ได้ และ BASIC ถูกสร้างขึ้นโดยคำนึงถึงผู้ใช้กลุ่มนี้
- ทั้งสองยังร่วมกันพัฒนา DTSS เพื่อให้ BASIC พร้อมใช้งานสำหรับนักศึกษาในแคมปัส
- DTSS เป็นวิธีแบ่งปันการเข้าถึงคอมพิวเตอร์ผ่านเครือข่าย
- การให้นักศึกษาหลายคนเข้าถึง BASIC จำเป็นต้องมีโครงสร้างพื้นฐานเช่นนี้
- DTSS กลายเป็น ระบบ time-sharing ขนาดใหญ่ยุคแรกที่ประสบความสำเร็จ
- General Electric ซึ่งบริจาคคอมพิวเตอร์ให้ Dartmouth ได้ขยาย DTSS ให้เป็นเคอร์เนลของบริการออนไลน์อย่าง Genie
- DTSS และ BASIC เปิดตัวเมื่อวันที่ 1 พฤษภาคม 1964
- ในฤดูใบไม้ร่วงปี 1964 มีนักศึกษาหลายร้อยคนใช้ BASIC ผ่านเทอร์มินัล 20 เครื่องในแคมปัส
การศึกษาและประสบการณ์คอมพิวเตอร์ช่วงแรก
- Kurtz เกิดที่ Oak Park รัฐ Illinois สำเร็จการศึกษาจาก Knox College ในปี 1950 และได้รับปริญญาเอกด้านคณิตศาสตร์จาก Princeton University ในปี 1956
- ในปี 1951 เขาได้รับโอกาสใช้คอมพิวเตอร์ SWAC ที่ UCLA
- SWAC คือ Standards Western Automatic Computer ที่ National Bureau of Standards สร้างขึ้น
- เป็นหนึ่งในคอมพิวเตอร์อิเล็กทรอนิกส์ยุคแรกของสหรัฐฯ และอยู่ภายใต้การกำกับดูแลของ Harry Huskey ซึ่งเป็น 2013 CHM Fellow
การแพร่หลายของ BASIC และยุคคอมพิวเตอร์ส่วนบุคคล
- BASIC ยังคงถูกใช้ต่อเนื่องบนคอมพิวเตอร์หลายเจเนอเรชัน
- เมนเฟรมและมินิคอมพิวเตอร์ในทศวรรษ 1960
- ไมโครคอมพิวเตอร์ในทศวรรษ 1970–80
- คอมพิวเตอร์ Raspberry Pi ขนาดเท่าบัตรเครดิตในปัจจุบัน
- ในปี 1978 นักศึกษา Harvard อย่าง Bill Gates และ Paul Allen เขียน BASIC เวอร์ชันแรกสำหรับ MITS Altair 8800 ไมโครคอมพิวเตอร์สำหรับงานอดิเรก
- BASIC นี้เปลี่ยน Altair ซึ่งเป็นกล่องกะพริบที่แทบไม่มีฟังก์ชัน ให้กลายเป็นคอมพิวเตอร์ที่มีประโยชน์
- ในยุคคอมพิวเตอร์ส่วนบุคคล ความนิยมของ BASIC เพิ่มสูงขึ้นอีกครั้งอย่างมาก
งานด้านการศึกษาและองค์กรที่ Dartmouth
- Kurtz มีส่วนร่วมกับการศึกษาและการดำเนินงานด้านคอมพิวเตอร์ที่ Dartmouth มาอย่างยาวนาน
- ดำรงตำแหน่ง director ของ Kiewit Computation Center ในปี 1966–1975
- ดำรงตำแหน่ง director ของ Office of Academic Computing ในปี 1975–1978
- ในปี 1979 เขาร่วมกับ Stephen J. Garland จัดตั้งหลักสูตรปริญญาโทวิชาชีพด้าน Computer and Information Systems โดยมีเงินทุนบางส่วนสนับสนุนจากทุนของ IBM
- ในปี 1983 เขาร่วมกับ Kemeny และศิษย์เก่า Dartmouth อีก 3 คนก่อตั้ง True BASIC, Inc.
- เป้าหมายคือการพัฒนาซอฟต์แวร์เพื่อการศึกษาคุณภาพสูงและคอมไพเลอร์ BASIC ที่ไม่ขึ้นกับแพลตฟอร์ม
- หลังจากโปรแกรม CIS สิ้นสุดลง เขากลับมาสอนอีกครั้งในปี 1988 และเกษียณจาก Dartmouth ในปี 1993
การทำมาตรฐาน BASIC และผลงานต่อคอมพิวเตอร์เชิงวิชาการ
- Kurtz มีส่วนร่วมในองค์กรคอมพิวเตอร์เชิงวิชาการและกิจกรรมมาตรฐานหลายแห่ง
- ทำหน้าที่เป็น council chairman และ trustee ของ EDUCOM
- ทำงานใน Pierce Panel ของ President's Advisory Committee
- เข้าร่วม steering committee ของกิจกรรม 2 โครงการที่ได้รับการสนับสนุนจาก NSF และ ARPA
- เป็นประธานการประชุม CCUC ครั้งแรกที่ว่าด้วย instructional computing
- เขายังมีบทบาทสำคัญในการทำมาตรฐาน BASIC
- มีส่วนร่วมในการจัดตั้ง American National Standards committee X3J2 ซึ่งสร้างมาตรฐาน ANSI ของ BASIC และดำรงตำแหน่งประธานในปี 1974–1985
- เป็นสมาชิกของ ISO committee SC22/WG8 ที่ดูแลมาตรฐานสากลของ BASIC และดำรงตำแหน่ง convener ในปี 1987–1993
- ได้รับเลือกเป็น ACM Fellow ในปี 1994
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
อายุ 96 ปี เรียกได้ว่าใช้ชีวิตมาอย่างเต็มอิ่มจริง ๆ RIP
ราวปี 1986~1990 ตอนอายุ 12 ปีใน Bangalore ยุคก่อน ผมใช้ QBASIC บ่อยมาก และตอนนั้นในอินเดียไม่ได้มี Mac, Unix หรือ Windows มีแต่ MSDOS
ผมใส่ฟลอปปีดิสก์ 5.25 นิ้วลงในเครื่อง 386 บูตด้วย
command.comแล้วเข้าGWBASIC.EXEจากนั้นก็ใช้โค้ดอย่างSOUND 2000+i, jทำเสียงแหลมสูงไปรบกวนครอบครัวกับเพื่อน ๆ และถ้าใส่ไว้ในลูปWHILE WENDคนอื่นก็ไม่รู้จะปิดยังไงจนวุ่นวายกันไปหมดวันหนึ่งอยู่ ๆ แทนที่ DOS ก็กลายเป็น MS WINDOWS 3.1 และต้องใส่ลูกบอลสีขาวเข้าไปในเมาส์เพื่อคลิกไอคอน ส่วน GWBASIC ก็หายไปและถูกแทนด้วย QBASIC กับเกมงู
จากเดิมที่วาดรูปบน CGA ด้วย
SCREEN 2,LINE,CIRCLEก็ได้อัปเกรดเป็น VGA ใช้SCREEN 12ที่ 640x480 และสร้างโปรแกรมที่มีเสียงได้ด้วย ต้องขอบคุณ BASIC ที่ทำให้ผมมีวัยเด็กอันน่าทึ่งจาก BASIC ก็ต่อยอดไป CLIPPER, FOXPRO และยังทำระบบจัดการสต็อกด้วย FOXPRO จนได้เงินรูปีจริง ๆ หลังจากนั้นก็ผ่าน MFC กับ Borland C++ มาจนถึงวันนี้ แต่จุดเริ่มต้นทั้งหมดคือ BASIC ขอบคุณครับ Dr. Kurtz
น่าสนใจที่คุณพูดถึง GWBASIC โดยเฉพาะ เพราะ BASIC ที่ผมเข้าถึงได้ก็เป็นตัวนั้นเหมือนกัน และดูเหมือนว่าในอเมริกาสายพันธุ์นี้จะไม่ได้แพร่หลายมากนัก
ผมยังเรียน CLIPPER และใช้มันสร้างทั้งเครื่องมือและแอปสำหรับงานด้วย ซึ่งก็ดูเหมือนจะดังอยู่ในบางภูมิภาคเหมือนกัน
ภาษาแรกที่ผมเรียนเขียนโปรแกรมคือ BASIC ตอนออกแบบ D ผมนึกถึงเสมอว่าการจัดการสตริงใน BASIC มันง่ายและเป็นธรรมชาติแค่ไหน และการจัดการสตริงใน C นั้นเป็นบึงโคลนแห่งบั๊กขนาดไหน
การทำให้สตริงใน D ใช้งานง่ายและถูกต้องจึงเป็นลำดับความสำคัญสูงมาก และประวัติศาสตร์ก็แสดงให้เห็นว่าเรื่องนี้ถือว่าประสบความสำเร็จ
เวลาผมรีวิวโค้ด C ผมจะดูส่วนจัดการสตริงก่อนเสมอ เพราะโอกาสเจอบั๊กตรงนั้นแทบจะแน่นอน ถ้าจะเถียงกัน ก็ขอถามหน่อยว่าโดยไม่เปิดค้นดู คุณบอกได้ไหมว่า
strncpy()จัดการการปิดท้ายด้วย 0 อย่างไร?ขอบคุณครับ Thomas Kurtz
ทางโทรศัพท์ เอ่อ ผมคิดว่าผมถามคุณเรื่อง C นั่นแหละ คุณตอบอย่างสุภาพ แต่เหมือนกัดฟันตอบอยู่
สุดท้ายผมก็เลือก C และระบบปฏิบัติการนั้นก็ถูกใช้ในสิ่งนี้: https://www.youtube.com/watch?v=u8ZEUwwOYxo&t=72s
จนถึงตอนนี้พอนึกถึงสายโทรนั้นก็ยังสะดุ้งอยู่
น่าจะมีคนนับหมื่นที่นั่งพิมพ์โค้ดจากหน้ากระดาษเหล่านั้นด้วยตัวเองพร้อม ๆ กัน และคงมีหลายคนที่ดีใจที่เคยเรียนพิมพ์ดีดตอนมัธยม
จากนั้นมันก็กลายเป็น “ฉันอยากลองทำสิ่งนี้ดู” แล้วก็สำเร็จบ้าง หรือไม่ก็ออกตามหา BASIC ที่ทรงพลังกว่าเดิม ก่อนจะไปถึง
PEEK,POKEหรือแม้แต่แอสเซมบลี มันสนุกมาก และให้ ความรู้สึกว่าตัวเองก็สร้างอะไรได้ด้วยตัวเอง อย่างมหาศาลขอบคุณครับ Thomas Kurtz
strncpy()จะคัดลอกได้มากสุดnไบต์ และถ้าในนั้นมี null byte ก็จะรวมมาด้วย แต่ถ้าไบต์ที่nไม่ใช่ null ก็จะไม่เติม null ต่อท้ายดังนั้นต้องไม่จัดสรร
n+1ไบต์ ก็ต้องตัดที่ไบต์nหรือไม่ก็ต้องตั้งค่าไบต์สุดท้ายเป็น 0 เองมรดกของ BASIC นั้นยิ่งใหญ่มาก ตอนเด็ก ๆ ผมโชคดีที่ได้ใช้ Atari 800XL และเพราะเครื่องมี BASIC ROM ติดมาด้วย ผมเลยได้เรียน BASIC
มันง่ายพอที่แม้แต่เด็กที่ไม่มีคนรอบตัวรู้เรื่องคอมพิวเตอร์เลย ก็ยังเรียนได้จากแค่โปรแกรมตัวอย่างท้ายคู่มือ
ผมไม่เคยพบ Kurtz ด้วยตัวเอง แต่ผมเป็นหนี้ภาษานั้นมาก เพราะมันเปิดทางให้เข้าถึงความคิดสร้างสรรค์แทบไร้ขีดจำกัดที่คอมพิวเตอร์และการเขียนโปรแกรมมอบให้
มันอาจไม่ใช่ภาษาที่ดีที่สุดสำหรับงานขนาดใหญ่และซับซ้อน แต่สำหรับเด็กคนหนึ่งที่อยากสร้าง text adventure และวาดพิกเซลบนจอ มันก็เพียงพอแล้ว ผมเพิ่งมารู้ว่า
INTไม่ได้แปลว่า integer แต่หมายถึง interrupt ก็ประมาณ 10 ปีให้หลังตอนเป็นวัยรุ่นผมยังสนุกกับการทำเกมบนเครื่องคิดเลขสำหรับห้องเรียนด้วย TI-BASIC ซึ่งมีอิทธิพลต่อการเติบโตของผมในฐานะนักพัฒนาอย่างมาก และเป็นตัวอย่างแรก ๆ ของประสบการณ์แบบ “เหมือนกันแต่ไม่เหมือนกัน” ที่เจอบ่อยในโลกโปรแกรมมิง โชคดีที่มันยังต่อยอดไปสู่อาชีพช่วงแรกด้านการพัฒนาเกมด้วย
ถ้าเป็นเมื่อวานนี้ผมอาจจำชื่อ Thomas E. Kurtz ไม่ได้ แต่แค่ได้ยินคำว่า BASIC ก็มีความทรงจำดี ๆ ผุดขึ้นมานับสิบ ตอนนี้ผมยังมี Atari 800XL เครื่องที่เคยใช้ตอนเด็กอยู่เลย และคงจะนึกถึงเขาทุกครั้งที่มองมัน
ถ้าจำไม่ผิด ฉันเขียน โค้ดบรรทัดแรกใน BASIC ตอนปี 1976
ตอนนั้นอายุ 15 ปี และไปงานแสดงสินค้ากับพ่อ ที่บูธ IBM มีคนชวนให้ลองเล่นเกมลงจอดบนดวงจันทร์ มันคือ IBM 5100
ฉันถามพ่อว่าตัวอักษรที่เลื่อนขึ้นไปแล้วหายจากหน้าจอไปอยู่ที่ไหน และพ่อซึ่งไม่ได้สนใจเทคโนโลยีเลยก็ให้วิศวกร IBM ช่วยอธิบาย ตอนนั้นเองฉันรู้ว่านี่คือเส้นทางของฉัน และก็ได้เขียน BASIC ไม่กี่บรรทัดแรกตรงนั้นเลย
ปีถัดมา ที่บูธ Hewlett Packard ฉันยืนตะลึงดูเครื่องที่น่าจะเป็น HP-9825A วาดรูป Lissajous ด้วยพล็อตเตอร์
ปีต่อมาฉันทำงานทุกช่วงปิดเทอมเพื่อเก็บเงินซื้อ HP-25 และปีถัดจากนั้นก็ได้ TRS-80 Model 1 Level II มา แล้วเริ่มเขียนโปรแกรมด้วย BASIC
ตอนนั้นยังรู้อะไรไม่มาก ถึงกับคิดว่าถ้าซื้อ Editor/Assembler แล้วความละเอียดหน้าจอจะสูงขึ้น
หลังจากนั้นก็ใช้ Megamax C และ GFA BASIC บน Atari ST แล้วก็ผ่านภาษาอีกหลายภาษาบน PC
สิ่งที่น่าทึ่งเสมอคือมีคนที่สร้างภาษาซึ่งผู้คนนับล้านใช้กันไปตลอดชีวิตได้ภายในเวลาไม่กี่วัน ไม่กี่สัปดาห์ หรือไม่กี่เดือน มันทรงอิทธิพลมหาศาล
อาจารย์ Kurtz คุณอาจไม่ได้สร้างภาษาที่ดีที่สุด แต่สิ่งที่คุณสร้างได้นำความสุขและแรงบันดาลใจมาสู่โปรแกรมเมอร์รุ่นเยาว์ทั้งรุ่น ความสุขแบบนั้นวันนี้อาจเลือนรางลงไปบ้าง เว้นแต่คุณจะกำลังเขียนโค้ดด้วย Rust
มันเป็นระบบที่ใช้จอพลาสมา มีเทอร์มินัล 1000 เครื่อง มีทั้งโซเชียลเน็ตเวิร์ก, airfight ซึ่งเป็นต้นแบบของ Microsoft Flight Simulator และ pedit5/dnd เกมดันเจียนยุคแรกสุด
ผมตัดหญ้าเก็บเงินเพราะอยากได้เครื่องคิดเลข HP-25 หรือ SR-52 หรือไม่ก็คอมพิวเตอร์ของตัวเองอย่าง IMSAI 8080 มากเหลือเกิน
ต่อมาผมทำเกมจำลอง pocket football บน PLATO และก็เขียนโปรแกรม BASIC ด้วยอินเทอร์พรีเตอร์ของเล่นตัวหนึ่ง แต่ไม่มีทางบันทึกโปรแกรมได้เมื่อจบเซสชัน
ในปี 2010 ผมได้สัมภาษณ์ Thomas Kurtz ที่บ้านของเขาเพื่อทำวิทยานิพนธ์ปริญญาเอกเกี่ยวกับวิสัยทัศน์เรื่อง computer utility ในยุค 60s-70s
วิสัยทัศน์นั้นคาดการณ์โลกที่ computer utility ขนาดใหญ่จะให้บริการอิเล็กทรอนิกส์เหมือน AT&T หรือบริษัทไฟฟ้า
เขาเกษียณมานานแล้ว แต่ยังคงอาศัยอยู่บนเนินเขาใน New Hampshire ใกล้ Dartmouth และแม้ตอนนี้ผมจะหาโน้ตสัมภาษณ์ไม่เจอแล้ว แต่ยังจำได้ว่าเขาเป็นคนใจดีและต้อนรับอย่างมาก
สิ่งที่เขากับ John Kemeny ทำไว้ที่ Dartmouth นั้นน่าทึ่งจริงๆ สำหรับพวกเขา เทคโนโลยี—คือการแบ่งเวลาใช้งานร่วมกันและ BASIC—เป็นเครื่องมือในการให้การศึกษาและเสริมพลังแก่นักศึกษา และท้ายที่สุดก็ทำให้สังคมโดยรวมเข้มแข็งขึ้น
ขอบคุณที่แชร์นะ ตั้งตารอจะได้อ่านเลย
Tom Kurtz, John Kemeny และ BASIC เปลี่ยนชีวิตผมเหมือนกัน
ผมเขียนโปรแกรม BASIC โปรแกรมแรกในปี 1970 และตั้งแต่ปีถัดมาในช่วงมัธยมปลาย ผมก็ใช้เวลาหลายชั่วโมงเขียน BASIC หน้า Model 33 Teletype ในห้องคอมพิวเตอร์ของโรงเรียน ผ่านระบบแบ่งเวลาใช้งาน HP-2000 ของเขตการศึกษา
สุดท้ายผมก็ตัดสินใจไป Dartmouth เพราะแนวคิดเรื่องคอมพิวเตอร์เพื่อระดับปริญญาตรี
ในยุคนั้น แค่การเข้าถึงคอมพิวเตอร์ไม่ว่าจะในรูปแบบไหนก็เป็นเรื่องใหญ่แล้ว และการเขียนโปรแกรมได้ก็เป็นความสามารถที่ทำให้คุณโดดเด่นจากคนรุ่นเดียวกันอย่างชัดเจนทั้งในการสมัครเรียนต่อและสมัครงาน
เพราะแบบนั้น ผมเลยรู้สึกเหมือนกำลังโต้คลื่นลูกที่เริ่มขึ้นในต้นทศวรรษ 1970 มาจนถึงทุกวันนี้ แม้ว่าจำนวนคนรุ่นใหม่ที่มีทักษะจะเพิ่มขึ้นอย่างระเบิดระเบ้อแล้วก็ตาม
มันเป็นช่วงเวลาที่น่าทึ่งและสั้นมาก ถ้าวันนี้คุณอายุ 13 ปี ผมไม่แน่ใจว่ามีเทคโนโลยีอะไรที่คล้ายกันซึ่งจะผลักคนให้ก้าวหน้าได้ง่ายขนาดนั้น
โปรแกรมแรกของผมคือแบบนี้:
10 LET N=5^2.5,20 PRINT N,30 ENDคำตอบที่ได้ซึ่งมากกว่า 55 เล็กน้อยนั้นเหมือนการเปิดเผยสัจธรรม ตอนนั้นผมยังไม่รู้เรื่องลอการิทึมเลย ดังนั้นความหมายของเลขชี้กำลังที่เป็นเศษส่วนจึงเป็นปริศนาล้วนๆ และผมต้องไปถามครูคณิตศาสตร์ว่าคำตอบนั้นหมายความว่าอย่างไร
ผมพิมพ์ “5 to the power of 2.5” แล้วคลิกไปสองสามครั้ง ก็ได้ผลลัพธ์แบบนี้พร้อมคำว่า ‘math solver’ ในช่องค้นหา: https://www.google.com/search?q=5%5E(2.5)
มีปุ่มให้ดูขั้นตอนการแก้ด้วย และในคำตอบบน Quora ก็มีวิธีอธิบายสองแบบโดยใช้กฎของเลขชี้กำลัง
เจ๋งมาก ตอนนี้คงต้องกลับไปทบทวนคณิตศาสตร์สมัยเรียนแล้ว
เราสามารถติด แถบไว้อาลัยสีดำ ให้ Dr. Kurtz ได้ไหม?
มรดกของ BASIC ต่ออุตสาหกรรมของเรานั้นจะยกย่องมากแค่ไหนก็ไม่เกินจริง ภาษาและพันธกิจนั้นที่ Dartmouth ถือว่าปฏิวัติวงการมาก
โดยเฉพาะแค่การที่มันเป็นภาษาโปรแกรมแรกที่ผู้ใช้คอมพิวเตอร์หน้าใหม่จำนวนมหาศาลได้สัมผัสในช่วงรุ่งอรุณของคอมพิวเตอร์ส่วนบุคคล ก็ส่งผลต่อเนื่องมหาศาลจนประเมินค่าไม่ได้
ผมชักจะอินกับความคิดถึงแล้ว นี่คือคู่มืออ้างอิง Dartmouth BASIC ฉบับปี 1964: http://web.archive.org/web/20120716185629/http://www.bitsave...
มันมีเสน่ห์มากจริง ๆ และช่วยให้สัมผัสบรรยากาศของยุคนั้นได้เล็กน้อย
โดยเฉพาะประโยคในหน้า 21 ที่ว่า “TYPING IS NO SUBSTITUTE FOR THINKING” นี่โดนใจมาก
BASIC เป็นประตูทางเข้าที่ง่ายสู่การเขียนโปรแกรม และทำให้คนมากมายรวมถึงเด็กยุค 70–80 แบบผมหลงใหลคอมพิวเตอร์ เขาเป็นคนที่สร้างอนาคตไม่แพ้ใคร
ไม่มีดิสก์ไดรฟ์ไว้บันทึกข้อมูล เลยต้องติดป้ายสายไว้พร้อมภาวนาไม่ให้ใครเผลอดึงปลั๊ก
ไม่กี่ปีต่อมา ตอนยุคดอตคอมบูม ผมได้งานแรกตอนเป็นเฟรชชี่มหาวิทยาลัยโดยใช้ VB และชีวิตก็เปลี่ยนไปจริง ๆ ทำให้ได้เริ่มต้นบนเส้นทางที่จะมีฐานะดีกว่าพ่อแม่
เลยมีบรรทัดอย่าง
F0R X=1 T0 1OOในปี 1964 มันกลับด้านกันแบบนั้นจริง ๆ เหรอ?
ถ้าหมายถึงว่ามรดกของ BASIC ยิ่งใหญ่มาก ก็ต้องเป็นความหมายว่าต่อให้พูดเกินจริงแค่ไหนก็ยังยากจะเกินจริง
ถ้าพูดว่า “couldn't be understated” มันจะกลายเป็นว่าต่อให้พูดให้ดูเล็กน้อยแค่ไหนก็ยังเป็นความจริงอยู่ ซึ่งคงไม่ใช่เจตนา
เพราะงั้นคอมเมนต์ของ emptiestplace ก็ไม่น่าจะสมควรโดนโหวตลบหนักขนาดนั้น
เหมือนโปรแกรมเมอร์หลายคนในรุ่นผม ภาษาแรกที่เรียนคือ BASIC
ในยุค 80–90 BASIC มีอยู่ทุกที่จริง ๆ และแทบทุกคอมพิวเตอร์ก็มาพร้อม BASIC ไม่รูปแบบใดก็รูปแบบหนึ่ง
แม้แต่หนังสือเรียนคณิตศาสตร์ชั้น ป.6 ก็ยังมีภาคผนวกเป็นรายการซอร์สโค้ด BASIC ของเกมคณิตศาสตร์เพื่อการศึกษา
ลาก่อนครับ Dr. Kurtz และขอบคุณสำหรับปลา
ที่นึกออกตอนนี้ก็ BASIC, BASICA, QBASIC แต่ตอนนี้จำความต่างระหว่างแต่ละสายพันธุ์ไม่ได้แล้ว
รู้ว่าเป็นสำนวนอยู่ และก็เคยอ่านมาแล้ว แต่ผมอยากฟังคนอธิบายมากกว่าจะไปกูเกิลเอง
ผมเองก็ เริ่มเขียนโปรแกรมด้วย BASIC
ตอนแรกคือบน Apple ][ ที่โรงเรียน แล้วต่อมาก็มี Vic-20 ที่บ้าน
เกมเจ๋ง ๆ หลายเกมบน Vic-20 ต้องพิมพ์ข้อมูลจำนวนเต็มก้อนมหึมาจากนิตยสารลงไปตรง ๆ เลย ซึ่งก็ไม่ได้ให้ความรู้เท่าไรนัก
หลังจากนั้นผมได้ใช้ระบบ HP ที่มี Rocky Mountain BASIC ซึ่งเป็นระบบที่ยอดเยี่ยมทีเดียว
หลายปีต่อมา ผมได้งานสายอาชีพงานแรกในฐานะผู้ทดสอบ ตอนทำพอร์ต RM BASIC ไปยัง HP/UX และอีกราว 5 ปีต่อมาผมก็กลับมาใช้ RMB อีกครั้งเพื่อสร้างระบบจัดการการทดสอบการผลิตชื่อ Functional Test Manager
เมื่อไม่กี่วันก่อนผมยังไปกินข้าวกลางวันกับคนที่เคยร่วมงานกันตอนนั้นอยู่เลย พอเขียนไปเขียนมาก็เพิ่งตระหนักว่า BASIC เป็นส่วนสำคัญของอาชีพผมจริง ๆ หลับให้สบายนะ Thomas
เรื่องที่น่าสนใจคือ หนึ่งในเหตุผลที่ Pascal ถูกล้อเลียนก็คือข้อจำกัดของระบบดั้งเดิมและความไม่เข้ากันของอิมพลีเมนเทชันที่ออกสู่ตลาด
ในทางกลับกัน BASIC อาจเรียกได้ว่าเป็นแกนหลักของอุตสาหกรรมมินิคอมพิวเตอร์และไมโครคอมพิวเตอร์ตลอด 20 ปี แต่แต่ละอิมพลีเมนเทชันและฟีเจอร์ก็แตกต่างกันมากจริง ๆ
BASIC ที่ผมเคยใช้เข้ากันไม่ได้เลยนอกจากพื้นฐานอย่างนิพจน์และชนิดข้อมูลหลัก ๆ และแม้แต่พื้นฐานนั้น การจัดการสตริงก็ยังต่างกัน
ในความเป็นจริงก็แทบไม่มีซอฟต์แวร์ขนาดใหญ่ที่เขียนด้วย Pascal เวอร์ชันดั้งเดิมเหมือนกัน
Pascal ถูกออกแบบเป็นภาษาคอมไพล์ที่อาจใช้เขียนระบบขนาดใหญ่ได้ แต่ในแง่นั้นมันมีข้อจำกัดร้ายแรงอยู่
BASIC เป็นภาษาเพื่อการศึกษา ถึงแม้คนจะฝืนเอาไปสร้างระบบงานจริง แต่ทุกคนก็รู้ว่ามันยังเป็นภาษาเพื่อการศึกษาที่ขยายตัวเกินขนาด
มันถูกใช้กับงานจริงจังได้ แต่ก็ยังเป็นภาษา “ของเล่น” และไม่มีใครคาดหวังว่าโปรแกรมจริงจังที่เขียนด้วย BASIC จะพกพาได้
Pascal ก็เริ่มต้นเป็นภาษาเพื่อการศึกษาเหมือนกัน แต่ถูกมองว่าเป็นภาษาที่ “จริงจัง” กว่ามาก และอันที่จริงโครงสร้างควบคุมก็ดีกว่า BASIC มาก
แต่มันกลับไปไม่ถึงมาตรฐานที่ความคาดหวังนั้นตั้งไว้ ด้วยเหตุผลที่พูดไปก่อนหน้านี้
แอปพลิเคชันเดียวกันที่เขียนด้วย BASIC จะเขียนด้วย Pascal ได้ไหม? เกือบจะแน่นอน ได้แน่ ๆ ถ้าถามว่ามันจะดีกว่าไหม? แน่นอน
ความต่างน่าจะอยู่ที่ BASIC เข้าถึงง่ายกว่า เด็กอายุ 10 ขวบก็ลองเล่นได้ แต่ Pascal จะใกล้กับระดับนักศึกษามหาวิทยาลัยที่เอาไปลองเล่นมากกว่า
เพราะแบบนั้น Pascal จึงถูกคาดหวังไว้สูงกว่า และข้อจำกัดแบบเดียวกันก็ดูเหมือนเป็นการทำให้ความคาดหวังนั้นผิดหวังมากกว่า