ใครเป็นโปรแกรมเมอร์คนแรก?


15

มีความเห็นพ้องกันในหมู่นักประวัติศาสตร์ว่าใครเป็นโปรแกรมเมอร์คนแรกบ้างไหม? ถ้าเป็นเช่นนั้นใครเป็นใครและพวกเขากำลังเขียนโปรแกรมอะไรอยู่

ฉันคิดว่ามันน่าสนใจมากที่จะรู้เพิ่มเติมเกี่ยวกับผู้บุกเบิกการเขียนโปรแกรมไม่ว่าพวกเขาจะตั้งโปรแกรมบนเครื่องที่ตั้งโปรแกรมได้หรือว่าพวกเขาได้ออกแบบเครื่องเองเพื่อทำงานด้านการคำนวณ


10
กำหนดโปรแกรมอย่างแม่นยำเพียงพอเพื่อให้เรารู้ว่าเราต้องพิจารณาเรื่องต่าง ๆ เช่นการเตรียมเทปสำหรับเครื่องทอผ้าของ Jacquard หรือไม่
AProgrammer

คนแรกที่เคยเขียนโค้ด :)))
Songo

ฉันลงคะแนนเพื่อนับ Jacquard
Joshua Drake

2
คำถามที่เกี่ยวข้อง: ใครเป็นวิศวกรซอฟต์แวร์คนแรก
Spoike

ผู้ที่คำนวณสุริยุปราคาในปฏิทินมายาอาจเป็นโปรแกรมเมอร์คนแรก คุณต้องออกแบบอัลกอริทึม ("เราใกล้พอหรือยัง?") และดำเนินการ

คำตอบ:


58

ออกัสตาอาดาคิงเคานท์เตสออฟเลิฟเลซ (ค.ศ. 1815 - 1852) ได้รับการยกย่องในฐานะโปรแกรมเมอร์คนแรก

โปรแกรมแรกเป็นอัลกอริทึมในการคำนวณหมายเลข Bernoulliชาร์ลส์แบบเบจวิเคราะห์ Engineและมันปรากฏอยู่ในบันทึกการแปลของเธอLuigi Menabrea ของชีวิตประจำวัน"ร่างของวิเคราะห์ Engine การประดิษฐ์คิดค้นโดย Charles Babbage"มากขึ้นโดยเฉพาะG หมายเหตุ ที่กล่าวว่าคณิตศาสตร์ที่จำเป็นสำหรับการคำนวณตัวเลขเบอร์นูลลีเป็นที่รู้จักกันมานานก่อนเวลาของ Ada อย่างไรก็ตามอัลกอริทึมของ Ada เป็นตัวอย่างแรกของอัลกอริทึมการคำนวณที่ออกแบบมาเพื่อดำเนินการโดยเครื่อง (ในเวลานั้นยังเป็นสมมุติ)

คอนราดซูส (1910 - 1995) นอกจากนี้ยังเป็นผู้สมัครที่มั่นคงสำหรับ "โปรแกรมเมอร์ครั้งแรก" ชื่อเล่นมีการคิดค้นจุดลอยไบนารีเครื่องคิดเลขกลกับโปรแกรมที่ จำกัดZ1 (1936) แต่ที่สำคัญมากขึ้นZ3 (1941) ซึ่งเป็นทัวริงสมบูรณ์ ไฟฟ้า -คอมพิวเตอร์เครื่องกล

เมื่อพูดถึงคอมพิวเตอร์อิเล็กทรอนิกส์Atanasoff – Berry Computer (กำเนิดในปี 1937, ปฏิบัติการในปี 1942) ได้รับการยกย่องว่าเป็นอุปกรณ์คอมพิวเตอร์ดิจิตอลอิเล็กทรอนิกส์เครื่องแรกดังนั้นจึงมีเหตุผลที่จะนึกถึงJohn Vincent AtanasoffและClifford Berryในฐานะผู้บุกเบิกการเขียนโปรแกรม คอมพิวเตอร์ Atanasoff – Berry นั้นไม่สามารถตั้งโปรแกรมได้ แต่คอมพิวเตอร์อิเล็กทรอนิกส์ที่ตั้งโปรแกรมได้เครื่องแรกคือENIAC (1946)

แม้ว่าJohn Mauchlyนักออกแบบของ ENIAC และJ. Presper Eckertอาจมีส่วนแบ่งในการเขียนโปรแกรมค่อนข้างดี แต่การเขียนโปรแกรมส่วนใหญ่ของ ENIAC นั้นทำโดยผู้หญิงที่น่ารักเหล่านี้:

โปรแกรมเมอร์ของ ENIAC ได้รับความอนุเคราะห์จาก ENIAC โปรแกรมเมอร์โครงการ

ชื่อของพวกเขาจากซ้ายไปขวาคือ Kathy Kleiman 1 , Jean Bartik , Marlyn Meltzer , Kay Mauchly AntonelliและBetty Holbertonที่ด้านหน้า โปรแกรมเมอร์หญิงของ ENIAC สองคนคือFran BilasและRuth Lichtermanหายไปจากภาพถ่าย

เมื่อพูดถึงคอมพิวเตอร์ดิจิทัลสิ่งแรกคือColossus (เปิดใช้งานในเดือนธันวาคม 1943) และTommy Flowers (2448-2541) หัวหน้าโครงการก็ควรได้รับการพิจารณาให้เป็นผู้บุกเบิกการเขียนโปรแกรมพร้อมกับMax Newman (1897 - 1984) ที่รับผิดชอบ การกำหนดความต้องการสำหรับเครื่องและแน่นอนอลันทัวริง (1912 - 1954) ซึ่งได้รับการออกแบบเครื่อง cryptanalytical Bletchley Park ของไฟฟ้าก่อนหน้านี้Bombe (1939) และเป็นผู้มีอิทธิพลในการออกแบบยักษ์ใหญ่2

1 Kathy Kleiman เป็นผู้ก่อตั้งโครงการโปรแกรมเมอร์ ENIACและเห็นได้ชัดว่าไม่ใช่โปรแกรมเมอร์ ENIAC (เด็กเกินไป :)
2 ประวัติคอมพิวเตอร์ในศตวรรษที่ยี่สิบ: The Colossus - B. Randell, Newcastle University (PDF)


9
'Brogrammers' เป็นเรื่องไร้สาระที่นักเขียนบล็อกฝันไว้
อลัน B

5
@ Malcolm นั่นเป็นคำถามที่ดีมาก สิ่งที่คุณต้องจำไว้ก็คือเครื่องมือวิเคราะห์ไม่ได้สร้างขึ้นในช่วงชีวิตของ Babbage และ Ada ไม่ได้ค้นพบคณิตศาสตร์สำหรับอัลกอริทึมของเธอ แต่แปลคณิตศาสตร์เป็นรูปแบบที่จะทำงานให้กับเครื่องมือวิเคราะห์ (ซึ่งเป็นคุณสมบัติ อัลกอริทึมของเธอเป็นซอฟต์แวร์ไม่ใช่คณิตศาสตร์) ไม่คิดว่า Babbage เกิดขึ้นกับโปรแกรมก่อนหน้านี้ แต่ไม่เคยบันทึกไว้ อย่างไรก็ตามเขามีเอกสารการมีส่วนร่วมของ Ada ในหน้า 136 บทความจากชีวิตของนักปรัชญา :
ยานนิส

2
(ต่อ ... ) "ฉันแนะนำให้เธอเพิ่มบันทึกย่อของ Menabrea ซึ่งเป็นแนวคิดที่นำมาใช้ทันทีเราคุยกันถึงภาพประกอบต่าง ๆ ที่อาจจะนำมาใช้: ฉันแนะนำหลาย ๆ อย่าง แต่การเลือกนั้นเป็นของเธอเองทั้งหมดเช่นกัน เป็นพีชคณิตที่ทำงานจากปัญหาต่าง ๆ ยกเว้นที่เกี่ยวข้องกับตัวเลขของ Bernoulli ซึ่งฉันเสนอให้ทำเพื่อช่วยเลดี้เลิฟเลซปัญหาเธอส่งกลับมาหาฉันเพื่อแก้ไขการตรวจพบข้อผิดพลาดร้ายแรง ซึ่งฉันได้ทำในกระบวนการ "
yannis

2
(ต่อ ... ) และถึงแม้ว่ามันอาจจะดูเหมือนว่า Babbage กำลังอ้างสิทธิ์เครดิตอย่างน้อยบางส่วน (ซึ่งจะยุติธรรมเมื่อทั้งสองทำงานร่วมกัน) แต่เขาไม่เคยโต้แย้งโน้ตของ Ada ในบันทึกที่มี แต่ชื่อของเธอเท่านั้น
yannis

5
ใน 1,941 Zuse จ้างนักคณิตศาสตร์ตาบอดชื่อArnold Fastโปรแกรมคอมพิวเตอร์ของเขา. ผู้ชายคนนี้น่าจะเป็นโปรแกรมเมอร์มืออาชีพคนแรกของโลก
Mackie Messer

12

อาร์คิมีดีสก็มีคุณสมบัติเช่นกัน

เนื่องจากเขาได้รับเครดิตอย่างไม่น่าเชื่อกับการสร้างกลไก Antikythera (ตัวอย่างของคอมพิวเตอร์อะนาล็อกยุคแรก) เมื่อ 2,000 ปีก่อนในบางจุดเขาต้องตัดสินใจในการคำนวณเหตุการณ์เฉพาะ

การกระทำนั้นอาจคิดว่าเป็นโปรแกรมดังนั้นเขาจึงกลายเป็นโปรแกรมเมอร์


5
กลไกไม่สามารถตั้งโปรแกรมได้
Oded

4
แม้ว่าจะเกี่ยวข้องกับอาร์คิมิดีสโดยนัย แต่เขาก็อ้างว่า "เชื่อมั่นในการสร้างกลไก Antikythera" ค่อนข้างเป็นตัวหนา (ใช่ฉันไม่ได้คิดถึงอย่างแน่นอน)
yannis

4
@Gary: ความแตกต่างที่สำคัญอย่างหนึ่งสำหรับความสามารถในการโปรแกรมอย่างน้อยก็เป็นที่เข้าใจกันในวันนี้คือโปรแกรมนั้นมีความเป็นอิสระจากฮาร์ดแวร์ กลไก Antikythera คือ "ฮาร์ดโค้ด" เพื่อคำนวณสิ่งหนึ่ง แต่ไม่มีวิธีที่จะป้อนโปรแกรมอื่น ๆ
Mason Wheeler

3
ดูเหมือนว่าเรากำลังถกเถียงกันมากขึ้นเกี่ยวกับโปรแกรมอะไร ใครบางคนที่สร้างกลไกการฝังมันตรรกะบางอย่างไม่ใช่โปรแกรมเมอร์? ฉันเชื่อว่าเขาเป็นคุณไม่สามารถพูดอย่างอื่นได้เพียงเพราะคุณไม่สามารถเปลี่ยนตรรกะนั้นได้
abx78

4
ฉันโต้แย้งว่ากลไก Antikythera เป็นคอมพิวเตอร์ดังนั้นจึงไม่มีข้อโต้แย้ง !! อุปกรณ์ที่ยอดเยี่ยมอย่างที่เคยเป็นมันเป็นเพียงนาฬิกาที่ฉลาดมาก มันเป็นเทคโนโลยีการผลิตเครื่องจักรก่อนเวลาประมาณ 500-1,000 ปี แต่มันก็ไม่ได้ 'ตั้งโปรแกรมได้' นาฬิกาไม่ใช่คอมพิวเตอร์
Jim In Texas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.