Programming on Mac OSX

ภาษาที่ใช้การเขียนโปรแกรม บน Mac OSX นั้นแบ่งออกเป็น หลักๆ สามอย่าง คือ

  • Objective C
  • C/C++
  • ภาษาอื่นๆ เช่น java , php

ปกติแล้วเราจะมักจะคุ้นเคยกับ C/C++ หรือว่า Java , php , perl อะไรแบบนี้ แต่คงไม่เคยได้ยิน Objective-C ( ต่อไปนี้ขอเขียนว่า ObjC ) ในส่วนของ การเขียนโปรแกรมด้วย Obj-C เดี๋ยวจะมาเล่าให้ฟังอีกที แต่โดยหลักๆแล้ว การเขียนโปรแกรม Appliction บน Mac ส่วนมากจะนิยม C/C++ กับ Obj-C ภาษาอื่นๆไม่ค่อยเป็นที่นิยมเท่าไหร่ ( คือส่วนตัวผมแล้ว พวก java หรือว่าอื่นๆมันไม่ใช่ภาษาที่จะเอามาเขียนเป็น App ที่ใช้งานจริงเท่าไหร่ ) เนื่องจากว่า ภาษา C/C++ เองนั้นเป็นที่นิยม และมันเป็นภาษาของแทบจะทุกๆ Platform ที่ต้องมีและ Lib ก็มีให้ใช้เยอะมาก ส่วนภาษา Obj-C เองนั้น ได้พัฒนาโดย NextStep ( บริษัทของ Steve Job ช่วงออกจาก Apple ) เป็นการต่อยอดออกมาอีกทีจากภาษา C

เนื่องจากความนิยมใน 2 ภาษานี้ ( จริงๆผมว่ามันนิยมจริงๆแค่ C/C++ น่ะแต่เนื่องจากว่า ภาษา Obj-C มันเป็นภาาษหลักของ OpenStep แล้ว Apple ก็ไปซื้อ NextStep มาทำให้ Obj-C เป็นที่นิยมมากขึ้น )

ทำให้ Apple มี Frameworkออกมาหลักๆ 2 อันคือ

  • Carbon
  • Cocoa

โดยที่ Carbon นั้นจะเป็นภาษา C/C++ ส่วน Cocoa จะใช้ภาษา Obj-C

ไม่ว่าจะเขียนด้วย C/C++ หรือว่า Obj-C ตัว Framework เองนั้นมีคลาส ให้ใช้มากมายและแทบจะเหมือนกันๆ คือเค้าออกแบบให้มันทำงานได้เหมือนกัน เพียงแต่ว่าชื่อเรียกจะไม่เหมือนกัน แต่เท่าที่ลองๆมา ก็พบว่ามันก็ไม่ได้ต่างกันมาก คือถ้าถามว่าแล้วจะเลือกอะไรดี ผมบอกไม่ได้เหมือนกัน แต่ว่าถ้าเคยเขียน C/C++ มาก่อนอยู่แล้ว ก็น่าจะเลือก Carbon อาจจะเหมาะกว่า แต่ว่าถ้าไม่เคยเขียน C/C++ มาก่อน ผมว่าไปเขียน Obj-C อาจจะง่ายกว่า ก็ได้ แต่ถ้าใครเขียน C/C++ แล้วอยากลองของใหม่ก็ได้น่ะ เพราะว่าเท่าที่เขียนๆมันก็ไม่ได้ต่างจาก C/C++ เท่าไหร่ จะแตกต่างในบางเรื่องก็เท่านั้น แต่ผมว่า Obj-C เรียนรู้ไม่ยากเลย

First word

ผมคิดไว้นานแล้วละครับ ว่าอยากจะเขียน Blog สักอันที่เกี่ยวกับ Mac ( และโดยเฉพาะ เกี่ยวกับ Programming ) แต่ก็ไม่รู้ว่าจะไปเขียนที่ไหนดี เคยใช้ Blogspot ก็ดีน่ะ แต่ว่าอันนั้นมันเขียนแต่เรื่องส่วนตัวไปหน่อย เลยกะว่า Blog นี้จะเอาไว้ทำ เฉพาะเนื้อหาสาระ และเรื่องต่างๆของ Mac และจะเน้นไปทาง Development ซะมากกว่า เผื่อว่าหากมีใครได้เอามันไปใช้ต่อยอด

โดยคาดว่าสิ่งที่อยากจะเอามาเขียนใน Blog นี้ก็น่าจะเป็น

  • Xcode
  • Objective-C
  • C++
  • Unix/Linux/Darwin
  • OpenGL
  • Carbon / Cocoa

เขียนโปรแกรมกันเถิดจะเกิดผล Programming and technology