วันอาทิตย์ที่ 3 กุมภาพันธ์ พ.ศ. 2556

แท็บเล็ทคืออะไร


แท็บเล็ท (Tablet)

ซึ่งเป็นเทคโนโลยีระบบคอมพิวเตอร์ที่ให้คุณสามารถพกติดตัวได้โดยวัตถุประสงค์เพื่อทดแทนสมุดหรือกระดาษ
"แท็บเล็ต - Tablet" ในความหมายแท้จริงแล้วก็คือแผ่นจารึกที่เอาไว้บันทึกข้อความต่างๆโดยการ เขียน (อาจจะเป็นกระดาษ, ดิน, ขี้ผื้ง, ไม้, หินชนวน) และมีการใช้กันมานานแล้วในอดีต แต่ในปัจจุบันมีการพัฒนาคอมพิวเตอร์ที่ใช้แนวคิดนี้ขึ้นมาแทนที่ซึ่งมีหลาย บริษัทได้ให้คำนิยามที่แตกต่างกันไป หลักๆแล้วก็มี 2 ความหมายด้วยกันคือ "แท็บเล็ต พีซี - Tablet PC (Tablet Personal Computer)" และ "แท็บเล็ต คอมพิวเตอร์ - Tablet Computer" หรือเรียกสั้นๆว่า "แท็บเล็ต - Tablet"
เพิ่มคำอธิบายภาพ
ในปัจจุบันถูกพัฒนาให้มีความสามารถใกล้ เคียงเครื่องคอมพิวเตอร์โน้ตบุ๊คเลยทีเดียว เครื่องแท็บเล็ตพีซี มีขนาดไม่ใหญ่มากสามารถถือได้ด้วยมือเดียวและน้ำหนักเบากว่าเครื่อง คอมพิวเตอร์โน้ตบุ๊ค

แท็บเล็ต พีซี - Tablet PC (Tablet personal computer)

"แท็บเล็ต พีซี - Tablet PC (Tablet personal computer)" คือ "เครื่องคอมพิวเตอร์ส่วนบุคคลที่สามารถพกพาได้และใช้หน้าจอสัมผัสในการทำงาน เป็นอันดับแรก ออกแบบให้สามารถทำงานได้ด้วยตัวมันเอง" ซึ่งเป็นแนวคิดที่ได้รับความสนใจเป็นอย่างมากหลังจากทาง Microsoft ได้ทำการเปิดตัว Microsoft Tablet PC ในปี 2001 แต่หลังจากนั้นก็เงียบหายไปและไม่เป็นที่นิยมมากนัก "แท็บเล็ต พีซี - Tablet PC" ไม่เหมือนกับคอมพิวเตอร์ตั้งโต๊ะหรือ Laptops ตรงที่อาจจะไม่มีแป้นพิมพ์ในการใช้งาน แต่อาจจะใช้แป้นพิมพ์เสมือนจริงในการใช้งานแทน (มีแป้นพิมพ์ปรากฎบนหน้าจอใช้การสัมผัสในการพิมพ์) "แท็บเล็ต พีซี - Tablet PC" ทุกเครื่องจะมีอุปกรณ์ไร้สายสำหรับการเชื่อมต่ออินเตอร์เน็ตและระบบเครือ ข่ายภายใน

แท็บเล็ต คอมพิวเตอร์ - Tablet Computer หรือ แท็บเล็ต - Tablet

"แท็บเล็ต คอมพิวเตอร์ - Tablet Computer" หรือเรียกสั้นๆว่า "แท็บเล็ต - Tablet" คือ "เครื่องคอมพิวเตอร์ที่สามารถใช้ในขณะเคลื่อนที่ได้ขนาดกลางและใช้หน้าจอ สัมผัสในการทำงานเป็นอันดับแรก มีคีย์บอร์ดเสมือนจริงหรือปากกาดิจิตอลในการใช้งานแทนที่แป้นพิมพ์คีย์บอร์ด และมีความหมายครอบคลุมถึงโน๊คบุ๊คแบบ convertible ที่มีหน้าจอแบบสัมผัสและมีแป้นพิมพ์คีย์บอร์ดติดมาด้วยไม่ว่าจะเป็นแบบหมุน หรือแบบสไลด์ก็ตาม" ซึ่งทางบริษัท Apple ผู้ผลิต "ไอแพด - iPad" ได้เรียกอุปกรณ์ของตัวเองว่าเป็น "แท็บเล็ต คอมพิวเตอร์ - Tablet Computer" เครื่องแรก

ความแตกต่างระหว่าง "แท็บเล็ต คอมพิวเตอร์ - Tablet computer" และ "แท็บเล็ต พีซี - Tablet PC"

เริ่มแรก "แท็บเล็ต พีซี - Tablet PC" จะใช้หน่วยประมวลผลกลางหรือ CPU ที่ใช้สถาปัตยกรรม x86 ของ Intel เป็นพื้นฐานและมีการปรับแต่งนำเอาระบบปฏิบัติการหรือ OS ของเครื่องคอมพิวเตอร์ส่วนบุคคลหรือ Personal Computer - PC มาทำให้สามารถใช้การสัมผัสในการทำงานได้ ตัวอย่างเช่น Windows 7 หรือ Ubuntu Linux แทนที่จะใช้แป้นพิมพ์คีย์บอร์ดหรือเมาส์ และเนื่องจากเป็นการรวมกันระหว่างระบบปฏิบัติการ Windows และหน่วยประมวลผลกลางหรือ CPU ของ Intel ทำให้มีคนเรียกกันว่า "Wintel"
ต่อมาในปี 2010 ได้เกิดแท็บเล็ตที่แตกต่างจาก "แท็บเล็ต พีซี - Tablet PC" ขึ้นมาโดยไม่มีการยึดติดกับ Wintel แต่ไปใช้ระบบปฏิบัติการของโทรศัพท์เคลื่อนที่แทนนั่นก็คือ "แท็บเล็ต คอมพิวเตอร์ - Tablet Computer หรือเรียกสั้นๆว่า แท็บเล็ต - Tablet" ซึ่งจะใช้หน้าจอแบบ capacitive แทนที่ resistive ทำให้สามารถสัมผัสโดยการใช้นิ้วได้โดยตรงและสัมผัสพร้อมกันทีละหลายจุดได้ หรือ multi-touch ประกอบกับการใช้หน่วยประมวลผลกลางหรือ CPU ที่ใช้สถาปัตยกรรม ARM แทนซึ่งสถาปัตยกรรม ARM นี้ทำให้แท็บเล็ตนั้นมีการใช้งานได้ยาวนานกว่าสถาปัตยกรรม x86 ของ Intel หลายๆคนคงจะรู้จักแท็บเล็ตตัวนี้กันเป็นอย่างดีนั้นก็คือ ไอแพด (iPad) นั้นเอง

Post-PC operating systems

ในปัจจุบันมีความนิยมในการใช้งาน Tablet สูงขึ้นเรื่อยๆทำให้เกิดการแข่งขันและการพัฒนาเทคโนโลยีสำหรับ tablet ขึ้นมาเฉพาะโดยไม่ได้ตามเทคโนโลยีของ PC หรือ PDA เหมือนในอดีต ไม่ว่าจะเป็น สถาปัตยกรรมด้าน Hardware หรือ Software ต่างมีผู้ผลิต OS (Operating System) ของตนเองมาแข่งขัน ไม่ว่าจะเป็น ค่าย Windows เองก็พยายามจะรักษาตลาดเดิมของ PocketPC เอาไว้ นอกจากนี้ Apple ผู้ผลิต iPad ซึ่งเป็นผู้ที่สร้างแรงกระตุ้นให้เกิดการใช้งาน Tablat อย่างแพร่หลายในปัจจุบัน ก็มี iOS ที่พัฒนาสำหรับ Tablat โดยเฉพาะและมีจุดแข็งในการผลิตฮาร์ดแวร์เองทำให้ OS สามารถทำงานได้อย่างเต็มประสิทธิภาพ นอกจากนี้คู่แข่งสำคัญอย่าง Google ก็มี Android OS ที่มีจุดแข็งในการเปิดให้ผู้ผลิตฮาร์ดแวร์อื่นๆ สามารถนำ Android OS ไปใช้ได้กับฮาร์ดแวร์ของตน นอกจากนี้ก็ยังมีผู้ผลิตหลายราย ที่พยายามสร้าง OS ของตนขึ้นมาเพื่อใช้งานกับ Tablat ของตนเอง เช่น Blacberry Tablet OS ที่อิงระบบ QNX หรือ HP ที่พยายามสร้าง webOS เข้ามาแย่งส่วนแบ่งการตลาด แต่ทำไม่สำเร็จ
อย่างไรก็ตาม Tablat ยังมีการพัฒนาอย่างรวดเร็วและต่อเนื่อง ในอนาคต Tablat จะเป็นมากกว่ากระดานชนวนอิเล็กทรอนิกส์ แต่จะบรรจุเทคโนโลยีมากมาย อีกทั้งความสามารถด้านการเชื่อมต่อระบบเครือข่ายได้อย่างรวดเร็ว ทำให้ความสามารถของ Tablat เปิดกว้างมายิ่งขึ้น

วันศุกร์ที่ 1 กุมภาพันธ์ พ.ศ. 2556

เรื่องภาษาคอมพิวเตอร์

ภาษาคอมพิวเตอร์


ภาษาคอมพิวเตอร์ หมายถึง ภาษาใด ๆ ที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ ภาษาคอมพิวเตอร์มีมากมายหลายพันภาษา แต่ภาษาที่สั่งให้คอมพิวเตอร์ทำงานได้จริงนั้นมีภาษาเดียว คือ ภาษาเครื่อง ( machine language )

การจัดแบ่งภาษาคอมพิวเตอร์มีการแบ่งหลายแบบ เช่น แบ่งเป็นยุคของภาษา ดังนี้ (จาก http://www.nectec.or.th/courseware/computer/comp-using/0064.html เมื่อ 7 .. 2551)

1.ภาษารุ่นที่ 1 ได้แก่

ภาษาเครื่อง(Machine Language) ใช้อักขระเพียง 0 และ 1
ภาษาสัญลักษณะ (Symbol Language)
ภาษาแอสเซมบลี( Assembly Language) ที่ใช้รหัสช่วยจำ (Mnemonic Code) แทนรหัสคำสั่งที่เป็นอักขระ 0 กับ 1
การเขียนคำสั่งภาษาเครื่อง และภาษาสัญลักษณ์ จำเป็นต้องทราบขั้นตอน การทำงานภายในของตัวประมวลผลอย่างละเอียด ต้องทราบจำนวนรีจิสเตอร์ (Register) และหน้าที่ของรีจิสเตอร์ ต้องทราบถึงการอ้างถึงข้อมูลในหน่วยความจำมีวิธี และทำได้อย่างไร ภาษารุ่นนี้จึงใช้งานได้ยาก และมีความซับซ้อนในการสั่งงาน

2.ภาษารุ่นที่ 2 เป็นภาษาที่พัฒนาที่นับได้ว่าเก่าแก่ที่สุด และนับเป็นพื้นฐานในการพัฒนาภาษาคอมพิวเตอร์ใหม่ๆ ด้วย โดยมีจุดอ่อน คือ เป็นภาษาที่ไม่มีโครงสร้าง ไม่สามารถกำหนดชนิดข้อมูลได้ เช่น ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL - Common Business Oriented Language), ภาษา ALGOL (Algorithm Language) และภาษายอดนิยมที่สุด คือ ภาษา BASIC (Beginner's All Purpose Symbolic Instruction Code) ซึ่งหลายภาษา ยังได้รับความนิยมจนถึงปัจจุบัน

3.ภาษารุ่นที่ 3 เป็นภาษาที่นำเอาจุดด้อยของภาษารุ่นที่ 2 มาปรับปรุงและพัฒนา โดยปรับปรุงลักษณะ โครงสร้าง ตลอดจนขีดความสามารถของภาษารุ่นที่ 2 โดยแบ่งภาษารุ่นนี้ เป็นสองลักณะ คือ ภาษาสำหรับงานทั่วไป ได้แก่ ภาษา PL/I, Pascal, Modula-2, C, Ada โดยมีพื้นฐานการพัฒนามาจากภาษา ALGOL โดยนิยมนำมาใช้ในงานวิศวกรรม วิทยาศาสตร์ ธุรกิจ ตลอดจนงานระบบต่างๆ และภาษาสำหรับงานพิเศษ อันเป็นภาษาที่จัดทำขึ้นมาเพื่อใช้งานเฉพาะเจาะจง มีรูปแบบพิเศษออกไป เช่น ภาษา Lisp, Prolog, Smalltalk, APL และ FORTH เป็นต้น

4.ภาษารุ่นที่ 4 เป็นภาษาที่พัฒนาขึ้นมาเพื่อลดขั้นตอนการออกแบบระบบ โดยผู้ใช้ระบุผลลัพธ์ที่ต้องการ จากนั้นโปรแกรมก็จะใช้ความรู้ภายในตัวภาษา มาหาผลลัพธ์นั้นๆ แต่บางฟังก์ชันก็ยังต้องอาศัย การกำหนดเงื่อนไข และลำดับขั้นตอนของงานด้วย ภาษารุ่นนี้ เช่น ภาษาสอบถาม (Query Language) ซึ่งใช้ในการสืบค้นข้อมูลในฐานข้อมูล ได้แก่ ภาษา SQL (Sturctured Query Language) นอกจากภาษาสอบถาม ยังมีภาษาแบบตัวสร้างโปรแกรม (Program Generator) ซึ่งมักจะพบในโปรแกรมจัดการฐานข้อมูล เช่น dBASE, FoxPro เป็นต้น

5.ภาษารุ่นที่ 5 เป็นภาษารุ่นใหม่ที่นิยมใช้กันอย่างแพร่หลายในปัจจุบัน มีลักษณะการทำงานเชิงวัตถุ มีระบบช่วยเหลือต่างๆ มากมาย เช่น Visual Basic, Visual FoxPro เป็นต้น



ภาษาคอมพิวเตอร์ อาจแบ่งภาษาระดับต่ำ (Low Level Language) กับ ภาษาระดับสูง (High Level Language) จากhttp://www.fms.nrru.ac.th/fms2008/index.php?option=com_content&task=view&id=85&Itemid=1 เมื่อ 7 ..51
มีรายละเอียด ดังนี้
ภาษาระดับต่ำ (low level language )  ภาษาระดับต่ำเป็นภาษาที่ขึ้นอยู่กับฮาร์ดแวร์ของคอมพิวเตอร์แต่ละระบบ แบ่งเป็น
                   1.
ภาษาเครื่อง (Machine Language) เป็นภาษาต่ำสุดของคอมพิวเตอร์ ประกอบด้วยเลข 0 และเลข 1 ที่นำมาเขียนเรียงติดต่อกัน ประโยคคำสั่งของภาษาเครื่องจะประกอบด้วยส่วนที่ระบุให้คอมพิวเตอร์ทำงานอะไร เช่น สั่งให้ทำการบวกเลข สั่งให้ทำการเคลื่อนย้ายข้อมูล เป็นต้น และอีกส่วนเพื่อบอกแหล่งข้อมูลที่จะนำมาทำงานตามที่ระบุในตอนแรก 
           
การเขียนโปรแกรม หรือชุดคำสั่งด้วยภาษาเครื่อง นับเป็นเรื่องที่ยุ่งยากไม่สะดวกและเสียเวลา เพราะผู้ใช้จะต้องทราบรหัสแทนการทำงานต่าง ๆ และต้องรู้ขั้นตอนการทำงานภายในของเครื่องคอมพิวเตอร์โดยละเอียด ถ้าใช้คำสั่งไม่ถูกต้องเกิดการผิดพลาด โอกาสที่จะเข้าไปทำการแก้ไขก็ทำได้ยากและเสียเวลามาก มนุษย์จึงพยายามคิดภาษาให้ติดต่อกับคอมพิวเตอร์ได้ง่ายขึ้นด้วยการสร้างภาษาระดับต่ำในเวลาต่อมา          
                  2. ภาษาแอสเซมบลี (Assembly Language) ลักษณะของภาษานี้จะเป็นการใช้ตัวอักษรมาเรียงกันเป็นคำ แทนเลขฐานสอง โดยคำที่กำหนดขึ้นจะมีความหมายที่สามารถเข้าใจและจำได้ง่าย เช่น จะใช้คำสั่ง ADD แทนการบวก คำสั่ง SUB แทนการลบ เป็นต้น ขณะเดียวกัน ส่วนที่ใช้บอกแหล่งข้อมูลก็จะแทนด้วยชุดของตัวอักษรที่เรียกว่าตัวแปร เช่น คำสั่ง ADD A,B จะหมายถึงให้นำข้อมูลที่ตำแหน่ง A และตำแหน่ง B มาบวกรวมกันแล้วนำผลลัพธ์ไปเก็บที่ตำแหน่งAเป็นต้น 
               
การเขียนโปรแกรมด้วยภาษาแอสแซมบลี ถึงแม้ว่าจะง่ายและเสียเวลาน้อยกว่าการเขียนโปรแกรมด้วยภาษาเครื่อง แต่มีข้อเสียคือผู้ใช้จะต้องเรียนรู้โครงสร้างของระบบเครื่องนั้นอย่างละเอียด เพราะภาษาแอสแซมบลีเป็นภาษาที่ขึ้นกับฮาร์ดแวร์ จะใช้กับเครื่องระบบนั้น ถ้าใช้เครื่องต่างระบบที่มีตัวประมวลผลต่างกัน จะต้องเรียนรู้โครงสร้างภายในและชุดคำสั่งสำหรับเครื่องนั้นใหม่ทั้งหมด ดังนั้นจึงเป็นเรื่องที่ยุ่งยากและไม่สะดวก               
ภาษาระดับสูง (High-level Language)
               
ภาษาระดับสูง การพัฒนาภาษาคอมพิวเตอร์ในยุคต่อมา จึงพยายามให้เป็นภาษาที่สามารถนำไปใช้กับเครื่องต่างระบบกัน ไม่ต้องเสียเวลาเรียนรู้ใหม่ทั้งหมด โปรแกรมที่เขียนสั่งงานกับเครื่องระบบหนึ่ง ก็สามารถนำไปใช้หรือดัดแปลงเพียงเล็กน้อยเพื่อสั่งงานกับเครื่องอีกระบบหนึ่งได้ ลักษณะของภาษาจะพยายามให้ใกล้เคียงกับภาษาธรรมชาติมากขึ้น ทำให้เราสามารถศึกษาและเรียนรู้ได้ในเวลาอันรวดเร็ว ภาษาในยุคหลังนี้ เรียกว่า ภาษาระดับสูง ซึ่งได้มีการคิดค้นพัฒนาออกมาหลายภาษาด้วยกัน ที่เด่น ๆ และนิยมกันมาก เช่น
                        
ภาษาฟอร์แทรน (FORTRAN- FORmula TRANslator) เป็นภาษาที่เก่าแก่ของโลกเหมาะกับงานด้านวิทยาศาสตร์ คณิตศาสตร์ ใช้ในงานค้นคว้าวิจัยและวิเคราะห์ปัญหาต่างทางวิทยาศาสตร์
                        
ภาษาโคบอล (COBOL-Common Business Oriented Language) เป็นภาษาที่เหมาะสำหรับงานด้านธุรกิจ ที่มีข้อมูลจำนวนมากๆ หรืองานด้านการจัดการฐานข้อมูล แต่ไม่เหมาะสำหรับงานด้านคำนวณ 
                       
ภาษาเบสิก (BASIC- Beginner's All purpose Symbolic Instruction) เป็นภาที่พัฒนาขึ้นมา โดยที่ผู้ใช้ไม่จำเป็นต้องมีความรู้เรื่องระบบการทำงานของคอมพิวเตอร์ เหมาะสำหรับการเขียนโปรแกรมคอมพิวเตอร์และผู้เริ่มศึกษาภาษาคอมพิวเตอร์
                       
ภาษาปาสคาล (PASCAL) เป็นภาษาที่ใช้สอนหลักการเขียนโปรแกรมได้ดีที่สุด เหมาะสำหรับการเขียนโปรแกรมต่าง ๆ เพื่อการเรียนการสอน
                       
ภาษาซี (C) เป็นภาษาที่ได้รับความนิยมในการเขียนโปรแกรมการทำงานขนาดใหญ่ และใช้ในการเขียนโปรแกรมควบคุมการทำงานของฮาร์ดแวร์ด้วย            
ข้อแตกต่างระหว่างภาษาระดับต่ำกับภาษาระดับสูง (จาก http://www.nectec.or.th/courseware/computer/comp-using/0064.html เมื่อ 7 .. 2551)
ภาษาระดับต่ำจะมีความแตกต่างกันเมื่อใช้กับเครื่องคอมพิวเตอร์ต่างเครื่องกัน ส่วนภาษาระดับสูงนั้นสามารถใช้ได้กับ คอมพิวเตอร์ต่างเครื่องกัน โดยอาจมีการปรับปรับปรุง หรือ เปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น
ภาษาระดับสูงมนุษย์สามารถอ่านเข้าใจได้ง่ายกว่าภาษาระดับต่ำ เพราะภาษาระดับสูงมีลักษณะคล้ายกับมนุษย์ที่ใช้ในชีวิตประจำวัน ส่วนภาษาระดับต่ำอาจใช้รหัสหรือคำย่อแทนคำสั่งให้ทำงาน
ภาษาระดับต่ำจะต้องเขียนขั้นตอนการทำงานอย่างละเอียด จึงใช้เวลาในการเขียนโปรแกรมมากกว่าการเขียนโปรแกรมระดับสูง
การเขียนโปรแกรมด้วยภาษาระดับต่ำ จำเป็นต้องศึกษาและเข้าใจระบบการทำงานภายในคอมพิวเตอร์ แต่การเขียนโปรแกรมด้วยภาษาระดับสูงไม่จำเป็นต้องศึกษาอย่างลึกซึ้ง




การจัดแบ่งภาษาคอมพิวเตอร์ ส่วนมากในปัจจุบันนิยมแบ่งภาษาคอมพิวเตอร์เป็น ยุค ดังนี้
(จาก http://yalor.yru.ac.th/~nipon/Archi_STD43/chapter9/group_20/machine.html เมื่อ 7 ..51)
1.ภาษาเครื่อง (Machine Language)
    2.ภาษาแอสเซมบลี (Assembly Language)
    3.ภาษาชั้นสูง (High - level Language)
    4.ภาษาชั้นสูงมาก (Very High - level Language)
    5.ภาษาธรรมชาติ (Natural Language)

ภาษาเครื่อง 
ในยุคแรก ๆ การใช้คอมพิวเตอร์ให้ทำงานตามต้องการนั้น ผู้เขียนโปรแกรมจะต้องเขียนคำสั่งด้วยภาษาของเครื่องคอมพิวเตอร์ซึ่งเรียกว่า ภาษาเครื่อง คำสั่งของภาษาเครื่องนั้นจะประกอบด้วยกลุ่มของตัวเลขในระบบเลขฐานสอง เป็นภาษาเดียวเท่านั้นที่เครื่องคอมพิวเตอร์เข้าใจได้โดยตรง ลักษณะของภาษาเป็นภาษาที่ขึ้นอยู่กับฮาร์ดแวร์ของคอมพิวเตอร์แต่ละระบบ โดยเขียนอยู่ในรูปของรหัสของระบบเลขฐานสอง ประกอบด้วย เลข 0 และเลข 1 ที่นำมาเขียนเรียงติดต่อกัน ประโยคคำสั่งของภาษาเครื่องจะประกอบด้วยส่วนที่ระบุให้คอมพิวเตอร์ทำงานอะไรเช่น สั่งให้ทำการบวกเลข สั่งให้ทำการเคลื่อนย้ายข้อมูล เป็นต้น และอีกส่วนเพื่อ บอกแหล่งข้อมูลที่จะนำมาทำงานตามที่ระบุในตอนแรก
โครงสร้างของคำสั่งในภาษาเครื่อง
คำสั่งในภาษาเครื่องจะประกอบfด้วย 2 ส่วนคือ
    
โอเปอเรชันโคด (Operation Code) เป็นคำสั่งที่สั่งให้เครื่องคอมพิวเตอร์ปฏิบัติการ เช่น การบวก (Addition) การลบ (Subtraction) เป็นต้น
   โอเปอแรนด์ (Operands)เป็นตัวที่ระบุตำแหน่งที่เก็บของข้อมูลที่จะเข้าคอมพิวเตอร์เพื่อนำไป ปฏิบัติการตามคำสั่งในโอเปอเรชันโคด

ภาษาแอสเซมบลี   
เป็นภาษาที่มีการใช้สัญลักษณ์ข้อความ (mnemonic codes) แทนกลุ่มของเลขฐานสอง เพื่อให้ง่ายต่อการเขียนและการจดจำมากกว่าภาษาเครื่อง ตัวอย่างเช่นมีการใช้สัญลักษณ์ต่อไปนี้
A ย่อมาจาก ADD หมายถึงการบวก
S
ย่อมาจาก SUBTRACT หมายถึงการลบ
C
ย่อมาจาก COMPLARE หมายถึงการเปรียบเทียบ
MP
ย่อมาจาก MULTIPLY หมายถึงการคูณ
ST
ย่อมาจาก SRORE หมายถึง การเก็บข้อมูลไว้ในหน่วยความจำ เป็นต้น
ถึงแม้ว่าสัญลักษณ์เหล่านี้จะไม่ใช่คำที่มีความหมายในภาษาอังกฤษแต่ก็ทำให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมได้สะดวกสะบายมากขึ้น เนื่องจากไม่ต้องสะดวกสบายมากขึ้น เนื่องจากไม่ต้องจดจำ 0 และ1 ของเลขฐานสองอีกนอกจากนี้ ภาษาแอสเซมบลียังอนุญาตให้ผู้เขียนใช้ตัวแปรที่ตั้งขึ้นมาเองในการเก็บค่าข้อมมูลใด ๆ เช่น X, Y, RATE หรือ TOTAL แทนการอ้างอิงถึงตำแหน่งที่เก็บข้อมูลจริงๆ ภายในหน่วยความจำ
ดังได้กล่าวแล้วว่าเครื่องคอมพิวเตอร์จะรู้จักเฉพาะภาษาเครื่องเท่านั้นดังนั้นจึงจำเป็นที่จะต้องมีการแปล
โปรแกรมภาษาแอสเซมบลีนั้นให้เป็นภาษาเครื่องเสียก่อนเพื่อให้คอมพิวเตอร์สามารถทำงานตามคำสั่งในโปรแกรมได้การแปลภาษาแอสเซมบลีเป็นภาษาเครื่องนั้นจะต้องมีตัวแปลภาษาแอสเซมบลีที่เรียกว่า แอสเซมเบลอร์ (Assembler) เป็นตัวแปล ซึ่งภาษาแอสเซมบลี 1คำสั่งจะสามารถแปลเป็นภาษาเครื่องได้ 1 คำสั่งเช่นกัน ดังนั้นเขียนโปรแกรมภาษาแอสเซมบลี 10 คำสั่ง ก็จะถูกแปลเป็นภาษาเครื่อง 10 คำสั่งเช่นกันจึงเห็นได้ว่าภาษาแอสเซมบลีจะมีลักษณะที่เหมือนกับภาษาเครื่องคือ เป็นภาษาที่ขึ้นอยู่กับเครื่อง กล่าวคือเราไม่สามารถนำโปรแกรมที่เขียนด้วยแอสเซมบลี โปรแกรมเดียวกันไปใช้ในเครื่องต่างชนิดกันได้และนอกจากนี้ผู้ที่จะเขียนโปรแกรมภาษาแอสเซมบลีได้จะต้องมีความรู้ ความเข้าใจในเรื่องของฮาร์ดแวร์เป็นอย่างดีเนื่องจากจะต้องยุ่งเกี่ยวกับการใช้งานหน่วยความจำที่เป็นงานหน่วยความจำ ที่เป็นรีจิสเตอร์ภายในตลอดดังนั้นจึงเหมาะที่จะใช้เขียนในงานที่ต้องการความเร็วในการทำงานสูง เช่น งานทางด้านกราฟิกหรืองานพัฒนาซอฟต์แวร์ระบบต่าง ๆ
อย่างไรก็ตามถึงแม้ว่าภาษานี้จะง่ายกว่าการเขียนด้วยภาษาเครื่อง แต่ก็ยังถือว่าเป็นภาษาชั้นต่ำที่ยังยากต่อการเขียนและ การเรียนรู้มากสำหรับผู้ที่ไม่ความรู้เกี่ยวกับฮาร์ดแวร์เท่าใดนัก

ภาษาระดับสูง
สามารถเรียกได้อีกอย่างว่าเป็นภาษารุ่นที่ 3 (3rd Generation Languages หรือ 3GLs) เป็นภาษาที่ถูกสร้างขึ้นมาเพื่อให้สามารถเขียนและอ่านโปรแกรมได้ง่ายขึ้น เนื่องจากมีลักษณะเหมือนภาษาอังกฤษทั่วๆ ไป และที่สำคัญคือผู้เขียนโปรแกรมไม่จำเป็นต้องมีความรู้เกี่ยวกับระบบฮาร์ดแวร์แต่อย่างใด ตัวอย่างของภาษาประเภทนี้ได้แก่ ภาษาฟอร์แทรน (FORTRAN) โคบอล (COBOL) เบสิก (BASIC) ปาสคาล (PASCAL) ซี (C) เอดา (ADA) อย่างไรก็ตามโปรแกรมที่ถูกเขียนด้วยภาษาประเภทนี้จะทำงานได้ ก็ต่อเมื่อมีการแปลงให้เป็นภาษาเครื่องเสียก่อน ซึ่งวิธีการแปลงจากภาษาชั้นสูงให้เป็นภาษาเครื่องนั้น จะทำได้โดยใช้โปรแกรมที่เรียกว่า คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง โดยภาษาชั้นสูงแต่ภาษาจะมีตัวแปลภาษาเฉพาะเป็นของตัวเอง ดังนั้นจึงไม่สามารถนำตัวแปลภาษาที่เรียกว่าคอมไพเลอร์ของภาษาหนึ่งไปใช้แปลภาษาอื่น ๆ สำหรับความแตกต่างระหว่างคอมไพเลอร์และอินเตอร์พรีเตอร์จะมีดังต่อไปนี้
คอมไพเลอร์ (Compiler)
จะทำการแปลโปรแกรมทั้งโปรแกรมให้เป็นภาษาเครื่องทีเดียว การแปลนี้จะเป็นการตรวจสอบไวยากรณ์ของภาษา ถ้ามีข้อผิดพลาดทางไวยากรณ์ของภาษาเกิดขึ้นก็จะแจ้งให้ทราบ เรียกข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) นี้ได้ว่าเป็น ข้อความไดแอคนอสติค (Diagnostic Message) เพื่อให้ผู้เขียนโปรแกรมทำการแก้ไขให้ถูกต้อง แล้วจึงค่อยสั่งให้แปลใหม่ โปรแกรมที่ยังไม่ผ่านการแปลจะเรียกว่า ซอร์สโปรแกรม (Source Program) หรือ ซอร์สโมดูล (Source module) แต่ถ้าผ่านการแปลเรียบร้อยและไม่มีข้อผิดพลาดใดๆ จะเรียกโปรแกรมส่วนนี้ว่า ออปเจกต์โปรแกรม (Object Program) หรือออปเจกต์โมดูล (Object Module) ออปเจกต์โปรแกรมนี้ยังไม่สามารถทำงานได้ จะต้องผ่านการลิงค์ (Link) หรือรวมเข้ากับไลบรารี่ (Library)ของระบบก่อนจึงจะเป็นโปรแกรมที่สามารถทำงานได้หรือเป็นภาษาเครื่องทีเรียกว่า เอ็กซ์ซีคิวท์โปรแกรม (Execute Program) หรือ โหลดโมดูล (Load Module) ซึ่งโดยทั่วไปแล้วจะเป็นไฟล์ที่มีนามสกุลเป็น .exe หรือ.comและสามารถนำโปรแกรมนี้ไปใช้งานได้ตลอดโดยไม่ต้องสั่งแปลใหม่อีก แต่ถ้ามีการแก้ไขโปรแกรมแม้เพียงเล็กน้อยก็ต้องทำการแปลใหม่หมดตั้งแต่ต้น
อินเตอร์พรีเตอร์ (Interpreter)
เป็นตัวแปลภาษาอีกตัวหนึ่งที่จะทำการแปลโปรแกรมภาษาชั้นสูงทีละคำสั่งให้เป็นภาษาเครื่องและทำการเอ็กซ์วีคิวท์หรือทำงานคำสั่งนั้นทันทีทันใดเลยก่อนที่จะไปทำการแปลต่อในบรรทัดถัดไปถ้าในระหว่างการแปลเกิดพบข้อผิดพลาดที่บรรทัดใดก็จะฟ้องให้ทำการแก้ไขทีละบรรทัดนั้นทันทีอินเตอร์พรีเตอร์นี้เมื่อโปรแกรมเสร็จแล้วจะไม่สามารถเก็บเป็นเอ็กซ์ซีคิวท์โปรแกรม (Execute Program) ได้ซึ่งต่างกับคอมไพเลอร์ดังนั้นเมื่อจะเรียกใช้งานหรือรันโปรแกรมก็จะต้องทำการแปลหรือคอมไพล์โปรแกรมใหม่ทุกครั้งไปดังนั้นเมื่อจะเรียกใช้งานเอ็กซ์ซีคิวท์โปรแกรมย่อมจะทำงานได้เร็วกว่าการเรียกใช้งานโปรแกรมที่ต้องผ่านการแปลด้วยอินเตอร์พรีเตอร์แต่ประโยชน์ของภาษาที่ถูกแปลด้วยอินเตอร์พรีเตอร์ คือโปรแกรมจะมีโครงสร้างที่ง่ายต่อการพัฒนาตัวอย่างของภาษาโปแกรมที่มีการใช้อินเตอร์พรีเตอร์ เป็นตัวแปลภาษา เช่น ภาษาเบสิกสมัยเดิม (GWBASIC) (แต่ Visual Basic มีตัวแปลภาษาเป็น คอมไพเลอร์)
การเขียนโปรแกรมด้วยภาษาชั้นสูงนั้นนอกจากจะให้ความสะดวกแก่ผู้เขียนเป็นอันมากแล้วผู้เขียนแทบจะไม่ต้องมีความรู้เกี่ยวกับการทำงาน ของระบบฮาร์ดแวร์ก็สามารถเขียนโปรแกรมสั่งให้เครื่องคอมพิวเตอร์ทำงานได้นอกจากนี้ยังมีข้อดีอีกอย่างคือสามารถนำโปรแกรมที่เขียนนี้ ไปใช้งานบนเครื่องใดก็ได้ คือมีลักษณะที่ไม่ขึ้นอยู่กับกับเครื่อง(Hardware Indepent) เพียงแต่ต้องทำการการแปลโปรแกรมใหม่เท่านั้น แต่อย่างไรก็ตามภาษาเครื่องที่ได้จากการแปลภาษาชั้นสูงนี้อาจเยิ่นเย้อและไม่มีประสิทธิภาพเท่ากับการเขียนด้วยภาษาเครื่องหรือแอสเซมบลีโดยตรง
ภาษารุ่นที่ 3 นี้ส่วนใหญ่จะจัดอยู่ในกลุ่มของภาษาที่มีแบบแผน (Procedural language)เนื่องจากลักษณะ
การเขียนโปรแกรมจะมีโครงสร้างแบบแผนที่เป็นระเบียบ กล่าวคือ งานทุกอย่างผู้เขียนโปรแกรมต้องเขียน
โปรแกรมควบคุมการทำงานเองทั้งหมด และต้องเขียนคำสั่งการทำงานที่เป็นขั้นตอนทุกอย่าง ไม่ว่าจะเป็นการสร้างแบบฟอร์มกรอกข้อมูล การประมวลผล หรือการสร้างรายงาน ซึ่งโปรแกรมที่เขียนจะค่อนข้างซับซ้อนและใช้เวลาในการพัฒนาค่อนข้างยาก

ภาษาระดับสูงมาก (Very high - Level Language)  
สามารถเรียกได้อีกอย่างว่าภาษาในรุ่นที่ 4 (4GLs: Fourth Generation Languages)ภาษานี้เป็นภาษา
ที่อยู่ในระดับที่สูงกว่าภาษารุ่นที่ 3 มีลักษณะของภาษาในรุ่นที่เป็นธรรมชาติคล้ายๆ กับภาษาพูดของมนุษย์จะช่วย
ในเรื่องของการสร้างแบบฟอร์มบนหน้าจอเพื่อจัดการเกี่ยวกับข้อมูล รวมไปถึงการออกรายงาน ซึ่งจะมีการจัดการ
ที่ง่ายมากไม่ยุ่งยากเหมือนภาษารุ่นที่ 3 ตัวอย่างของภาษาในรุ่นที่ 4 ได้แก่ Informix-4GL, Focus, Sybase,
InGres
เป็นต้น
ลักษณะของ 4GL มีดังต่อไปนี้
เป็นภาษาแบบ Nonprocedural ซึ่งหมายความว่าผู้ใช้เพียงแต่บอกว่าต้องการอะไร แต่ไม่ต้องบอกถึงรายละเอียด ว่าต้องทำอย่างไร คอมพิวเตอร์จะเป็นผู้จัดการให้เองหมด ตัวอย่างเช่น ถ้าต้องการสร้างแบบฟอร์มการรับข้อมูลจาก ผู้ใช้ผู้เขียนโปรแกรมเพียงแต่ทำการออกแบบหน้าตาของแบบฟอร์มนั้นบนโปรแกรมอิดิเตอร์ (Editor) ใดๆ และเก็บ เป็นไฟล์ไว้เมื่อจะเรียกใช้งานแบบฟอร์มนั้นเพียงแต่ใช้คำสั่งเปิดไฟล์นั้นขึ้นมาแสดงบนหน้าจอคอมพิวเตอร์ได้โดยทันทีซึ่งต่างจากภาษารุ่นที่ 3 ซึ่งเป็นแบบ Proceduralผู้เขียนโปรแกรม จะต้องเขียนรายละเอียดของโปรแกรมทั้งหมดว่า ที่บรรทัดนี้คอลัมน์นี้จะให้แสดงข้อความหรือข้อมูลอะไรออกมา ซึ่งถ้าต่อไปจะมีการปรับเปลี่ยนหน้าตาของแบบฟอร์ม ก็จะเป็นเรื่องที่ยุ่งยากอย่างยิ่ง หรือในการสร้างรายงานด้วย 4GLs ก็สามารถทำได้อย่างง่ายดายเพียงแต่ระบุลงไปว่าต้องการรายงานอะไร มีข้อมูลใดที่จะนำมาแสดงบ้าง โดยไม่ต้องบอกถึงวิธีการสร้าง หรือการดึงข้อมูลแต่อย่างใด 4GLsจะจัดการให้เองหมด
ส่วนใหญ่จะพบว่า 4GLs มักจะอยู่ควบคู่กับระบบฐานข้อมูล โดยผู้ใช้ระบบฐานข้อมูลจะสามารถจัดการฐานข้อมูล ได้โดยผ่านทาง 4GLs นี้
ส่วนประกอบของภาษา 4GLs
โดยทั่วไปแล้ว 4GLs จะประกอบด้วยส่วนสำคัญ 3 ส่วนดังต่อไปนี้
เครื่องช่วยสร้างรายงาน (Report Generators)หรืออาจเรียกได้อีกอย่างว่า เครื่องมือช่วยเขียนรายงาน (Report Writer) เป็นโปรแกรมสำหรับผู้ใช้ (end - users) ให้สามารถสร้างรายงานอย่างง่ายได้ด้วยตนเอง โดยผู้ใช้สามารถกำหนดเงื่อนไขและข้อมูลที่จะออกมาพิมพ์ในรายงาน
รวมไปถึงรูปแบบ (format) ของการพิมพ์ไว้ โปรแกรมช่วยสร้างรายงานนี้จะทำการพิมพ์รายงานตามรูปแบบที่เรากำหนดไว้ให้
ภาษาช่วยค้นหาข้อมูล (Query Languages)เป็นภาษาที่ช่วยในการค้นหาหรือดึงข้อมูลจากฐานข้อมูล ภาษานี้จะง่ายต่อการใช้งานมาก เนื่องจากจะอยู่ในรูปแบบที่ใกล้เคียงกับภาษาอังกฤษมาก ตัวอย่างของภาษาช่วยค้นหาข้อมูลนี้ได้แก่ ภาษา SQL (Structured Query Language)ภาษา QBE (Query - By - Example) และ Intellect เป็นต้น
เครื่องมือช่วยสร้างโปรแกรม (Application Generators) 4GLs จะมีรูปแบบการเขียนโปรแกรมเฉพาะตัว และสามารถเรียกใช้เครื่องมือช่วยสร้างโปรแกรมนี้ทำการแปลง 4GLs ให้กลายเป็นโปรกรมในภาษารุ่นที่ 3 ได้ เช่น ภาษาโคบอล หรือ ภาษาซี เป็นต้น ซึ่งอาจนำภาษาโคบอล หรือซีที่แปลงได้
ไปพัฒนาต่อเพื่อใช้กับงานที่มีความซับซ้อนมากๆ ต่อไปได้
ประโยชน์ของ 4GL
เป็นภาษาที่ง่ายต่อการเรียนรู้ คำสั่งแต่ละคำสั่งสื่อความหมายได้อย่างชัดเจน ดังนั้นจึงสามารถใช้เวลาในการศึกษาสั้นกว่าภาษารุ่นที่ 3
ประหยัดเวลาในการเขียนโปรแกรมได้มาก เนื่องจาก 1 คำสั่งของ 4GL ถ้าต้องเขียนด้วยภาษารุ่นที่ 3 อาจต้องเขียนถึง 100 กว่าคำสั่งในการทำงานแบบเดียวกัน
 สนับสนุนระบบจัดการฐานข้อมูล ทำให้สามารถจัดการกับข้อมูลได้อย่างสะดวก และรวดเร็ว
สามารถสร้างแบบฟอร์มเพื่อจัดการกับข้อมูลในฐานข้อมูล และออกรายงานได้อย่างง่ายดาย ไม่ยุ่งยาก
มีเครื่องมือการใช้งานเพื่ออำนวยความสะดวกในการเขียนโปรแกรมมากพอสมควร
สามารถทำงานได้ในลักษณะ Interactive คือมีการโต้ตอบกับผู้ใช้ได้ทันที


 ภาษาธรรมชาติ
เป็นภาษาในยุคที่ 5 ที่มีรูปแบบเป็นแบบ Nonprocedural เช่นเดียวกับภาษารุ่นที่ 4 การที่เรียกว่า ภาษาธรรมชาติ เพราะจะสามารถสั่งงานคอมพิวเตอร์ได้โดยใช้ภาษามนุษย์โดยตรง ซึ่งโดยทั่วไปคำสั่งที่มนุษย์ป้อนเข้าไปในคอมพิวเตอร์จะอยู่ในรูปของภาษาพูดมนุษย์ ซึ่งอาจมีรูปแบบที่ไม่แน่นอนตายตัว แต่คอมพิวเตอร์ก็สามารถแปลคำสั่ง เหล่านั้นให้อยู่ในรูปแบบที่คอมพิวเตอร์เข้าใจได้ ถ้าตั้งคำถามใดไม่กระจ่างก็จะมีการถามกลับเพื่อให้เข้าใจคำถามได้อย่างถูกต้อง
ภาษาธรรมชาตินี้ ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ (Expert System) ซึ่งเป็นงานที่อยู่ในสาขาปัญญาประดิษฐ์(Artificial Intelligence) ในการที่พยายามทำให้คอมพิวเตอร์เปรียบเสมือนกับเป็นผู้เชี่ยวชาญคนหนึ่งที่สามารถคิดและตัดสินใจได้เช่นเดียวกับมนุษย์ คอมพิวเตอร์สามารถตอบคำถามของมนุษย์ได้อย่างถูกต้องพร้อมทั้งมีข้อแนะนำต่างๆ เพื่อช่วยในการตัดสินใจของมนุษย์ได้อีกด้วย ระบบผู้เชี่ยวชาญนี้จะใช้กับงานเฉพาะด้านใดด้านหนึ่งเช่น ในการแพทย์ ในการพยากรณ์อากาศ ในการวิเคราะห์ทางเคมี การลงทุน ฯลฯ ซึ่งในการนี้จะต้องมีการเก็บรวบรวมข้อมูลที่มีอยู่เป็นจำนวนมหาศาลและให้ผู้ใช้สามารถใช้ภาษาธรรมชาติในการดึงข้อมูลจากฐานความรู้นี้ได้ ดังนั้นเราจึงอาจเรียกระบบผู้เชี่ยวชาญนี้ได้อีกอย่างว่าเป็น ระบบฐานความรู้ (Knowledge Base System) อย่างไรก็ตามระบบผู้เชี่ยวชาญไม่สามารถนำมาแทนที่การทำงานของผู้เชี่ยวชาญที่เป็นมนุษย์ได้ เนื่องจากทั้งระบบผู้เชี่ยวชาญและมนุษย์จะต้องทำงานร่วมกัน โดยมนุษย์จะนำข้อมูลที่ได้จากระบบผู้เชี่ยวชาญมาพิจารณาร่วมกับวิจารญาณของตนเองเพื่อตัดสินปัญหาที่ซับซ้อนอีกที อย่างไรก็ตามระบบผู้เชี่ยวชาญนี้เป็นคลื่นแห่งอนาคต ที่จะใช้เป็นเครื่องมือช่วยตัดสินใจการทำงานของมนุษย์ได้อย่างดีเยี่ยม

ภาษาคอมพิวเตอร์ จำแนกตามลักษณะการทำงาน ได้เป็น ดังนี้ (http://th.wikipedia.org/wiki/ เมื่อ 7 .. 2551)
ภาษาโปรแกรม
ภาษาสคริปต์
ภาษามาร์กอัป
Query language
Transformation language
โดยภาษาแต่ละประเภท มีลักษณะ ดังนี้
ภาษาโปรแกรม คือ ภาษาประดิษฐ์ที่สามารถใช้ควบคุมกำหนดพฤติกรรมการทำงานของเครื่องจักรได้ โดยเฉพาะคอมพิวเตอร์ ภาษาโปรแกรมก็เหมือนภาษามนุษย์ที่จะต้องใช้วากยสัมพันธ์ (syntax) และความหมาย (semantic) เพื่อกำหนดโครงสร้างและตีความหมายตามลำดับ ภาษาโปรแกรมช่วยให้การสื่อสารในภารกิจสารสนเทศสะดวกมากขึ้นและถูกต้องแม่นยำตามขั้นตอนวิธี (algorithm) ในโลกนี้มีภาษาโปรแกรมมากกว่า 8,500 ภาษาที่แตกต่างกันไป และก็ยังมีภาษาใหม่เกิดขึ้นทุกๆ ปี ผู้ที่ใช้งานภาษาโปรแกรมเพื่อเขียนโปรแกรมเรียกว่า โปรแกรมเมอร์ (programmer)
ภาษามาร์กอัป (Markup language) คือประเภทภาษาคอมพิวเตอร์ที่แสดงทั้งข้อมูล และข้อมูลรูปแบบเข้าด้วยกัน โดยข้อมูลรูปแบบอธิบายถึงโครงสร้างหรือการแสดงผลซึ่งส่วนนี้เรียกว่า มาร์กอัป โดยจะอยู่รวมกับข้อมูลปกติ ภาษามาร์กอัปที่รู้จักกันดีที่สุดคือ HTML ตามความเป็นมาแล้ว ภาษารูปแบบนี้ได้มีการใช้ในอุตสาหกรรมการพิมพ์ในการติดต่อสื่อสารงานพิมพ์ระหว่างผู้เขียน บรรณาธิการ และเครื่องพิมพ์
ภาษาสอบถาม (Query language) เป็นภาษาคอมพิวเตอร์ที่ใช้สำหรับสอบถามหรือจัดการกับข้อมูลใน DBMS โดยภาษาประเภทนี้ที่ได้รับความนิยมสูงสุดคือ ภาษาสอบถามเชิงโครงสร้าง (Structure Query Language: SQL) คิดค้นโดยนักวิทยาศาสตร์ของไอบีเอ็มในทศวรรษที่ 1970 มีรูปแบบคำสั่งที่คล้ายกับ ประโยคในภาษาอังกฤษมาก ซึ่งปัจจุบันองค์กร แอนซี ได้ประกาศให้ภาษาสอบถามเชิงโครงสร้าง เป็นภาษามาตรฐานสำหรับระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (Relational Database management System หรือ RDBMS) เป็นระบบ DBMS แบบที่ใช้กันแพร่หลายที่สุดในปัจจุบัน ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ทุกระบบจะใช้คำสั่งพื้นฐานของภาษา SQL ได้เหมือน ๆ กัน แต่อาจมีคำสั่งพิเศษที่แตกต่างกันบ้าง เนื่องจากบริษัทผู้ผลิตแต่ละรายก็พยายามที่จะพัฒนา RDBMS ของตนเองให้มีลักษณะที่เด่นกว่าระบบอื่นโดยเพิ่มคุณสมบัติที่เกินข้อกำหนดของ แอนซี ซึ่งคิดว่าจะเป็นประโยชน์ต่อผู้ใช้เข้าไป


ภาษาคอมพิวเตอร์มีเป็นจำนวนมาก มีช่วงพัฒนาของการคิดและพัฒนาการ ดังตาราง
(จาก http://www.thaiall.com/language/indexo.html เมื่อ 7 .. 2551)
Timeline of programming languages
Predecessor(s)
Year
Name
Chief developer, Company
Pre 1950
* ~1837 Analytical Engine order code Charles Babbage and Ada Lovelace
* 1943-5 Plankalkl (concept) Konrad Zuse
* 1943-6 ENIAC coding system John Von Neumann, John Mauchly, J. Presper Eckert, Herman Goldstine after Alan Turing
ENIAC coding system 1946 ENIAC Short Code Richard Clippinger, John Von Neumann after Alan Turing
ENIAC coding system 1946 Von Neumann and Goldstine graphing system (Notation) John Von Neumann and Herman Goldstine
ENIAC coding system 1947 ARC Assembly Kathleen Booth
Analytical Engine order code 1948 CPC Coding scheme Howard Aiken
ENIAC coding system 1948 Curry notation system Haskell Curry
ENIAC Short Code 1948 Brief Code John Mauchly
ENIAC Short Code 1949 C-10 Betty Holberton
CPC Coding scheme 1949 Seeber coding scheme (concept) Robert Seeber
1950s
Brief Code 1950 Short Code William F Schmidt, A.B. Tonik, J.R. Logan
ARC 1950 Birkbeck Assembler Kathleen Booth
* 1951 ALGAE Edward A Voorhees and Karl Balke
Short Code 1951 Intermediate Programming Language Arthur Burks
EDSAC 1951 Regional Assembly Language Maurice Wilkes
Aiken CPC system 1951 Boehm unnamed coding system Corrado Boehm
Plankalkl 1951 Klammerausdrcke Konrad Zuse
Short Code 1951 OMNIBAC Symbolic Assembler Charles Katz
* 1951 Stanislaus (Notation) Fritz Bauer
EDSAC 1951 Whirlwind assembler Charles Adams and Jack Gilmore at MIT Project Whirlwind
EDSAC 1951 Rochester assembler Nat Rochester
* 1951 Sort/Merge Betty Holberton
C-10 and Short Code 1952 A-0 Grace Hopper
Aiken CPC 1952 AUTOCODE Alick Glennie after Alan Turing
SORT/MERGE 1952 Editing Generator Milly Koss
* 1952 COMPOOL RAND/SDC
* 1953 Whirlwind algebraic systems Laning, Zierler, Adams at MIT Project Whirlwind
* 1953 READ/PRINT Don Harroff, James Fishman, George Ryckman
Glennie Autocode 1954 Mark I Autocode Tony Brooker
A-0 1954-1955 FORTRAN "0" (concept) Team led by John W. Backus at IBM
A-0 1954 ARITH-MATIC Team led by Grace Hopper at UNIVAC
A-0 1954 MATH-MATIC Team led by Grace Hopper at UNIVAC
* 1954 MATRIX MATH H G Kahrimanian
* 1954 IPL I (concept) Allen Newell, Cliff Shaw, Herbert Simon
A-0 1955 FLOW-MATIC Team led by Grace Hopper at UNIVAC
FORTRAN, A-2 1955 PACT I SHARE
Boehm 1955-6 Sequentielle Formelbersetzung Fritz Bauer and Karl Samelson
Laning and Zerler 1955-6 IT Team led by Alan Perlis
IPL I 1958 IPL II (implementation) Allen Newell, Cliff Shaw, Herbert Simon
IPL 1956-1958 LISP (concept) John McCarthy
FLOW-MATIC 1957 COMTRAN Bob Bemer
FORTRAN 0 1957 FORTRAN "I" (implementation) John W. Backus at IBM
* 1957 COMIT (concept)

FORTRAN I 1958 FORTRAN II Team led by John W. Backus at IBM
FORTRAN, IT and Sequentielle Formelbersetzung 1958 ALGOL 58 (IAL) ACM/GAMM
IPL II 1958 IPL V Allen Newell, Cliff Shaw, Herbert Simon
FLOW-MATIC, COMTRAN 1959 COBOL (concept) The Codasyl Committee
IPL 1959 LISP (implementation) John McCarthy


1959 TRAC (concept) Mooers
1960s
ALGOL 58 1960 ALGOL 60

FLOW-MATIC, COMTRAN 1960 COBOL 61 (implementation) The Codasyl Committee
* 1961 COMIT (implementation)

FORTRAN II 1962 FORTRAN IV

* 1962 APL (concept) Iverson
ALGOL 58 1962 MAD Arden, et al.
ALGOL 60 1962 SIMULA (concept)

FORTRAN II, COMIT 1962 SNOBOL Griswold, et al.
ALGOL 60 1963 CPL Barron, Strachey, et al.
SNOBOL 1963 SNOBOL3 Griswold, et al.
ALGOL 60 1963 ALGOL 68 (concept) van Wijngaarden, et al.
ALGOL 58 1963 JOSS I Cliff Shaw, RAND
MIDAS 1964 MIMIC H. E. Petersen, et al.
CPL, LISP 1964 COWSEL Burstall, Popplestone
ALGOL 60, COBOL, FORTRAN 1964 PL/I (concept) IBM
FORTRAN II, JOSS 1964 BASIC Kemeny and Kurtz
FARGO 1964 RPG IBM


1964 TRAC (implementation) Mooers


1964? IITRAN

JOSS 1965 TELCOMP BBN
JOSS I 1966 JOSS II Chuck Baker, RAND
FORTRAN IV 1966 FORTRAN 66

LISP 1966 ISWIM Landin
ALGOL 60 1966 CORAL66

CPL 1967 BCPL Richards
FORTRAN, TELCOMP 1967 MUMPS Massachusetts General Hospital
* 1967 APL (implementation) Iverson
ALGOL 60 1967 SIMULA 67 (implementation) Dahl, Myhrhaug, Nygaard at Norsk Regnesentral
SNOBOL3 1967 SNOBOL4 Griswold, et al.
PL/I 1967 XPL W. M. Mckeeman, et al. at University Of California Santa Cruz, California
J. J. Horning, et al. at Stanford University
DIBOL 1968 DIBOL-8 DEC
COWSEL 1968 POP-1 Burstall, Popplestone


1968 FORTH (concept) Moore
LISP 1968 LOGO Papert
* 1968 REFAL (implementation) Valentin Turchin
ALGOL 60 1969 ALGOL 68 (implementation) van Wijngaarden, et al.
ALGOL 60, COBOL, FORTRAN 1969 PL/I (implementation) IBM
BCPL 1969 B Ken Thompson, with contributions from Dennis Ritchie


1969 PPL Thomas A. Standish at Harvard University
1970s


1970? FORTH (implementation) Moore
POP-1 1970 POP-2

ALGOL 60 1971 Pascal Wirth, Jensen
Pascal, XPL 1971 Sue Holt et al. at University of Toronto
SIMULA 67 1972 Smalltalk-72 Xerox PARC
PL/I, ALGOL, XPL 1972 PL/M Kildall at Digital Research
B, BCPL, ALGOL 68 1972 C Ritchie
* 1972 INTERCAL

2-level W-Grammar 1972 Prolog Colmerauer
Pascal, BASIC 1973 COMAL Christensen, Lfstedt
Pascal, Sue 1973 LIS Ichbiah et al. at CII Honeywell Bull
BASIC 1974 GRASS DeFanti
Business BASIC 1974 BASIC FOUR BASIC FOUR CORPORATION
LISP 1975 Scheme Sussman, Steele
Pascal 1975? Modula Wirth
BASIC 1975 Altair BASIC Gates, Allen
ALGOL 68, BLISS, ECL, HAL 1975 CS-4 Brosgol at Intermetrics
Smalltalk-72 1976 Smalltalk-76 Xerox PARC
C, FORTRAN 1976 Ratfor Kernighan
APL, PPL, Scheme 1976 S John Chambers at Bell Laboratories
* 1977 FP John Backus
* 1977 Bourne Shell (sh) Bourne
Fortran 1977 IDL David Stern of Research Systems Inc
MUMPS 1977 Standard MUMPS

SNOBOL 1977 'ICON (concept) Griswold
ALGOL 68, LIS 1977 Green Ichbiah et al. at CII Honeywell Bull for US Dept of Defense
ALGOL 68, CS-4 1977 Red Brosgol et al. at Intermetrics for US Dept of Defense
ALGOL 68, 1977 Blue Goodenough et al. at SofTech for US Dept of Defense
ALGOL 68, 1977 Yellow Spitzen et al. at SRI International for US Dept of Defense
FORTRAN IV 1978 FORTRAN 77

Modula 1978? Modula-2 Wirth
* 1978? MATLAB Moler at the University of New Mexico
Algol60 1978? SMALL Brownlee at the University of Auckland
Ingres 1978 SQL aka structured query language IBM
* 1978 VISICALC Bricklin, Frankston marketed by VisiCorp
PL/I, BASIC, EXEC 2 1979 REXX Cowlishaw
C, SNOBOL 1979 Awk Aho, Weinberger, Kernighan
SNOBOL 1979 ICON (implementation) Griswold
* 1979 Vulcan dBase-II Ratliff
1980s
C, SIMULA 67 1980 C with classes Stroustrup
Smalltalk-76 1980 Smalltalk-80 Xerox PARC
Smalltalk, C 1982 Objective-C Brad Cox
Green 1983 Ada 83 CII Honeywell Bull
C with Classes 1983 C++ Stroustrup
BASIC 1983 True BASIC Kemeny, Kurtz at Dartmouth College
COBOL 1983? ABAP SAP
sh 1984? Korn Shell (ksh) Dave Korn
* 1984 Standard ML

dBase 1984 CLIPPER Nantucket
LISP 1984 Common Lisp Guy Steele and many others
1977MUMPS 1985 1984 MUMPS

Pascal 1985 Object Pascal Apple Computer
dBase 1985 PARADOX Borland
Interpress 1985 PostScript Warnock
BASIC 1985 QuickBASIC Microsoft


1986 Miranda David Turner at University of Kent


1986 LabVIEW National Instruments
SIMULA 67 1986 Eiffel Meyer


1986 Informix-4GL Informix
C 1986 PROMAL

INFORM 1986 CorVision Cortex
Smalltalk 1987 Self (concept) Sun Microsystems Inc.
* 1987 HyperTalk Apple
* 1987 SQL-87

C, sed, awk, sh 1987 Perl Wall
MATLAB 1988 Octave

dBase-III 1988 dBase-IV

Awk, Lisp 1988 Tcl Ousterhout
REXX 1988 Object REXX Simon C. Nash
Ada 1988 SPARK Bernard A. Carr
APL 1988 A+ Arthur Whitney
* 1987 Mathematica Wolfram Research
Turbo Pascal, Object Pascal 1989 Turbo Pascal OOP Hejlsberg at Borland
C 1989 Standard C89/90 ANSI X3.159-1989 (adopted by ISO in 1990)
Modula-2 1989 Modula-3 Cardeli, et al.
Modula-2 1989 Oberon Wirth
1990s
Oberon 1990 Object Oberon Wirth
APL, FP 1990 J Iverson, R. Hui at Iverson Software
Miranda 1990 Haskell

1984 MUMPS 1990 1990 MUMPS

SML 84 1990 SML 90 Milner, Tofte and Harper
Fortran 77 1991 Fortran 90

Object Oberon 1991 Oberon-2 Wirth
ABC 1991 Python Van Rossum
C 1991 Q Albert Graf
QuickBASIC 1991 Visual Basic Alan Cooper at Microsoft
SQL-87 1992 SQL-92

Turbo Pascal OOP 1992 Borland Pascal

ICI 1992 Tim Long

ksh 1993? Z Shell (zsh)

Smalltalk 1993? Self (implementation) Sun Microsystems Inc.
Forth 1993 FALSE Wouter van Oortmerssen
* 1993 WinDev PC Soft
FALSE 1993 Brainfuck Mller
HyperTalk 1993 Revolution Transcript

HyperTalk 1993 AppleScript Apple
APL, Lisp 1993 K Arthur Whitney
Smalltalk, Perl 1993 Ruby Yukihiro Matsumoto


1993 Lua Roberto Ierusalimschy et al. at Tecgraf, PUC-Rio
C 1993 ZPL Chamberlain et al. at University of Washington
Lisp 1994 Dylan many people at Apple Computer
Perl 1994 PHP Rasmus Lerdof
Ada 83 1995 Ada 95 ISO
Borland Pascal 1995 Borland Delphi Anders Hejlsberg at Borland


1995 ColdFusion Allaire
C, SIMULA67 OR C++, Smalltalk, Objective-C 1995 Java James Gosling at Sun Microsystems
1990MUMPS 1995 1995 MUMPS

Self, Java 1995? LiveScript Brendan Eich at Netscape
Fortran 90 1996 Fortran 95

APL, Perl 1996 Perl Data Language (PDL) Karl Glazebrook, Jarle Brinchmann, Tuomas Lukka, and Christian Soeller
S 1996 R Robert Gentleman and Ross Ihaka
REXX 1996 NetRexx Cowlishaw


1996 Lasso Blue World Communication
Joule, Original-E 1997 E Mark S. Miller
LiveScript 1997? JavaScript Brendan Eich at Netscape
SML 90 1997 SML 97 Milner, Tofte, Harper and MacQueen
PHP 3 1997 PHP PHP team
Scheme 1997 Pico Free University of Brussels
Smalltalk-80, Self 1997 Squeak Smalltalk Alan Kay, et al. at Apple Computer
JavaScript 1997? ECMAScript ECMA TC39-TG1
Smalltalk, APL, Objective-C 1997 F-Script Philippe Mougin
C++, Standard C 1998 Standard C++ ANSI/ISO Standard C++
Prolog 1998 Erlang Open Source Erlang at Ericsson
Standard C89/90 1999 Standard C99 ISO/IEC 9899:1999
DSSSL 1999 XSLT W3C
2000s
Java 2000 Join Java G Stewart von Itzstein
FP, Forth 2000 Joy von Thun
C, C++, C#, Java 2000 D Walter Bright at Digital Mars
C, C++, Java, Delphi 2000 C# Anders Hejlsberg at Microsoft(ECMA)
Java 2001 AspectJ Xerox PARC
Self, NetwonScript 2002 Io Steve Dekorte
Perl, C++ 2003 S2 Fitzpatrick, Atkins
C#, ML, MetaHaskell 2003 Nemerle University of Wroclaw
Joy, Forth, Lisp 2003 Factor Slava Pestov
Fortran 95 2004 Fortran 2003

* 2004 Subtext Jonathan Edwards
Python, C#, Ruby 2004 Boo Rodrigo B. de Oliveira
Object Pascal, C# 2004 Chrome programming language RemObjects Software
Java 2004 Groovy James Strachan
* 2005 Corn

Haskell 2006 Links Phil Wadler, University of Edinburgh
ksh, C#, Ruby, SQL 2006 Windows PowerShell Microsoft