[NMR.BD WORK]
WEEK 4 : โปรแกรมภาษาคอมพิวเตอร์ (C/C++/C#/Java) ; C#
WEEK 4 : โปรแกรมภาษาคอมพิวเตอร์ (C/C++/C#/Java) ; C#
* บล็อกนี้เป็นส่วนหนึ่งของวิชาเทคโนโลยีสารสนเทศ ง33103
สวัสดีค่ะ พบกับบล็อกเกอร์อีกเช่นเคย
สำหรับวันนี้บล็อกเกอร์มีความรู้เรื่องภาษาคอมพิวเตอร์
ที่น่าสนใจภาษาหนึ่งมานำเสนอ นั่นก็คือภาษาซีชาร์ป (C#) นั่นเอง แต่ซีชาร์ปนี้ไม่ใช่คอร์ดกีต้าร์นะ !
แล้วเจ้าภาษานี้คืออะไร มีความเป็นมาอย่างไร มีไว้ทำอะไร เราไปชมพร้อมกันเลยค่ะ
------------------------------------
ประวัติภาษา C#
ภาษาC# เป็นภาษาโปรแกรมเชิงวัตถุทำงานบน .Netframework พัฒนาโดยบริษัทไมโครซอฟท์และ
มี Anders
Hejlsberg เป็นหัวหน้าโครงการ โดยมีรากฐานมาจากภาษา C++ และภาษาอื่นๆ
(โดยเฉพาะภาษาเดลไฟและจาวา)
โดยปัจจุบันภาษาC# เป็นภาษามาตรฐานรองรับโดย ECMA และ ISO
ซึ่งในปัจจุบันได้พัฒนาและปรับรูปแบบของ
ภาษา C# อยู่ตลอดเวลาโดยทาง Microsoft
ได้นำภาษา C# ไปอยู่ในชุดพัฒนา software
อย่าง
visual studio ซึ่งทำให้เป็นที่นิยมเพิ่มมากขึ้น
ไมโครซอฟท์ส่งมาตรฐานภาษาC# ให้กับ ECMA
และได้รับการยอมรับเป็นมาตรฐาน
ECMA
ในเดือนธันวาคม ค.ศ.2001 ในชื่อว่า ECMA-334 C# Language
Specification
ในค.ศ.2003 ภาษาC# ได้รับการยอมรับเป็นมาตรฐาน ISO (ISO/IEC 23270)
มาตรฐาน ISO/IEC
23270:2003 ระบุรูปแบบ
และกำหนดการแปล (ตีความ)
โปรแกรมที่เขียนด้วยภาษา C#
โดยตัวมาตรฐานได้ระบุ
- รูปแบบการนำเสนอ
- ไวยากรณ์
- กฎการตีความสำหรับแปลโปรแกรมภาษา C#
- ข้อห้าม
และข้อจำกัด ของเครื่องมือที่สร้างตามข้อกำหนดของ C#
ISO/IEC 23270:2003
ไม่ได้ระบุ
- กลไกในการแปลงโปรแกรมภาษา
C# เพื่อใช้ในระบบประมวลผลข้อมูล
- กลไกในการเรียกให้โปรแกรมภาษา
C# ทำงาน เพื่อใช้ในระบบประมวลผลข้อมูล
- กลไกในการแปลงข้อมูลเข้า
เพื่อใช้กับโปรแกรมภาษา C#
- กลไกในการแปลงข้อมูลออก
หลังจากถูกประมวลผลโดยโปรแกรมภาษา C#
นอกจากนี้ตัวมาตรฐานไม่ได้กล่าวถึง
โครงสร้างข้อมูล(Data Structure) และตัว Library กลางของ .NET
Framework ซึ่งเป็นหัวใจสำคัญของการเขียนโปรแกรมด้วยภาษา C# เลย
------------------------------------
ผู้สร้างภาษา C#
ผู้สร้างภาษา C# คือบริษัทไมโครซอฟท์ แต่บิดาของภาษา C# คือ Anders
Hejlsberg
(แอนเดรส
ฮาเยสเบิร์ก) ไมโครซอฟท์ต้องการให้ภาษา C# เป็น “อะไรที่จะอยู่ไปอีกนาน”
เหมือนบริษัทรถยนต์โฟลค์ที่จ้าง Ferdinand Porsche (เฟอร์ดินันด์ พอร์ช)
นักออกแบบรถยนต์มือดีมาออกแบบรถโฟลคเต่า
(เป็นเหตุการณ์ที่เกิดขึ้นก่อนสงครามโลกครั้งที่สอง)
ทำให้มันกลายเป็นรถยนต์คลาสสิกมาจนถึงปัจจุบัน
ในทำนองเดียวกันเมื่อต้องการภาษาที่ต้องการให้กลายเป็นภาษา “คลาสสิก”
บริษัทไมโครซอฟท์ตัดสินใจมอบหมายให้ Hejlsberg บรมครูนักออกแบบภาษา
ผู้เคยสร้างภาษาที่กลายเป็นตำนานมาแล้วเช่น Turbo Pascal
และผู้นำในทีมสร้างภาษา
Delphi
ใครๆ ก็สร้างภาษาใหม่ได้ไม่ยาก แต่ภาษาที่ดีจริงๆ นั้นเป็นอีกเรื่องหนึ่ง
ใครๆ ก็สร้างภาษาใหม่ได้ไม่ยาก แต่ภาษาที่ดีจริงๆ นั้นเป็นอีกเรื่องหนึ่ง
สำหรับภาษา C# Hejlsberg ไม่เพียงสร้างภาษาที่ใช้งานได้ดีเท่านั้น
เขายังเน้น “ความมีรสนิยม”
และ
“ความสง่างาม”
เพราะต้องการให้โปรแกรมเมอร์เขียนโปรแกรมภาษา C#
ได้อย่างมีความสุข
------------------------------------
จุดเด่นของC#
เป็นรูปแบบของภาษาที่ทำงานเป็นลำดับ(Sequential)และต้องผ่านการแปลงไฟล์ให้อยู่ในรูปแบบ
พร้อมใช้งานหรือ EXE file (ที่เรียกว่าการ Compile) เช่นเดียวกับภาษา C
พร้อมใช้งานหรือ EXE file (ที่เรียกว่าการ Compile) เช่นเดียวกับภาษา C
โดย C#
เป็นภาษาที่ถูกผลักดันโดยบริษัทไมโครซอฟท์ให้ออกมายิ่งใหญ่
โดยมีจุดเด่นดังนี้
- เขียนคล่อง C#มีเครื่องมือในการช่วยเขียนอย่าง Visual
Studio ที่มีฟีเจอร์ในการไฮไลท์โค้ด
และส่วนช่วยในการเขียนโปรแกรมที่สะดวกมาก
และส่วนช่วยในการเขียนโปรแกรมที่สะดวกมาก
- เขียนง่ายจุดเด่นของตัวแปรและอ๊อบเจ็กต์บน C# เด่นชัดในเรื่องของการจัดการ
คุณสมบัติ (Properties) และการตั้งค่าเริ่มต้นที่ช่วยให้สามารถพัฒนาระบบได้สะดวกรวดเร็วขึ้น
คุณสมบัติ (Properties) และการตั้งค่าเริ่มต้นที่ช่วยให้สามารถพัฒนาระบบได้สะดวกรวดเร็วขึ้น
- อ่านง่าย การจัดระเบียบโดยตัว Visual Studio เป็นส่วนที่ผมชอบที่สุดเลยก็ว่าได้
คุณเขียนโค้ดไปซักพักหนึ่ง จะเริ่มรู้สึกลายตากับย่อหน้าที่งงๆ แต่ Visual Studio
โดยปกติเมื่อจะจัดการกับย่อหน้าทั้งหมดเหล่านั้นให้อยู่ในระเบียบสะอาดตาที่สุดเลยทีเดียว
คุณเขียนโค้ดไปซักพักหนึ่ง จะเริ่มรู้สึกลายตากับย่อหน้าที่งงๆ แต่ Visual Studio
โดยปกติเมื่อจะจัดการกับย่อหน้าทั้งหมดเหล่านั้นให้อยู่ในระเบียบสะอาดตาที่สุดเลยทีเดียว
- เป็นอ็อบเจ็กต์ เนื่องจากภาษา C# นั้นมีแม่แบบมาจากภาษา
Java
ซึ่งจุดเด่นคือการทำทุกสิ่งให้เป็นวัตถุ (Object) ทำให้สามารถเขียนและพัฒนาได้ง่าย
ซึ่งจุดเด่นคือการทำทุกสิ่งให้เป็นวัตถุ (Object) ทำให้สามารถเขียนและพัฒนาได้ง่าย
- ประสิทธิภาพสูง C# เป็นภาษาที่พัฒนาขึ้นมาภายใต้ .NET
Framework
ซึ่งสามารถดึงเอาความสามารถของเทคโนโลยีบน .NET ออกมาใช้ได้อย่างเต็มประสิทธิภาพ
ซึ่งสามารถดึงเอาความสามารถของเทคโนโลยีบน .NET ออกมาใช้ได้อย่างเต็มประสิทธิภาพ
- สามารถทำงานระดับลึก ภาษา C# สามารถทำงานกับหน่วยความจำรวมถึงระบบคอมพิวเตอร์ใน
ระดับลึก โดยผ่าน พอยเตอร์ (Pointer) หรือทำงานกับโปรโตคอล TCP/IPที่ต่ำกว่าระดับ4ได้
ระดับลึก โดยผ่าน พอยเตอร์ (Pointer) หรือทำงานกับโปรโตคอล TCP/IPที่ต่ำกว่าระดับ4ได้
- เน้นที่ XML C# ออกแบบมาเพื่อใช้งานร่วมกับXMLได้อย่างราบรื่นที่สุดด้วยความช่วยเหลือของ
.NETFramework
- คุณสมบัติGeneric type ช่วยยืดหยุ่นในการประกาศตัวแปล
- เทคโนโลยี LINQ ช่วยในการทำงานกับฐานข้อมูลได้อย่างมีประสิทธิภาพ
เป้าหมายการใช้งาน
ภาษา C# เป็นภาษาที่มีต้นกำเนิดมาจากภาษา C เช่นเดียวกับ C++
ภาษา C# เป็นภาษาที่มีต้นกำเนิดมาจากภาษา C เช่นเดียวกับ C++
และถูกพัฒนาขึ้นโดยเป็นส่วนหนึ่งในการพัฒนาโครงสร้างพื้นฐานของ
.NET Framework
ซึ่งเป็นการนำข้อดีของภาษาต่างๆ เช่น Delphi , C++ มาปรับปรุง
เพื่อให้มีความเป็น
OOP อย่างถึงที่สุด ขณะเดียวกันก็พัฒนาให้มีความเรียบง่ายกว่าภาษา C++
นอกจากนี้
ภาษาC# ใช้การเขียนโปรแกรมที่ซับซ้อน
เช่น โปรแกรมควบคุมฮาร์ดแวร์
และโปรแกรมเกมสามมิติ เพราะ .NET
จะมีภาษาให้เลือกใช้หลายสิบภาษา แต่ภาษา C#
เป็นพื้นเมืองของ
.NET
เมื่อค้นใน web จะพบข้อมูลและตัวอย่างโค้ดเป็นภาษา C# มากกว่าภาษาอื่น
โครงสร้างโปรแกรมภาษา C#
โครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐานจะประกอบด้วยส่วนของโปรแกรมหลักแต่จะไม่มีส่วนของโปรแกรมย่อย
(subroutine) โดยแสดงดังรูปที่ 1
รูปที่ 1 โครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน
จากรูปที่ 1 แสดงโครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน
โดยมีรายละเอียดดังนี้
1. หมายเลข (1)
เป็นการระบุชื่อของ
namespace ซึ่งใช้ในการกำหนดขอบเขตให้กับคลาสต่างๆรวมถึงใช้ในการจัดโครงสร้างของโปรแกรมขนาดใหญ่ให้เป็นสัดส่วนอีกด้วย
โดยเฉพาะอย่างยิ่งในการเขียนโปรแกรมคอมพิวเตอร์ที่ซับซ้อนโดยมีผู้เขียนโปรแกรมหลายคน
นอกจากนี้ การกำหนด namespace ยังช่วยป้องกันปัญหาการตั้งชื่อคลาสหรือค่าคงที่อื่นๆ
ซ้ากันได้
2. หมายเลข (2)
เป็นการระบุชื่อของ
class
3. หมายเลข (3)
เป็นการะบุพื้นที่สาหรับคำสั่งต่างๆ
ที่ผู้เขียนโปรแกรมต้องการให้คอมพิวเตอร์ปฏิบัติตาม
นอกจากนี้ ในบางกรณี
ผู้เขียนโปรแกรมสามารถที่จะไม่เขียนในส่วนของ namespace ได้
ถ้าโปรแกรมคอมพิวเตอร์นั้นมีขนาดเล็ก และ ไม่ซับซ้อนมากนัก
ซึ่งการที่ไม่เขียนในส่วนของ namespace จะถือว่า class ที่ถูกสร้างขึ้นมาอยู่ใน
namespace กลาง โดยแสดงดังรูปที่ 2
รูปที่ 2 โครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน กรณีไม่เขียนในส่วนของ namespace
ตัวอย่าง โครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน
ซึ่งจะแสดงข้อความ Hello C# ออกทางจอภาพ
และจากนั้นรอจนกว่าผู้ใช้งานจะกด Enter
แล้วจบการทำงาน
กรณีที่ 1 เขียนในส่วนของ namespace โดยแสดงดังรูปที่ 3
รูปที่ 3 ตัวอย่างโครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน
กรณีเขียนในส่วนของ namespace
กรณีที่ 2 ไม่เขียนในส่วนของ namespace โดยแสดงดังรูปที่ 4
รูปที่ 4 ตัวอย่างโครงสร้างโปรแกรมภาษา C# ขั้นพื้นฐาน
กรณีไม่เขียนในส่วนของ namespace
How to C#
สำหรับวันนี้ ทุกท่านคงได้รับความรู้ไปไม่มากก็น้อย
บล็อกเกอร์ขอตัวลาไปก่อน เอนทรี่หน้าจะเป็นเรื่องอะไรนั้น
ฝากติดตามกันต่อไปด้วยนะคะ
เครดิตเนื้อหา ขอบคุณค่ะ
https://sites.google.com/site/programmingm42/phasa-c
http://tonkung.ueuo.com/history.html
ไม่มีความคิดเห็น:
แสดงความคิดเห็น