Tags:

ต่อเนื่องจากข่าวเมื่อเดือนสิงหาคม มาตรฐาน C++0x ผ่านการโหวตเป็นทางการ, เปลี่ยนชื่อเป็นมาตรฐาน C++11

ล่าสุดทาง ISO ออกมาประกาศมาตรฐาน ISO/IEC 14882:2011 หรือชื่ออย่างเป็นทางการ Information technology – Programming languages – C++ เรียบร้อย โดยภาษา C++11 ถือเป็นการปรับปรุงครั้งใหญ่ของ C++ นับตั้งแต่ปี 1998

ของใหม่ใน C++11 ส่วนมากดึงมาจากภาษาและแพลตฟอร์มการพัฒนาที่เกิดขึ้นภายหลัง เช่น lambda function หรือการปรับปรุงหน่วยความจำให้รองรับมัลติคอร์ (ยังไม่มี garbage collector เพราะทำไม่ทัน แต่จะตามมาในรุ่นอนาคตจากนี้)

Herb Sutter ผู้ประสานงานยกร่างมาตรฐาน C++11 (ทำงานอยู่ที่ไมโครซอฟท์) ให้สัมภาษณ์ว่าระยะหลัง โลกของโปรแกรมมิ่งหันมาสนใจการเขียน managed code มากขึ้น แต่งานที่ยังต้องใช้ C++ ก็คงอยู่ไม่หายไปไหน และเมื่อปรับปรุงเป็น C++11 แล้ว ตัวภาษาจะเขียนง่าย โค้ดสะอาดกว่าเดิม ในขณะที่ "ประสิทธิภาพ" อันเป็นจุดขายของ C++ ก็ยังอยู่เหมือนเดิม

ที่มา - ISO, The Register

Comments

By: BLiNDiNG
AndroidUbuntuWindowsIn Love
BLiNDiNG's blog
on 13/10/11 14:18 #344680 toggle
BLiNDiNG's picture

แปลกใจนิดหน่อย ว่า ไมโครซอฟท์ก็ช่วยพัฒนา C++ ด้วย นึกว่าไปทำ C# ของตัวเองเป็นหลักซะอีก

รู้สึกว่า C,C++ มีอายุยืนยาวมาก ถ้าเทียบความนิยมที่ยังมีอยู่

By: aimakung
AndroidUbuntuWindows
aimakung's blog
on 13/10/11 14:27 #344686 Reply to:344680 toggle
aimakung's picture

เขายังต้องกินต้องใช้อยู่ครับ พัฒนาไปการใช้งานเขาก็ง่ายขึ้นด้วย :)

By: totiz
ContributoriPhoneAndroid
totiz's blog
on 13/10/11 15:27 #344705 Reply to:344680 toggle
totiz's picture

ถ้าผมเข้าใจไม่ผิด ตัวฐาน Windows พัฒนาจาก C หรือ C++ อยู่ครับ

By: manaeeee
manaeeee's blog
on 13/10/11 14:20 #344684 toggle
manaeeee's picture

ล่าสุดทาง ISO ออกมาประกาศมารฐาน <<< มารฐาน


คนขี้ใจลอย คนคอยขี้แตก

By: amyggie
amyggie's blog
on 13/10/11 15:24 #344703 toggle
amyggie's picture

I think he's Herb Sutter instead of Bob Sutter na krub.

By: incredibles
Android
incredibles's blog
on 13/10/11 15:33 #344708 toggle
incredibles's picture

C กับ C++ จะทำงานกับ Hardware ได้เร็วกว่า ยังไงก็ไม่ตายหรอกครับ C# เอง Microsoft ก็ดันสุดๆ ผมว่า tools ของ Ms ในการเขียนโปรแกรมค่อนข้างดีมากๆ หลายตัวน่าใช้มากๆ ติดอยู่แค่ราคาค่อนข้างสูงมาก ไปโหลดตัว express มาใช้ก็ไม่ค่อยซะใจเท่าไหร่ ตอนนี้เลยยังพึ่ง Java ไปก่อน


Gingerbread

By: frozenology
ContributoriPhoneAndroid
frozenology's blog
on 13/10/11 16:17 #344727 toggle
frozenology's picture

C++ ถ้าทำ Tool ให้ดีแบบ Borland C++ Builder ละน่าใช้มากเลย มากกว่า C# อีก เพราะมันเข้าถึง OS โดยตรงมากกว่า แล้วก็ library ต่างๆส่วนใหญ่ก็เป็น C++ ด้วย


@fb.me/frozenology @Arang for Gamer

By: tekkasit
ContributorAndroidWindowsIn Love
tekkasit's blog
on 13/10/11 16:26 #344730 Reply to:344727 toggle
tekkasit's picture

แต่ managed code มันให้ความสะดวกในการพัฒนาแอพฯกว่านะครับ เหมือนแข่งดาบจริง ใส่เกราะ ใส่หมวกเครื่องป้องกันพร้อม บล็อคดาบ(เจอบั๊ก)ไม่ทัน ก็ยังเห็นว่าดาบฟันมาจากทางไหน โดนตรงไหน

ตรงข้าม พวกโปรฯ (C,C++) ชอบแข่งฟันดาบแบบไม่ใส่เครื่องป้องกัน บอกว่าใบหน้าไม่โดนลม ไม่ชอบ!!! พอแข่งจริง โดนฟันตูมที รู้ตัวก็ตายไปแล้ว ยังมางงอีกว่าตายได้ไง โดนฟันตรงไหน?!? แล้วอย่างงี้เมื่อไรจะเก่งล่ะ (core dump ตลอด)

คือถ้าคุณต้องพัฒนาพวก library, native hardware อันนั้นก็คงต้องเล่นของจริงอย่างเดียว แต่เดี๋ยวนี้เครื่องมันเร็วพอที่จะรองรับการรัน managed code แล้วนี่ครับ

By: sake
sake's blog
on 13/10/11 21:48 #344821 Reply to:344730 toggle
sake's picture

ไมโครซอฟต์พูดแบบนี้มาตั้งแต่ตอนเปิดตัว .net เมื่อ 10 ปีที่แล้ว แล้วครับ

แต่ถือได้ว่า microsoft คาดการณ์ผิดแบบร้ายแรง เพราะไม่กีปีหลังมานี่ โลก computer ประสบกับปัญหาความร้อนของ cpu ที่ทำให้ไม่สามารถเพิ่ม clock speed ทวีคูณขึ้นไปได้เหมือนแต่ก่อน และระยะหลัง Apple พิสูจน์ให้เห็นแล้วว่า การใช้ native code อย่างเหมาะสมสามารถทำให้ได้ระบบที่น่าใช้ และกินทรัพยากร (cpu, memory, battery) น้อยกว่าระบบแบบ managed code มากๆ รวมไปถึงแนวโน้มกาารมี device ที่เล็กลงเรื่อยๆ เช่น tablet และ smart-phone ยิ่งทำให้การใช้ native code มีความจำเป็นสูงขึ้นมากๆ

Android เปิดตัวมาโดยมี Dalvik VM แต่สุดท้ายก็ต้องเพิ่มระบบ native RenderScript เพื่อให้มีประสิทธิภาพที่สามารถเทียบเคียงกับ iOS ได้

ทิศทางของ Windows 8 ที่ขุดเอา COM/OLE มาปรับปรุงใหม่ และการ reimplement WPF ใหม่ด้วย native code แสดงให้เห็นได้ชัดเจนว่าไมโครซอฟต์เองก็ให้ความสำคัญ กับ managed code น้อยลงไปมาก

native code มี core dump .. manage code ก็มี NullReferenceException ครับ :)

By: mr_tawan
ContributoriPhoneAndroidWindows
mr_tawan's blog
on 13/10/11 22:20 #344829 Reply to:344821 toggle
mr_tawan's picture

มันสำคัญด้วยกันทั้งคู่ล่ะครับ ทุกวันนี้เรามี App ที่ต้องใช้ความเร็ว และ App ที่ต้องเปลี่ยนแปลงได้เร็วทันความต้องการของโลก

(แต่อย่างหลังเริ่มจะโดน Web App กลืนเข้าไปเรื่อยๆ แล้วนะ 55)

ถ้าสามารถสร้างภาษาที่เป็น Native ที่เร็วแต่สามารถเขียนได้ง่ายและใช้เวลาพัฒนาโปรแกรมน้อยได้ด้วยนี่มันจะเป็น Ideal มาก ซึ่งผมว่าเรายังไม่ถึงจุดนั้นนะ


By: Thaina
Windows
Thaina's blog
on 13/10/11 22:29 #344834 Reply to:344829 toggle
Thaina's picture

ผมสนใจ Managed Code ที่เร็วเท่า Native มากกว่าครับ

LLVM มั้ยครับ?


My Blog

By: BLiNDiNG
AndroidUbuntuWindowsIn Love
BLiNDiNG's blog
on 14/10/11 1:57 #344873 Reply to:344821 toggle
BLiNDiNG's picture

+1 "Apple พิสูจน์ให้เห็นแล้วว่า การใช้ native code อย่างเหมาะสมสามารถทำให้ได้ระบบที่น่าใช้ และกินทรัพยากรน้อยกว่า"

By: frozenology
ContributoriPhoneAndroid
frozenology's blog
on 14/10/11 10:05 #344910 Reply to:344730 toggle
frozenology's picture

manage code ที่สะดวกก็เพราะเครื่องมือแบบ visual c# ไม่ใช่หรือ ลองไปครีโปรเจ็ค c++ ดูแล้วเหมือนกับว่าเครื่องมือไม่ค่อยจะพัฒนาสักเท่าไร กลายเป็นว่าคนเขียนต้องมาเช็คและตรวจสอบโค้ดเอง สำหรับ manage กับงานหนักๆแบบเกม ก็ยังไม่มีเกมหนักๆเกมไหนใช้ จะมีแต่อินดี้ที่ใช้เพราะง่ายและรวดเร็ว พวก engine ใหญ่ๆ ใช้ native หมด

เครื่องสมัยนี้เร็วก็จริง แต่นักพัฒนาก็ไม่ควรตะมักง่ายสักแต่ใส่โค้ดพัฒนาเหมือนกัน เพราะถ้าใช้จริงๆละก็คงได้ต้องถอยเครื่องระดับ high end

ส่วนเรื่องความปลอดภัย มันก็ขึ้นกับคนเขียนอีกแหละว่า เขียนให้มีจุรั่วเยอะแค่ไหน managed code ก็ยังเขียนให้รั่วได้เลย


@fb.me/frozenology @Arang for Gamer

By: khajochi
WriteriPhoneIn Love
khajochi's blog
on 13/10/11 17:00 #344747 toggle
khajochi's picture

"One of the biggest changes in the spec helps make C++ a little more Java-ier" อู้ววววว


แฟนพันธุ์แท้สตีฟจ็อบส์

By: SaMzAn
Windows Phone
SaMzAn's blog
on 13/10/11 21:15 #344816 toggle
SaMzAn's picture

ที่บอกว่าเวอร์ชั่นต่อไปจะมี garbage collector หมายความว่า C++ เวอร์ชั่นต่อไปจะ จะมีความสามารถของ Manage code หรอครับ

By: heart
ContributoriPhone
heart's blog
on 13/10/11 23:41 #344846 toggle
heart's picture

จะได้ใช้เมื่อไหร่น้อ

By: mednoon
mednoon's blog
on 14/10/11 8:59 #344895 toggle
mednoon's picture

C++ พ่อ C ทุกสถาบัน 555555