การเขียนโปรแกรมที่ประทับใจที่สุดที่คุณเคยเห็นคืออะไร [ปิด]


26

ทุกคนรู้ว่าสุภาษิตโบราณว่าโปรแกรมเมอร์ที่ดีที่สุดสามารถเป็นคำสั่งที่มีขนาดใหญ่กว่าค่าเฉลี่ย ฉันเห็นโค้ดและโปรแกรมเมอร์ที่ดี แต่ก็ไม่มีอะไรที่ไร้สาระเลย ดังนั้นคำถามคืออะไรคือความสำเร็จที่น่าประทับใจที่สุดของการเขียนโปรแกรมที่คุณเคยเห็นหรือได้ยิน?

คุณสามารถกำหนดความประทับใจโดย:

  1. ขอบเขตของงานในมือเช่นจอห์นพัฒนากรอบงานสำหรับ บริษัท ของเขาอย่างโดดเดี่ยวงานที่เทียบเคียงได้กับสิ่งที่ลูกจ้างอีก 200 คนทำงานร่วมกัน

  2. ความเร็วเช่น Stu ตั้งโปรแกรมแอปมัลติทาสกิ้งแบบเรียลไทม์ทั้งหมดในแต่ละสัปดาห์รวมถึง C คอมไพเลอร์และเครื่องมือบรรทัดคำสั่งเชลล์

  3. ความซับซ้อนเช่น Jane ได้ออกแบบแอพ LOC ทั้ง 10 มิลลิตันเพื่อทำงานในกลุ่มเซิร์ฟเวอร์ และเธอก็ทำมันในตอนบ่าย

  4. คุณภาพเช่นรหัสของ Charles มีอัตราข้อบกพร่องต่อ LOC น้อยกว่าค่าเฉลี่ยของ บริษัท 100 เท่า นอกจากนี้เขายังทำความสะอาดและเข้าใจรหัสได้ทั้งหมด

เห็นได้ชัดว่ายิ่งมีการรวมกันของคุณลักษณะเหล่านี้มากเท่าใดและยิ่งมากเท่าไหร่ความน่าประทับใจก็ยิ่งมากเท่านั้น

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

คำถามโบนัส:

  1. เป็นงานที่หนักหน่วงหรือไม่หรือบุคคลนั้นประหลาดใจอย่างสม่ำเสมอ?
  2. คุณอธิบายประสิทธิภาพที่น่าประทับใจเช่นนี้ได้อย่างไร
  3. โปรแกรมเมอร์รู้จักวิธีการทำงานที่ยอดเยี่ยมเช่นนี้อย่างไร

5
ฉันเคยเห็นผู้ชายคนหนึ่งนั่งกด 2 KLocs ... (ขออภัยไม่สามารถต้านทาน)
DevSolo

"ความเร็วเช่น Stu โปรแกรมแอปมัลติทาสกิ้งแบบเรียลไทม์ทั้งหมดบนสุดสัปดาห์รวมถึง C คอมไพเลอร์และเครื่องมือบรรทัดคำสั่งเชลล์" - เอ่อ .. คุณอาจต้องการทำให้มันเป็นจริง
Jas

ตามคำตอบจนถึงบางคนประทับใจได้ง่าย ฉันทำ 'feats' ไว้ในรายการที่นี่
Steven Evers

หืมฉันคิดว่าจะทำสำเนาอันนี้เกือบจะเมื่อวานนี้เหมือนกัน) ขอบคุณมากที่ถามมัน!
mlvljr

@DevSolo เฮ้ถ้านี่เป็นบัตรเจาะหรือกระดาษม้วนที่เรากำลังพูดถึงนั่นอาจเป็นความสำเร็จทางกายภาพ
ทำเครื่องหมาย C

คำตอบ:


39

ในขณะที่ฉันไม่สามารถรับรองได้อย่างเป็นทางการ แต่ฉันก็ประทับใจกับคริสซอว์เยอร์ที่พัฒนาRollercoaster Tycoonเกือบทั้งหมดในภาษาแอสเซมบลี


4
มันบ้ามาก !!!
nanda

1
-.- 27 สำหรับสิ่งที่เราได้พูดคุยอย่างน้อยสองครั้งในเว็บไซต์นี้แล้ว
ทำเครื่องหมาย C

31

สแควร์รูทแบบเร็ว มีใครบางคนที่สามารถสร้างสิ่งที่คล้าย ๆ กับเราได้


1
อืม ... นั่นอาจจะฉลาด (มาก) แต่มันก็เหมือนกับรหัส 6 บรรทัดและเป็นเพียงส่วนเล็ก ๆ ของแอพที่ใหญ่กว่า ฉันไม่เข้าใจว่ามันสุดขีดในทุกมิติที่ฉันระบุไว้อย่างไร
David Reis

11
David Reis นี่น่าจะเป็นปัญหาคอขวดที่สำคัญที่สุดในวิธีที่ชาญฉลาด อย่าสับสนจำนวนบรรทัดกับปริมาณงานที่จำเป็นในการเขียน

2
@ David, ฉันไม่รู้ว่าทำไมคุณยืนยันว่าการเขียนโปรแกรมต้องใช้เวลาสั้นมากในการทำเพลง?

2
ใช่ซึ่งเป็นความสำเร็จมากกว่า 600 บรรทัดของรหัสที่เขียนในหนึ่งวันเทียบกับ 6 บรรทัดของรหัสที่สร้างขึ้นสำหรับ 100 วันถ้าทั้งสองทำสิ่งที่เท่าเทียมกัน? ฉันคิดว่ามันเป็นรุ่นหลัง แต่ระยะทางของคุณอาจแตกต่างกันไป
Joonas Pulakka

6
@ David ฉันไม่เห็นด้วยกับปัญหาใด ๆ ที่สามารถแก้ไขได้ในเวลาไม่ จำกัด คุณอาจต้องการที่จะอ่านjoelonsoftware.com/articles/HighNotes.html ปัญหาที่แท้จริงในการใช้โปรแกรมเมอร์ระดับปานกลางจำนวนมากแทนที่จะเป็นคนดีสองสามคนคือไม่ว่าพวกเขาจะทำงานได้นานแค่ไหน

16

เกมอาร์เคดก่อน

ถูก จำกัด อย่างสมบูรณ์โดยหน่วยความจำกำลังการประมวลผล I / O ...

สิ่งที่โปรแกรมเมอร์เหล่านั้นประสบความสำเร็จในสภาพแวดล้อมนี้ช่างน่าทึ่ง

เช่น Pacman - สมบูรณ์แบบ ยังคงเล่นได้หลังจากทุกปีเหล่านี้


2
Pacman มีชื่อเสียงมากไม่สมบูรณ์แบบ มันบกพร่องค่อนข้างแย่เมื่อตัวนับระดับโอเวอร์โฟลว์หนึ่งไบต์ ;)
Mason Wheeler

ยอดเยี่ยม ตามที่ Wikipedia: "Pac-Man มีหน้าจอ kill ที่โด่งดังมักเรียกว่า Pac-Man Bomb Screen ตัวนับระดับของเกมเป็นไบต์ 8 บิตเดียวและสามารถเก็บได้ 256 ค่าที่แตกต่าง (0–255) การเข้าถึงระดับ 256 ทำให้ตัวนับที่ใช้ในขณะที่วาดผลไม้ล้นจนเป็นศูนย์ทำให้ผลไม้ 256 ผลและช่องว่างเจ็ดช่องถูกวาดอย่างไรก็ตามสามารถแก้ไขด้วยแพตช์ได้ "
Conor

1
บางทีอาจจะเป็นกระสวยอวกาศก่อนก็ได้
งาน

Ms. Pac-Man ยอดเยี่ยมมาก
ทิมกู๊ดแมน

1
@ Mason คุณสามารถเอามันใส่เสื้อยืดได้! errorwear.com/shirt-pacman.php

15

มีโปรแกรมเมอร์คนนี้ที่ฉันทำงานซึ่งทำสิ่งต่อไปนี้มากกว่าหนึ่งครั้ง

ตัวอย่างล่าสุดคือโครงการในกลุ่มของเราที่มอบหมายให้ 3 คน มันเป็นแอพ LOB ที่ซับซ้อนพร้อมกำหนดการ 6 เดือน (นั่นเป็นไทม์ไลน์ที่ก้าวร้าวมาก)

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

แก้ไข

เพียงเพื่อเพิ่มความกระจ่าง รหัสผลลัพธ์นั้นเกือบจะสมบูรณ์แบบและตรงตามข้อกำหนดและกลุ่ม QA ของเราสามารถทำเอกสารข้อบกพร่อง 3 ข้อเท่านั้น


เขา / เธอจะต้องทำงานสัปดาห์ละ 100 ชั่วโมงเพื่อดึงความสำเร็จนั้นออกมา ฉันพนันว่าเขา / เธอผ่านคาเฟอีนมากมาย
Ali

3
เดือนแห่งตำนานที่มนุษย์กระทำกัน นำคน 2 คนออกจากโครงการ == ลดระยะเวลาลงครึ่งหนึ่ง! แม้ว่าจะมีเหตุผลบางอย่างที่นักพัฒนาที่มุ่งเน้นคนหนึ่งสามารถทำสิ่งต่าง ๆ ได้เร็วกว่าการพยายามประสานงาน 3 คน
CodexArcanum

ถ้าคนที่เคยลาออกจาก บริษัท ในแง่ดี (ไม่มีความรู้ระยะเวลาการปิด) บริษัท เป็นไปได้ในปัญหาใหญ่ ...
หัวหอมอัศวิน

3
@bjarkef - รหัสเป็นรอยบน รหัสนี้เป็นโปรแกรมเมอร์ที่ดีที่สุดของ บริษัท และกรอบเวลาที่สั้นมากไม่ได้ลดคุณภาพปกติที่เราได้รับจากเขา
วอลเตอร์

1
@Walter คุณไม่สามารถประมาณ axcurately จนกว่าคุณจะทำจริงซึ่งขัดแย้งกับเมื่อคุณต้องการหมายเลข สิ่งนี้ทำให้การประเมินตะวันออกเมื่อคุณทำงานก่อนหน้านี้และยากเมื่อคุณไม่รู้จัก ตราบใดที่คุณไม่ประมาทลูกค้าก็จะมีความสุขเพราะราคาถูกกว่าที่คิดเอาไว้

13

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

Steve Wozniak, Apple Disk II / RWTS

Steve ได้ออกแบบฮาร์ดแวร์และซอฟต์แวร์ร่วมกันโดยใช้ลูกเล่นสุดเจ๋งในซอฟต์แวร์เพื่อกำจัดความซับซ้อน (และราคา) ในฮาร์ดแวร์ ฟลอปปีดิสก์ไดรฟ์ปกติใช้ LED และ photosensor ใกล้กับฮับของดิสก์เพื่อส่องผ่านรูที่เจาะในวัสดุพิมพ์ของดิสก์ เอาต์พุตจาก photosensor เชื่อมต่อกับโปรเซสเซอร์ขัดจังหวะดังนั้นโปรเซสเซอร์จะรู้ว่าเมื่อใดที่จะเริ่มรูทีนเวลาเพื่อรอเซกเตอร์ที่ถูกต้องบนแทร็กให้อยู่ในหัวอ่าน / เขียน (แม้ว่าจะมีบางส่วนที่ใช้ "ฮาร์ดดิสก์เซกเตอร์") ที่มีรูที่จะส่งสัญญาณการเริ่มต้นของแต่ละเซกเตอร์แทนที่จะเป็นเพียงอันเดียวสำหรับการเริ่มต้นของแทร็ก)

Steve กำจัดฮาร์ดแวร์นั้นด้วยการออกแบบซอฟต์แวร์เพื่อเข้ารหัสข้อมูลในแบบที่จะช่วยให้คุณเริ่มอ่านจากจุดบนดิสก์โดยพลการและไม่เพียง แต่ถอดรหัสข้อมูลเอง แต่จะหาว่าที่ไหน (ในเชิงตรรกะ) ในเส้นทางที่คุณอยู่ ไดรฟ์ Disk II ไม่มีการติดตั้ง LED / โฟโต้เซ็นเซอร์และไม่สนใจช่องโหว่ในฟลอปปีดิสก์อย่างสมบูรณ์

Gordon Letwin, HPFS

Gordon Letwin เป็นสถาปนิก (และ coder) ในทีม OS / 2 อย่างน้อยฉันก็เคยได้ยินเรื่องนี้มาถึงจุดหนึ่งเขาก็ไปเที่ยวพักผ่อนเพื่อหลีกหนีจากสิ่งต่าง ๆ และใช้เวลาสามสัปดาห์ (หรือมากกว่านั้น) แล่นเรือยอชต์รอบเรือ (ใช่พนักงาน MS ต้น ๆ สามารถซื้อสิ่งนั้นได้ ... ) ... แต่เพื่อไม่ให้เบื่อเกินไปเขาก็ตัดสินใจเอาแล็ปท็อปของเขาไปด้วย

เมื่อเขากลับมาเขามี HPFS เขียนแก้จุดบกพร่องและทำงาน - ทั้งหมดในภาษาแอสเซมบลี Intel 386 ในที่สุดรหัสที่เขาเขียนก็ขายเป็น "HPFS386" ซึ่งเป็นเอกสิทธิ์ (อย่างน้อยในเวลานั้น) ไปยัง LAN Manager Edition ของ OS / 2 ทีมอื่นนั้นก็ใช้เวลาบางอย่างเช่นหกเดือนเขียนรุ่นในซีที่กลายเป็น HPFS "ปกติ" รวมอยู่ในรุ่นปกติของระบบปฏิบัติการ / 2 (และหลังจากไอบีเอ็มและ MS เลิกไอบีเอ็มปรับปรุงและอีกครั้งรวบรวมรหัส C ที่จะได้รับของพวกเขา "HPFS386") แม้ว่าจะได้รับการแก้ไขและอัปเดตตั้งแต่ถ้าคุณเป็นธรรมเกี่ยวกับสิ่งต่าง ๆ NTFS อาจจะเรียกว่า "HPFS 2.0" (หรืออาจ 3.0) - ไม่มีคำถามว่าระบบไฟล์ปัจจุบันที่ดีที่สุดของ Microsoft ยังคงได้รับอย่างใกล้ชิดจากสิ่งที่เขาออกแบบ

Burrough เทป B220

เหล่านี้เป็นตัวเป็นตน (อย่างน้อย IMO) จุดเริ่มต้นที่แท้จริงของการเขียนโปรแกรมเชิงวัตถุ ที่ IBM เทป (ตัวอย่างหนึ่ง) มี "เลเบล" เพื่อบอกเกี่ยวกับรูปแบบของข้อมูลบนเทปเทป Burroughs พัฒนาแบบแผน (ฉันไม่คิดว่าใครจะรู้แน่นอนว่าใครเป็นผู้เริ่มต้น) ในการวางรูทีนชุดเล็ก ๆ เทปที่จะเข้าใจข้อมูลและวิธีการฟอร์แมตดังนั้นคุณสามารถจัดการข้อมูลได้อย่างถูกต้องโดยไม่ทราบรายละเอียดว่ามีการฟอร์แมตอย่างไร กล่าวอีกนัยหนึ่ง "บล็อก" สองสามตัวแรกในเทปนั้นเป็น vtable ในรูปแบบยืนยัน โดยทั่วไปคุณจะต้องอ่าน vtable ลงในหน่วยความจำจากนั้นใช้วิธีการที่กำหนดไว้เพื่อจัดการข้อมูลบนเทปที่เหลือ ทุกอย่างเรียบร้อยและเรียบง่าย (ถ้าน้อยกว่าพกพาเพียงเล็กน้อยเท่านั้น)


11

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


2
สงสารเขาไม่ได้เขียนเกมจริงเพื่อไปกับมัน
DeadMG

10

ทั้งๆที่มีวัตถุประสงค์ที่น่าสงสัยของฉันยังคงอยู่ในความกลัวเกี่ยวกับUserScript แจ้งลบความคิดเห็นแก้สำหรับ MegaUpload มันเป็นสคริปต์ GreaseMonkey ที่เขียนด้วย JavaScript ซึ่งมีตัวถอดรหัสบิตแมปและเครือข่ายประสาทที่จดจำตัวอักษรในภาพแคปช่าและฉันพูดซ้ำทั้งหมดนี้ทำโดยใช้ JavaScript


1
สิ่งที่จะแสดงให้คนต่อไปที่คร่ำครวญถึงคุณเกี่ยวกับการไม่สามารถทำงานได้ดีเนื่องจากข้อ จำกัด ที่วางไว้
Jon Hopkins

10

Miguel de Icaza - โครงการโมโน

(เขาเป็นคนตลกขำขันและสนุกสนานอย่างไม่น่าเชื่อ - อย่างน้อยจากการพูดคุยสั้น ๆ ที่ฉันเห็นเขาให้และฟังการสัมภาษณ์พอดคาสต์)


+1 คนที่แต่งตัวประหลาดนั้นเป็นฝาแฝดหรืออาจจะเป็นสามเท่า ไม่มีทางที่คนคนหนึ่งจะมีส่วนร่วมในทุกสิ่งที่เขาเป็นและในระดับที่มีรายละเอียด
Dan Rosenstark

8

Anders Hejlsberg: ภาษาเทอร์โบปาสคาลและคอมไพเลอร์ ฉันยังคงคิดว่าหลังจากหลายปีที่ผ่านมา TPC เป็นผลงานชิ้นเอกของวิศวกรรมซอฟต์แวร์ มันเป็นคอมแพคโค้ดที่เร็วที่สุดและเร็วที่สุด (เริ่มจากบางเวอร์ชั่นปรับให้เหมาะสม) คอมไพเลอร์ที่ฉันเคยเห็นมา ใน Borland Pascal IDE ไม่มี "การรวบรวม" เป็นหลัก คุณปรับเปลี่ยนรหัสของคุณกด F9 และดูโปรแกรมของคุณทำงานได้ทันทีและที่อยู่ในเครื่อง 8MHz หรือ 12MHz TPC ได้พัฒนาเป็น Delphi ในภายหลังจากนั้น Hejlsberg ได้เข้าร่วมกับ Microsoft และ C-authored ร่วม

ฉันชอบที่จะดูที่แหล่งที่มาของรุ่น TPC ก่อนหน้านี้ แต่น่าเสียดายที่แม้จะมีคำขอจำนวนมาก Borland ไม่เคยเปิดพวกเขา

คอมไพเลอร์ของ Hejlsberg ได้รับแรงบันดาลใจจากหนังสือเล่มนี้: Niklaus Wirth, อัลกอริทึม + โครงสร้างข้อมูล = โปรแกรม


Delphi ยังมีคอมไพเลอร์ที่รวดเร็วมาก ฉันเดาว่าเป็นสาเหตุที่ทำให้ไม่สามารถแก้ไขได้และดำเนินการต่อ
Joeri Sebrechts

6

หัวหน้างานฝึกอบรมของฉันที่ Gemplus (ตอนนี้ Gemalto) เขียนล่าม JavaCard และระบบปฏิบัติการเป็นครั้งแรกในช่วงการฝึกอบรมระดับปริญญาตรี 3 เดือนของเขาเอง เขาผลิตโค้ดจากสเป็คเดี่ยวอย่างโดดเดี่ยว ในการผลิต v.2 นั้น Gemplus ได้จัดตั้งทีมชายมากกว่า 30 ทีมโดยไม่มีผู้ชายคนนั้นทำงานมานานกว่าหนึ่งปี เมื่อเสร็จแล้ว แต่ไม่สามารถทำงานได้อย่างมีประสิทธิภาพพวกเขาเรียกเขาเพื่อขอความช่วยเหลือและในอีกไม่กี่วันเขาและเพื่อนร่วมงานของเขาก็ชี้ให้เห็นถึงปัญหาคอขวดนับสิบ

Java Card เป็นชุดย่อยของ Java ที่ตั้งใจให้ทำงานในอุปกรณ์ขนาดเล็กมาก การใช้งานของเขาทำงานในสมาร์ทการ์ดซึ่งมีนาฬิกา MHz ไม่กี่และ RAM 2 หรือ 3 KB

เพื่อความสนุก: เพลงประจำวันอื่น ๆ ของเขาคือการมึนงงในการทำงานตอบคำถามที่เราฝึกหัดตะโกนอยู่ในห้องและจากนั้นในทันใด 2 ชั่วโมงต่อมาก็โผล่ขึ้นมาอีกครั้งเมื่องานของเขาเสร็จและตอบ 5 หรือ 10 คำถามในแถว


1
ฉันคิดว่าฉันไปเกิน 200 คนแล้ว ... ฉันจำไม่ได้เหมือนกันเมื่อสิบกว่าปีที่แล้ว ฉันส่งคำถามถึงเขาต่อไป!
Gabriel

1
ประณามผู้ชายคนนั้นจะต้องเป็นหุ่นยนต์ ..
mlvljr

ถูกต้องพวกเขาอายุ 30+ (=
กาเบรียล

5

ฉันจำได้ชัดเจนมาก เพื่อนร่วมชั้นได้เข้ารหัสวิดีโอเกมขับรถเต็มรูปแบบในบทเรียนสองบทด้วยQB45 (Quick Basic 4.5) การเลื่อนแนวตั้ง, นาฬิกาจับเวลา, สิ่งมีชีวิต, ระดับ; ฉันตกใจอย่างสิ้นเชิง


1
ฉันเห็นผู้ชายทำอย่างนั้นกับเกมผจญภัยข้อความใน Lisp ไม่น่าประทับใจในตัวของมันเอง แต่ในเวลาที่เขาทำมันมา ... ว้าว
Michael K

5

Git และ / หรือ Linux

Linus Torvalds เขียนเคอร์เนลระบบปฏิบัติการและระบบควบคุมเวอร์ชันตั้งแต่เริ่มต้น ฉันไม่รู้จักใครที่มีผลิตภาพเหมือนกัน


16
ที่ได้รับความนิยมใน Linux คือมันง่ายที่จะเอาชนะความยากลำบากและ / หรือความคิดริเริ่มที่เกี่ยวข้อง มันเกือบทั้งหมดเป็นโคลนของระบบที่มีอยู่ เมื่อเทียบกับ (ตัวอย่างหนึ่งที่ชัดเจน) Dave Cutler ที่เขียน RSX / 11, VMS และ Windows NT ตั้งแต่เริ่มต้นแต่ละชิ้นงานใหม่และไม่ซ้ำกัน (และสำหรับผู้ที่สนใจระบบไฟล์ VMS รวมถึงการควบคุมเวอร์ชัน) Linus ไม่มี ' ฉันยังทำมันลงบนแผนที่
Jerry Coffin

1
ความรุ่งโรจน์สำหรับ VMS แต่ด้วยเหตุผลเดียวกันคุณต้องลดราคา NT Wikipedia กล่าวว่า "[... ] นำโดย Dave Cutler เพื่อสร้าง Windows NT และองค์ประกอบหลายอย่างของการออกแบบสะท้อนถึงประสบการณ์ DEC ก่อนหน้านี้ด้วย VMS และ RSX-11 ของ Cutler" อย่างไรก็ตามฉันพบ Git ที่น่าประทับใจ
LennyProgrammers

@ Lenny222: ในขณะที่มันเป็นความจริงอย่างแน่นอนที่คุณสามารถพบความคล้ายคลึงกันอย่างมากระหว่าง VMS และ Windows NT แต่ก็ไม่ได้ใกล้เคียงกับการโคลนแบบ Linux ฉันคิดว่า Git ค่อนข้างสูงเช่นกัน - แต่ถ้ามันไม่มีอยู่จริงฉันสามารถนึกถึงอย่างน้อยสองหรือสามคนที่จะทำงานได้ดีในที่ของมัน
Jerry Coffin

5
Linus ไม่ได้ทำงานคนเดียวบน Linux มาเป็นเวลาประมาณหนึ่งเดือนแล้วเปลี่ยนเป็นโครงการชุมชนที่ประสบความสำเร็จอย่างมากหรือ ผลงานยอดเยี่ยมจริง ๆ แต่ฉันจะไม่จัดว่าเป็นความสามารถเฉพาะด้านของการเขียนโปรแกรม แต่เป็นโครงการโอเพ่นซอร์สที่ประสบความสำเร็จอย่างมาก
David Reis

1
ฉันคิดว่าสิ่งที่เราได้รับที่นี่คือความจริงที่ว่าตอนนี้เรามีผู้ใช้ X ที่ใช้ลินุกซ์ที่บ้าน ... ฉันคิดว่าคุณมีกล่อง VMS ในบ้านของคุณ? ให้มันไม่ใช่งานชิ้นเดียวจากผู้เขียนคนเดียว ... ในทางกลับกันถ้าเขาไม่ได้ทำมันเป็นงานที่สำคัญมากที่ต้องทำแทนไหม
RobotHumans

5

Richard M Stallman มาถึงจุดสูงสุดของความคิดของฉัน ชายคนนี้เริ่มให้ชีวิตกับ GNU Emacs, GCC, GDB และรายการที่โดดเด่นอื่น ๆ อีกมากมาย เขายังได้เขียน GPL ดั้งเดิม ฉันเคยได้ยินตำนานเกี่ยวกับเขาที่พูดว่าเขาเข้าไปในถ้ำเป็นเวลา 18 เดือนและกลับมาพร้อมรหัสมากกว่า 150,000 บรรทัดที่ทำให้คอมไพเลอร์ C ของชุด GCC 150,000 LOC เหล่านั้นมอบเตียงหินสำหรับ g ++ ในภายหลัง ในคำพูดของเขา Emacs เริ่มเป็น text editor จากนั้นมันก็กลายเป็นวิถีชีวิตและตอนนี้มันก็เป็นศาสนาสำหรับพวกเราบางคน แม้กระทั่งทุกวันนี้หลักการออกแบบของ Emacs ถูกนำมาใช้ในโปรแกรมที่ประสบความสำเร็จ

ระบบ TeX ของ Donald E Knuth เป็นอีกหนึ่งโปรแกรมที่อยู่ในใจเมื่อคิดเกี่ยวกับการเขียนโปรแกรมที่ยอดเยี่ยม


คุณควรลองอ่าน TeXbook ไม่ใช่สำหรับปุถุชน

เขียนจีพีไม่ได้เป็นที่น่าประทับใจสำเร็จ มันเหมือนกับการให้เครดิตตัวเองกับ Singletons
DeadMG

4

ในชั้นเรียนของฉันเพื่อนร่วมชั้นของฉันได้สร้างระบบปฏิบัติการ (แม้ว่าจะเป็นระบบพื้นฐาน แต่มันก็บูทจากฟลอปปี้และทำกิจวัตรที่จำเป็น) ตามความต้องการของโครงการภายใน 30 วัน ระยะเวลารวมทั้งการอ่าน / วิจัยที่จำเป็นและการเขียนโปรแกรมจริง

ฉันจำรายชื่อผู้ส่งจดหมายของ os.com ได้ทำให้เขาท้อแท้เขาบอกว่าเขาจะไม่ทำมันในสองสามวันนั้นและฉันก็เห็นเขาเดินเข้ามาในหอพักตอนตี 5 ในตอนเช้า :-)

เขาเป็นโปรแกรมเมอร์ที่ยอดเยี่ยม


4

ฉันจะไม่พูดอะไรเลย แต่มีบางคนส่งเสียงพร้อมกับ "Ruby is a feat" ดังนั้น

John McCarthy พร้อมด้วยฟังก์ชั่น Recursiveดั้งเดิมของการแสดงออกทางอารมณ์และการคำนวณของพวกเขาโดยเครื่องจักรเช่นกระดาษที่เขากำหนด Lisp ย้อนกลับไปในปี 1960 เมื่อifเป็นแนวคิดที่คนเพิ่งเริ่มคิดอย่างจริงจัง พูดคุยเกี่ยวกับการอยู่ข้างหน้าเวลาของคุณ


การอ้างอิงที่ดี ฉันเป็นคนหนึ่งที่ต่อกรกับทับทิมเพื่อความสง่างามในการประชุม นี่เป็นเวลาก่อนเช่นกัน
RobotHumans

1
McCarthy ทำบทความคณิตศาสตร์ ในภายหลังพบว่าสามารถแปลงเป็นรหัสจริงได้

1
@ Thorbjørn Ravn Andersen - ฉันระมัดระวังในการใช้ "การกำหนด" ซึ่งตรงข้ามกับ "การใช้งาน"
Inaimathi

@Thor นั่นก็เหมือนกับการปฏิเสธเครดิต Arthur Clarke สำหรับการค้นพบ (หรือประดิษฐ์) วงโคจร geosynchronous แบบวงกลมเพียงเพราะเขาไม่สามารถสร้างจรวดเพื่อวางดาวเทียมที่นั่นหรือเพราะเทคโนโลยียังไม่มีอยู่
ทำเครื่องหมาย C

4

คอมไพเลอร์ Symantec / Zortec C ++ ของ Walter Bright สอดคล้องกับคอมไพเลอร์ที่ถูกใช้งานโดยทีมโปรแกรมเมอร์ขนาดใหญ่ ต่อมาเขาได้ออกแบบและดำเนินการกับ D.


2

เทอร์รี่ Winograd ของSHRDLU

ดั๊ก Lenat ของอัตโนมัติคณิตศาสตร์


SHRDLU ทำให้ฉันประหลาดใจอยู่เสมอ!

@ Thorbjørn: ฉันด้วย นั่นเป็นส่วนหนึ่งของจิตวิญญาณมินสกีแลปที่ฉันดื่มด่ำไปด้วยดีขึ้นและแย่ลง :)
Mike Dunlavey


0

โปรแกรมเมอร์วิดีโอเกม 8 บิตบนคอมพิวเตอร์จากยุค 80 (เช่น Commodore 64) เกมที่ดีงามบางเกมใช้ภาษาเครื่องและขนาดของมันมักจะเล็กกว่าบิตแมปสำหรับไอคอน Windows ;-) การเพิ่มประสิทธิภาพที่ดีที่สุด

Geos (ระบบ WYSIWYG สำหรับ Commdore 64) นั้นน่าประทับใจมากในเวลานี้


-2

ฉันไม่แน่ใจว่าสิ่งนี้สำคัญจริงๆ ... แต่เพื่อนที่พัฒนาทับทิม ฉันไม่สามารถผ่านความสง่างามของภาษา และฉันเชื่อว่ามันเป็นภาษาแรกที่รองรับการพิมพ์แบบไดนามิกแม้ว่าฉันไม่ใช่คนที่เริ่มต้นด้วยบัตรคำและการเขียนเพื่อที่ฉันจะได้เข้าใจผิด


3
ไม่ใช่ภาษาแรกที่มีการพิมพ์แบบไดนามิกและไม่คุณไม่ควรเริ่มต้นด้วยบัตรคำศัพท์เพื่อทราบสิ่งนี้
Jas

-3

David Heinemeier Hansson สร้าง Rails

ครั้งแรกที่ฉันติดตั้ง Rails และตั้งค่าไซต์ทดสอบเทียบกับฐานข้อมูลและทำทุกสิ่งที่กรอบและ CRUD โดยอัตโนมัติตั้งค่าเว็บไซต์ทดสอบและมันก็เหมือนตาของฉันเปิดเป็นครั้งแรกกับสิ่งที่สามารถทำได้ก่อนที่คุณจะ เริ่มการเขียนโปรแกรม นั่นเป็นเรื่องที่น่าประทับใจมากและฉันก็ได้เห็นแนวคิดจากที่ปรากฏอยู่ทั่วทุกแห่งในภาษา / แพลตฟอร์มอื่น ๆ ตั้งแต่นั้นมา


สิ่งนี้เป็นผลงานของการเขียนโปรแกรมได้อย่างไร
David Reis

ความจริงที่ว่ามันทำงานได้ดีในการจัดวางตารางอย่างง่าย ๆ เป็นของ, habtm ... ต่อไปมันเป็นบทคัดย่อการเชื่อมต่อฐานข้อมูลลงในฐานข้อมูลที่ไม่เชื่อเรื่องพระเจ้าฐานข้อมูลที่ไม่เชื่อเรื่องพระเจ้า -d (dbtype) bundler สร้างและ rake db: create ชุดคำสั่ง db: migrate สร้างฐานสำหรับการทำงานจากฐานนั้นดี ดูเหมือนว่าบางคนไม่ชอบ ruby ​​/ rails เพราะสิ่งเหล่านี้ได้รับการลงคะแนนอย่างหนักในขณะที่พวกเขาเป็นวิธีการใหม่เพื่อความสง่างามในการประชุม
RobotHumans

หลังจากใคร่ครวญฉันคิดว่ามันเป็นเพราะเราประทับใจกับธรรมชาติของสิ่งต่าง ๆ เมื่อเทียบกับฤทธิ์ทางเทคนิค
RobotHumans

มันเป็นวิธีที่แตกต่างกันโดยสิ้นเชิงในการคิดทำทุกอย่างที่มุ่งเน้นไปที่สิ่งที่จะเหมาะมากกว่าสิ่งที่เพียงพอ มันก็เหมือนกับพวกเราทุกคนที่นักพัฒนาเว็บได้ขับรถไปรอบ ๆ ใน Model T fords และทางรถไฟก็เกิดขึ้นและเป็น BMW ที่ทันสมัย มันเป็นการเปลี่ยนแปลงครั้งใหญ่ในเรื่องความเรียบง่ายและความเป็นมิตรกับผู้ใช้ในแง่ของนักพัฒนาในฐานะผู้ใช้และฉันได้เห็นแพลตฟอร์มอื่น ๆ มากมายที่สร้างขึ้นจากแนวคิดเหล่านี้ในช่วงหลายปีที่ผ่านมา
glenatron

1
ยุติธรรมพอ แต่สังเกตว่าคำถามของคุณไม่ได้กล่าวถึงชื่อของผู้ชายสิ่งที่เขาทำเมื่อเขาทำมัน ฯลฯ มันเพิ่งพูดว่า: "Ruby is nice" ลูกสุนัขก็ดีเช่นกัน แต่นั่นไม่ใช่คำตอบสำหรับคำถามนี้
David Reis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.