ย้ายไปที่ Patch Tuesday – วันนี้เป็นวัน Ada Lovelace! PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

ข้าม Patch Tuesday – เป็นวัน Ada Lovelace!

วันอังคารที่สองของทุกเดือนเป็นวันปกติของ Microsoft สำหรับการอัปเดตด้านความปลอดภัย ซึ่งเกือบทุกคนยังรู้จักโดยใช้ชื่อเล่นที่ไม่เป็นทางการว่า "Patch Tuesday"

แต่วันอังคารที่สองของเดือนตุลาคมก็เช่นกัน วันเอด้า เลิฟเลซ, ฉลอง อาดา เคานท์เตสแห่งเลิฟเลซ.

Ada เป็นผู้บุกเบิกที่แท้จริง ไม่เพียงแต่ด้านคอมพิวเตอร์เท่านั้น แต่ยังรวมถึงวิทยาการคอมพิวเตอร์ด้วย และตั้งชื่อให้เธอเป็นภาษาโปรแกรม Ada

ภาษา Ada เกิดขึ้นจากโครงการของกระทรวงกลาโหมสหรัฐฯ ที่มุ่งเป้าไปที่ "การทำให้เสื่อมเสีย" โลกแห่งการเข้ารหัสของรัฐบาล โดยที่ทุกแผนกดูเหมือนจะชอบภาษาอื่นหรือภาษาถิ่นที่ต่างกัน ทำให้ยากขึ้น มีราคาแพงกว่า และ มีความน่าเชื่อถือน้อยกว่าในการให้พวกเขาทำงานร่วมกัน

Ada มีคุณลักษณะทางวากยสัมพันธ์มากมายที่มุ่งปรับปรุงความสามารถในการอ่านและหลีกเลี่ยงข้อผิดพลาดทั่วไป ไม่เหมือนกับความคิดเห็นในภาษา C ซึ่งขึ้นต้นด้วย /* และวิ่งต่อไป */บางทีหลายบรรทัดต่อมา Ada ก็เพิกเฉยต่อสิ่งใดหลังจาก -- ในบรรทัดใดบรรทัดหนึ่ง ดังนั้นความคิดเห็นจะไม่เกิดขึ้นโดยไม่ได้ตั้งใจเกินกว่าที่คุณตั้งใจไว้ แทนที่จะล้อมบล็อคโค้ดหลายบรรทัดทั้งหมดไว้ในวงเล็บปีกกา ({...}, ที่รู้จักกันว่า วงเล็บปีกกา) Ada มีเทอร์มิเนเตอร์เฉพาะสำหรับบล็อกหลายบรรทัดแต่ละประเภท เช่น end record, end loop และ end if. เราสงสัยว่า Ada Lovelace จะปรบมือให้กับความชัดเจนของภาษาที่มีชื่อเดียวกันของเธอ แต่ Ada-the-language ไม่เคยติดใจและไวยากรณ์วงเล็บปีกกาของ C ได้รับชัยชนะอย่างมากในวันนั้น โดย Python อาจเป็นภาษาเดียวที่ไม่ใช่วงเล็บปีกกา การใช้อย่างแพร่หลาย วงเล็บเหลี่ยมเป็นส่วนสำคัญของ C, C++, C#, Go, Java, JavaScript, Perl, Rust และภาษายอดนิยมอื่น ๆ อีกมากมาย

ยุคของเอด้า เลิฟเลซ

คุณอาจจะแปลกใจที่พบว่าชื่อเอด้ามีความเกี่ยวข้องกับการเริ่มต้นของวิทยาการคอมพิวเตอร์มากเพียงใด ที่เธออาศัยอยู่ในช่วงครึ่งแรกของศตวรรษที่สิบเก้า นานก่อนสิ่งอื่นใดที่เรารู้จักในปัจจุบันว่าเป็นคอมพิวเตอร์ หรือแม้แต่เครื่องคิดเลข .

(เอด้าเสียชีวิตด้วยโรคมะเร็งมดลูกในปี พ.ศ. 1852 เมื่ออายุเพียง 36 ปี)

แต่ถึงแม้คอมพิวเตอร์ในความหมายสมัยใหม่จะไม่มีอยู่จริงในปี ค.ศ. 1800 พวกเขา เกือบ ไม่

นี่เป็นวิธีที่มันเกือบจะเกิดขึ้น

Charles Babbage ในช่วงต้นปี 1800 ได้คิดค้นเครื่องคำนวณทางกลที่เรียกว่า เครื่องมือสร้างความแตกต่าง ในทางทฤษฎี อย่างน้อย ก็สามารถแก้สมการพหุนามในระดับที่หกได้โดยอัตโนมัติ เช่น โดยการหาค่าของ X ที่จะตอบสนอง:

aX6 + บีเอ็กซ์5 +cX4 +เดกซ์3 +เอ็กซ์2 + เอฟเอ็กซ์ + ก = 0

รัฐบาลสหราชอาณาจักรให้ความสนใจ เนื่องจากอุปกรณ์ประเภทนี้สามารถใช้ในการสร้างตารางทางคณิตศาสตร์ที่แม่นยำ เช่น รากที่สอง ลอการิทึม และอัตราส่วนตรีโกณมิติ

และเครื่องจักรใด ๆ ที่เก่งการคำนวณตรีโกณมิติก็จะมีประโยชน์สำหรับการคำนวณสิ่งต่าง ๆ เช่นโต๊ะปืนที่สามารถปฏิวัติความแม่นยำของปืนใหญ่บนบกและในทะเล

แต่แบบเบจมีปัญหาสองประการ

ประการแรก เขาไม่สามารถเข้าถึงความแม่นยำทางวิศวกรรมที่จำเป็นในการทำให้ Difference Engine ทำงานได้อย่างถูกต้อง เพราะมันเกี่ยวข้องกับเกียร์ที่เชื่อมต่อกันมากพอที่ฟันเฟือง (เล็กน้อยแต่สะสมที่นำไปสู่ ​​"ความเลอะเทอะ" ในกลไก) จะล็อคมันไว้

ประการที่สอง ดูเหมือนว่าเขาจะหมดความสนใจใน Difference Engine เมื่อเขารู้ว่ามันเป็นทางตัน ในแง่สมัยใหม่ คุณสามารถคิดว่ามันเป็นเครื่องคิดเลขพกพา แต่ไม่ใช่คอมพิวเตอร์แท็บเล็ตหรือแล็ปท็อป

ดังนั้น Babbage จึงก้าวไปข้างหน้าด้วยการออกแบบอุปกรณ์ที่มีความซับซ้อนมากขึ้นซึ่งเขาขนานนามว่า เครื่องมือวิเคราะห์ซึ่งสามารถแก้ปัญหาทางวิทยาศาสตร์ทั่วไปได้มากกว่าสมการพหุนามแบบเดียว

อาจจะไม่น่าแปลกใจหากมองย้อนกลับไปอย่างน่าเศร้า รัฐบาลไม่สนใจอย่างมากที่จะให้เงินสนับสนุนโครงการขั้นสูงของ Babbage

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

วงจรการประชุมยุโรป

Babbage เดินทางไปอิตาลีเพื่อบรรยายเกี่ยวกับ Analytical Engine ด้วยความอยากรู้อยากเห็นของความร่วมมือในหลายภาษา

ในกลุ่มผู้ชมมีวิศวกรทหารชื่อกัปตันลุยจิ เมนาเบรีย ผู้ซึ่งได้รับแรงบันดาลใจให้ร่วมมือกับแบบเบจในการผลิตกระดาษ 1842 ที่บรรยายถึงเครื่องจักร

แม้ว่าเขาจะเป็นชาวอิตาลี แต่ Menabrea ตีพิมพ์บทความของเขาเป็นภาษาฝรั่งเศส...

…และนั่นคือ Ada Lovelace ที่แปลเอกสารของ Menabrea เป็นภาษาอังกฤษ.

ที่การกระตุ้นของ Babbage Ada ยังได้เพิ่มชุดของ หมายเหตุโดยนักแปลซึ่งไม่เพียงแต่จะยาวกว่ารายงานดั้งเดิมของ Menabrea ถึงสองเท่าเท่านั้น แต่ยังทำให้เข้าใจอย่างถ่องแท้มากขึ้นด้วย โดยอธิบายลักษณะสำคัญหลายประการของสิ่งที่เราเรียกว่าคอมพิวเตอร์เอนกประสงค์ในตอนนี้

Walter Isaacson ในหนังสือที่อ่านง่ายของเขา ผู้ริเริ่มเผยแพร่ในปี 2014 อธิบายว่า Ada “สำรวจแนวคิดสี่ประการที่จะมีเสียงสะท้อนทางประวัติศาสตร์ในศตวรรษต่อมาเมื่อคอมพิวเตอร์ถือกำเนิดขึ้นในที่สุด”:

  • Ada ตระหนักดีว่า Analytical Engine ซึ่งแตกต่างจาก Difference Engine เป็นอุปกรณ์เอนกประสงค์อย่างแท้จริง เพราะไม่เพียงแต่สามารถตั้งโปรแกรมให้ทำสิ่งหนึ่งได้เท่านั้น แต่ยังสามารถตั้งโปรแกรมใหม่เพื่อทำงานที่แตกต่างไปจากเดิมอย่างสิ้นเชิงและค่อนข้างง่ายอีกด้วย

ในคำพูดของ Ada (นี่เป็นยุคที่วรรณกรรมทางวิทยาศาสตร์ยังคงติดต่อกับวรรณกรรมมากกว่าที่เคยเป็นในทุกวันนี้):

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

  • Ada ตระหนักว่า Analytical Engine ไม่ได้จำกัดอยู่แค่การเข้ารหัสและคำนวณด้วยตัวเลขเท่านั้น แม้ว่าดิจิทัลและขึ้นอยู่กับความสามารถในการคำนวณเชิงตัวเลข เธออธิบายว่าการดำเนินการดิจิทัลเหล่านี้ในทางทฤษฎีสามารถแสดงข้อเสนอเชิงตรรกะได้ (ตามที่เราเห็นในทุกวันนี้ใน if ... then ... else ... end if ข้อความ) โน้ตดนตรีและอื่น ๆ

ดังที่เอด้ากล่าวไว้ว่า

[เครื่องวิเคราะห์] อาจดำเนินการกับสิ่งอื่นนอกเหนือจากจำนวน เป็นวัตถุที่พบซึ่งความสัมพันธ์พื้นฐานร่วมกันสามารถแสดงออกได้โดยวิทยาศาสตร์เชิงนามธรรมของการดำเนินการ และควรอ่อนไหวต่อการปรับให้เข้ากับการกระทำของสัญกรณ์ปฏิบัติการและกลไกของ เครื่องยนต์ ตัวอย่างเช่น สมมติว่าความสัมพันธ์พื้นฐานของเสียงแหลมในศาสตร์แห่งความสามัคคีและองค์ประกอบทางดนตรีมีความอ่อนไหวต่อการแสดงออกและการดัดแปลงดังกล่าว เครื่องมือนี้อาจประกอบขึ้นเป็นชิ้นดนตรีที่วิจิตรบรรจงและเป็นวิทยาศาสตร์ที่ระดับความซับซ้อนหรือระดับใด ๆ Analytical Engine เป็นการผสมผสานของศาสตร์แห่งการปฏิบัติการ สร้างขึ้นโดยมีการอ้างอิงเฉพาะกับตัวเลขที่เป็นนามธรรมซึ่งเป็นหัวข้อของการดำเนินการเหล่านั้น

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

การเชื่อมต่อแฟรงเกนสไตน์

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

ความพยายามของ Byron และ Percy Shelley ในการแข่งขันเขียนที่เป็นมิตรนี้ถูกลืมไปโดยสิ้นเชิงในวันนี้ แต่นวนิยายของ Mary Shelley แฟรงเกนสไตน์; หรือ The Modern Prometheus (ตีพิมพ์ในปี พ.ศ. 1818) ได้รับความนิยมและเป็นที่นับถือมาจนถึงทุกวันนี้

เรื่องราวของแฟรงเกนสไตน์ได้สำรวจประเด็นขัดแย้งทางศีลธรรมโดยรอบสิ่งที่เราอาจเรียกว่าปัญญาประดิษฐ์ในปัจจุบัน (อย่าลืมว่าแฟรงเกนสไตน์เป็นนักวิทยาศาสตร์ที่ทำการทดลอง ไม่ใช่ AI ที่โผล่ออกมาจากโครงการ)

อย่างไรก็ตาม Ada ดูเหมือนจะไม่เล่าถึงความกังวลของเพื่อนพ่อของเธอเกี่ยวกับข้อกังวลที่ผิดๆ เกี่ยวกับ Analytical Engines หรือเกี่ยวกับคอมพิวเตอร์โดยทั่วไป

เธอเสนอความเห็นในส่วนสุดท้ายของเธอ หมายเหตุโดยนักแปล, ที่:

Analytical Engine ไม่มีข้ออ้างใดๆ ว่าจะเกิดสิ่งใด มันสามารถทำทุกอย่างที่เรารู้วิธีการสั่งให้มันแสดง สามารถติดตามการวิเคราะห์ แต่ไม่มีอำนาจในการคาดการณ์ความสัมพันธ์หรือความจริงในการวิเคราะห์ใดๆ จังหวัดของมันคือการช่วยเหลือเราในการจัดหาสิ่งที่เราคุ้นเคย สิ่งนี้คำนวณเพื่อให้เกิดผลในเบื้องต้นและโดยส่วนใหญ่ผ่านคณะผู้บริหาร แต่มีแนวโน้มที่จะใช้อิทธิพลทางอ้อมและส่วนกลับต่อวิทยาศาสตร์ในลักษณะอื่น สำหรับในการกระจายและรวมความจริงและสูตรของการวิเคราะห์เข้าด้วยกันจนสามารถคล้อยตามการผสมผสานทางกลไกของเครื่องยนต์ได้ง่ายและรวดเร็วที่สุด ความสัมพันธ์และธรรมชาติของหลาย ๆ วิชาในวิทยาศาสตร์นั้นจำเป็นต้องถูกโยนเข้าไปในแสงใหม่ และสอบสวนอย่างลึกซึ้งยิ่งขึ้น นี่เป็นผลพลอยได้ทางอ้อมและเป็นการเก็งกำไรจากการประดิษฐ์ดังกล่าว

กว่า 100 ปีต่อมา เมื่ออลัน ทัวริง ได้ทบทวนเรื่องปัญญาประดิษฐ์ที่มีชื่อเสียงในกระดาษของเขาเอง เครื่องจักรคอมพิวเตอร์และหน่วยสืบราชการลับและแนะนำตัวของเขา การทดสอบทัวริงที่มีชื่อเสียงในขณะนี้เขาเรียกสิ่งนี้ว่า คำคัดค้านของเลดี้เลิฟเลซ.

จะทำอย่างไร?

ครั้งต่อไปที่คุณพบว่าตัวเองกำลังเขียนโค้ดเช่น...

   -- สิ่งที่ขี้ขลาด: ฟังก์ชัน Ackermann -- คำนวณได้ แต่ไม่ใช่แบบเรียกซ้ำดั้งเดิม! -- (คุณไม่สามารถเขียนด้วย old ธรรมดาสำหรับ -- ลูป แต่คุณมั่นใจได้ว่ามันจะจบ -- แม้ว่าจะใช้เวลานานมากก็ตาม) ack = function(m,n) ถ้า m == 0 จากนั้นส่งคืน n+1 end ถ้า n == 0 แล้ว return ack(m-1,1) end return ack(m-1,ack(m,n-1)) end

…จำไว้ว่ารูทีนย่อยแบบเรียกซ้ำของประเภทนี้ทั้งหมดเริ่มต้นในจินตนาการทางวิทยาศาสตร์ของผู้ที่รู้ว่าคอมพิวเตอร์ควรมีลักษณะอย่างไรและหน้าตาจะเป็นอย่างไร แต่ก็ยังมีชีวิตอยู่ (และเสียชีวิตอย่างน่าเศร้าเมื่ออายุยังน้อย) 100 ปีก่อนอุปกรณ์ดังกล่าว มีอยู่เพื่อให้เธอแฮ็คได้จริง

การแฮ็กบนคอมพิวเตอร์จริงๆ เป็นสิ่งหนึ่ง แต่การแฮ็กโดยเจตนาบนคอมพิวเตอร์ในจินตนาการ ทุกวันนี้ เป็นสิ่งที่เราจินตนาการได้เท่านั้น

สุขสันต์วันเอด้าเลิฟเลซ!


ประทับเวลา:

เพิ่มเติมจาก ความปลอดภัยเปล่า