610 likes | 853 Views
V.1206201301. ซอฟต์แวร์พัฒนาระบบฐานข้อมูล บทที่ 1 : พื้นฐานเกี่ยวกับซอฟต์แวร์. ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราช ภัฏ สุราษฎร์ธานี. วัตถุประสงค์. นักศึกษาสามารถ ระบุซอฟต์แวร์ประเภทต่าง ๆ และหน้าที่ของซอฟต์แวร์ได้
E N D
V.1206201301 ซอฟต์แวร์พัฒนาระบบฐานข้อมูลบทที่ 1 : พื้นฐานเกี่ยวกับซอฟต์แวร์ ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี
วัตถุประสงค์ นักศึกษาสามารถ • ระบุซอฟต์แวร์ประเภทต่าง ๆ และหน้าที่ของซอฟต์แวร์ได้ • อธิบายเทคนิคการออกแบบซอฟต์แวร์ • เลือกใช้ซอฟต์แวร์ได้เหมาะสมกับงานและมีประสิทธิภาพ • อธิบายประวัติความเป็นมาของซอฟต์แวร์ได้
ประเภทของซอฟต์แวร์ • ซอฟต์แวร์คืออะไร • ประเภทของซอฟต์แวร์ - ซอฟต์แวร์ระบบ - ซอฟต์แวร์ประยุกต์
ซอฟต์แวร์ระบบ • ซอฟต์แวร์ควบคุมระบบปฏิบัติการ - การจองและการกำหนด - การจัดตาราง - การติดตาม • ซอฟต์แวร์จัดการอุปกรณ์ต่อพ่วง • ซอฟต์แวร์การสื่อสาร • ซอฟต์แวร์ช่วยพัฒนาโปรแกรม • ซอฟต์แวร์อำนวยความสะดวก
ซอฟต์แวร์ประยุกต์ • โปรแกรมที่เขียนขึ้นเอง • โปรแกรมสำเร็จรูป - จัดการระบบฐานข้อมูล - จัดพิมพ์รายงาน - ทำการคำนวณ - สำหรับงานธุรกิจ - ทางกราฟฟิกส์
V.1206201301 การออกแบบและพัฒนาซอฟต์แวร์ประวัติความเป็นมาของซอฟต์แวร์ ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏสุราษฎร์ธานี
ประวัติความเป็นมาของซอฟต์แวร์ประวัติความเป็นมาของซอฟต์แวร์ • ปี ค.ศ. ผลงาน • 1948 ทฤษฎีการสื่อสาร (Theory of Communication) • 1953 โปรแกรมช่วยให้โปรแกรมได้เร็วขึ้น speedcoding • 1955 โปรแกรม Logic Theorist • 1956 การประมวลผลแบบกลุ่ม (batch processing) • 1956 แป้นพิมพ์ • 1957 ตัวแปลภาษาระดับสูงไปเป็นภาษาเครื่อง (compilers) • 1957 ภาษาฟอร์แทรน (Fortran) • 1959 ระบบเออร์มา (ERMA) • 1960 ภาษาโคบอล COBOL
ประวัติความเป็นมาของซอฟต์แวร์ (ต่อ) • ปี ค.ศ. ผลงาน • 1960 ภาษาลิสพ์LISP • 1962 เกมคอมพิวเตอร์แบบโต้ตอบ • 1963 โปรแกรมวาดภาพ Sketchpad • 1963 รหัสแอสกี (ASCII code) • 1964 ภาษาเบสิค (BASIC) • 1965 ภาษาเขียนโปรแกรมเชิงวัตถุซิมูลา (Simula) • 1967 ภาษาโลโก้ (LOGO) สำหรับเด็ก • 1968 เอกสารวิชาการ: ผลร้ายของการเขียนโปรแกรมด้วยคำสั่ง GOTO • 1969 มาตรฐาน RS-232-C
ประวัติความเป็นมาของซอฟต์แวร์ (ต่อ) • ปี ค.ศ. ผลงาน • 1969 ระบบปฏิบัติการยูนิกส์ UNIX • 1972 วิดีโอเกม • 1976 ระบบปฏิบัติการ CP/M • 1977 มาตรฐานการเข้ารหัสข้อมูลของ IBM • 1979 โปรแกรมวิสิแคลค์ (VisiCalc) • 1981 ระบบปฏิบัติการ MS-DOS • 1982 โปรแกรมสเปรดชีตLotus 1-2-3 • 1983 โปรแกรมประมวลผลข้อความ (word processing) • 1985 โปรแกรมเพจเมคเกอร์ (PageMaker)
ประวัติความเป็นมาของซอฟต์แวร์ (ต่อ) • ปี ค.ศ. ผลงาน • 1985 ภาษาซี พลัสพลัส (C++ ) • 1987 โปรแกรมไฮเปอร์การ์ด (HyperCard) • 1989 เกมซิมซิตี้ (Simcity) • 1989 การมองเห็นเสมือยจริง วีอาร์ (VR- virtual reality) • 1990 ระบบปฏิบัติการวินโดวส์ 3.0 (Windows 3.0 )
ค.ศ.1948 ทฤษฎีการสื่อสาร (Theory of Communication) • นักคณิตศาสตร์ชื่อ คล็อด แชนนอน (Claude Shannon) ได้สร้างทฤษฎีเชิงคณิตศาสตร์ของการสื่อสาร ซึ่งเขาได้เสนอวิธีการแทนข้อมูล • โดยได้นิยามหน่วยที่เล็กที่สุดของข้อมูลคือ บิต (bit) และเสนอวิธีการสร้างฮาร์ดแวร์ที่ประมวลผลข้อมูลได้ โดยการสร้างวงจรสวิตซ์ ในวงจรนั้นประมวลผลข้อมูลที่เป็นตรรกะ (จริงหรือเท็จ) รับข้อมูลเข้าเป็นบิต (0 และ1 แทน เท็จ และ จริง) เข้าสู่วงจรย่อยที่ทำการสวิตซ์หรือสลับข้อมูลขึ้นอยู่กับข้อมูลที่นำเข้า วงจรย่อยนี้ได้แก่ วงจรในการนำข้อมูลมาเชื่อมกันด้วยคำว่า "และ"(and), "หรือ" (or), "นิเสธ" (not) คำเชื่อมเหล่านี้ทางคณิตศาสตร์เรียกว่าตัวกระทำการ (operator) ผลลัพธ์ที่ออกมาเป็นบิตเช่นเดียวกัน และผลลัพธ์นี้ก็อาจใช้เป็นข้อมูลเข้าสู่วงจรย่อยถัดไป จนได้ผลลัพธ์สุดท้ายออกมา ด้วยหลักการทำงานง่าย ๆ นี้ ทำให้คอมพิวเตอร์ในปัจจุบันเป็นสามารถประมวลผลข้อมูลได้อย่างมีประสิทธิภาพ
ค.ศ.1948 ทฤษฎีการสื่อสาร (Theory of Communication) ต่อ คล็อด แชนนอน (Claude Shannon) บิดาแห่งสารสนเทศ
ค.ศ. 1953 โปรแกรมช่วยให้โปรแกรมได้เร็วขึ้น speedcoding • จอห์น แบคคัส (John Backus) ได้สร้างโปรแกรมชื่อ speedcodingได้สำเร็จ ซึ่งเป็นโปรแกรมที่ช่วยลดเวลาในการประมวลโปรแกรม ถึงแม้โปรแกรมนี้จะต้องการหน่วยความจำมากและต้องแย่นใช้หน่วยประมวลผล แต่ก็สามารถลดเวลาในการทำงานของมนุษย์ได้มาก (ในสมัยนั้นนักเขียนโปรแกรมกับผู้ช่วยต้องคอยเสียบสายต่าง ๆ เองเพื่อเชื่อมวงจรซึ่งอาจใช้เวลาเป็นหลายสัปดาห์)
ค.ศ. 1953 โปรแกรมช่วยให้โปรแกรมได้เร็วขึ้น speedcoding (ต่อ) คอมพิวเตอร์ IBM 701
ค.ศ.1955 โปรแกรม Logic Theorist • เฮอร์เบิร์ต ไซมอน (Herbert Simon) และ อัลเลน นิวเวล (Allen Newell) สร้างโปรแกรมที่สามารถประมวลผลข้อมูลที่ไม่ใช่ตัวเลขหรือการคำนวณได้ (การประมวลผลตัวอักขระก็ถือว่าเป็นตัวเลข เพราะอักขระในคอมพิวเตอร์นั้นถูกแทนด้วยรหัสตัวเลข เช่น รหัสแอสกี) • โปรแกรมที่สามารถหาเหตุผลได้และพิสูจน์โจทย์ที่เป็นตรรกศาสตร์ได้ นี่เองเป็นจุดเริ่มต้นของศาสตร์แห่งปัญญาประดิษฐ์ (artificial intelligence)
ค.ศ.1955 โปรแกรม Logic Theorist (ต่อ) Herbert Simon Allen Newell
ค.ศ.1956 การประมวลผลแบบกลุ่ม(batch processing) • ในช่วงนี้ซอฟต์แวร์ด้านวิทยาศาสตร์และวิศวกรรมได้รับความสนใจมาก ระบบปฏิบัติการตัวแรกได้ถูกสร้างขึ้นสำหรับเครื่อง IBM 704 • และในระบบปฏิบัติการมีระบบอินพุตเอาท์พุต GM-NAA ให้มีความสามารถการรับอินพุตเข้าประมวลผลครั้งละหลายงาน ซึ่งระบบนี้เรียกว่า การประมวลผลแบบกลุ่ม หรือ batch processing
ค.ศ.1956 การประมวลผลแบบกลุ่ม(batch processing) ต่อ ตัวอย่างการประมวลผลแบบ batch processing
ค.ศ.1956แป้นพิมพ์ • ที่สถาบันเอ็มไอที สหรัฐอเมริกา ได้มีการเริ่มต้นวิจัยใช้แป้นพิมพ์เป็นสื่อนำข้อมูลเข้าคอมพิวเตอร์เพื่อประมวลผลโดยตรง เป็นการเปิดประตูสู่การใช้แป้นพิมพ์เป็นตัวอุปกรณ์นำข้อมูลเข้า (สมัยก่อน ข้อมูลต้องอยู่ในสื่อที่เครื่องอ่านได้ เช่น ใช้บัตรเจาะรู เทป) • นอกจากนี้ ดัก รอส (Doug Ross) ได้เสนอหน่วยความจำแบบเข้าถึงแบบสุ่ม (Random Access Memory: RAM) หลังจากนั้น 5 เดือน ก็มีการทดลองสร้างและใช้หน่วยความจำนี้กับเครื่องคอมพิวเตอร์เวิร์ลวินด์ (Whirlwind)
ค.ศ. 1957 ตัวแปลภาษาระดับสูงไปเป็นภาษาเครื่อง (compilers) • สเปอรรี แรนด์ (Sperry Rand) ได้พัฒนาคอมไพเลอร์ (compiler) หรือตัวแปลภาษาระดับสูงไปเป็นภาษาเครื่องสำหรับเครื่องคอมพิวเตอร์ UNIVAC ออกสู่ตลาด • ผู้พัฒนาตัวแปลภาษานี้ คือ เกรซฮอปเปอร์ (Grace Hopper) โดยพัฒนาเพิ่มเติมจากงานเดิม คือ ตัวแปลภาษาชื่อ MATH-MATIC จากนั้นพัฒนาไปเป็น FLOW-MATIC ซึ่งเป็นคอมไพเลอร์ตัวแรกที่ประมวลผลข้อมูลทางธุรกิจ โดยข้อมูลนั้นเป็นภาษาอังกฤษ
ค.ศ. 1957 ตัวแปลภาษาระดับสูงไปเป็นภาษาเครื่อง (compilers) ต่อ
ค.ศ.1957 ภาษาฟอร์แทรน(Fortran) • ภาษาฟอร์แทรนได้ถูกพัฒนาขึ้น (Fortran มากจากคำว่า FORmulaTRANslatorหรือตัวแปลสูตร) • ภาษาฟอร์แทรนเหมาะสำหรับงานด้านวิทยาศาสตร์ มีความสามารถในการทำงานแบบวนซ้ำชุดคำสั่งเดิมได้ การวนซ้ำนี้เรียกว่าวนรอบ หรือ loop ช่วยให้โปรแกรมที่เขียนสั้นลง และเหมาะกับการคำนวณสูตรต่าง ๆ
ค.ศ.1960 ภาษาโคบอล COBOL • ได้มีการสร้างภาษาโคบอลจากความร่วมมือของเพนตากอน (Pentagon) บริษัทหลายบริษัท ภาษาโคบอล (COBOL - Common Business Oriented Language) • ถูกพัฒนาขึ้นเพื่อใช้งานด้านธุรกิจโดยเฉพาะ ทีมพัฒนาหวังว่าโคบอลเป็นภาษาที่สามารถทำงานบนเครื่องต่างกัน ซึ่งมีตัวแปลภาษาต่างกันได้ โดยมีการแก้ไขโปรแกรมให้น้อยที่สุด
ค.ศ. 1960 ภาษาลิสพ์LISP • ภาษาลิสพ์ได้ถือกำเนิดขึ้น มีลักษณะพิเศษ คือ ภาษาคอมพิวเตอร์ภาษาแรกที่ได้รับออกแบบเพื่อสร้างโปรแกรมปัญญาประดิษฐ์ พัฒนาโดยจอห์น แมคคาร์ธี (John McCarthy)
ค.ศ.1962 เกมคอมพิวเตอร์แบบโต้ตอบ • นักศึกษากลุ่มหนึ่งจากสถาบันเอ็มไอที (MIT) ได้สร้างเกมคอมพิวเตอร์ชื่อ เกมสงครามอวกาศSpaceWarซึ่งเป็นเกมคอมพิวเตอร์แบบโต้ตอบเกมแรก เล่นครั้งแรกด้วยคอมพิวเตอร์ PDP-1 ซึ่งมีหน้าจอแสดงผลขนาดใหญ่ ทำให้สะดวกในการยิง และผู้เล่นทั้งสองฝ่ายใช้แท่งควบคุมยิงยานอวกาศของฝ่ายตรงข้าม และควบคุมการหลบแรงดึงสู่ศูนย์กลางจากดวงอาทิตย์และหลบศัตรูได้ เป็นแรงบันดาลใจในการสร้างวิดีโอเกมในช่วงต่อมา
ค.ศ.1962 เกมคอมพิวเตอร์แบบโต้ตอบ เกมสงครามอวกาศ SpaceWarเล่นด้วยเครื่อง PDP-1
ค.ศ.1963 โปรแกรมวาดภาพ Sketchpad • มีระบบวาดรูปด้วยคอมพิวเตอร์ Sketchpad พัฒนาโดย ไอวาน ซัดเธอร์แลนด์ (Ivan Sutherland) ผู้วาดสามารถวาดรูปโดยใช้ปากกาแสง (light pen) วาดลงไปบนแผ่นวาดพิเศษ และจัดการกับรูปภาพเรขาคณิตผ่านทางหน้าจอได้
ค.ศ.1963 โปรแกรมวาดภาพ Sketchpad Ivan Sutherland: light pen
ค.ศ.1963 รหัสแอสกี (ASCII code) • มีการกำหนดรหัสมาตรฐานสำหรับการจัดการกับอักขระของข้อความในคอมพิวเตอร์ รหัสมาตรฐานนี้คือแอสกี — ASCII (American Standard Code for Information Interchange) เบื้องต้นประกอบด้วยรหัส 128 ตัวที่แทนตัวอักษรในภาษาอังกฤษ ตัวเลขอารบิค เครื่องหมายวรรคตอน และอักขระควบคุมพิเศษ เช่น อักขระบอกจบบรรทัด อักขระขึ้นบรรทัดใหม่ เป็นต้น • สำหรับภาษาไทย ได้มีการกำหนดรหัสเพื่อภาษาไทยเมื่อปี .... โดยเนคเทค (NECTEC) ได้กำหนดรหัสและตำแหน่งของตัวอักษรไทยต่าง ๆ บนแป้นพิมพ์
ค.ศ.1963 รหัสแอสกี (ASCII code) ต่อ • แป้นพิมพ์ของไทย สำหรับรูปแบบการจัดวางของแป้นพิมพ์ภาษาไทยนั้น มีอยู่ด้วยกัน 2 แบบ คือ • แป้นพิมพ์เกษมณี ซึ่งถูกคิดค้นโดยคุณสุวรรณประเสริฐ เกษมณี ออกแบบมาเพื่อใช้กับพิมพ์ดีด เป็นแป้นพิมพ์รุ่นแรกๆ ที่ถูกใช้ จึงถูกเรียกว่า "แบบมาตรฐาน" ทุกวันนี้ก็ยังได้รับความนิยม
ค.ศ.1963 รหัสแอสกี (ASCII code) ต่อ • แป้นพิมพ์ปัตตะโชติ ออกแบบโดยคุณสฤษดิ์ ปัตตะโชติ เป็นแป้นพิมพ์แบบใหม่ที่ออกมาที่หลังเกษมณี แต่ได้รับความนิยมไม่เท่าแป้นพิมพ์แบบเกษมณี
ค.ศ.1964 ภาษาเบสิค (BASIC) • BASIC ย่อมาจาก Beginner's All Purpose Symbolic Instruction Code ภาษาเบสิกพัฒนาขึ้นครั้งแรกที่วิทยาลัย Dartmouth ในสหรัฐอเมริกา และออกจำหน่ายเมื่อปี ค.ศ. 1963 • ผู้พัฒนาภาษาเบสิค คือ John Kemenyและ Thomas Kurzเนื่องจากการพัฒนาเพื่อให้นักศึกษาที่เรียนวิทยาการคอมพิวเตอร์ได้เรียนรู้การเขียนโปรแกรมเบื้องต้น ภาษานี้ถูกออกแบบมาให้เขียนโปรแกรมง่าย ๆ ใช้ประโยคคำสั่งคล้ายภาษาอังกฤษ และมีการบอกบรรทัดของแต่ละตำแหน่ง เพราะภาษาเบสิกรุ่นแรกถูกพัฒนาขึ้นเพื่อการเรียนรู้การเขียนโปรแกรม
ค.ศ.1964 ภาษาเบสิค (BASIC) ต่อ ตัวอย่าง ภาษาเบสิค
ค.ศ.1965 ภาษาเขียนโปรแกรมเชิงวัตถุซิมูลา(Simula) • มีภาษาสำหรับเขียนโปรแกรมเชิงวัตถุ คือ ภาษา Simulaเขียนขึ้นโดย Kristen Nygaardและ Ole-John Dahl • ภาษา Simulaได้รวมคำสั่งในการประมวลผลและข้อมูลไว้ด้วยกันเป็นเหมือนของชิ้นหนึ่ง ซึ่งของแต่ละชิ้นจะแทนลักษณะหนึ่ง ๆ พร้อมด้วยข้อมูลคุณสมบัติของลักษณะนั้น ๆ ของปัญหาที่โปรแกรมจะทำการจำลอง แตกต่างจากภาษาสำหรับเขียนโปรแกรมที่เคยมีมา
ค.ศ.1965 ภาษาเขียนโปรแกรมเชิงวัตถุซิมูลา(Simula) ต่อ ตัวอย่าง โครงสร้างการทำงานของภาษา Simula
ค.ศ. 1967ภาษาโลโก้ (LOGO) สำหรับเด็ก • เซย์มัวร์ ปาเปิร์ต (Seymour Papert ) เป็นนักคณิตศาสตร์และนักการศึกษาที่สถาบันเอ็มไอที เขาเป็นหนึ่งในผู้บุกเบิกปัญญาประดิษฐ์โดยเสนอแนวคิดเรื่องความรู้ของเครื่องจักร และได้สร้างภาษาโลโกในปี 1968 ซึ่งเป็นภาษาที่เหมาะสำหรับเด็กในการฝึกหัดเขียนโปรแกรม • สามารถระดมสมอง ร่วมกันคิดเพื่อสร้างโปรแกรม เขายังคิดเพื่อการศึกษานั่นคือ การนำเอาแนวคิดการเรียนรู้ของ ฌองเพียเจต์ (Jean Piaget) มาใช้ในโรงเรียนได้อย่างไร และได้เน้นผลกระทบของเทคโนโลยีในการเรียนรู้ทั้งในโรงเรียนและในชีวิตประจำวัน
ค.ศ. 1967ภาษาโลโก้ (LOGO) สำหรับเด็ก (ต่อ) ตัวอย่าง ภาษา Logo สำหรับเด็ก
ค.ศ.1968 เอกสารวิชาการ: ผลร้ายของการเขียนโปรแกรมด้วยคำสั่ง GOTO • EdsgerDijkstraได้เขียนเอกสารวิชาการ กล่าวถึงข้อเสียของการเขียนโปรแกรมที่มีการกระโดดข้ามการทำงานด้วยคำสั่ง GOTO (มาจาก go to: เป็นประโยคคำสั่งในภาษาคอมพิวเตอร์หลายภาษา เป็นการสั่งให้โปรแกรมข้ามไปทำงานตรงตำแหน่งที่ระบุ) บ่อย ๆ ว่ามีข้อเสียในการติดตามการทำงานของโปรแกรม ทำให้โปรแกรมซับซ้อนและแก้ไขได้ยากในกรณีที่เกิดข้อผิดพลาด • จุดนี้เองได้เริ่มต้นการถกเถียงถึงข้อด้อยของการเขียนโปรแกรมแบบเป็นโครงสร้าง ซึ่ง ACM ถึงกับประกาศไม่ยอมตีพิมพ์ผลงานที่ใช้คำสั่ง GOTO ในการเขียนโปรแกรม
ค.ศ.1968 เอกสารวิชาการ: ผลร้ายของการเขียนโปรแกรมด้วยคำสั่ง GOTO (ต่อ) EdsgerDijkstra
ค.ศ.1969 มาตรฐาน RS-232-C • มีการกำหนดมาตรฐาน RS-232-C ซึ่งเป็นมาตรฐานสำหรับการสื่อสารระหว่างคอมพิวเตอร์กับอุปกรณ์ต่อพ่วง การส่งข้อมูลเป็นแบบอนุกรม คือส่งทีละบิตต่อเนื่องกันไป
ค.ศ.1969ระบบปฏิบัติการยูนิกส์ UNIX • เคนเนททอมสัน (Kenneth Thompson) และเดนนิสริชชี (Dennis Ritchie) นักเขียนโปรแกรมแห่งห้องปฏิบัติการ AT&T Bell Laboratories ได้สร้างภาษาซี (C language) • ใช้ภาษาซีพัฒนาระบบปฏิบัติการยูนิกส์ (UNIX) สำหรับมินิคอมพิวเตอร์ ระบบปฏิบัติการนี้มีความสามารถในการแบ่งเวลาการใช้งานหน่วยประมวลผล (timesharing) มีระบบจัดการไฟล์ที่ดี และมีความปลอดภัยสูง จึงได้รับความนิยมอย่างกว้างขวางจากวิศวกรและนักวิทยาศาสตร์
ค.ศ.1972 วิดีโอเกม • วิดีโอเกมถูกพัฒนาขึ้นครั้งแรก โดยบริษัท Atari
ค.ศ.1976 ระบบปฏิบัติการ CP/M • แกรี่ คิลดัล (Gary Kildall) ได้พัฒนาระบบปฏิบัติการสำหรับเครื่องคอมพิวเตอร์ส่วนบุคคลขึ้น คือ ระบบปฏิบัติการ CP/M ซึ่งได้ถูกนำไปใช้อย่างกว้างขวาง เนื่องจากอำนวยความสะดวกให้ผู้ใช้สามารถประมวลผลโปรแกรมในลักษณะอื่นๆ ถ้าเป็นเครื่องคอมพิวเตอร์ 8 บิตเหมือนกัน
ค.ศ.1977มาตรฐานการเข้ารหัสข้อมูลของ IBM • รัฐบาลสหรัฐได้นำมาตรฐานการเข้ารหัสข้อมูลของไอบีเอ็มมาใช้ เพื่อความมั่นใจในความปลอดภัยของการเข้ารหัสข้อความที่สื่อสารระหว่างหน่วยงานต่าง ๆ • มาตรฐานนี้ต้องมีตัวเลข 8 หลักสำหรับใช้เป็นกุญแจในการเข้ารหัสและถอดรหัส ผู้ใช้สามารถตั้งรหัสกุญแจนี้เอง ความน่าจะเป็นที่จะถอดรหัสได้โดยการลองผิดลองถูกมีน้อยมาก เนื่องจากข้อความที่เข้ารหัสแล้วมีความเป็นไปได้แตกต่างกันถึง 70 ล้านล้านล้านล้านแบบ
ค.ศ.1979โปรแกรมวิสิแคลค์ (VisiCalc) • โปรแกรมในการคำนวณแบบตาราง (spread sheet) ชื่อวิสิแคลVisiCalc ได้รับการพัฒนาโดยบ๊อบ แฟรงส์ตัน (Bob Frankston) กับแดน บริคลิน (Dan Bricklin) ในตอนเริ่มต้นนั้นพวกเขาเขียนโปรแกรมนี้เพื่อทำงานบนเครื่องแอปเปิ้ล 2 (Apple II) แต่ภายหลังโปรแกรม VisiCalc ก็ได้รับการยอมรับและนำไปใช้กับเครื่องคอมพิวเตอร์ส่วนบุคคลทั่วไป โปรแกรมนี้ช่วยลดภาระการทำงานทางธุรกิจให้กับผู้ใช้เป็นอย่างมาก • ในปีนี้ได้มีสารสนเทศสาธารณะเปิดให้บริการเข้าถึงแบบออนไลน์ที่สหรัฐอเมริกา ระบบนี้คือ CompuServe and the Source และปัจจุบันนี้ชาวอเมริกันก็ใช้ระบบสารสนเทศนี้ในการอ่านข่าว รับข้อมูลข่าวสารอื่น ๆ ฯลฯ
ค.ศ.1979โปรแกรมวิสิแคลค์ (VisiCalc) ต่อ แฟรงส์ตันกับบริคลิน ผู้สร้างโปรแกรม VisiCalc