ฉันคิดว่าพวกเขาไม่สามารถนั่งหน้าคอมพิวเตอร์ได้ทั้งวันเหมือนที่เราทำในวันนี้ แล้วพวกเขาเขียนโปรแกรมอย่างไร บนกระดาษแล้วพิมพ์ในภายหลังเมื่อมีคอมพิวเตอร์หรือไม่ พวกเขาทำการทดสอบอย่างไร
ฉันคิดว่าพวกเขาไม่สามารถนั่งหน้าคอมพิวเตอร์ได้ทั้งวันเหมือนที่เราทำในวันนี้ แล้วพวกเขาเขียนโปรแกรมอย่างไร บนกระดาษแล้วพิมพ์ในภายหลังเมื่อมีคอมพิวเตอร์หรือไม่ พวกเขาทำการทดสอบอย่างไร
คำตอบ:
ประมาณปี 1974 คุณจะนั่งที่โต๊ะทำงานที่สะดวกสบายแล้วเขียนโปรแกรมลงบนกระดาษ คุณต้องการทดสอบโดยใช้หัวทดสอบโดยใช้ข้อมูลทดสอบ เมื่อคุณพอใจว่าโปรแกรมของคุณถูกต้องแล้วคุณจะไปที่ห้องบัตรชกต่อยและคัดลอกโปรแกรมของคุณลงในบัตรเจาะหนึ่งตัว 80 บรรทัดต่อบัตร นอกจากนี้คุณยังต้องการต่อยบัตรสำหรับข้อมูลใด ๆ ที่โปรแกรมของคุณอาจต้องการ จากนั้นคุณก็จะเจาะการ์ดลับบางอย่างใน Job Control Language (JCL) ที่จะบอกคอมพิวเตอร์ถึงวิธีการคอมไพล์และรันโปรแกรมของคุณและอุปกรณ์อินพุต / เอาท์พุตที่ใช้ จากนั้นคุณจะนำไพ่ของคุณไปที่ 'หน้าต่าง IO' ซึ่งคุณจะมอบให้พนักงาน
เมื่อถึงตาคุณพนักงานจะโหลดไพ่ของคุณลงในถังและกดปุ่มเพื่อบอกให้คอมพิวเตอร์เริ่มอ่าน โดยทั่วไปเอาต์พุตของโปรแกรมของคุณจะไปที่เครื่องพิมพ์แบบ Line หรือ Drum plotter เมื่อโปรแกรมของคุณเสร็จแล้วเสมียนจะรวบรวมบัตรของคุณและส่งออกสำเนาของคุณและวางไว้ในหลุมนกพิราบที่คุณสามารถรับพวกเขาได้ คุณต้องการรับเอาท์พุททบทวน resuilts และทำซ้ำกระบวนการ มันจะใช้เวลาใดก็ได้จาก 20 นาทีถึง 24 ชั่วโมงสำหรับรอบที่สมบูรณ์ คุณอาจจินตนาการว่าคุณไม่มีความสุขเมื่อคุณพบว่าผลลัพธ์เพียงอย่างเดียวคือข้อความที่พิมพ์จากคอมไพเลอร์ซึ่งบอกคุณว่าโปรแกรมของคุณมีข้อผิดพลาดทางไวยากรณ์
คุณอาจเข้าถึงคอมพิวเตอร์ผ่านโทรพิมพ์เพื่อให้คุณสามารถมีเซสชันแบบโต้ตอบกับคอมพิวเตอร์ระยะไกลได้ อย่างไรก็ตามการพิมพ์บนโทรพิมพ์นั้นมีความเจ็บปวดทางร่างกาย (ปุ่มที่แข็งมากและดังมาก) ดังนั้นโดยทั่วไปคุณยังคงเขียนและทดสอบโปรแกรมของคุณบนกระดาษก่อน
ในปี 1976 ระบบ UNIX และคอมพิวเตอร์ขนาดเล็กอย่าง PDP 11-70 กำลังเป็นที่นิยมมากขึ้น คุณมักจะทำงานในห้องที่เต็มไปด้วยเทอร์มินัลวิดีโอที่มีตัวอักษร 25x80 แสดง สิ่งเหล่านี้เชื่อมต่อกับคอมพิวเตอร์ผ่านทางสายอนุกรม หยาบ แต่ไม่แตกต่างจากการทำงานที่ command prompt วันนี้ บรรณาธิการส่วนใหญ่ในตอนนั้นเป็นคนเส็งเคร็ง Vi เป็นการปรับปรุงที่น่าอัศจรรย์
ฉันเรียนรู้การเขียนโปรแกรมในPL / 1ในปี 1975 (บนIBM 370/168 ) ในฐานะวัยรุ่น (ฉันเกิดในปี 1959) ฉันมีสิทธิ์ได้รับการเป็นพ่อที่ทำงานที่ IBM France M. Dornbush เจ้านายของเขาเขียนหนังสือ (เป็นภาษาฝรั่งเศส) เกี่ยวกับการเขียนโปรแกรมใน PL / 1
ในเวลานั้นโปรแกรม (ที่ทำโดยใครบางคนกำลังเรียนรู้การเขียนโปรแกรม) เป็นแพ็กเก็ตของการ์ดที่ถูกเจาะสองสามร้อยใบ คำตอบของ Charles E.Grantอธิบายกระบวนการ: คุณเขียนโปรแกรมของคุณลงบนกระดาษก่อนและตรวจสอบอย่างระมัดระวัง แล้วคุณเจาะบัตร (บน IBM29 เครื่องเจาะบัตรเครื่อง) และในที่สุดคุณใส่สำรับไพ่ลงในเครื่องอ่านบัตรเจาะ ขอให้สังเกตว่าในช่วงเวลานั้นโปรแกรมต้นฉบับนั้นค่อนข้างเล็ก (โปรแกรมหลายพันงบ - นั่นคือบัตรที่ถูกต่อย - เป็นโปรแกรมที่มีขนาดใหญ่มาก)
ในฐานะวัยรุ่นฉันรู้สึกประทับใจกับความสามารถของคอมไพเลอร์เช็คเอาท์ PL / 1 โดยเฉพาะอย่างยิ่งในการแนะนำการแก้ไขข้อผิดพลาด
ในปีต่อ ๆ มาฉันเล่นกับคอมพิวเตอร์CAB / 500เก่าและคอมพิวเตอร์IBM / 1620ที่พิพิธภัณฑ์วิทยาศาสตร์ Palais de la Découverteในปารีส (คอมพิวเตอร์ทั้งสองมีอายุแก่พอที่จะนั่งในพิพิธภัณฑ์) CAB / 500 ผลิตขึ้นในปี 1960 และพ่อของฉันเขียนคอมไพเลอร์ PAF (ภาษาประเภทพื้นฐาน) เมื่อฉันยังเป็นทารกหรือเด็กวัยหัดเดิน (1958-1962)
วันนี้ฉันยังคงทำสิ่งต่าง ๆ ( MELT ) ที่เกี่ยวข้องกับคอมไพเลอร์และหนึ่งในไม่กี่คนที่สามารถอ้างว่าเขาเห็นพ่อของเขาเขียนคอมไพเลอร์!
สิ่งที่ตลกที่มี PAF บน CAB / 500 คือเครื่องมือแก้ไขแบบโต้ตอบ (พร้อมเทปกายภาพและเทปเจาะรู) ที่สามารถทำสำเร็จ (ตามคำหลัก) มันเป็นเหมือนพีซี IBM ดั้งเดิมบางอย่างเป็น "คอมพิวเตอร์ส่วนบุคคล"
สิ่งที่ตลกกับ IBM / 1620 คือคุณต้องบูตเครื่องโดยป้อนตัวเลขสองสามหลักบนแป้นพิมพ์เพื่อโหลดจอภาพและคอมไพเลอร์ Fortran
โปรดสังเกตว่าในปี 1950 คอมพิวเตอร์บางเครื่องไม่ได้เจาะเครื่องอ่านการ์ด (AFAIK เป็นตัวเลือกสำหรับ IBM650 & IBM7094) แต่ฉันไม่เคยเห็นมาก่อน
โปรดสังเกตว่าการเข้าถึงคอมพิวเตอร์ในช่วงกลางทศวรรษ 1970 เป็นสิทธิพิเศษอย่างมาก (เพราะอุปกรณ์เหล่านี้มีราคาแพง) บางทีสิ่งที่เท่าเทียมกันในวันนี้อาจจะเป็นการเข้าถึงเครื่องทำซิลิคอนหรือพลังการประมวลผลดาต้าเซ็นเตอร์
ขึ้นอยู่กับว่าคุณต้องการย้อนกลับไปนานแค่ไหน
"การเขียนโปรแกรม" ที่เก่าแก่ที่สุดใช้ punchcards ซึ่งดูเหมือนว่านี้ (นั่นคือ cobol)ที่พวกเขาเขียนโค้ดของพวกเขาโดยมีปฏิสัมพันธ์น้อยมากของสิ่งใดโดยเฉพาะอย่างยิ่งไฟฟ้าแล้วป้อนพวกเขา (เมื่อพวกเขามีโอกาส) ลงในคอมพิวเตอร์เครื่องหนึ่งเข้าไปในอาคารเพื่อให้โค้ดทำงานเป็นระยะเวลาหนึ่ง . บ่อยครั้งที่มีคนจำนวนมากที่ต้องการใช้คอมพิวเตอร์เครื่องเดียวกันดังนั้นคุณต้องรอที่ใดก็ได้นานถึงสองสามวัน (ถ้ามันยุ่งมาก) สำหรับผลลัพธ์ของคุณซึ่งบ่อยครั้งกว่าจะไม่ไร้ประโยชน์อย่างสมบูรณ์ (คุณ คิดว่าการได้รับข้อผิดพลาดทางไวยากรณ์อาจทำให้คุณหงุดหงิดลองนึกภาพถ้าคุณต้องเขียนส่วนของรหัสของคุณใหม่อีกครั้ง พวกเขาไม่จำเป็นต้องตรวจสอบอินพุตเกือบเท่าหรือทำการทดสอบการใช้งานหรือการทดสอบอื่น ๆ ที่สำคัญเนื่องจากเนื่องจากคอมพิวเตอร์ที่ขาดแคลน
เมื่อ PDP และรายการเทียบเท่ากลายเป็นเรื่องธรรมดามากขึ้นโปรแกรมเมอร์ (โดยเฉพาะในสภาพแวดล้อมของวิทยาลัย) จะเขียนโค้ดลงบนกระดาษแล้วจองเวลากับ PDP เพื่อพิมพ์รหัสของพวกเขาและรันสองสามครั้ง พวกเขาไม่ได้มีเวลามากนักนอกจากพวกเขาจะทำงานในเวลาไม่กี่ชั่วโมงในตอนเช้าดังนั้นผู้คนที่มาพักทั้งคืนเพื่อให้ได้รหัสของพวกเขานั้นไม่ใช่เรื่องแปลกและการ จำกัด เวลาของ PDP "ของจริง" (หรือเทียบเท่า) นำไปสู่กลุ่มที่สร้างโคลนของตัวเองเพื่อให้ได้เวลามากขึ้น
ฉันจะบอกว่าในสมัยนั้นการใช้โปรแกรมคอมพิวเตอร์อาจจะง่ายกว่าการเขียนวันนี้เล็กน้อย ระบุว่าในปัจจุบัน IDE นั้นเป็นมิตรกับผู้ใช้มากกว่าส่วนต่อประสานผู้ใช้ของโปรแกรมคอมพิวเตอร์ตั้งแต่นั้นมาแม้ว่าพวกเขาจะมีเทอร์มินัลอนุกรมระยะไกลก็ตาม โปรแกรมส่วนใหญ่ใช้ลำดับคีย์หรือคำสั่งที่ไม่มีรหัสลับ
ประสบการณ์เดียวของฉันกับระบบคอมพิวเตอร์โบราณคือเครื่องพิมพ์สี Kodak 2610 Photo รุ่นเก่า มันบูตจากซีเรียล TTY โดยใช้เครื่องอ่านแถบแสง ในระหว่างการทำงานของฉันฉันต้องรีบูตครั้งเดียวหลังจากความล้มเหลวของ powe
การควบคุมคำสั่งเป็น perfomred ผ่านอนุกรม vt100 tty แต่การกำหนดค่าทั้งหมดถูกบันทึกและกู้คืนโดยใช้ tty เชิงกลที่สามารถอ่านและเขียนลายกระดาษได้
ฉันจำได้ว่าแม่ของฉันบอกฉันว่าเธอกำลังเขียนโปรแกรมอยู่ที่วิทยาลัย (ประมาณปีพ. ศ. 2512-2513) เธอบอกว่าปีแรกที่พวกเขาใช้การ์ดเจาะซึ่งเจ็บปวด ปีที่ 2 พวกเขาได้รับ PDP-8 ซึ่งเป็นคอมพิวเตอร์ที่น่าทึ่งและฉันคิดว่าพวกเขามีเครื่องเทอร์มินัลหรืออย่างน้อยก็เทปกระดาษ
ฉันคิดว่าเธอกำลังทำงานใน fortran และเสียงกระเพื่อม
Jerry Weinberg ตอบคำถามที่คล้ายกันสักครู่บนหนึ่งในบล็อกของเขา: http://secretsofconsulting.blogspot.com/2008/12/how-we-used-to-do-unit-testing.html
ฉันคิดว่านี่อาจทำให้คุณสงสัย