คุณคงสังเกตเห็นว่าผมใช้เนื้อหาทางเทคนิคเป็นเครื่องมือร้อยเรียงเรื่องราวต่างๆ เข้าด้วยกัน ครั้งนี้ผมจะเริ่มด้วยเกร็ดประวัติว่าบทนี้และสองบทที่ผ่านมาเกิดขึ้นมาได้อย่างไร ช่วงต้นทศวรรษ 1950 ผมพบว่าตัวเองรู้สึกกลัวเมื่อต้องพูดต่อหน้าผู้ฟังจำนวนมาก ทั้งที่เคยสอนหนังสือในมหาวิทยาลัยมาหลายปี หลังจากคิดอย่างจริงจัง ผมสรุปได้ว่าผมไม่สามารถปล่อยให้ความกลัวนี้มากีดขวางเส้นทางสู่การเป็นนักวิทยาศาสตร์ที่ยิ่งใหญ่ได้ หน้าที่ของนักวิทยาศาสตร์ไม่ใช่แค่การค้นพบสิ่งใหม่ แต่ต้องสื่อสารสิ่งเหล่านั้นให้สำเร็จอย่างน้อยในสามรูปแบบ:
- การเขียนบทความและหนังสือ
- การบรรยายที่เตรียมไว้ล่วงหน้า
- การพูดแบบกะทันหัน
การขาดทักษะใดทักษะหนึ่งในสามอย่างนี้จะเป็นอุปสรรคใหญ่ต่ออาชีพของผม ปัญหาคือจะเรียนรู้การพูดในที่สาธารณะโดยไม่กลัวได้อย่างไร คำตอบก็ชัดเจนคือการฝึกฝน และถึงแม้สิ่งอื่นอาจช่วยได้ แต่การฝึกฝนเป็นสิ่งที่จำเป็นต้องทำ
หลังจากที่ผมตระหนักได้ไม่นาน ก็มีโอกาสให้ผมไปบรรยายตอนเย็นให้กับกลุ่มคนทำงานด้านคอมพิวเตอร์ซึ่งเป็นลูกค้าของ ibm ที่กำลังเรียนรู้เกี่ยวกับการใช้งานเครื่อง ibm ในฐานะผู้ใช้ที่เคยผ่านหลักสูตรแบบนี้มาก่อน ผมรู้ดีว่าปกติการอบรมจะใช้เวลาหนึ่งสัปดาห์ในช่วงเวลาทำงาน เพื่อให้มีความบันเทิงในตอนเย็น ibm มักจะจัดสังสรรค์ในเย็นวันแรก พาไปดูละครในอีกเย็นหนึ่ง และให้มีการบรรยายทั่วไปเกี่ยวกับคอมพิวเตอร์ในอีกเย็นหนึ่ง—และเห็นได้ชัดว่าผมถูกขอให้ทำอย่างหลัง
ผมตอบรับทันทีเพราะนี่คือโอกาสที่จะได้ฝึกพูด อย่างที่บอกตัวเองว่าต้องทำ ผมตัดสินใจว่าจะต้องบรรยายให้ดีจนถูกเชิญไปพูดที่อื่นอีกเพื่อจะได้ฝึกฝนมากขึ้น ตอนแรกคิดว่าจะบรรยายในหัวข้อที่ผมชอบ แต่ไม่นานก็รู้ว่าถ้าอยากถูกเชิญกลับมาอีก ควรบรรยายในสิ่งที่ผู้ฟังอยากฟัง ซึ่งมักจะแตกต่างกันอย่างสิ้นเชิง แล้วพวกเขาอยากฟังอะไรล่ะ โดยเฉพาะอย่างยิ่งเมื่อผมไม่รู้ด้วยซ้ำว่าพวกเขากำลังเรียนหลักสูตรอะไรและมีความสามารถแค่ไหน ผมก็เลยเลือกหัวข้อที่น่าสนใจทั่วไปคือ The History of Computing to the Year 2000 —ช่วงประมาณปี 1960 แม้แต่ตัวผมเองก็สนใจหัวข้อนี้ และสงสัยว่าผมจะพูดอะไรได้บ้าง! ยิ่งไปกว่านั้น และนี่คือสิ่งสำคัญ ในการเตรียมบรรยายครั้งนี้ ผมกำลังเตรียมตัวเองสำหรับอนาคต การที่ผมพูดว่า "เขาอยากฟังอะไร" นั้น ไม่ได้พูดในฐานะนักการเมือง แต่ในฐานะนักวิทยาศาสตร์ที่ควรพูดความจริงตามที่ตนเห็น นักวิทยาศาสตร์ไม่ควรบรรยายเพื่อความบันเทิงอย่างเดียว เพราะเป้าหมายของการบรรยายคือการถ่ายทอดข้อมูลทางวิทยาศาสตร์จากผู้พูดไปยังผู้ฟัง นั่นไม่ได้หมายความว่าการบรรยายต้องน่าเบื่อ มีเส้นแบ่งที่บางแต่ชัดเจนระหว่างการสื่อสารทางวิทยาศาสตร์กับความบันเทิง และนักวิทยาศาสตร์ควรรักษาตัวให้อยู่ฝั่งที่ถูกต้องของเส้นนั้นเสมอ
การบรรยายครั้งแรกของผมเน้นไปที่ฮาร์ดแวร์และข้อจำกัดของมัน รวมถึงที่ผมได้พูดถึงใน Chapter 3 เกี่ยวกับกฎธรรมชาติสามข้อที่เกี่ยวข้อง ได้แก่ ขนาดของโมเลกุล ความเร็วแสง และปัญหาการระบายความร้อน ผมใช้ Vugraph สีสวยงามพร้อมกับภาพซ้อนที่แสดงข้อจำกัดทางกลศาสตร์ควอนตัม รวมถึงผลของ uncertainty principle การบรรยายประสบความสำเร็จ เพราะคนของ ibm ที่เชิญผมมาบอกภายหลังว่าผู้ฟังชอบกันมาก ผมก็พูดแบบ casual ว่าผมก็สนุกเหมือนกัน และยินดีที่จะเข้าไปในนิวยอร์กซิตี้เมื่อไหร่ก็ได้ที่เขาต้องการ ขอแค่แจ้งล่วงหน้า แล้วผมจะมาบรรยายอีก—และเขาก็ตอบรับ นั่นเป็นครั้งแรกของชุดการบรรยายที่ดำเนินต่อเนื่องมาหลายปี ปีละประมาณสองถึงสามครั้ง ผมได้ฝึกฝนอย่างมากและเรียนรู้ที่จะไม่กลัวจนเกินไป คุณควรจะรู้สึกตื่นเต้นบ้างเวลาบรรยาย เพราะแม้แต่นักแสดงที่ดีที่สุดก็ยังมีอาการ stage fright ความตื่นเต้นของคุณจะส่งต่อไปยังผู้ฟัง และถ้าคุณดูผ่อนคลายเกินไป ผู้ฟังก็จะผ่อนคลายตามและอาจหลับได้!
การบรรยายนี้ยังช่วยให้ผมติดตามความเคลื่อนไหวอยู่เสมอ คอยจับตาดูแนวโน้มของวงการคอมพิวเตอร์ และให้ผลตอบแทนทางปัญญาอย่างมาก รวมถึงทำให้ผมเป็นนักพูดที่ polished มากขึ้น ไม่ใช่แค่โชคช่วย—ผมสร้างโอกาสด้วยการพยายามทำความเข้าใจสิ่งที่เกิดขึ้นในระดับลึกกว่าผิวเผิน ผมเริ่มสังเกตไม่เพียงแค่เนื้อหาที่พูดในการบรรยายต่างๆ ที่ผมไปฟัง แต่รวมถึงสไตล์การนำเสนอด้วยว่ามีประสิทธิผลหรือไม่ การบรรยายที่แค่ตลกอย่างเดียวผมมักจะไม่สนใจ แต่ก็ศึกษาเทคนิคการเล่าเรื่องตลกอย่างจริงจัง สุนทรพจน์หลังอาหารค่ำโดยทั่วไปต้องมีมุกดีๆ สามมุก: หนึ่งตอนต้น หนึ่งตอนกลาง และอีกหนึ่งตอนจบเพื่อให้คนจำได้อย่างน้อยหนึ่งมุก และแน่นอนว่าต้องเล่าให้ดี ผมต้องค้นหาสไตล์การเล่าเรื่องตลกของตัวเอง และฝึกฝนด้วยการเล่าให้เลขานุการฟัง
หลังจากบรรยายไปสองสามครั้ง ผมก็ตระหนักว่าไม่ใช่แค่ฮาร์ดแวร์เท่านั้น แต่ซอฟต์แวร์ก็จะเป็นตัวจำกัดวิวัฒนาการของคอมพิวเตอร์เมื่อเราเข้าใกล้ปี 2000—นั่นคือ Chapter 4 ที่เพิ่งพูดถึงไป สุดท้าย หลังจากผ่านไปนาน ผมเริ่มตระหนักว่าเป็นเรื่องของเศรษฐศาสตร์และการประยุกต์ใช้งานน่าจะเป็นปัจจัยหลักที่กำหนดวิวัฒนาการของคอมพิวเตอร์ สิ่งที่จะเกิดขึ้นส่วนใหญ่—แต่ไม่ใช่ทั้งหมด—ต้องมีความคุ้มค่าทางเศรษฐกิจ นี่จึงเป็นที่มาของบทนี้
การคำนวณเริ่มต้นจากเลขคณิตง่ายๆ ผ่านการประยุกต์ใช้ทางดาราศาสตร์มากมาย และมาถึงการประมวลผลแบบ number crunching แต่ควรสังเกตว่า Raymond Lull (1235–1315) ซึ่งบางครั้งสะกดเป็น Lully นักเทววิทยาและนักปรัชญาชาวสเปน สร้างเครื่องจักรทางตรรกะขึ้นมา! และนี่คือสิ่งที่ Swift เสียดสีใน Gulliver's Travels ตอนที่ Gulliver อยู่บนเกาะ Laputa และผมรู้สึกว่า Laputa น่าจะตรงกับ Majorca ที่ซึ่ง Lull เคยรุ่งเรือง
ในยุคแรกๆ ของคอมพิวเตอร์สมัยใหม่ ประมาณทศวรรษ 1940 และ 1950 การประมวลผลแบบ "number crunching" ครองพื้นที่เพราะคนที่ต้องการตัวเลขที่แม่นยำเท่านั้นที่มีเงินพอจะจ่ายค่ำคอมพิวเตอร์ (ในสมัยนั้น) เมื่อต้นทุนการคำนวณลดลง สิ่งที่เราสามารถทำได้อย่างคุ้มค่าทางเศรษฐกิจบนคอมพิวเตอร์ก็ขยายวงกว้างขึ้น ครอบคลุมหลายอย่างนอกเหนือจาก number crunching เรารู้มาตลอดว่ากิจกรรมอื่นๆ เหล่านี้เป็นไปได้ เพียงแต่มันไม่คุ้มค่าทางเศรษฐกิจในเวลานั้น
ประสบการณ์อีกด้านของผมในวงการคอมพิวเตอร์ก็เป็นไปในแนวทางเดียวกัน ที่ Los Alamos เราคำนวณหาคำตอบของ partial differential equations ( พฤติกรรมของระเบิดปรมาณู) บนอุปกรณ์ดั้งเดิม ที่ Bell Telephone Laboratories ตอนแรกผมแก้ partial differential equations บน relay computers ที่จริงผมถึงกับแก้สมการ partial differential-integral equation! ต่อมาเมื่อมีเครื่องจักรที่ดีกว่ามาก ผมก็ขยับไปทำ ordinary differential equations ในรูปแบบ trajectory สำหรับขีปนาวุธ จากนั้นก็ตีพิมพ์บทความหลายฉบับเกี่ยวกับวิธีการทำ simple integration แล้วก็ขยับไปทำบทความเกี่ยวกับ function evaluation และสุดท้ายก็บทความเกี่ยวกับการรวมกันของตัวเลข! ใช่แล้ว เราทำโจทย์ที่ยากที่สุดบางข้อบนอุปกรณ์ที่ดั้งเดิมที่สุด—จำเป็นต้องทำแบบนี้เพื่อพิสูจน์ว่าเครื่องจักรสามารถทำสิ่งที่ไม่สามารถทำด้วยวิธีอื่นได้ จากนั้น เมื่อพิสูจน์ได้แล้ว เราถึงจะหันมาแก้ปัญหาที่คุ้มค่าทางเศรษฐกิจซึ่งแต่ก่อนทำได้แค่ด้วยมืออย่างลำบาก! และในการนี้เราจำเป็นต้องพัฒนาทฤษฎีพื้นฐานของ numerical analysis และการคำนวณเชิงปฏิบัติที่เหมาะสมกับเครื่องจักร ไม่ใช่กับการคำนวณด้วยมือ
นี่เป็นเรื่องปกติของหลายสถานการณ์ ก่อนอื่นต้องพิสูจน์ให้ได้อย่างไม่มีข้อกังขาว่าสิ่งใหม่ ไม่ว่าจะเป็นอุปกรณ์ วิธีการ หรืออะไรก็ตาม สามารถรับมือกับงานที่ยากที่สุดได้ ก่อนที่จะถูกนำเข้าสู่ระบบเพื่อทำงานที่ธรรมดากว่า และในระยะยาวก็มีประโยชน์มากกว่า นวัตกรรมใดๆ ก็ต้องเผชิญกับอุปสรรคแบบนี้เสมอ ดังนั้นอย่าท้อแท้เมื่อพบว่าไอเดียใหม่ของคุณถูกต่อต้านอย่างรุนแรงและบางครั้งก็ดูโง่เขลา เมื่อคุณเข้าใจขนาดของงานจริงที่ต้องทำแล้ว คุณก็จะตัดสินใจได้ว่าคุ้มที่จะพยายามต่อไปหรือไม่ หรือควรไปทำอย่างอื่นที่สำเร็จได้ และไม่เสียแรงไปโดยเปล่าประโยชน์กับการต่อสู้กับแรงเฉื่อยและความโง่เขลา
ในช่วงแรกของวิวัฒนาการคอมพิวเตอร์ ผมหันมาสนใจปัญหาการทำงานเล็กๆ จำนวนมากบนเครื่องขนาดใหญ่ ผมตระหนักว่า ในแง่หนึ่ง ผมกำลังอยู่ใน การผลิตสินค้าที่หลากหลายในปริมาณมาก (mass production of a variable product) —ผมควรจัดระบบเพื่อให้สามารถรับมือกับปัญหาส่วนใหญ่ที่จะเกิดขึ้นในปีหน้า โดยที่ไม่รู้รายละเอียดว่ามันคืออะไร ตอนนั้นเองที่ผมเข้าใจว่าคอมพิวเตอร์เปิดประตูสู่การผลิตสินค้าที่หลากหลายในปริมาณมากอย่างกว้างขวาง ไม่ว่าจะเป็นตัวเลข ข้อความ การประมวลผลคำ การทำเฟอร์นิเจอร์ การทอผ้า หรืออะไรก็ตาม มันทำให้เราจัดการกับความหลากหลายได้โดยไม่ต้องทำให้เป็นมาตรฐานมากเกินไป และเราจึงสามารถวิวัฒนาการไปสู่อนาคตที่ต้องการได้เร็วขึ้น! คุณเห็นสิ่งนี้เกิดขึ้นกับคอมพิวเตอร์เอง! คอมพิวเตอร์ด้วยคำแนะนำจากมนุษย์ ออกแบบชิปของตัวเอง และคอมพิวเตอร์ก็ถูกประกอบโดยอัตโนมัติไม่มากก็น้อยจากชิ้นส่วนมาตรฐาน คุณบอกสิ่งที่คุณต้องการในคอมพิวเตอร์ของคุณ แล้วคอมพิวเตอร์เครื่องนั้นก็ถูกสร้างขึ้น ผู้ผลิตคอมพิวเตอร์บางรายตอนนี้ใช้การประกอบชิ้นส่วนด้วยเครื่องจักรเกือบทั้งหมด โดยแทบไม่ต้องมีมนุษย์เกี่ยวข้อง
ทัศนคติที่ว่าผมกำลังผลิตสินค้าที่หลากหลายในปริมาณมาก พร้อมทั้งข้อดีและข้อเสียทั้งหมดนี่เอง ที่ทำให้ผมเข้าไปเกี่ยวข้องกับ ibm 650 อย่างที่เล่าให้ฟังในบทที่แล้ว ด้วยการใช้ความพยายามรวมประมาณหนึ่ง man-year ในระยะเวลาหกเดือน ในช่วงปลายปีผมพบว่ามีงานสำเร็จมากกว่าถ้าทำทีละปัญหา! การสร้าง software tool ให้ผลตอบแทนภายในหนึ่งปี! ในสาขาที่เปลี่ยนแปลงเร็วอย่าง computer software ถ้าผลตอบแทนไม่เกิดขึ้นในระยะใกล้นี้ ก็ไม่แน่ใจว่าจะได้ผลตอบแทนเลย
ผมยังไม่ได้พูดถึงประสบการณ์นอกเหนือจากวิทยาศาสตร์และวิศวกรรม—ตัวอย่างเช่น ผมทำโปรเจกต์ทางธุรกิจขนาดใหญ่ให้กับ at&t โดยใช้ univac-i ในนิวยอร์กซิตี้ และสักวันผมจะเล่าถึงบทเรียนที่ได้เรียนรู้จากประสบการณ์นั้น
มาพูดถึงการประยุกต์ใช้คอมพิวเตอร์ในเชิงปริมาณกันดีกว่า โดยธรรมชาติแล้ว ตอนที่ผมอยู่ในแผนกวิจัยของ Bell Telephone Laboratories ปัญหาส่วนใหญ่จะเป็นเชิงวิทยาศาสตร์ก่อน แต่พอเราอยู่ใน Bell Telephone Laboratories ไม่นานก็เริ่มมีปัญหาทางวิศวกรรมตามมา อย่างแรก Figure 5.1 ถ้าดูเฉพาะการเติบโตของปัญหาทางวิทยาศาสตร์อย่างเดียว คุณจะได้กราฟที่เพิ่มขึ้นแบบ exponential (สังเกตสเกลแนวตั้งแบบ log) แต่ไม่นานก็จะเห็นส่วนบนของ S-curve ที่เริ่มราบลงสู่อัตราการเติบโตที่ปานกลางมากขึ้น ท้ายที่สุด ด้วยลักษณะปัญหาที่ผมแก้ให้พวกเขาในตอนนั้น และจำนวนนักวิทยาศาสตร์ทั้งหมดที่ Bell Telephone Laboratories จ้างงาน ก็ต้องมีขีดจำกัดในสิ่งที่พวกเขาจะเสนอและใช้งานได้ อย่างที่คุณทราบ พวกเขาเริ่มเสนอปัญหาที่ใหญ่กว่ามากอย่างช้าๆ ดังนั้น scientific computing ยังคงเป็นส่วนประกอบสำคัญของการใช้คอมพิวเตอร์ แต่ไม่ใช่ส่วนหลักในส่วนใหญ่องค์กร
Figure 5.1—Growth of computing (การเติบโตของการประมวลผล)
งานด้านวิศวกรรมก็ตามมาไม่นาน และเติบโตในรูปแบบที่คล้ายกัน แต่มีขนาดใหญ่กว่าและถูกเพิ่มทับลงบนกราฟของงานวิทยาศาสตร์ จากนั้น อย่างน้อยที่ Bell Telephone Laboratories ผมพบว่างานด้านการทหารมีปริมาณมากกว่าอีก และสุดท้ายเมื่อเราเปลี่ยนไปใช้งานด้าน symbol manipulations ในรูปแบบของการประมวลผลคำ เวลาในการ compile สำหรับภาษาระดับสูง และอื่นๆ ก็มีการเพิ่มขึ้นในลักษณะเดียวกัน ดังนั้นแม้ว่างานแต่ละประเภทจะค่อยๆ เข้าใกล้จุดอิ่มตัวตามลำดับ แต่ผลรวมสุทธิของทั้งหมดก็ทำให้มีอัตราการเติบโตที่ค่อนข้างคงที่
อะไรจะมาค้ำจุนกราฟการเติบโตแบบ logarithmic เส้นตรงนี้ และป้องกันการแผ่ราบของ S-curve ของการประยุกต์ใช้งาน? พื้นที่ใหญ่ถัดไปในความคิดของผมคือ pattern recognition ผมไม่แน่ใจในความสามารถของเราที่จะรับมือกับปัญหาทั่วไปที่สุดของ pattern recognition เพราะอย่างหนึ่งมันครอบคลุมมากเกินไป แต่ในด้านต่างๆ เช่น speech recognition, radar pattern recognition, การวิเคราะห์และวาดภาพใหม่, การจัดตารางงานในโรงงานและสำนักงาน, การวิเคราะห์ข้อมูลสำหรับนักสถิติ, การสร้างภาพเสมือนจริง และอื่นๆ เราสามารถใช้พลังคอมพิวเตอร์มหาศาลได้ Virtual reality computing จะกลายเป็นผู้บริโภคพลังประมวลผลรายใหญ่ และมูลค่าทางเศรษฐกิจที่ชัดเจนของมันรับประกันว่าสิ่งนี้จะเกิดขึ้น ทั้งในด้านความต้องการเชิงปฏิบัติและด้านความบันเทิง เหนือไปกว่านั้นคือ artificial intelligence ซึ่งในที่สุดจะถึงจุดที่สิ่งที่มันนำเสนอจะคุ้มกับต้นทุนด้านการประมวลผล และจะเป็นอีกแหล่งหนึ่งของการแก้ปัญหา
เราเริ่มทำ interactive computing ตั้งแต่ยุคแรก ผมเริ่มต้นจากนักวิทยาศาสตร์ชื่อ Jack Kane เขามีไอเดียสุดแปลกในยุคนั้นคือการเชื่อมต่อคอมพิวเตอร์ขนาดเล็ก Scientific Data Systems ( sds ) 910 เข้ากับเครื่อง cyclotron ที่ Brookhaven ซึ่งเราใช้เวลากันมาก vp ถามผมว่า Jack จะทำได้ไหม และเมื่อผมพิจารณาปัญหา (และตัว Jack) อย่างละเอียด ผมบอกว่าผมคิดว่าเขาทำได้ จากนั้นก็ถูกถามอีกว่า "บริษัทผู้ผลิตเครื่องนี้จะยังอยู่รอดไหม?" เพราะ vp ไม่ต้องการเครื่องที่ไม่มี support นั่นทำให้ผมต้องใช้ความพยายามมากขึ้นในทิศทางอื่น และในที่สุดผมก็นัดพบกับประธานของ sds เพื่อพูดคุยแบบ face-to-face ที่ office ของเขาในลอสแอนเจลิส ผมกลับมาอย่างเชื่อมั่น แต่จะเล่าเพิ่มทีหลัง สรุปเราทำมัน และผมเชื่อตอนนั้นเหมือนที่เชื่อตอนนี้ว่าเครื่อง sds 910 ราคาถูกและเล็กนี่เพิ่ม productivity ของเครื่อง cyclotron ขนาดใหญ่และแพงได้อย่างน้อยสองเท่า! มันเป็นหนึ่งในคอมพิวเตอร์เครื่องแรกๆ ที่ระหว่างการทำงานของ cyclotron รวบรวม ลดขนาด และแสดงข้อมูลที่ได้บนหน้าจอ oscilloscope ขนาดเล็ก (ซึ่ง Jack ประกอบและทำให้ทำงานได้ภายในไม่กี่วัน) สิ่งนี้ทำให้เราสามารถยกเลิกการทดลองหลายรอบที่ไม่ถูกต้องนัก เช่น ตัวอย่างไม่อยู่ตรงกลางลำแสงพอดี มีผลกระทบใกล้ขอบของ spectrum จึงควรออกแบบการทดลองใหม่ มีอะไรแปลกๆ เกิดขึ้น และต้องการข้อมูลเพิ่มเติมตรงนั้นตรงนี้—ทั้งหมดเป็นเหตุผลให้หยุดและปรับแก้แทนที่จะเดินจนจบแล้วค่อยหาปัญหา
ประสบการณ์นี้ทำให้เราที่ Bell Telephone Laboratories เริ่มนำคอมพิวเตอร์ขนาดเล็กเข้าไปในห้องปฏิบัติการ ตอนแรกแค่เพื่อรวบรวม ลดขนาด และแสดงผลข้อมูล แต่ไม่นานก็เพื่อควบคุมการทดลอง การให้เครื่องจักรกำหนดรูปคลื่นของแรงดันไฟฟ้าที่ขับการทดลองผ่าน digital-to-analog converter มาตรฐาน มักง่ายกว่าการสร้างวงจรพิเศษขึ้นมาเอง สิ่งนี้ขยายขอบเขตของการทดลองที่เป็นไปได้อย่างมหาศาล และทำให้ interactive experiments เป็นไปได้ในทางปฏิบัติ อีกครั้งที่เราเอาเครื่องเข้ามาด้วยข้ออ้างหนึ่ง แต่การมีอยู่ของมันในระยะยาวเปลี่ยนทั้งปัญหาและการใช้งานจริงของคอมพิวเตอร์ เมื่อคุณใช้คอมพิวเตอร์สำเร็จ คุณมักจะทำงานที่เทียบเท่ากัน ไม่ใช่งานเดิมซ้ำๆ คุณจะเห็นอีกครั้งว่าการมีคอมพิวเตอร์อยู่ในระยะยาวเปลี่ยนธรรมชาติของการทดลองหลายอย่างที่เราทำ
ต่อมา Boeing (ในซีแอตเทิล) มีไอเดียคล้ายๆ กัน นั่นคือจะเก็บสถานะปัจจุบันของการออกแบบเครื่องบินที่เสนอไว้ใน tape และทุกคนจะใช้ tape นั้น ดังนั้นในการออกแบบเครื่องบินแต่ละรุ่น ทุกส่วนของบริษัทขนาดใหญ่จะประสานงานกัน แต่มันไม่ได้ผลอย่างที่หัวหน้าคิด และอาจจะไม่เป็นอย่างที่พวกเขาคิดว่ามันเป็น! ผมรู้เพราะผมได้รับมอบหมายงานระดับสูงสองสัปดาห์ให้ไปสืบให้กับผู้บริหารระดับสูงของ Boeing โดยปลอมตัวเป็นการตรวจสอบศูนย์คอมพิวเตอร์ตามปกติให้กับกลุ่มระดับล่าง!
สาเหตุที่มันไม่เป็นไปตามแผนนั้นง่ายมาก ถ้าสถานะปัจจุบันของการออกแบบอยู่ใน tape (ปัจจุบันคือ disc) และคุณใช้ข้อมูลนั้นในการศึกษา เช่น พื้นที่ปีก รูปร่าง และโปรไฟล์ เมื่อคุณเปลี่ยน parameter แล้วพบว่าดีขึ้น อาจเป็นเพราะการเปลี่ยนแปลงที่คนอื่นทำในแบบออกแบบร่วม ไม่ใช่เพราะการเปลี่ยนแปลงที่คุณทำ—ซึ่งจริงๆ แล้วอาจทำให้แย่ลง! ดังนั้นสิ่งที่เกิดขึ้นในทางปฏิบัติคือ แต่ละกลุ่มเมื่อทำ optimization study จะก๊อปปี้ tape ปัจจุบัน และใช้มันโดยไม่รับ update จากที่อื่นใด จนกระทั่งเมื่อตัดสินใจออกแบบใหม่เสร็จแล้ว จึงค่อยใส่การเปลี่ยนแปลง—และแน่นอนว่าต้องตรวจสอบว่าการออกแบบใหม่ของตนสอดคล้องกับการออกแบบใหม่ของคนอื่น คุณไม่สามารถใช้ database ที่เปลี่ยนแปลงตลอดเวลาสำหรับ optimization study ได้
นี่นำผมมาสู่หัวข้อของ databases คอมพิวเตอร์น่าจะเป็นผู้กอบกู้ในด้านนี้ และยังคงถูกกล่าวถึงอยู่บ่อยครั้งราวกับว่ามันจะเป็นเช่นนั้น สายการบินกับระบบจองตั๋วเป็นตัวอย่างที่ดีของสิ่งที่คอมพิวเตอร์ทำได้—ลองคิดดูว่ามันจะยุ่งเหยิงขนาดไหนถ้าทำด้วยมือ ที่มีข้อผิดพลาดของมนุษย์มากมาย แถมยังขนาดของปัญหาที่ใหญ่โต สายการบินในปัจจุบันเก็บ databases หลายอย่าง รวมถึง สภาพอากาศ ข้อมูลสภาพอากาศและความล่าช้าของสนามบินปัจจุบันถูกใช้เพื่อออกแบบ flight profile สำหรับแต่ละเที่ยวบินก่อนเครื่องขึ้น และอาจเปลี่ยนแปลงระหว่างการบินตามข้อมูลที่ได้รับใหม่
ผู้จัดการบริษัทมักจะมีความคิดเสมอว่าถ้าเพียงพวกเขารู้สถานะปัจจุบันของบริษัทในทุกรายละเอียด พวกเขาจะบริหารจัดการได้ดีขึ้น ดังนั้นไม่มีทางเลือกอื่นนอกจากต้องมี database ของกิจกรรมทั้งหมดของบริษัทที่อัพเดทตลอดเวลา แต่มันก็มีปัญหา อย่างที่กล่าวข้างต้น และอีกอย่าง: สมมติว่าคุณและผมเป็น vp ของบริษัทเดียวกัน และต้องการตัวเลขที่เหมือนกันเป๊ะสำหรับประชุมวันจันทร์เช้า คุณได้ตัวเลขจากโปรแกรมที่รันเมื่อบ่ายวันศุกร์ ส่วนผมซึ่งฉลาดกว่าและรู้ว่าช่วง weekend มีข้อมูลจำนวนมากจากสาขาต่างๆ เข้ามา ก็รอจนถึงคืนวันอาทิตย์แล้วค่อยเตรียมของผม เห็นได้ชัดว่ารายงานทั้งสองฉบับของเราอาจแตกต่างกันอย่างมีนัยสำคัญ แม้เราจะใช้โปรแกรมเดียวกันในการเตรียม! ซึ่งเป็นสิ่งที่รับไม่ได้ในทางปฏิบัติ ยิ่งไปกว่านั้น รายงานและการตัดสินใจที่สำคัญส่วนใหญ่ไม่ควร sensitive กับข้อมูลที่อัพเดทตลอดนาที!
แล้ว scientific database ล่ะ? ตัวอย่างเช่น ควรใส่ค่าการวัดของใคร? แน่นอนว่าการได้ค่าของคุณเข้าไปใน database เป็นเรื่องของเกียรติภูมิ ดังนั้นจะมีความขัดแย้งทางผลประโยชน์ที่ร้อนแรง เสียค่าใช้จ่ายสูง และน่ารำคาญในด้านนั้น จะแก้ปัญหาความขัดแย้งเหล่านี้อย่างไร? ก็ด้วยต้นทุนที่สูงเท่านั้น! อีกครั้ง เมื่อคุณทำ optimization studies คุณก็เจอปัญหาเดิม; มันเป็นการเปลี่ยนแปลงใน physical constant บางตัวที่คุณไม่รู้ว่ามันเกิดขึ้น ซึ่งทำให้โมเดลใหม่ดีกว่าโมเดลเก่าหรือเปล่า? คุณจะรักษาสถานะของการเปลี่ยนแปลงให้ผู้ใช้ทุกคนเข้าถึงได้อย่างไร? การให้ผู้ใช้อ่านสิ่งพิมพ์ทั้งหมดของคุณทุกครั้งที่ใช้เครื่องนั้นไม่เพียงพอ และเนื่องจากพวกเขาจะไม่อัพเดทตาม ข้อผิดพลาดก็จะเกิดขึ้น การโทษผู้ใช้ไม่ได้ทำให้ข้อผิดพลาดหายไป!
ตอนแรกผมพูดถึงคอมพิวเตอร์เอนกประสงค์เป็นหลัก แต่ค่อยๆ พูดถึงการใช้คอมพิวเตอร์เอนกประสงค์เป็นอุปกรณ์เฉพาะกิจเพื่อควบคุมสิ่งต่างๆ เช่น cyclotron และอุปกรณ์ในห้องปฏิบัติการ ก้าวสำคัญหนึ่งเกิดขึ้นเมื่อมีคนในธุรกิจผลิต integrated circuits ให้คนอื่นสังเกตว่า แทนที่จะผลิต chip พิเศษสำหรับลูกค้าแต่ละราย เขาสามารถสร้างคอมพิวเตอร์เอนกประสงค์แบบ four-bit แล้วเขียนโปรแกรมสำหรับงานเฉพาะแต่ละงาน ( intel 4004) เขาแทนที่งานผลิตที่ซับซ้อนด้วยงานเขียนโปรแกรม แน่นอนว่ายังต้องผลิต chip อยู่ แต่ตอนนี้มันจะเป็นการผลิต same four-bit chips จำนวนมาก นี่คือแนวโน้มที่ผมกล่าวถึงก่อนหน้านี้ การเปลี่ยนจากฮาร์ดแวร์ไปเป็นซอฟต์แวร์เพื่อให้ได้การผลิตสินค้าที่หลากหลายในปริมาณมาก—โดยใช้คอมพิวเตอร์เอนกประสงค์ตัวเดิมเสมอ four-bit chip ขยายเป็น eight-bit chips ไม่นาน จากนั้นเป็น 16-bit ฯลฯ จนตอนนี้บาง chip มีคอมพิวเตอร์ 64-bit อยู่บนนั้น!
คุณอาจไม่ทันสังเกตจำนวนคอมพิวเตอร์ที่คุณ interact ในแต่ละวัน สัญญาณไฟจราจร ลิฟต์ เครื่องซักผ้า โทรศัพท์—ซึ่งตอนนี้มีคอมพิวเตอร์มากมายอยู่ในนั้น ต่างจากสมัยเด็กของผมที่มีพนักงานผู้ cheerful รออยู่ปลายสายทุกครั้งเพื่อช่วยและหาเบอร์โทรศัพท์ที่คุณต้องการ—เครื่องตอบรับอัตโนมัติ และรถยนต์ที่ถูกควบคุมด้วยคอมพิวเตอร์ under the hood ล้วนเป็นตัวอย่างของการขยายขอบเขตการประยุกต์ใช้ คุณแค่ต้องสังเกตและเห็นความเป็นสากลของคอมพิวเตอร์ในชีวิตคุณ แน่นอนว่ามันจะเพิ่มขึ้นอีกเมื่อเวลาผ่านไป—คอมพิวเตอร์เอนกประสงค์ ง่ายๆ ตัวเดียวกันสามารถทำงานเฉพาะกิจได้มากมาย จนแทบไม่ต้องใช้ special-purpose chip
คุณจะเห็น special-purpose chips มากเกินความจำเป็น เหตุผลหลักประการหนึ่งคือความพอใจใน ego อย่างมากที่มี chip เฉพาะของตัวเอง ไม่ใช่ chip ที่ใช้กันทั่วไป (ผมกำลังย้ำบางส่วนจาก Chapter 2) ก่อนที่คุณจะทำผิดพลาดและใช้ special-purpose chip ในอุปกรณ์ใดๆ ให้ถามตัวเองด้วยคำถามหลายข้อ ผมขอทวนข้อโต้แย้งก่อนหน้านี้ คุณอยากอยู่เพียงลำพังกับ chip พิเศษของคุณไหม? คุณต้องมีสต็อกสำรองเท่าไหร่? คุณอยากมีซัพพลายเออร์รายเดียวหรือไม่กี่ราย แทนที่จะซื้อในตลาดเปิดได้หรือไม่? ต้นทุนรวมในระยะยาวจะสูงกว่าอย่างมีนัยสำคัญหรือเปล่า?
ถ้าคุณใช้ general-purpose chip ผู้ใช้ทั้งหมดก็จะช่วยกัน ไม่ใช่แค่ในการค้นหาข้อบกพร่อง แต่ยังทำให้ผู้ผลิตยินดีที่จะแก้ไขให้ มิฉะนั้นคุณจะต้องผลิตคู่มือ diagnostics และอื่นๆ เอง และในขณะเดียวกันสิ่งที่คนอื่นเรียนรู้เกี่ยวกับ chip ของพวกเขาก็แทบไม่ช่วยคุณกับ chip เฉพาะของคุณ นอกจากนี้ ด้วย general-purpose chip การอัพเกรด chip ซึ่งคุณคาดว่าจะมีคนอื่นจัดการให้เป็นส่วนใหญ่ ก็จะพร้อมให้คุณใช้ได้โดยไม่ต้องออกแรง คุณจะต้องอัพเกรดอย่างหลีกเลี่ยงไม่ได้เพราะไม่นานคุณก็อยากทำมากกว่าแผนเดิม general-purpose chip ที่มีกำลังสำรองสำหรับการขยายตัวในอนาคตซึ่งหลีกเลี่ยงไม่ได้นั้นจัดการได้ง่ายกว่ามาก
ผมไม่จำเป็นต้องแจกแจงรายการประยุกต์ใช้คอมพิวเตอร์ในธุรกิจของคุณ คุณน่าจะรู้ดีกว่าผมว่าการใช้คอมพิวเตอร์เพิ่มขึ้นอย่างรวดเร็ว ไม่เพียงแต่ในภาคสนามแต่ทั่วทั้งองค์กร ตั้งแต่บนลงล่าง ตั้งแต่หลังแนวการผลิตจริงไปจนถึงแนวหน้าของการผลิต คุณควรตระหนักดีถึงอัตราการเปลี่ยนแปลงและการอัพเกรดที่เพิ่มขึ้นอย่างต่อเนื่อง รวมถึงความยืดหยุ่นที่อุปกรณ์จัดการสัญลักษณ์เอนกประสงค์มอบให้กับทั้งองค์กรเพื่อตอบสนองต่อความต้องการที่เปลี่ยนแปลงตลอดเวลาของสภาพแวดล้อมการดำเนินงาน ขอบเขตของการประยุกต์ใช้ที่เป็นไปได้เพิ่งเริ่มต้นเท่านั้น และยังมีแอปพลิเคชันใหม่ๆ อีกมากที่ต้องทำ—บางทีอาจโดยคุณ ผมไม่คัดค้านการปรับปรุงสิ่งที่มีอยู่ให้ดีขึ้น 10% แต่จากคุณผมยังหวังจะเห็นสิ่งใหม่ที่ยิ่งใหญ่ซึ่งสร้างความแตกต่างอย่างมากให้กับองค์กรของคุณ จนประวัติศาสตร์จดจำมันได้อย่างน้อยสองสามปี
เมื่อคุณก้าวหน้าในอาชีพ คุณควรศึกษาแอปพลิเคชันที่สำเร็จและที่ล้มเหลว พยายามเรียนรู้วิธีแยกแยะระหว่างพวกมัน พยายามเข้าใจสถานการณ์ที่นำไปสู่ความสำเร็จและสถานการณ์ที่เกือบรับประกันความล้มเหลว ตระหนักไว้ว่า ตามกฎทั่วไป งานที่คุณควรทำกับเครื่องจักรไม่ใช่งานเดิม แต่เป็นงานที่เทียบเท่า และทำให้มันสามารถขยายตัวอย่างยืดหยุ่นในอนาคตได้ง่าย (ถ้าคุณสำเร็จ) และอย่าลืมคิดอย่างจริงจังเกี่ยวกับการบำรุงรักษาภาคสนามตามที่มันจะเกิดขึ้นจริง—ซึ่งโดยทั่วไปแล้วไม่เป็นอย่างที่คุณหวังให้มันเป็น!
การใช้คอมพิวเตอร์ในสังคมยังไม่ถึงจุดสิ้นสุด และยังมีพื้นที่สำหรับแอปพลิเคชันใหม่ๆ ที่สำคัญอีกมากมาย การค้นหามันง่ายกว่าที่คนส่วนใหญ่คิด!
ในสองบทที่ผ่านมาผมจบด้วยข้อสังเกตเกี่ยวกับข้อจำกัดที่เป็นไปได้ของหัวข้อของมันคือฮาร์ดแวร์และซอฟต์แวร์ ดังนั้นผมจึงต้องพูดถึงข้อจำกัดที่เป็นไปได้บางอย่างของแอปพลิเคชัน ซึ่งผมจะทำในอีกไม่กี่บทถัดไปภายใต้หัวข้อทั่วไปของ Artificial Intelligence, ai .