Tags:
Node Thumbnail

บริการ AWS Lambda เปิดตัวเมื่อปี 2014 และเป็นผู้บุกเบิกการประมวลผลแบบ serverless ที่ไม่ต้องเปิดเครื่องค้างไว้รอรับคำสั่งตลอดเวลา ก่อนหน้านี้ Lambda รองรับโค้ดภาษา Java, Node.js, C#, Python และเมื่อต้นปีนี้คือ Go

ล่าสุด AWS Lambda ประกาศรองรับการนำเข้ารันไทม์ภาษาใดก็ได้แล้ว (custom runtime) พร้อมทั้งประกาศรองรับภาษาใหม่คือ Ruby, C++ และ Rust ผ่านระบบรันไทม์ใหม่นี้

Tags:
Node Thumbnail

มาตรฐาน C++ ในช่วงหลังๆ มีพัฒนาการอย่างต่อเนื่องหลายอย่างนับแต่ C++11 เป็นต้นมา แต่หลายครั้งคอมไพลเลอร์ก็รองรับไม่ครบหรือบางฟีเจอร์ก็ใช้งานได้ยาก ตอนนี้กูเกิลเปิดตัวไลบรารี Abseil สำหรับการทำ abstract เพื่อรองรับฟีเจอร์ใหม่ๆ

Tags:
Node Thumbnail

มาตรฐานภาษา C++ ในช่วงหลังอยู่ภายใต้การดูแลขององค์กรกลาง ISO และเราเห็นการพัฒนาสเปกของภาษา C++ โดยเพิ่มฟีเจอร์ใหม่ๆ เข้ามาทุกสามปี นับตั้งแต่ C++11, C++14 และล่าสุด C++17 ที่ตอนนี้ยังมีสถานะเป็นฉบับร่าง และมีกำหนดจะออกในปีนี้ (หรืออาจเป็น C++18 ถ้ากระบวนการล่าช้า)

Tags:
Node Thumbnail

CERT หน่วยงานแจ้งเตือนช่องโหว่ความปลอดภัยซอฟต์แวร์ภายใต้สถาบันวิศวกรรมซอฟต์แวร์ (Software Engineering Institute - SEI) ประกาศปล่อยมาตรฐานการเขียนโค้ดให้ปลอดภัยสำหรับภาษา C++ ที่รวมกฎ 83 รายการสำหรับการเขียนโค้ดให้ปลอดภัย หลังจากก่อนหน้านี้ทาง CERT เคยปล่อยคู่มือสำหรับ ภาษา C, ภาษาจาวา, ภาษา Perl, และการเขียนแอปบนแอนดรอยด์

กฎบางข้อจะตรงกันหลายภาษาเช่นเช็คอินพุตว่าปิดท้ายสตริงด้วย null เสมอ แต่บางข้อก็จะค่อนข้างเฉพาะเช่นการใช้ lambda ในภาษา C++14

ทุกกฎมีตัวอย่างโค้ดที่มักเขียนผิดให้ แม้จะค่อนข้างยาวแต่ก็อ่านไม่ยากนัก ผู้สนใจน่าลองไล่จากต้นจนจบกัน

Tags:
Node Thumbnail

ไมโครซอฟท์เปิดซอร์สของแพลตฟอร์ม .NET มาตั้งแต่สองปีที่แล้ว แต่การพอร์ตไปใช้งานบนแพลตฟอร์มใหม่ๆ ก็ยังทำได้ยาก ตอนนี้ทีมงาน .NET ก็ออกมาระบุว่ากำลังทดลองแนวทางใหม่คือการแปลงโค้ด .NET ให้เป็น C++

แนวทางนี้ทำให้กระบวนการคอมไพล์ได้ไฟล์ executatable ของระบบปฎิบัติการโดยตรง ไม่ใช่ไฟล์ที่ต้องรันบนรันไทม์ของ .NET อีกที แม้ว่าจะต้องใช้รันไทม์ในรูปแบบไลบรารีอยู่ก็ตาม

การทดลองนี้ยังอยู่ในขั้นต้น ปัญหาหลายอย่างยังไม่มีทางออกอย่างตกผลึก การแปลงโค้ดยังไม่สมบูรณ์ อย่างไรก็ดีหากการแปลงโค้ดทำได้สำเร็จ โค้ดที่ได้จะสามารถไปรันบนทุกแพลตฟอร์มที่คอมไพล์เลอร์ C++ ไปถึง

Tags:
Node Thumbnail

หลังจากไมโครซอฟท์ซื้อ MinecraftEDU (คนละส่วนกับตัวเกมหลัก) แล้วเตรียมออก Minecraft: Education Edition เพื่อบุกภาคตลาดการศึกษา

ล่าสุด Jack Schofield จาก ZDNet รายงานว่าตัวเกมจะเขียนขึ้นด้วยภาษา C++ ต่างจากตัวเกมหลักที่เขียนขึ้นด้วยภาษา Java ซึ่งทำให้ม็อดเก่าๆ ใช้งานไม่ได้ และอาจกระทบกับสังคมผู้เล่นเกม ที่เป็นหนึ่งในตัวแปรสำคัญของการประสบความสำเร็จของ Minecraft

การเปลี่ยนมาใช้ภาษา C++ จะช่วยแก้ปัญหาอาการกินสเปคหนักที่เกิดขึ้นในเกมเวอร์ชัน Java และจะรองรับการรันบนหลายแพลตฟอร์ม ตัวเกมจะมีฟีเจอร์อย่างการรองรับโหมดผู้เล่นหลายคนแบบ peer-to-peer ในห้องเรียน และผู้สอนสามารถใส่คำสั่งต่างๆ ได้มากกว่าเดิม

Tags:
Node Thumbnail

โครงการนำ Clang มาใช้คอมไพล์โค้ดภาษา C++ ของไมโครซอฟท์ มีความก้าวหน้าอย่างจับต้องได้อีกขั้นเมื่อไมโครซอฟท์ได้นำเสนอวิธีการคอมไพล์โค้ดวินโดวส์แอพด้วย Clang ในงาน CPPCon 2015 ที่ผ่านมา และคาดว่าจะเพิ่มวิธีการคอมไพล์นี้ในชุดอัพเดตสำหรับ Visual C++ ที่จะออกมาในเดือนหน้าด้วย

Tags:
Node Thumbnail

Bjarne Stroustrup บิดาภาษา C++ ร่วมกับ Herb Sutter ออกคู่มือแกนของภาษา C++ เพื่อสนับสนุนให้คนเขียนภาษา C++ ในรูปแบบสมัยใหม่ โดยจะเปิดเป็นโครงการโอเพนซอร์สที่เปิดให้คนอื่นๆ มาดัดแปลงไปเป็นข้อแนะนำในองค์กรได้

นอกจากคำแนะนำในการเขียนโปรแกรมแล้ว โครงการนี้ยังมาพร้อมกับโครงการคู่ขนานอีกสองโครงการ ได้แก่

Tags:
Node Thumbnail

Avi Kivity นักพัฒนาผู้สร้าง KVM เปิดตัวระบบฐานข้อมูล NoSQL ที่ชื่อว่า ScyllaDB ทำงานเข้ากับฐานข้อมูล Cassandra ผ่าน CQL

ความต่างของ ScyllaDB คือมันพัฒนาด้วยภาษา C++ บนเฟรมเวิร์ค Seastar ขณะที่ Cassandra พัฒนาด้วยจาวา

ในงาน Cassandra Summit ทาง Avi นำเสนอผลการทดสอบประสิทธิภาพของ ScyllaDB เทียบกับ Cassandra แสดงให้เห็นว่าประสิทธิภาพการทำงานดีขึ้นกว่า 8 เท่าตัว

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

ที่มา - ScyllaDB

Tags:
Node Thumbnail

Matt Bierner สาธิตการใช้ Template ในภาษา C++ ด้วยการเขียนเกม Tetris ที่ต้องเล่นขณะ "คอมไพล์" เท่านั้นโดยโค้ดที่ได้จะแสดงหน้าจอล่าสุดของเกมออกมา ชื่อว่า Super Template Tetris

ไฟล์เซฟของเกมนี้เป็นไฟล์ header ในภาษา C++ ที่ใช้ template อย่างหนักเพื่อเก็บสถานะล่าสุดของตัวเอง (ดูตัวอย่างไฟล์เริ่มต้นเกมใหม่)

ผู้เล่นจะควบคุมการเคลื่อนไหวของบล็อคด้วยการประกาศ define ให้กับคอมไพล์เลอร์ขณะที่กำลังคอมไพล์โปรแกรม เช่น -D RIGHT เพื่อไปทางขวา และ -D LEFT เพื่อไปทางซ้าย

โค้ดทั้งหมดอยู่บน GitHub ดาวน์โหลดมาเล่นกันได้

Tags:
Topics: 
Node Thumbnail

เมื่อไม่นานนี้ นายลี เซียนลุง นายกรัฐมนตรีสิงคโปร์ ได้กล่าวปาฐกถาในงาน Founders Forum โดยส่วนหนึ่งของปาฐกถามีเรื่องราวที่ตนเองเขียนโปรแกรมภาษา C++ เพื่อแก้ Sudoku ด้วยตัวเอง

หลังจากนั้นไม่นาน นายลีก็ได้โพสต์ภาพ source code ของโปรแกรมดังกล่าวลงใน Facebook page ของตนเอง พร้อมเสียงตอบรับล้นหลามจากผู้ติดตาม

( ชมภาพ source code ท้ายข่าว )

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

Tags:
Node Thumbnail

นายลี เซียนลุง นายกรัฐมนตรีสิงคโปร์ บุตรชายคนโตของนายลี กวนยู กล่าวปาฐกถาในงาน Founders Forum แสดงวิสัยทัศน์ถึงนโยบาย Smart Nation ของสิงคโปร์ แม้เนื้อหาส่วนมากจะพูดถึงภาพรวมของนโยบายไอทีประเทศ แต่ช่วงหนึ่งเขาก็พูดถึงเรื่องส่วนตัว ว่าเขาเคยเพลิดเพลินกับการเขียนโปรแกรม โดยโปรแกรมสุดท้ายที่เขาเขียน คือโปรแกรมแก้ Sudoku ที่เขียนด้วย C++ เขาระบุว่าเพราะเขาเขียน C++ จึงค่อนข้างล้าสมัยแล้ว และลูกชายทั้งสองคนของเขาเรียนด้านไอทีจบจาก MIT แนะนำให้เขาอ่านหนังสือสอนภาษา Haskell เขาคิดว่าจะอ่านมันหลังจากเกษียณอายุแล้ว

Tags:
Node Thumbnail

มาตรฐาน C++ รุ่นใหม่ผ่านการโหวตไปแล้วเมื่อวันศุกร์ที่ผ่านมา ทำให้มาตรฐาน C++14 สามารถออกได้ตามกำหนด ต่างจาก C++11 ที่เลยกำหนดไปหลายปี (ชื่อเดิมคือ C++0x แต่เลื่อนจนออกมาตรฐานได้ปี 2011)

C++14 เพิ่มส่วนขยายเข้ามาหลายส่วน เช่น การรองรับ Transactional Memory ที่จะทำให้เขียนโปรแกรมมัลติคอร์ได้ง่ายขึ้น, นิยามพฤติกรรมในหลายส่วน, ปรับปรุงประสิทธิภาพการทำงาน

มาตรฐาน C++98 ใช้เวลาห้าปีก่อนจะมีคอมไพล์เลอร์ที่รองรับเต็มรูปแบบตัวแรก ส่วน C++11 ใช้เวลาสองปี

ที่มา - ISO CPP

Tags:
Node Thumbnail

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

ฟอร์แมต FlatBuffers จะซ้ำซ้อนกับ Protobuf ของกูเกิลเองพอสมควร แต่ FlatBuffer จะใช้พื้นที่น้อยกว่า ความต่างที่ชัดเจนคือ FlatBuffers จะตัดหมายเลขประจำฟิลด์ต่างๆ ออกทำให้ทำงานระหว่างเวอร์ชั่นของ API ไม่ได้ แต่ความได้เปรียบคือ FlatBuffers จะไม่ใช้หน่วยความจำเพิ่มเติมจากขนาดไบนารีที่อ่านขึ้นมา ต่างจากโปรโตคอลอื่นๆ ที่ต้องแตกไบนารีขึ้นมาเสียก่อน

รองรับแพลตฟอร์ม ลินุกซ์, วินโดวส์, OS X, และแอนดรอยด์

Tags:
Node Thumbnail

นักพัฒนาของ LLVM คู่แข่ง GCC (อ่านรายละเอียดได้ในข่าวเก่า) ได้ประกาศเปิดตัว LLVM 3.3 ที่รองรับภาษา C++11 อย่างเป็นทางการ โดย frontend ของ LLVM ที่ใช้คอมไพล์ภาษา C/C++ ชื่อ Clang จะรองรับ AArch64 (ชื่อในกลุ่ม open-source ของ ARMv8), AMD R600 GPU, S390 และบางส่วนของ IBM System Z โดยนักพัฒนาได้กล่าวว่า LLVM 3.3 นี้เป็น "คอมไพเลอร์ที่รองรับมาตรฐาน C++11 รวมทั้งไลบราลี่สำคัญ ๆ ของ C++11 อย่าง std::regex"

Clang ยังมีเครื่องมือ C++11 migration เพื่อช่วยนักพัฒนาอัพเกรดโค้ดของพวกเขาเพื่อรองรับมาตรฐานใหม่อีกด้วย

Tags:
Node Thumbnail

GCC เริ่มพัฒนาด้วย C++ มาตั้งแต่กลางปี 2010 ระหว่างนี้กระบวนการพัฒนาเกิดขึ้นหลายอย่าง โดยเฉพาะกำหนดมาตรฐานว่าต้องใช้ฟีเจอร์ใดของ C++ บ้าง

ในแง่ของผู้ใช้งานคงไม่ต่างอะไรนัก แต่ฟีเจอร์อย่างการจัดการหน่วยความจำตาม scope ของโค้ด จะช่วยให้ตัว GCC คืนหน่วยความจำเร็วขึ้น ทำให้การใช้หน่วยความจำลดลง

ฟีเจอร์ของ GCC 4.8 ใหม่ที่สำคัญ เช่น

Tags:
Node Thumbnail

ถึงแม้โนเกียจะหันไปสนใจ Windows Phone เป็นหลักแล้ว แต่เทคโนโลยีอย่าง Qt ก็ยังไม่ตายและยังพัฒนาอย่างต่อเนื่อง

ล่าสุดมีข้อมูลว่า Qt รุ่นหน้า 5.0 จะใช้ประโยชน์จากฟีเจอร์ใหม่ๆ ของภาษา C++11 ที่เพิ่งออกเมื่อปีที่แล้ว เช่น lambda expressions for slots, UTF-16 unicode literals, the constexpr keyword, static_assert, virtual function overriding, final attribute, deleted functions/members

Tags:
Node Thumbnail

เฟชบุ๊กเป็นหนึ่งในบริษัทยุคใหม่ที่เปิดซอร์สโครงการใหญ่ๆ ออกมาอย่างต่อเนื่อง ก่อนหน้านี้ที่เด่นๆ คือ HipHop ที่เป็นคอมไพล์เลอร์สำหรับภาษา PHP, และ Thrift โปรโตคอลสำหรับสื่อสารข้ามภาษา เมื่อสองวันก่อนก็มีการเปิดตัวอีกหนึ่งโครงการ คือ Folly ไลบรารีพื้นฐานสำหรับภาษา C++11

ตัวไลบรารีนั้นค่อนข้างกระจัดกระจาย ยังไม่สมบูรณ์เป็นชุดเหมือน Boost อย่างไรก็ดีมีหลายตัวที่น่าสนใจ เช่น Format.h ที่ยกเอาระบบฟอร์แมตของไพธอนมาใช้บน C++ ตรงๆ หรือ AtomicHashMap.h ที่สร้างโครงสร้างข้อมูลแบบแมบโดยทุกคำสั่งนั้นเป็นปลอดภัยต่อการใช้งานพร้อมกันหลายเธรด

Tags:
Node Thumbnail

NetBeans IDE ยอดนิยมอีกตัวจากค่าย Oracle ออกรุ่น 7.2 Beta แล้ว ของใหม่ในรุ่นนี้ที่สำคัญคือการรองรับภาษา C++ รุ่นใหม่คือ C++11 และ PHP 5.4

ส่วนของตัว editor เองก็ปรับปรุงเพิ่มหลายจุด โดยเฉพาะการทำดัชนีเพื่อค้นหาข้อมูลภายในโค้ด ถูกนำไปรันเบื้องหลังและทำงานแบบขนาน นอกจากนี้ยังมีปุ่มลัด Ctrl+Space เพิ่มเติมคำใน search bar

Tags:
Node Thumbnail

ไมโครซอฟท์ขึ้นเวที GoingNative 2012 ที่เป็นเวทีสำหรับนักพัฒนาซอฟต์แวร์แบบเนทีฟชั่น C/C++ เป็นหลัก เปิดตัวมาตรฐาน C++ AMP ที่เป็นส่วนขยายจากภาษา C++ ปรกติที่เสนอโดยไมโครซอฟท์เพื่อให้สามารถพัฒนาซอฟต์แวร์ที่อาศัยความสามารถในการประมวลผลขนานได้อย่างเต็มที่

สิ่งที่ C++ AMP ทำหลักๆ คือการกำหนด ข้อจำกัด ที่เข้ากันได้กับข้อจำกัดในการประมวลผลด้วย GPU แล้วเปิดให้ฟังก์ชั่นต่างๆ สามารถประกาศข้อจำกัดนี้ได้ เมื่อประกาศแล้ว คอมไพล์เลอร์จะสามารถเลือกได้ว่าจะนำโค้ดส่วนนี้ไปรันในตัวเร่ง (accelerator) ตัวใด โดยอาจจะเป็น GPU, หรือชุดคำสั่งแบบ SIMD บนซีพียูเอง หรือกระทั่งจ่ายงานไปยังคอร์ต่างๆ ของซีพียูก็ได้

Tags:
Node Thumbnail

หลังมาตรฐาน C++0x ผ่านร่างสุดท้าย การโหวตรอบจริงก็ไม่มีปัญหาอะไรเมื่อคณะกรรมการโหวตด้วยมติเอกฉันท์ให้รับมาตรฐานนี้เข้าเป็นมาตรฐาน ISO/IEC 14882:2011 หรือมาตรฐาน C++ ปรับปรุงครั้งที่สาม และได้ชื่อใหม่เป็น C++11 ตามปีที่ออกมาตรฐานสำเร็จ

หลังจากผ่านมาตรฐานแล้ว สิ่งที่เราต้่องรอกันต่อไปคือคอมไพลเลอร์ต่างๆ จะต้องปรับปรุงความสามารถในรองรับกันจนครบถ้วน ซึ่งคอมไพล์เลอร์หลักๆ เช่น gcc หรือ Visual Studio จะรองรับความสามารถบางส่วนไปก่อนหน้านี้แล้ว แต่ก็ยังต้องรออีกสักพักกว่าจะครบถ้วนกันจริงๆ (ดูตารางเทียบการรองรับ)

Tags:
Node Thumbnail

ในเวลาเดียวที่คุณ John Carmack บิดาแห่งเกม Doom ทวีตว่ากำลังพอร์ต "Rage Mobile" มาลง Android ก็มีคนทวีตถามว่าจะพอร์ตลง Windows Phone 7 ด้วยหรือไม่ เขาทวีตตอบกลับไปว่าจะไม่พอร์ตลง Windows Phone 7 เพราะมันซัพพอร์ตแต่ภาษาการโปรแกรมระดับสูงเช่น XNA เท่านั้น ไม่ซัพพอร์ตภาษาการโปรแกรมระดับล่างอย่าง C++

การที่ Windows Phone 7 ไม่ซัพพอร์ตภาษาการโปรแกรมระดับล่าง ที่จำเป็นจะต้องเข้าถึง API ของระบบปฏิบัติการโดยตรงเพื่อประสิทธิภาพสูงสุดในการทำงานของแอพฯ ทำให้ผู้ใช้อาจไม่ได้เห็นแอพฯ หรือเกมที่มีกราฟิกเยี่ยมประสิทธิภาพสูงหลายตัวบนแพลตฟอร์มดังกล่าว

Tags:
Node Thumbnail

เมื่อวันที่ 15 ตุลาคม 1985 เป็นวันแรกของการวางขาย The C++ Programming Language หนังสือที่มีส่วนเป็นอย่างมากที่พาให้ภาษา C++ เป็นภาษาที่ได้รับความนิยมอย่างกว้างขวางมาจนทุกวันนี้ พร้อมกับช่วยเผยแพร่แนวคิดการโปรแกรมแบบออปเจกต์ (Object Oriented Programming - OOP) มาจนทุกวันนี้

นิตยสาร Wired สัมภาษณ์ Bjarne Stroustrup หนึ่งในผู้สร้างภาษา C++ และผู้เขียนหนังสือ The C++ Programming Language มีประเด็นที่น่าสนใจจำนวนมาก

Tags:
Node Thumbnail

ปัญหาหลักที่เราเจอกันในการพัฒนาโปรแกรมบนเครื่องมัลติคอร์คือการเขียนโปรแกรมที่ยากลำบาก แถมเขียนไม่ดีจะช้ากว่าเขียนแบบปรกติเอาบ่อยๆ หลายๆ ค่ายจึงพยายามเสนอวิธีการเขียนโปรแกรมที่สามารถใช้ความสามารถของซีพียูมัลติคอร์ได้ดี และยังง่ายต่อการเขียนโปรแกรมอยู่มาเป็นเวลานาน เช่น OpenMP หรือ Sieve C++ แต่ก็ยังไม่มีมาตรฐานใดได้รับการยอมรับกว้างขวางมากเท่าใดนัก