Abstract, Interface Programming

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

บทความนี้ ซึ่งจะกล่าวถึง Abstract Class และ Interface Programming นั้น จะถือว่าถูกจัดอยู่ใน Polymorphism หรือก็คือความหลากหลายนั่นเอง ซึ่งจะอธิบายออกมาด้วยไวยากรณ์ของภาษา Java เพราะเป็นภาษาที่ทำความเข้าใจได้ง่ายกว่า C++ ในหลายๆลักษณะ และเป็นภาษาที่มีผู้เริ่มต้นในการศึกษาการโปรแกรมมิ่ง ศึกษาอยู่มากพอสมควร Continue Reading…

ประสบการณ์ การใช้ openGL on C# (sharpGL)

ก่อนอื่นอยากเกริ่นก่อนว่า ก่อนหน้านี้ ผู้เขียนไม่เคยมีประสบการณ์เกี่ยวกะพวก Graphics Programming มาก่อนเลย ไม่ว่าจะ DirectX หรือ openGL จะใช้นิดๆ หน่อยๆ ก็แค่ GDI+ บน C# เพราะว่าใช้แค่วาดรูป อะไรนิดๆ หน่อยๆ ซึ่งถ้าเปรียบเทียบ GDI+ กับพวก openGL แล้ว ก็คงเหมือนใช้พวกโปรแกรม Paint กับ โปรแกรม 3 มิติ แบบพวก 3D Studio Max

ทีนี้ปัญหาคือ GDI+ ไม่สามารถตอบสนองการวาดแบบ Realtime ได้ คือถ้าพูดกันให้เข้าใจแบบง่ายๆ GDI+ นั้น จะทำงานได้ช้ากว่าพวก openGL ซึ่งทำให้พอเราต้องการจะมี Canvas สำหรับ Graphic Animation อะไรซักอย่าง หากใช้ GDI+ แล้ว ก็จะพบว่า Animation ของเราจะกระตุกมากๆ จนแสดงผลไม่รู้เรื่อง สุดท้าย เราเลยต้องเดินทางเข้าสู่อะไรใหม่ๆกันแล้วละ 🙂 Continue Reading…

การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming)

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

Continue Reading…

แนะนำภาษาต่างๆในการเขียนโปรแกรม

 
ก่อนที่เราจะเริ่มศึกษาการเขียนโปรแกรมนั้นเราควรจะรู้จักภาษาโปรแกรมมิ่งต่างๆก่อนอย่างคร่าวๆเพื่อที่จะได้เลือกแนวทางศึกษาที่ถูกต้อง และเหมาะกับตัวเอง
 
ภาษา C
ถูกพัฒนามานานมาก เป็นภาษาแรกที่หลายๆคนศึกษา เพราะมีโครงสร้างที่ง่ายแต่ไม่เหมาะในการเขียนโปรแกรมที่ซับซ้อนมากๆ รวมทั้งเขียน GUI (GraphicUser Interface) ยากมาก เพราะไม่มีเครื่องมือพัฒนาที่ใช้ง่าย ข้อดีคือ ทำงานได้เร็วและสามารถเขียนลงบน Microcontroller ได้
 
ดาวน์โหลด IDE ได้ที่ http://www.bloodshed.net/devcpp.html

Continue Reading…

เหตุผลที่เราควรจะมีความรู้โปรแกรมมิ่งติดตัว

ก่อนจะเริ่มเขียนโปรแกรม คิดว่าทุกๆคนต้องมีคำถามอยู่ในในจก่อนอยู่แล้วว่า “เราจะเขียนโปรแกรมไปทำไม” หรืออะไรประมาณว่า “เราจะเริ่มเขียนโปรแกรมอย่างไรดี” บทความนี้… เขื่อว่าจะช่วยตอบสิ่งเหล่านั้นให้กับทุกคนได้
สาเหตุที่ใครต่อใครมักจะมีคำถามแรกในใจว่า เราจะเขียนโปรแกรมไปทำไม หรือเพื่ออะไร ทั้งๆที่ในปัจจุบันก็มีแอพมากมายอยู่แล้วที่ตอบโจทย์เราได้ จะแต่งรูปก็ใช้ Photoshop, จะเขียนเว็บก็มี Dreamweaver, หรือจะเล่นเกม จะทำรายงานทำพรีเซนท์ ก็มีโปรแกรมมาให้เราใช้ การเขียนโปรแกรมจึงมักจะเป็นเรื่องไกลตัวสำหรับทุกคน

Continue Reading…

Variable

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

เริ่มต้นกับ ภาษา c

ภาษา c นั้น ถือได้ว่าเป็นภาษาระดับสูงในการเขียนโปรแกรม ซึ่งมีความเข้าใจง่าย และเป็นพื้นฐานในการเรียนภาษาต่างๆต่อไป

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

 

ตัวอย่าง โปรแกรมการซักผ้า
Continue Reading…