วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2558

week4 โปรแกรมภาษาคอมพิวเตอร์ c#

เรามารู้จักโปรแกรมภาษาคอมพิวเตอร์ c#กันเถอะค่ะบางคนอาจจะรู้จักหรือไม่รู้จักแต่เข้ามาbloggerนี้เราจะมารู้จักโปรแกรมc#กันนะค่ะ เรามาเริ่มกันเลยดีกว่านะค่ะ
C# คืออะไร
     C# คือ ภาษาคอมพิวเตอร์ประเภท  object-oriented programming พัฒนาโดย  Microsoft โดยมีจุดมุ่งหมายในการวมความสามารถการคำนวณของ C++ ด้วยการโปรแกรมง่ายกว่าของ Visual Basic โดย C# มีพื้นฐานจาก C++ และเก็บส่วนการทำงานคล้ายกับ Java 
     C# ได้รับการออกแบบให้ทำงานกับ .NET platform ของ Microsoft จุดมุ่งหมายคือ อำนวยความสะดวกในการแลกเปลี่ยนสารสนเทศและบริการผ่านเว็บ และทำให้ผู้พัฒนาสร้างโปรแกรมประยุกต์ในขนาดกระทัดรัด C# ทำให้โปรแกรมง่ายขึ้นผ่านการใช้ Extensible Markup Language (XML) และ Simple Object Access Protocol (SOAP) ซึ่งยอมให้เข้าถึงอ๊อบเจคของโปรแกรมหรือเมธอด โดยปราศจากความต้องการให้ผู้เขียนโปรแกรมเขียนคำสั่งเพิ่มในแต่ละขั้นตอน เนื่องจากผู้เขียนโปรแกรมสามารถสร้างบนคำสั่งที่มีอยู่ แทนที่การคัดลอกซ้ำ C#  ภาษา C# ถูกพัฒนาขึ้นโดยเป็นส่วนหนึ่งในการพัฒนาโครงสร้างพื้นฐานของ .NET Framework เป็นการการนำข้อดีของภาษาต่างๆ (เช่นภาษา Delphi , ภาษา C++) มาปรับปรุงเพื่อให้มีความเป็น OOP (โปรแกรมเชิงวัตถุ) มากขึ้น ขณะเดียวกันก็ลดความซับซ้อนในโครงสร้างของภาษาลง (เรียบง่ายกว่าภาษา C++) และมีสิ่งที่เกินความจำเป็นน้อยลง (เมื่อเทียบกับ Java)
     C# ถูกรับรองจากหน่วยงาน ECMA (หน่วยงานกำหนดมาตรฐานสากลด้านสารสนเทศ) และ ISO และปัจจุบันไมโครซอฟท์ยังพัฒนาภาษานี้อย่างต่อเนื่อง (ปัจจุบันเป็นเวอร์ชัน 3.0)
C# คืออะไร ซีชาร์ป คือ ภาษาคอมพิวเตอร์ ซึ่งพัฒนามาจากภาษา C++

เปรียบเทียบภาษา C# กับภาษาอื่นๆ
     1.ถ้าพูดถึงความใกล้เคียงกับภาษาอื่นๆ ภาษา C# ใกล้เคียงกับภาษา Java มากที่สุด โดยมีความเหมือนกันถึง 70% ดั้งนั้นนักเขียนโปรแกรมภาษา Java จึงอาจย้ายมาเขียนภาษา C# ได้โดยศึกษาว่ามีสิ่งใดที่แตกต่างกันบ้าง ภาษา C# ยังมีความคล้ายคลึงกับภาษ C++.NET และภาษา VB.NET เป็นอย่างมาก ทำให้นักเขียนโปรแกรมภาษา C# สามารถอ่าน-เขียนโค้ดในภาษากลุ่มนี้ได้เมื่อฝึกฝนเพียงเล็กน้อย 
     2.C# และภาษา Java ทั้งคู่เป็นแบบสืบจากคลาสหลักได้คลาสเดียว ขณะที่ภาษา C++ สามารถสืบจากคลาสหลักได้มากกว่าหนึ่ง (Multiple inheritance) โดยภาษา C# และภาษา Java ใช้ Interface มาทดแทน Multiple inheritance เหมือนกันทั้งคู่
     3.สิ่งที่ภาษา C# และ Java มีร่วมกันคือเรื่อง Garbage Collection แต่ไม่มีใน C++ จึงทำให้ดูเหมือนว่าภาษา Java ต่อยอดมาจากภาษา C++ และ C# ต่อยอดมาจาก Java อีกที ที่เป็นเช่นนั้นเพราะทั้ง Java และ C# มีต้นสายมาจาก C++ ทำให้สองภาษานี้ดูคล้ายกัน แต่ภาษา C# ไม่ใช่ภาษา Java มันมีกลไกที่เป็นเอกลักษณ์หลายอย่าง เช่น พารามิเตอร์แบบ reference และ output การจัดเก็บ object ไว้ใน stack (struct) การทำ Versioning และยังมีสิ่งใหม่ๆ ที่เป็นข้อดี เช่น delegate, properties และ operator overloading ซึ่งจะไม่พบในภาษา Java

จุดเด่นหลักๆ ของภาษา C# มีดังนี้1.Component oriented - เป็นภาษาที่เน้นชิ้นส่วนโดยถูกออกแบบมาเป็นอย่างดีทำให้สามารถนำมาใช้ต่อกันเป็นอะไรก็ได้
2.
สิ่งต่าง ๆ ใน C# เป็นออบเจ็กต์ทั้งหมด
3.
ป็นภาษา ที่ทนทาน (robust) - ทนต่อความผิดพลาด ไม่ทำให้ระบบแฮงก์หรือระบบทำงานช้า เพราะ C# มีข้อดีคือ garbage collection , exception , type-safety และ versioning
4.
ภาษา C# จัดเตรียมกลไกไว้หลายอย่างที่ช่วยให้ผู้เขียนโปรแกรมสามารถนำโค้ดที่เขียนไว้ใน ?โปรเจค? หนึ่งไปใช้กับอีกโปรเจคหนึ่งได้ง่าย นอกจากนั้นภาษา C# ยังสามารถเรียกใช้คลาสหลายพันคลาสใน .NET Framework ได้โดยตรง ทำให้ลดเวลาการพัฒนาซอฟท์แวร์ได้มาก

เครื่องมือสำหรับพัฒนาโปรแกรม

            การเขียนโปรแกรมคอมพิวเตอร์ด้วยภาษา C# นั้น จะมีเครื่องมือที่ช่วยคอยอานวยความสะดวกสบายให้ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างง่ายดาย รวดเร็ว และ ผู้เขียนโปรแกรมสามารถแก้ไขข้อผิดพลาดในการเขียนโปรแกรมได้ง่ายขึ้นอีกด้วย ซึ่งเครื่องมือดังกล่าวก็คือ โปรแกรม Visual Studio นั่นเอง
            Visual Studio เป็นซอฟต์แวร์ประเภท IDE (Integrated Development Environment) ซึ่งเป็นการนาแนวความคิดการทางานแบบรวมศูนย์มาใช้ คือ การทาให้วงจรการพัฒนาระบบทั้งหมดทางานได้อย่างสะดวก รวดเร็ว และ ง่ายดาย เริ่มตั้งแต่การวิเคราะห์ ออกแบบจนถึงการนาไปปรับใช้ให้เหมาะสมกับวัตถุประสงค์ของการเขียนโปรแกรมคอมพิวเตอร์นั้นๆ (รายละเอียดของเครื่องมือสาหรับพัฒนาโปรแกรมด้วยภาษา C# จะกล่าวอีกครั้งในบทที่ 2)

โครงสร้างโปรแกรมภาษา 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





1 ความคิดเห็น:

  1. เข้าใจขึ้นเยอะเลยสอบวิชาคอมพิวเตอร์ได้คะแนนเยอะแน่ๆ

    ตอบลบ