วันจันทร์ที่ 3 พฤศจิกายน พ.ศ. 2551

#include
#include
main()
{
clrscr();
printf("Sornpet Padsamridpon !");
getch();
}

วันพุธที่ 3 กันยายน พ.ศ. 2551

ความหมายของซอฟต์แวร์และหลักการแก้ปัญหากับภาษาของคอมพิวเตอร์

ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์ จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้ โปรแกรมคอมพิวเตอร์ที่ใช้สั่งงานคอมพิวเตอร์จึงเป็นซอฟต์แวร์ เพราะเป็นลำดับขั้นตอนการทำงานของคอมพิวเตอร์ คอมพิวเตอร์เครื่องหนึ่งทำงานแตกต่างกันได้มากมายด้วยซอฟต์แวร์ที่แตกต่างกัน ซอฟต์แวร์จึงหมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้คอมพิวเตอร์ทำงานได้ การที่เราเห็นคอมพิวเตอร์ทำงานให้กับเราได้มากมาย เพราะว่ามีผู้พัฒนาโปรแกรมคอมพิวเตอร์มาให้เราสั่งงานคอมพิวเตอร์ ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม เป็นต้น การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะอยู่ที่ซอฟต์แวร์ ซอฟต์แวร์จึงเป็นส่วนสำคัญของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้ ซอฟต์แวร์จึงเป็นสิ่งที่จำเป็น และมีความสำคัญมาก และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ ชนิดของซอฟท์แวร์ ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน พอแบ่งแยกซอฟต์แวร์ได้เป็นสองประเภท คือ ซอฟต์แวร์ระบบ (system software) และซอฟต์แวร์ประยุกต์ (application software) - ซอฟต์แวร์ระบบ คือซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้ ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ - ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนาซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งานคอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งานเฉพาะ ซอฟต์แวร์สำเร็จในปัจจุบันมีมากมาย เช่น ซอฟต์แวร์ประมวลคำ ซอฟต์แวร์ตารางทำงาน ฯลฯ




6.1 หลักการแก้ปัญหา

ในชีวิตประจำวันทุกคนต้องเคยพบกับปัญหาต่างๆ ไม่ว่าจะเป็นปัญหาด้านการเรียน การงาน การเงิน หรือแม้แต่การเล่นเกม เมื่อพบกับปัญหา แต่ละคนมีวิธีที่จะจัดการหรือแก้ปัญหาเหล่านั้นแตกต่างกันไป ซึ่งแต่ละวิธีการอาจให้ผลลัพธ์ที่เหมือนหรือแตกต่างกันเล็กน้อย ทั้งนี้ขึ้นอยู่กับความรู้ ความสามารถ และประสบการณ์ของบุคคลผู้นั้น อย่างไรก็ตาม หากเรานำวิธีการแก้ปัญหาต่างวิธีนั้นมาวิเคราะห์ให้ดี จะพบว่าสามารถสรุปวิธีการเหล่านั้นเป็นทฤษฎีซึ่งมีรูปแบบที่แน่นอนได้ และบางครั้งต้องอาศัยการเรียนรู้ในนระดับสูงเพื่อแก้ปํญหาบางอย่างให้สมบูรณ์แบบ แต่ก่อนที่เราจะศึกษาต่อไป ลองพิจารณาปัญหาต่อไปนี้
เกมทายใจคือเกมให้ผู้เล่นทายตัวเลข 3 ตัว ในการเล่นเกมต้องใช้ผู้เล่น 2 คน คนที่หนึ่งคือ ผู้กำหนด เป็นคนกำหนดเลข 3 ตัวที่ไม่ซ้ำกันโดยเลือกจากกลุ่มตัวเลข 1-9 และอีกคนหนึ่งคือผู้ทาย เป็นผู้ทายตัวเลข 3 ตัวที่ไม่ซ้ำกันที่ผู้กำหนดให้กำหนดไว้แล้ว หลังจากที่ผู้ทายทายเลขแต่ละครั้ง ผู้กำหนดต้องให้รายละเอียดว่าตัวเลขที่ทายมานั้นถูกต้องกี่ตัว และในกรณีที่ตัวเลขที่ทายมาถูกตำแหน่งด้วยก็ต้องบอกว่าถูกตำแหน่งกี่ตัว เช่น ถ้าตัวเลขที่กำหนดไว้เป็น 815 และผู้ทายทายว่า 123 ผู้กำหนดต้องแจ้งว่าตัวเลขที่ทายนั้นถูก 1 ตัว และไม่มีตัวใดถูกตำแหน่ง


6.2 การจำลองความคิด


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




6.3 การเขียนโปรแกรม


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


การเขียนโปรแกรม หมายถึง กระบวนการใช้ ภาษาคอมพิวเตอร์ เพื่อกำหนดโครงสร้างของข้อมูล และกำหนดขั้นตอนวิธีเพื่อใช้แก้ปัญหาตามที่ได้ออกแบบไว้ โดยอาศัยหลักเกณฑ์ การเขียนโปรแกรม คอมพิวเตอร์แต่ละภาษา







6.4 การแก้ปัญหากับภาษาปาสคาล


Blaise Pascal

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


6.5 การโปรแกรมแบบเชิงวัตถุ





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

โปรแกรมเมอร์ที่เขียนโปรแกรมประเภทนี้สามารถปรับปรุงเปลี่ยนแปลงโปรแกรมได้สะดวก การเขียนโปรแกรมแบบนี้จึงเข้ามาแทนที่การเขียนโปรแกรมแบบโครงสร้างอย่างรวดเร็ว โดยเฉพาะอย่างยิ่งกับงานที่เกี่ยวข้องกับอินเทอร์เน็ต นอกจากนี้ การโปรแกรมแบบเชิงวัตถุยังสามารถทำงานกับข้อมูลได้หลายรูปแบบ ทั้งที่เป็นรูปภาพ (image) วีดิทัศน์ (video) หรือเสียง (sound) ตัวอย่าง ภาษาคอมพิวเตอร์ที่ใช้เทคนิคการโปรแกรมเชิงวัตถุ เช่น ภาษาจาวา ภาษาซีชาร์ป เป็นต้น


6.6 การโปรแกรมแบบจินตภาพ



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

วันพุธที่ 9 กรกฎาคม พ.ศ. 2551

วิวัฒนาการของคอมพิวเตอร์

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

วิวัฒนาการของคอมพิวเตอร์
จุดกำเนิดของคอมพิวเตอร์
ต้นกำเนิดของคอมพิวเตอร์อาจกล่าวได้ว่ามาจากแนวความคิดของระบบตัวเลข ซึ่งได้พัฒนาเป็นวิธีการคำนวณต่าง ๆ รวมทั้งอุปกรณ์ที่ช่วยในการคำนวณอย่างง่าย ๆ คือ" กระดานคำนวณ" และ "ลูกคิด"
ในศตวรรษที่ 17 เครื่องคำแบบใช้เฟื่องเครื่องแรกได้กำเนิดขึ้นจากนักคณิตศาสตร์ชาวฝรั่งเศษ คือ Blaise Pascal โดยเครื่องของเขาสามารถคำนวณการบวกการลบได้อย่างเที่ยงตรง และในศตวรรษเดียวกันนักคณิตศาสตร์ชาวเยอร์มันคือ Gottried Wilhelm von Leibniz ได้สร้างเครื่องคิดเลขเครื่องแรกที่สามารถคูณและหารได้ด้วย
ในต้นศตวรรษที่ 19 ชาวฝรั่งเศษชื่อ Joseph Marie Jacquard ได้พัฒนาเครื่องทอผ้าที่สามารถโปแกรมได้ โดยเครื่องทอผ้านี้ใช้บัตรขนาดใหญ่ ซึ่งได้เจาะรู้ไว้เพื่อควบคุมรูปแบบของลายที่จะปัก บัตรเจาะรู(punched card) ที่ Jacquard ใช้นี้ได้ถูกพัฒนาต่อๆมาโดยผู้อื่น เพื่อใช้เป็นอุปกรณ์ป้อนข้อมูลและโปรแกรมเข้าเครื่องคอมพิวเตอร์ในยุคแรกๆ
ต่อมาในศตวรรษเดียวกัน ชาวอังกฤษชื่อ Charles Babbage ได้ทำการสร้างเครื่องสำหรับแก้สมการโดยใช้พลังงานไอน้ำ เรียกว่า difference engine และถัดจากนั้นได้เสนอทฤษฎีเกี่ยวกับ คอมพิวเตอร์สมัยใหม่ เมื่อเขาได้ทำการออกแบบ เครื่องจักรสำหรับทำการวิเคราะห์ (analytical engine) โดยใช้พลังงานจากไอน้ำ ซึ่งได้มีการออกแบบให้ใช้บัตรเจาะรูของ Jacquard ในการป้อนข้อมูล ทำให้อุปกรณ์ชิ้นนี้มีหน่วยรับข้อมูล หน่วยประมวลผล หน่วยแสดงผล และหน่วยเก็บข้อมูลสำรอง ครบตามรูปแบบของคอมพิวเตอร์สมัยใหม่ แต่โชคไม่ดีที่แม้ว่าแนวความคิดของเขวจะถูกต้อง แต่เทคโนโลยีในขณะนั้นไม่เอื้ออำนวยต่อการสร้างเครื่องที่สามารถทำงานได้จริง อย่างไรก็ดี Charles Babbage ก็ได้รับการยกย่องว่าเป็นบิดาของคอมพิวเตอร์คนแรก และผู้ร่วมงานของเขาคือ Augusta Ada Byron ก็ได้รับการยกย่องว่าเป็นนักเขียนโปรแกรมคนแรกของโลกจากนั้นประมาณปี ค.ศ. 1886 Dr.Herman Hollerith ได้พัฒนาเครื่องจัดเรียงบัตรเจาะรูแบบ electromechanical ขึ้น ซึ่งทำงานโดยใช้พลังงานไฟฟ้า และสามารถทำการ จัดเรียง (sort) และ คัดเลือก (select) ข้อมูลได้ ต่อมาในปี ค.ศ. 1896 Hollerith ได้ทำการก่อตั้งบริษัทสำหรับเครื่องจักรในการจัดเรียงชื่อ Tabulating Machine Company และในปี ค.ศ.1911 Hollerith ได้ขยายกิจการโดยเข้าหุ้นกับบริษัทอื่นอีก 2 บริษัทจัดตั้งเป็นบริษัท Computing -Tabulating-Recording-Company ซึ่งประสบความสำเร็จเป็นอย่างมาก และในปี ค.ศ. 1924 ได้เปลี่ยนชื่อเป็น International Business Corporation หรือที่รู้จักกันต่อมาในชื่อของบริษัท IBM นั่นเอง

ในปี ค.ศ.1939 Dr. Howard H. Aiken จาก Harvard University ได้ร่วมมือกับบริษัท IBM ออกแบบคอมพิวเตอร์โดยใช้ทฤษฎีของ Babbage และในปี ค.ศ.1944 Harvard mark I ก็ได้ถือกำเนิดขึ้นเป็นคอมพิวเตอร์เครื่องแรก ซึ่งมีขนาดยาว 5 ฟุต ใช้พลังงานไฟฟ้าและใช้ relay แทนเฟือง แต่ยังทำงานได้ช้าคือใช้เวลาประมาณ 3-5 วินาทีสำหรับการคูณ
การพัฒนาที่สำคัญกับ Mark I ได้เกิดขึ้นปี 1946 ดดย Jonh Preper Eckert, Jr. และ Dr. Jonh W.Msuchly จาก University of Pennsylvnia ได้ออกแบบสร้างเครื่อง ENIAC ( Electronic Numeric Integator and Calcuator ) ซึ่งทำงานได้เร็วอยู่ในหน่วยของหนึ่งส่วนล้านวินาที ในขณะที่ Mark I ทำงานอยู่ในหน่วยของหนึ่งส่วนพันล้านเท่า โดยหัวใจของความสำเร็จนี้อยู่ที่การใช้หลอดสูญญากาศมาแทนที่ relay นั่นเอง และถดจากนั้น Mauchly และ Eckert ก็ทำการสร้าง UNIVAC ซึ่งเป็นคอมพิวเตอร์อิเล็กทรอนิส์เพื่อการค้าเครื่องแรกของโลก

การพัฒนาที่สำคัญได้เกิดขึ้นมาอีก เมื่อ Jonh von Neumann ซึ่งเป็นที่ปรึกษาของโครงการ ENIAC ได้เสนอแผนสำหรับคอมพิวเตอร์เครื่องแรกที่จะทำการเก็บโปรแกรมไว้ในหน่วยโปรแกรมไว้ในหน่วยความจำที่เหมือนกับที่เก็บข้อมูล ซึ่งพัฒนาการนี้ทำให้สามารถเปลียนวงจรของคอมพิวเตอร์ได้ดดยอัตโนมัติแทนที่จะต้องทำการเปลียนสวิทต์ด้วยมือเหมือนช่วงก่อน นอกจากนี้ Dr. Von neumann ยังได้นำระบบเลขฐานสองมาใช้ในคอมพิวเตอร์ซึ่งหบักการต่งๆเหล่านี้ได้ทำให้เครื่อง IAS ที่สร้างโดย Dr. von Neumann เป็นเครื่องคอมพิวเตอร์เอนกประสงค์เครื่องแรกของโลก เป็นการเปิดศักราชของคอมพิวเตอร์อย่างแท้จริงและยังได้เป็นบิดาคอมพวเตอร์คนที่ 2
ยุคของคอมพิวเตอร์
เทคโนโลยีคอมพิวเตอร์มีการพัฒนาอย่างต่อเนื่อง สามารถแบ่งออกได้โดยแบ่งส่วนประกอบของฮาร์ดแวร์ (Hardward ) เป็น 4 ยุคด้วยกัน
ยุคที่ 1 (1951-1958)
ก่อนหน้าปี 1951 เครื่องคอมพิวเตอร์จะมีใช้เฉพาะนักวิทยาศาสตร์ วิศวกร และทหารเท่านั้น จนกระทั่งผู้สร้าง ENIAC คือ Mauchly และ Eckert ได้จัดตั้งบริษัทเพื่อทำตลาดเชิงพาณิชย์ของเครื่องรุ่นถัดมาของพวกเขา คือเครื่อง UNIVAC ซึ่งคอมพิวเตอร์ในยุคนี้จะมี หลอดสูญญากาศ และ ดรัมแม่เหล็ก (magnetic drum) เป็นส่วนประกอบสำคัญ แต่หลอดสุญญากาศจะมีไม่น่าเชื่อถือสูง เป็นเหตุให้ต้องใช้ความพยายามอย่างมากในการทำให้เครื่องในยุคนั้นสามารถทำงานได้ ส่วนดรัมแม่เหล็กถูกใช้เป็นหน่วยความจำหลัก (primary memory) บนเครื่องคอมพิวเตอร์ส่วนมากในยุคแรกนี้ ส่วนหน่วยบันทึกข้อมูลสำรอง (secondary storage) ซึ่งใช้เก็บทั้งข้อมูลและคำสั่งโปรแกรมในยุคนี้จะอยู่ในบัตรเจารู จนปลายยุคนี้เทปแม่เหล็กจึงได้ถูกนำมาใช้เป็นหน่วยบันทึกข้อมูลสำรอง
ภาษาคอมพิวเตอร์ในยุคนี้จะอยู่ในรูปของภาษาเครื่อง ซึ่งเป็นตัวเลขฐาน 2 ทั้งสิ้น ทำให้ผู้ที่จะสามารถโปรแกรมให้เครื่องทำงานได้ ต้องเป็นผู้เชี่ยวชาญเท่านั้น

ยุคที่ 2 (1959-1964)
การพัฒนาที่สำคัญที่สุดที่แบ่งแยกยุคนี้ออกจากยุคแรก คือการแทนที่หลอดสูญญากาศด้วยทรานซิสเตอร์ (transistor) หน่วยความจำพื้นฐานก็ได้มีการพัฒนามาเป็น magnetic core รวมทั้งมีการใช้ magnetic disk ซึ่งเป็นหน่วยบันทึกข้อมูลสำรองที่มีความเร็วสูงขึ้น นอกจากนี้ ส่วนประกอบที่คอมพิวเตอร์ได้ถูกรวบรวมเข้าไว้ใน แผ่นวงจรพิมพ์ลาย (printed circuit boards) ซึ่งง่ายต่อการเปลี่ยนและมีการสร้างโปรแกรมวิเคราะห์เพื่อหาส่วนผิดพลาดได้อย่างรวดเร็ว
ภาษาโปรแกรมระดับสูง เช่น FORTRAN และ COBOL ได้ถูกใช้ในการโปรแกรมสำหรับยุคนี้ โปรแกรมเมอร์สามารถใช้งานภาษาเหล่านี้ได้สะดวกกว่าคอมพิวเตอร์ในยุคที่ 1 เนื่องจากมีไวยากรณ์ที่คล้ายคลืงกับภาษาอังกฤษ อย่างไรก็ดี เนื่องจากคอมพิวเตอร์สามารถทำงานได้แต่เฉพาะกับภาษาเครื่อง ทำให้ต้องใช้โปรแกรมตัวอื่น คือ compiler และ interpreter ในการแปลงภาษาระดับสูงให้เป็นภาษาเครื่อง
ในยุคที่ 2 เริ่มมีการติดต่อสื่อสารระหว่างคอมพิวเตอร์ 2 เครื่องที่อยู่ห่างกันโดยผ่านสายโทรศัพท์ ถึงแม้ว่าจะติดสื่อสารกันได้ช้ามากก็ตาม ปัญหาในยุคนี้คืออุปกรณ์รับข้อมูลและอุปกรณ์แสดงผลทำงานได้ช้ามาก ทำให้คอมพิวเตอร์ต้องรอการรับข้อมูลหรือการแสดงผลบ่อย ๆ ซึ่ง Dr.Daniel Slotnick ได้ทำการพัฒนาเพิ่มเติม โดยใช้หลักการของการประมวลผลแบบขนานกัน นอกจากนั้ยังมีกลุ่มคณาจารย์และนักเรียกจาก Massachusetts Instiute of Technoligy พัฒนาระบบ มัลติโปรแกรมมิ่ง (multiprogramming) ซึ่งเป็นการจัดสรรให้คอมพิวเตอร์ทำงานหลายโปรแกรมพร้อม ๆ กนได้ ทำให้ไม่ต้องเสียเวลารอหน่วยรับข้อมูลและหน่วยแสดงผลอีกต่อไป
ยุคที่ 3 (1965-1971)
ในยุคที่ 3 เป็นยุคของอุตสาหกรรมคอมพิวเตอร์ที่มีการเติบโตมาก ได้มีการนำ แผงวงจรรวม (IC หรือ integrated circuits) ซึ่งประกอบด้วยทรานซิสเตอร์และวงจรไฟฟ้าที่รวอยู่บนแผ่นซิลิกอนเล็ก ๆ มาแทนการประกอบแผ่นวงจรพิมพ์ลาย ทำให้เวลาการทำงานขิงคอมพิวเตอร์ลดลงอยู่ในหน่วยหนึ่งส่วนพันล้านวินาที นอกจากนี้ มินิคอมพิวเตอร์ได้ถือกำเนิดขึ้นในปี ค.ศ.1965 คือเครื่อง PDP-8 ของ Digital Equipment Corportion (DEC) ซึ่งต่อมาก็มีการใช้มินิคอมพิวเตอร์ที่สามารถติดต่อกับคอมพิวเตอร์กันอย่างแผร่หลาย รวมทั้งมีการใช้งาน เทอร์มินัล (terminal) ซึ่งเป็นจอคอมพิวเตอร์ผ่านทาง คีย์บอร์ด (keyboard) ทำให้การป้อนข้อมูลและพัฒนาโปรแกรมกระทำได้สะดวกขึ้น
ภาษาโปรแกรมระดับสูงได้เกิดขึ้นมากมานในยุคที่ 3 เช่น RPG APL BASICA เป็นต้น และได้มีการเปิดตัว โปรแกรมจัดการระบบ (Operating system) ซึ่งช่วยให้สามารถบริการทรัพยากรของคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ นอกจากนี้ ระบบแบ่งเวลา (time sharing) ก็ทำให้สามารถติดต่อเทอร์มินัลจำนวนมากเข้าไปยังคอมพิวเตอร์ 1 เครื่อง โดยที่ผู้ใช้แต่ละคนสามารถทำงานในส่วนของตนได้พร้อม ๆ กัน
ยุคที่ 4 (1971-ปัจจุบัน)
ในยุคที่ 4 เทคโนโลยีแผงวงจรรวมได้พัฒนาขึ้นเป็น แผงวงจรรวมขนาดใหญ่ (LSI หรือ large-scale integartion) และจากนั้นก็มีการพัฒนาต่าเป็น แผงวงจรขนาดใหญ่มาก (Very Large-Scale integartion - VLSI) ซึ่งทำให้เกิด microprocessor ตัวโลกของโลก คือ Intel 4004 จากบริษัท Intel ซึ่งเป็นการใช้แผ่นชิฟเพียงแผ่นเดียวสำหรับเก็บ หน่วยควบคุม (control unit) และ คำนวณเลขตรรกะ (arithmetic-logic unit) ของคอมพิวเตอร์ทั้งหมดเทคนิคในการย่อทรานซีสเตอร์ให้อยู่กันอย่างหนาแน่นบนแผ่นซิลิกอนนี้ ได้รับการพัฒนาอย่างต่อเนื่องจากปัจจุบันสามารถเก็บทรานซิสเตอร์นับล้านตัวไว้ในชิปเพียงหนึ่งแผ่น ในส่วนของหน่วยบันทึกข้อมูลสำรอง (secondary storage) ก็ได้เพิ่มความจุขึ้นอย่างมากจนสามารถเก็บข้อมูลนับพันล้านตัวอักษรได้ในแผ่นดิสก์ขนาด 3 นิ้ว
เนื่องจากการเพิ่มความจุของหน่วยบันทึกข้อมูลสำรองนี่เอง ซอฟต์แวร์ชนิดใหม่ได้พัฒนาขึ้น เพื่อให้สามารถเก็บรวมรวบและบันทึกแก้ไขข้อมูลจำนวณมหาศาลที่ถูกจัดเก็บไว้ นั่นคือ ซอฟร์แวร์ ฐานข้อมูล (Data base ) นอกจากนี้ ยังมีการถือกำเนิดขึ้นของเครื่องคอมพิวเตอร์ส่วนบุคคลในปี 1975 คือเครื่อง Altair ซึ่งใช้ชิป intel 8080 และถัดจากนั้นก็เป็นยุคของเครื่อง และ ตามลำดับ ในส่วนของซอฟต์แวร์ก็ได้มีการพัฒนาให้เป็นมิตรกับผู้ใช้ มีขนาดใหญ่และซับซ้อนมากขึ้นเรื่อย ๆ รวมทั้งมีการนำเทคนิคต่าง ๆ เช่น OOP (Object-Oriented Programming) และ Visual Programming มาเป็นเครื่องมือช่วยในการพัฒนา
การพัฒนาที่สำคัญอื่นๆในยุคที่ 4 คือการพัฒนาเครื่องข่ายคอมพิวเตอร์ความเร็วสูง ทำให้คอมพิวเตอร์สามารถเชื่อมโยงและแลกเปลี่ยนกันได้ โดยการใช้งานภายในองค์กรนั้น ระบบเครื่อข่ายท้องถิ่น (Local Araa Networks) ซึ่งนิยมเรียกว่า แลน (LANs) จะมีบทบาทในการเชื่องโยงเครื่องนับร้อยเข้าด้วยกันในพื้นที่ไท่ห่าวกันนัก ส่วนระบบเครื่องข่ายระยะไกล ( Wide Area Networks ) หรือ แวน (WANs) จะทำหน้าที่เชื่อมโยงเครื่องคอมพิวเตอร์ที่อยู่ห่างไกลคนละซีกโลกเข้าด้วยกัน

ชนิดของคอมพิวเตอร์
ชนิดของคอมพิวเตอร์นั้น แบ่งออกเป็น 4 ชนิด คือ
Super Computer คอมพิวเตอร์ชนิดนี้ใช้กันมากในงานด้านวิทยาศาสตร์ เช่น การพยากรณ์อากาศ การวิจัยทางด้านสาธารณสุข โครงการยานอวกาศ
Mainframes Computer คอมพิวเตอร์ชนิดนี้ใช้กันมากในวงการธุรกิจขนาดใหญ่และขนาดกลาง เพื่อใช้ในงานประมวลผลข้อมูลในลักษณะที่เรียกว่าการเข้าสู่ส่วนกลาง (Centralization)
Mini Computer ธุรกิจที่ใช้มินิคอมพิวเตอร์ส่วนใหญ่จะได้แก่
3.1) ธุรกิจขนาดเล็กจะใช้มินิคอมพิวเตอร์เป็นระบบคอมพิวเตอร์หลักสำหรับงานทั่วๆ ไปในธุรกิจ3.2) ธุรกิจขนาดใหญ่จะใช้มินิคอมพิวเตอร์สำหรับงานใดงานหนึ่งโดยเฉพาะ เพื่อเป็นการลดงานของเมนเฟรม คอมพิวเตอร์ ได้แก่ การใช้มินิคอมพิวเตอร์ในการจัดทำข้อมูล ตรวจสอบความถูกต้องของข้อมูล (EDITING) เพื่อให้แน่ใจว่าข้อมูลที่จะส่งไปประมวลผลที่เมนเฟรมคอมพิวเตอร์นั้น เป็นข้อมูลที่ถูกต้องแน่นอนแล้ว
Micro Computer ใช้กันอย่างกว้างขวางตามบ้าน ในสำนักงาน ในธุรกิจขนาดเล็กแม้กระทั่งในสถาบันการศึกษา เพื่อใช้เป็นเครื่องช่วยการเรียนการสอน การที่นำเอาไมโครคอมพิวเตอร์มาใช้กันมากในธุรกิจขนาดเล็กนั้น เพื่อที่จะหลีกเลี่ยงการเสียค่าใช้จ่ายสูง ในการที่ต้องซื้อหรือเช่าระบบคอมพิวเตอร์ขนาดใหญ่มาใช้ ซึ่งโดยส่วนใหญ่แล้วมักจะเป็นร้านค้าปลีกที่จะใช้ไมโครคอมพิวเตอร์ในการบันทึกรายละเอียดสินค้าคงเหลือ และทำบัญชีต่างๆ นอกจากนี้นยังอาจนำไปใช้ในการเล่นเกม บันทึกความจำ เช่น การนัดหมาย หมายเลขโทรศัพท์และใช้เป็นเครื่องมือในการติดต่อสื่อสารโดยใช้ระบบไทม์แรชริ่ง (Time-Sharing) ด้วยก็ได้