September 10, 2011

Why use Microsoft!?

ทำไมต้อง Microsoft!?

     Microsoft(.Net[C#,VB,C++, ...), Sun Oracle (Java), IBM(SA...), SAP(ABAP), Adobe(Action Script) และ อื่น ๆ ( C++, PHP, Ruby, Python and so on.)

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



     หากจะแบ่งการทำงานของภาษาโดยแบ่งตามสภาพแวดล้อมในการทำงาน(ผมแบ่งเอง) แบ่งได้ 3 ลักษณะ 1.ภาษาที่คุยกับ Hardware โดยตรง, 2.ภาษาที่ทำงานบน OS เฉพาะ, 3.ภาษาที่ทำงานบนระบบเสมือนของตัวเอง Visual Machine
         1.ภาษาที่คุยกับ Hardware โดยตรง ผมว่าหนักไปสำหรับผู้เริ่มต้นใหม่เพราะภาษาเหล่านี้จะทำงานด้านหลัง (Black end) ของระบบใจไม่ค่อยเห็นอะไรชัดเจน เป็นการทำงานที่ต้องการการฝช้จิตนาการณ์สูง ใช้ความเขาใจสูง เหมาะกับคนที่มีความรู้ความเข้าใจอยู่แล้ว
         2.ภาษาที่ทำงานบน OS เฉพาะ มันใม่ใช้ภาษาเฉพาะ OS ใด OS หนึ่ง แต่อยู่ที่หากจะต้องการให้ทำงานบน OS หนึ่งจะต้องทำการ Deploy ใหม่ให้เหมาะกับ OS นั้น เพราะสภาพแวดล้อมของแต่ละ OS ต่างกันทำให้การทำงานบางอย่างอาจแตกต่างกับไปด้วย
         3.ภาษาที่ทำงานบนระบบเสมือนของตัวเอง Visual Machine สิ่งที่นักพัฒนาสบายใจได้เลยกับการพัฒนาบนภาษาประเภทนี้คือ ถ้าเครื่องที่จะไปใช้ต่อมี VM (Visual Machine) อยู่ก็จะสามารถทำงานกับภาษาที่คุณพัฒนาได้ โดยภาษาที่เห็นได้ชัดคือ JAVA, Adobe AIR(Action Script) อาจเรียกว่า flash ที่ไม่ต้องการ Browser ก็ได้ และ Microsoft.NET ถึงแม้ว่าจะทำงานบน Windows แต่การทำงานของ .NET นั้นทำงานบนระบบ VM เช่นกันซึ่งจะทำให้ผู้ที่พัฒนาโปรแกรมบน Microsoft.NET นั้นสามารถทำงานบน OS Windows ได้หลากหลายโดยไม่ต้องสนใจว่า  version ของ Windows เป็น version อะไร เพียงสนใจว่า .NET runtime ที่ใช้อยู่เป็น version อะไรเท่านั้น

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

         ภาษาที่ทำงานบนเว็บไซต์ คำตอบแรก PHP แหมง่ายสุดๆไฟล์เดียวทำงานได้สบาย ๆ ถูกครับแต่ถ้าจะให้ดีควรมี framework ด้วยจะดีมาก หรือพัฒนาร่วมกับระบบ CMS ต่างๆก็หน้าสนใจ
          JSP คนที่เข้าใจ JAVA พัฒนาสบาย จะเอาแบบธรรมดาหรือเอาแบบครบสูตร Bean Servlet ก็ได้ แต่ Server หายากจริง ๆ อย่างจะให้ดีต้องวางเครื่องเองสบายใจสุด
          PYTHON, RUBY ผมก็อยากเรียนนะภาษาใหม่ๆ สะเทือนน้ำสะเทือนบก ทำงานบน OS ก็ได้ทำเป็นเว็บก็ได้สุดยอกจริง ๆ
         Microsoft.NET อื่มไม่ OpenSource แต่ก็ไม่ได้ปิดกั้นซักเท่าไหร เครื่องก็ Windows ก็หน้าจะทำงานบนเครื่องเราได้นะ เครื่องมือพัฒนาแพง ของฟรีก็มีนะถ้าไม่เอาอะไรมาก ทำงานบนเครื่องได้ ทำเป็นเว็บได้ แล้วเขียนภาษาอะไรดี C มีหรือเปล่า C เลยหรือเก่าไปไหมมันไม่เหมาะกับยุคสมัย C++ ได้หรือเปล่ามันสามารถทำงานได้ทุกอย่างเหมือน C แต่เพิ่มความสามารถทางด้านวัตถุเข้ามาทำให้ช่วยลดระยะเวลาในการพัฒนามากขึ้นและสามารถทำงานกับ Windows โดยตรงหรือจะทำงานกับ .NET runtime ก็ได้ และถ้าหากคุณจะพัฒนาบน .NET runtime ผมขอแนะนำ C# ที่เป็นแกนหลักของ .NET  และสามารถทำงานบนตัว OS เอง และ Website หรือจะเขียน VB ก็ได้สำหรับคนที่มีพื้นฐาน VB มาก่อนซึ่ง Code ที่เขียนบน .NET จะถูกแปลเป็น Machine code เช่นเดียวกันเพื่อให้สามารถทำงานได้เหมือนกัน

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

No comments:

Post a Comment