curl ไลบรารีเชื่อมต่อเว็บยอดนิยม เริ่มโครงการตั้งแต่ปี 1996 พัฒนาด้วยภาษา C ตามมาตรฐาน ANSI C หรือ C89 มาโดยตลอด ไม่ยอมปรับไปใช้มาตรฐานรุ่นใหม่ๆ แม้จะมีการปรับปรุงมาตรฐานมาแล้วหลายครั้ง ล่าสุดทางโครงการเตรียมยอมรับฟีเจอร์ของมาตรฐาน C99 หนึ่งจุด นั่นคือการสร้างตัวแปรแบบ 64 บิตที่ C89 ไม่รองรับโดยตรง
Daniel Stenberg ผู้ดูแลโครงการระบุว่าเป้าหมายของ curl คือการรองรับทุกแพลตฟอร์มไม่ว่าจะคอมไพล์ด้วยคอมไพลเลอร์อะไรบนระบบปฎิบัติการไหน ดังนั้นหากมีคอมไพลเลอร์ตัวไหนไม่รองรับฟีเจอร์ใหม่ๆ ของภาษาทางโครงการก็อยู่กับมาตรฐานเก่าไปก่อนดีกว่า และปัญหาของ curl คือ Visual C++ (MSVC) ของไมโครซอฟท์นั้นรองรับ C99 ช้ามาก เพิ่งรองรับจริงๆ ในปี 2015 และปรับปรุงการทำงานให้เข้ามาตรฐานในปี 2019 นักพัฒนาที่ใช้ MSVC จำนวนมากในทุกวันนี้ยังใช้เวอร์ชั่นเก่าอยู่จึงยังรองรับ C99 เต็มรูปแบบไม่ได้
C99 ปรับปรุงภาษา C เพิ่มฟีเจอร์ที่เราเห็นทุกวันจนชินตา เช่น การคอมเมนต์บรรทัดเดียวด้วย //, ตัวแปรแบบ boolean, ฟังก์ชั่น inline, ตัวแปรขยายยาว ในโครงการ curl 8 ที่จะออกปี 2023 จะยอมให้ใชงานเฉพาะตัวแปร 64 บิตเพราะเบราว์เซอร์ทุกตัวรองรับหมดแล้ว
ที่มา - haxx.se
Comments
ทำไมถึงเป็นเบราว์เซอร์นะครับ?
เพิ่งรองรับจริงๆ
จะยอมให้ใช้งาน
แต่เอาจริง ๆ คนใช้ C ก็ไม่ค่อยซีเรียสเรื่องมาตรฐานใหม่ ๆ เท่าไหร่ (มั้ง) แล้วมาตรฐาน C หลัง ๆ หลัก ๆ เหมือนจะเป็นเรื่องการดูดฟีเจอร์กลับมาจาก C++ (อย่าง // นี่ก็ใช่)
edit: C11 เปลี่ยนเยอะแฮะ แต่มีแต่ของที่ไม่ได้ใช้ทั้งนั้นเลย