Tags:
Node Thumbnail

ต่อเนื่องจากข่าวเมื่อเดือนสิงหาคม มาตรฐาน 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

Get latest news from Blognone

Comments

By: BLiNDiNG
AndroidUbuntuWindowsIn Love
on 13 October 2011 - 15:18 #344680
BLiNDiNG's picture

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

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

By: aimakung
AndroidUbuntuWindowsIn Love
on 13 October 2011 - 15:27 #344686 Reply to:344680

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

By: totiz
ContributoriPhoneAndroidRed Hat
on 13 October 2011 - 16:27 #344705 Reply to:344680
totiz's picture

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

By: manaeeee on 13 October 2011 - 15:20 #344684

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

By: amyggie on 13 October 2011 - 16:24 #344703

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

By: incredibles
iPhoneWindows PhoneAndroidUbuntu
on 13 October 2011 - 16:33 #344708

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

By: frozenology
ContributoriPhoneAndroid
on 13 October 2011 - 17:17 #344727

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


@fb.me/frozenology@

By: tekkasit
ContributorAndroidWindowsIn Love
on 13 October 2011 - 17:26 #344730 Reply to:344727
tekkasit's picture

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

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

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

By: sake on 13 October 2011 - 22:48 #344821 Reply to:344730

ไมโครซอฟต์พูดแบบนี้มาตั้งแต่ตอนเปิดตัว .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
on 13 October 2011 - 23:20 #344829 Reply to:344821
mr_tawan's picture

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

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

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


  • 9tawan.net บล็อกส่วนตัวฮับ
By: Thaina
Windows
on 13 October 2011 - 23:29 #344834 Reply to:344829

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

LLVM มั้ยครับ?

By: BLiNDiNG
AndroidUbuntuWindowsIn Love
on 14 October 2011 - 02:57 #344873 Reply to:344821
BLiNDiNG's picture

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

By: frozenology
ContributoriPhoneAndroid
on 14 October 2011 - 11:05 #344910 Reply to:344730

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

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

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


@fb.me/frozenology@

By: khajochi
WriteriPhoneIn Love
on 13 October 2011 - 18:00 #344747
khajochi's picture

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


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

By: SaMzAn
Windows PhoneWindows
on 13 October 2011 - 22:15 #344816
SaMzAn's picture

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

By: heart
ContributoriPhone
on 14 October 2011 - 00:41 #344846
heart's picture

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

By: mednoon on 14 October 2011 - 09:59 #344895

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

By: นักโทษประหาร
Windows PhoneAndroidRed HatSUSE
on 14 June 2012 - 18:09 #432319
นักโทษประหาร's picture

C++ จงเจริญ :)