Tags:
Node Thumbnail

กูเกิลเผยรายละเอียดผ่าน Google Security Blog ถึงการเปลี่ยนโค้ดเฟิร์มแวร์ Android จากของเดิมที่เป็น C/C++ มาเป็น Rust เพื่ออาศัยจุดเด่นเรื่องความปลอดภัยหน่วยความจำ (memory-safe) ที่ระดับภาษา

กูเกิลเริ่มใช้ Rust ใน Android มาตั้งแต่ปี 2021 และได้ผลเป็นอย่างดี กรณีนี้ กูเกิลบอกว่าต้องการโชว์ให้เห็นว่าการเปลี่ยนโค้ด C/C++ มาเป็น Rust โดยตรงชนิดใช้แทนกันได้เลย (drop-in replacement) เป็นเรื่องที่สามารถทำได้จริงที่ระดับเฟิร์มแวร์

Tags:
Node Thumbnail

แอปเปิลเปิดตัวภาษา Swift ครั้งแรกในปี 2014 เพื่อเป็นภาษาหลักสำหรับพัฒนาแอพบน iOS และ macOS แทน Objective-C ของเดิม

ปีนี้ถือเป็นการครบรอบ 10 ปีของภาษา Swift ซึ่งในงาน WWDC 2024 สัปดาห์ที่แล้วก็มีการฉลองกันเล็กๆ น้อยๆ ในเรื่องนี้

Tags:
Node Thumbnail

รายงานอันดับความนิยมของภาษาเขียนโปรแกรมโดย TIOBE ประจำเดือนมิถุนายน 2024 มีการเปลี่ยนแปลงที่สำคัญ โดย C++ ได้รับความนิยมสูงกว่า C เป็นครั้งแรก นับตั้งแต่ TIOBE เริ่มมีการจัดอันดับ โดย C++ ขยับมาเป็นอันดับ 2 ที่คะแนน 10.03% ส่วน C ตกไปอยู่อันดับ 3 ที่ 9.23% และอันดับ 1 ยังเป็น Python ที่ 15.39%

TIOBE บอกว่าที่น่าสนใจคือตั้งแต่จัดอันดับมา C ไม่เคยตกมาอยู่ในอันดับที่ 3 เลย เช่นเดียวกับ C++ ซึ่งไม่เคยขึ้นมาสูงถึงอันดับ 2

อันดับอื่นที่น่าสนใจของเดือนมิถุนายนได้แก่ Go ขึ้นมาเป็นอันดับ 7 เป็นครั้งแรก ส่วน Rust ก็ทำสถิติสูงสุดขึ้นมาเป็นอันดับที่ 17

ที่มา: TIOBE

Tags:
Node Thumbnail

กูเกิลประกาศบริจาคเงินมูลค่า 1 ล้านดอลลาร์ ให้มูลนิธิ Rust Foundation เพื่อนำไปพัฒนาภาษา Rust ให้ทำงานร่วมกับโค้ดภาษา C++ ได้ดียิ่งขึ้น

กูเกิลนำ Rust มาใช้งานใน Android และผลิตภัณฑ์อื่นๆ มาระยะหนึ่งแล้ว รวมถึงเป็นสปอนเซอร์ร่วมก่อตั้ง Rust Foundation ในปี 2021 แต่ก็ชี้ว่า Rust ยังไม่สามารถทำงานร่วมกับโค้ดเก่าที่เขียนด้วย C++ ได้ทุกกรณี จึงเข้ามาสนับสนุนให้ Rust ทำงานร่วมกับ C++ ผ่านโครงการต่างๆ ของ Rust Foundation ซึ่งทางมูลนิธิก็ตั้งทีม Interop Initiative ขึ้นมารับผิดชอบภารกิจนี้

Tags:
Node Thumbnail

รายงานดัชนีความนิยมภาษาโปรแกรม TIOBE Index ประจำเดือนกรกฎาคม 2023 มีประเด็นที่น่าสนใจ โดยหลังจาก C++ แซง Java มีความนิยมขึ้นมาเป็นอันดับ 3 แทน ตั้งแต่ปลายปีที่แล้ว แนวโน้มส่วนแบ่งของ C++ นั้นเข้าใกล้อันดับ 2 ภาษา C มากขึ้น ระยะห่างเหลือเพียง 0.76%

ส่วนอันดับอื่นที่ TIOBE พูดถึง JavaScript ขึ้นมาเป็นอันดับ 6 สูงสุดเท่าที่เคยทำได้ เช่นเดียวกับ Matlab, Scratch และ Rust ขึ้นมาอันดับสูงสุดที่ 10, 12 และ 17 ตามลำดับ ขณะที่ COBOL กลับขึ้นมาในอันดับ 20

อันดับ 1-2-3 ได้แก่ Python (13.42%), C (11.56%) และ C++ (10.80%)

ที่มา: TIOBE

Tags:
Node Thumbnail

รายงานดัชนีความนิยมภาษาโปรแกรม TIOBE Index ประจำเดือนธันวาคม 2022 เกิดความเปลี่ยนแปลงที่น่าสนใจ หลัง Java ความนิยมตกลงไปอยู่อันดับสี่ และ C++ แซงขึ้นมาเป็นอันดับสาม ถือเป็นครั้งแรกในประวัติศาสตร์ TIOBE ที่เริ่มตั้งแต่ปี 2001 ที่ C++ ได้รับความนิยมสูงกว่า Java และถือเป็นครั้งแรกที่ Java หลุด Top 3

แชมป์ยังเป็นของ Python ที่แซงหน้า C ขึ้นมาเป็นอันดับหนึ่งเมื่อปีที่แล้ว ส่วนการเปลี่ยนแปลงอื่นๆ ที่น่าสนใจในรอบเดือนนี้คือ SQL แซง Assembly ขึ้นมาอยู่อันดับ 8, ภาษา Go ไต่จากอันดับ 19 ขึ้นมาอยู่อันดับ 12, ภาษา Swift ร่วงจากอันดับ 10 ลงมาอยู่อันดับ 15

Tags:
Node Thumbnail

ทีมพัฒนาจากกูเกิลเสนอโครงการภาษา Carbon ภาษาโปรแกรมมิ่งใหม่ที่ตั้งเป้าหมายว่าจะใช้ทดแทนภาษา C++ มุ่งเป้าองค์กรที่มีโครงการภาษา C++ ขนาดใหญ่ และโยกย้ายไปภาษาอื่นได้ยาก โดย Carbon มีเป้าหมายที่จะทำงานร่วมกับ C++ ได้เป็นเนื้อเดียวกัน

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

Tags:
Node Thumbnail

ไมโครซอฟท์โชว์ฟีเจอร์ Hot Reload ตัวใหม่ของ Visual Studio 2022 Preview 2 ที่รองรับทั้งการเขียน .NET และ C++ แบบเนทีฟ

Hot Reload เป็นฟีเจอร์ของ IDE หลายตัวที่ช่วยให้แก้โค้ดแล้วเห็นการเปลี่ยนแปลงทันที ไม่ต้องรอรีสตาร์ตโปรแกรมที่เขียนอีกครั้ง ทำให้จังหวะการทำงานของโปรแกรมเมอร์เร็วขึ้นมาก อย่างไรก็ตาม การทำ Hot Reload ขึ้นกับภาษาและแพลตฟอร์มที่ใช้งานด้วย

ก่อนหน้านี้ Visual Studio รองรับ Hot Reload เฉพาะการเขียน .NET และ XAML สำหรับส่วน UI เท่านั้น รอบนี้ไมโครซอฟท์กลับไปทำการบ้านมาใหม่ ให้ Hot Reload เวอร์ชันใหม่รองรับการเขียนโปรแกรมหลากหลายมากขึ้น ได้แก่

Tags:
Node Thumbnail

ไมโครซอฟท์มีส่วนขยาย C/C++ ให้กับ Visual Studio Code มานานแล้ว (และเป็นส่วนขยายยอดนิยมอันดับ 2 ของ VS Code รองจาก Python) ล่าสุดไมโครซอฟท์ออกเวอร์ชัน 1.0 ของส่วนขยายตัวนี้สักที

ของใหม่ที่สำคัญในเวอร์ชันนี้คือ รองรับการใช้งานบนลินุกซ์สถาปัตยกรรม ARM/ARM64 ทำให้สามารถใช้ VS Code เขียนแอพ C++ บนอุปกรณ์อย่าง Raspberry Pi ได้แล้ว, เพิ่มตัวปรับแต่งคอนฟิก C++ IntelliSense และตั้งค่าฟอร์แมตของโค้ด C++ แบบเดียวกับ Visual Studio ตัวเต็มได้

Tags:
Node Thumbnail

กลุ่มมาตรฐาน ISO ลงมติเอกฉันรับรอง C++20 เข้าเป็นมาตรฐาน โดยฟีเจอร์ทั้งหมดได้รับเห็นชอบแล้ว และจะตีพิมพ์เผยแพร่ตัวมาตรฐานเป็นเล่มสมบูรณ์ภายในปลายปีนี้ โดยฟีเจอร์สำคัญ 4 ประการของ C++20 ได้แก่

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 เพื่อช่วยนักพัฒนาอัพเกรดโค้ดของพวกเขาเพื่อรองรับมาตรฐานใหม่อีกด้วย

Pages