HTMX เฟรมเวิร์คเว็บขนาดเล็กที่ได้รับความนิยมสูงขึ้นมากในช่วงหลังออกเวอร์ชั่น 2.0 หลังจากออกเวอร์ชั่น 1.0 มาตั้งแต่ปี 2020 โดยปรับเปลี่ยนด้วยการย้ายส่วนขยายต่างๆ เช่น Server Side Events, Web Sockets, Preload ออกเป็นโครงการแยกและเปิดให้อัพเดตเวอร์ชั่นได้แยกจากโครงการหลัก
หลังจากแยกส่วนขยายออกไปแล้ว เวอร์ชั่นนี้จึงถอดฟีเจอร์ที่เคยอยู่ในโครงการหลักออกไปต่างหาก ปรับ API ให้เป็นมาตรฐานมากขึ้น แต่โดยรวมแล้วการใช้งานยังคงเดิมอยู่แม้จะไม่สามารถทำงานกับโค้ดเดิมได้แล้วเพราะ API เปลี่ยน ที่สำคัญคือถอดการรองรับ Internet Explorer ออกทั้งหมด
แอปเปิลเปิดตัวภาษา Swift ครั้งแรกในปี 2014 เพื่อเป็นภาษาหลักสำหรับพัฒนาแอพบน iOS และ macOS แทน Objective-C ของเดิม
ปีนี้ถือเป็นการครบรอบ 10 ปีของภาษา Swift ซึ่งในงาน WWDC 2024 สัปดาห์ที่แล้วก็มีการฉลองกันเล็กๆ น้อยๆ ในเรื่องนี้
รายงานอันดับความนิยมของภาษาเขียนโปรแกรมโดย 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
Engprax บริษัทให้คำปรึกษาตรวจสอบซอฟต์แวร์ออกรายงานสำรวจวิศวกรซอฟต์แวร์ 600 คนในสหรัฐฯ และสหราชอาณาจักร ผลสำรวจพบว่าแนวทางของ Agile Manifesto หลายข้อทำให้โครงการซอฟต์แวร์มีโอกาสล้มเหลวสูงขึ้น โดยรวมแล้วโครงการที่ทำตามแนวทาง Agile มีโอกาสล้มเหลวสูงกว่าโครงการที่ไม่ใช้ถึง 268%
รายงานระบุถึงแนวทางหลายประการใน Agile Manifesto เช่น การทำให้ซอฟต์แวร์ใช้งานได้ก่อนทำเอกสารเสร็จ, การร่วมมือกับลูกค้ามากกว่าเน้นเจรจาสัญญา, การตอบสนองต่อความเปลี่ยนแปลงมากกว่าการทำตามแผนการ โดยพบว่าโครงการที่ทำตามแนวทางเหล่านี้มีโอกาสล้มเหลวสูงขึ้น เช่น การมีเอกสาร requirement ชัดเจนช่วยให้โอกาสโครงการสำเร็จเพิ่มขึ้น 50% และหาก requirements ชัดเจนก่อนเริ่มโครงการจะเพิ่มโอกาสสำเร็จถึง 97%
Mistral บริษัทปัญญาประดิษฐ์จากฝรั่งเศสที่มีไมโครซอฟท์ถือหุ้นอยู่ด้วย เปิดตัวโมเดล Generative AI ขนาด 22B สำหรับการเขียนโค้ดตัวแรกของบริษัท มีชื่อว่า Codestral
Codestral ถูกเทรนด้วยโค้ดมากกว่า 80 ภาษา ซึ่งรวมทั้งภาษาเขียนโปรแกรมยอดนิยมอย่าง Python, Java, C, C++, JavaScript, และ Bash ไปจนถึงภาษาอย่าง Swift และ Fortran จึงรองรับการทำงานของนักพัฒนาในหลายรูปแบบสถานการณ์ มีความสามารถทั้ง ช่วยเขียนโค้ด เขียนเทสต์ หรือช่วยเติมส่วนที่ขาดหายในโค้ดได้ จึงช่วยลดเวลาและเพิ่มประสิทธิภาพให้กับนักพัฒนาได้
ไมโครซอฟท์ประกาศรายละเอียดของแผนการถอด VBScript (ชื่อเดิมคือ Visual Basic Script ที่เป็นคนละภาษากับ Visual Basic แบบปกติ แต่มีส่วนที่เหมือนกัน) ออกจาก Windows ตามที่เคยประกาศแนวทางไว้ก่อนหน้านี้
ไมโครซอฟท์ออก .NET 9 Preview 4 มีของใหม่ที่สำคัญคือตัวแปรประเภท Tensor<T> (อาร์เรย์หลายมิติ) สำหรับการประมวลผล AI
Tensor<T> ต่อยอดมาจาก TensorPrimitives ที่เป็น API สำหรับประมวลผล tensor ใน .NET 8 เพื่อให้ประมวลผลคณิตศาสตร์มีประสิทธิภาพมากขึ้น เพราะใช้ชุดคำสั่งแบบขนาน (SIMD) ของตัวซีพียู/จีพียูในการประมวลผล
การมาถึงของ Tensor<T> จะช่วยเพิ่มประสิทธิภาพในการรันไลบรารี AI ยอดนิยมหลายๆ ตัว เช่น ML.NET, TorchSharp, ONNX Runtime เพราะลดการคัดลอกข้อมูลในตัวแปรลงได้
JetBrains เปิดตัวภาษา Kotlin เวอร์ชัน 2.0 มีของใหม่ที่สำคัญคือคอมไพเลอร์ตัวใหม่ K2 ที่เริ่มทดสอบมาตั้งแต่ปี 2022 และเข้าสถานะเสถียร
จุดเด่นของ K2 คือเรื่องประสิทธิภาพในการคอมไพล์ที่เพิ่มขึ้นเกือบเท่าตัว และยังทำงานร่วมกับตัว IDE (IntelliJ IDEA) เพื่อเพิ่มประสิทธิภาพของการไฮไลท์โค้ดได้เร็วขึ้น 1.8 เท่า, เติมโค้ดได้เร็วขึ้น 1.5 เท่า
K2 กลายมาเป็นคอมไพเลอร์สำหรับแปลงโค้ดภาษา Kotlin ไปใช้งานกับแพลตฟอร์มอื่นๆ แบ่งได้ 4 หมวดกว้างๆ คือ
IBM ประกาศขยายบริการปัญญาประดิษฐ์ Watsonx ที่เปิดตัวในปี 2023 จากเดิมมีเฉพาะ Watsonx Code Assistant for Z ตัวช่วยแปลงโค้ดภาษา COBOL บนเมนเฟรม และ Red Hat Ansible Lightspeed มาสู่บริการข้างเคียงอื่นๆ
Financial Times รายงานว่าบริษัทไอทียักษ์ใหญ่หลายราย เริ่มเข้ามาสนับสนุนซอฟต์แวร์เทรน AI ที่ไม่ต้องพึ่งพา CUDA ของ NVIDIA เพียงอย่างเดียวอีกต่อไป
CUDA ถือเป็นอาวุธลับของ NVIDIA ที่ช่วยให้ครองความยิ่งใหญ่ในโลกชิป AI มายาวนาน เพราะซอฟต์แวร์ยอดนิยมส่วนใหญ่จำเป็นต้องรันบน CUDA อีกที ส่งผลให้ NVIDIA ผูกขาดตลาดชิป AI ไปกลายๆ และกลายเป็นต้นทุนก้อนมหึมาของบริษัทเทคโนโลยีที่ต้องการใช้ชิปลักษณะนี้
Meta เปิดตัว React Compiler โครงการทดลองของ React ที่ช่วยปรับแต่งประสิทธิภาพของแอพให้ดีขึ้น ลดจำนวนคอมโพเนนต์จะถูกเรนเดอร์ใหม่ให้เหลือน้อยที่สุด เมื่อเกิดการเปลี่ยนสถานะขึ้นมา
ชื่อของ React Compiler อาจชวนงงๆ อยู่บ้าง เพราะ React เขียนด้วย JavaScript ที่เป็นภาษาแบบ interpreter แต่จริงๆ แล้ว React Compiler ทำหน้าที่เข้ามาอ่านโค้ดของเราเพื่อช่วยปรับแต่งประสิทธิภาพของโค้ดให้อัตโนมัติ ช่วยทำงานด้านแคช (memoization) ที่ก่อนหน้านี้โปรแกรมเมอร์ต้องทำเอง เช่น useMemo, useCallback, React.memo
IBM ปล่อยโมเดลปัญญาประดิษฐ์ Granite ที่ฝึกจากฐานข้อมูลโค้ด 116 ภาษา โดยโมเดลมี 4 ขนาดได้แก่ 3B, 8B, 20B, และ 34B แยกรุ่นพื้นฐานและรุ่นรับคำสั่ง (instruct) โดยเฉพาะรุ่น 8B นั้นความสามารถในการเขียนโปรแกรมเหนือกว่าโมเดลขนาดเดียวกันค่อนข้างมาก
กระบวนการฝึกโมเดลเวอร์ชั่น 34B นั้นพิเศษกว่าเวอร์ชั่นอื่นๆ เพราะอาศัยการ upscaling โดยนำโมเดล 20B ที่มี 52 ชั้นสองเวอร์ชั่น มาถอดฝั่ง output 8 ชั้น และ input ของอีกโมเดลหนึ่ง 8 ชั้น แล้วนำมาต่อกันเป็น 34B ข้อมูลที่ใช้ฝึกนั้นมีตั้งแต่ GitHub Code Clean, StarCoderData, และโค้ดอื่นๆ รวมถึง
TIOBE รายงานลำดับความนิยมภาษาโปรแกรมรอบเดือนพฤษภาคม 2024 โดยมีความเปลี่ยนแปลงไม่มากนักยกเว้นภาษา Fortran ที่ขึ้นมาอยู่อันดับ 10 นับเป็นครั้งแรกในรอบ 20 ปีที่ภาษานี้กลับมาอยู่ Top 10
ไมโครซอฟท์เปิดตัวภาษา TypeSpec ไม่ได้เป็นภาษาโปรแกรมมิ่งโดยตรง แต่เป็นภาษาระดับสูงสำหรับกำหนดนิยาม API (high-level API definition language) ที่ได้อิทธิพลมาจาก TypeScript และ C#
TypeSpec ถูกสร้างขึ้นเพื่อเป็นภาษากลาง ทำ abstraction ของโมเดล แล้วนำไปแปลงเป็นภาษาหรือสเปกอื่นๆ (ที่ยาวและละเอียดกว่า) อีกที เช่น OpenAPI (YAML), JSON Schema, Protobuf ช่วยอำนวยความสะดวกในการใช้งาน เพราะตัว TypeSpec ออกแบบมาใช้สั้นกระชับ แต่ยังสามารถนิยามโครงสร้างข้อมูลหรือ API ที่ซับซ้อนได้ และเน้นการนำนิยามไปใช้ซ้ำ (reuse) ในโอกาสอื่นๆ ได้
Figma รายงานถึงกระบวนการย้ายโค้ดของตัวเอง จากเดิมที่ใช้ภาษา Skew ที่เริ่มใช้งานมาตั้งแต่เริ่มต้นบริษัท (ปล่อยเวอร์ชั่นแรกๆ ปี 2016 เหมือนกัน) โดยเงื่อนไขสำคัญคือการใช้ภาษา Skew เพื่อคอมไพล์โค้ดกลางไปใช้งานได้ทั้งเว็บและโทรศัพท์มือถือ โดยตอนนั้นภาษา TypeScript ยังซัพพอร์ตกันไม่มากนัก ทำให้ใช้ Skew เรื่อยมา แต่สุดท้ายก็พบว่าสร้างความลำบากเพราะใช้งานโค้ดหรือเครื่องมือภายนอกไม่ได้ ตลอดจนเสียเวลาฝึกพนักงานใหม่
ทาง Figma ระบุสาเหตุที่เปลี่ยนใจมาใช้ TypeScript ช้าเพราะ Skew เองมีกระบวนการออปติไมซ์ประสิทธิภาพดี ก่อนหน้านี้เคยทดสอบใช้ TypeScript แทน Skew แล้วพบว่าประสิทธิภาพใน Safari กลับลดลงเท่าตัว ซึ่งยอมรับไม่ได้เพราะ iOS ใช้ได้เฉพาะ Safari เท่านั้น
GitHub เปิดตัว GitHub Copilot Workspace ซึ่งเป็น developer environment แนวคิดใหม่ที่ทำงานบน Copilot ซึ่งเข้ามาช่วยนักพัฒนาในการระดมสมอง, วางแผน, เขียนโค้ด, ทดสอบ และรันโค้ด ทั้งหมดทำบนภาษาธรรมชาติ (Natural Language) โดยมี AI Copilot ช่วยจัดการงานทั้งหมด ขณะที่นักพัฒนาสามารถเข้ามาควบคุมได้ในทุกขั้นตอน
การเริ่มต้นโครงการบน Copilot Workspace ทำได้โดยเริ่มต้นจากแนวคิดตั้งต้น จากนั้น Copilot จะช่วยวางแผนออกแบบขั้นตอนให้ทั้งหมดเพื่อแก้ไขปัญหาแต่ละขั้นตอน ซึ่งแต่ละขั้นตอนนั้นสามารถเข้าไปแก้ไขผลลัพธ์ปรับแต่งให้ตรงกับที่ต้องการมากขึ้น
สงครามศาสนาที่คงอยู่มายาวนานของวงการโปรแกรมเมอร์คือ การย่อหน้าด้วย space vs tab ซึ่งก็คงยังไม่มีข้อยุติในเร็ววัน
เรื่องนี้เป็นประเด็นขึ้นมาอีกครั้ง เมื่อเว็บไซต์ The Register ไปค้นพบว่า Linus Torvalds ไปแก้โค้ดในเคอร์เนลลินุกซ์ ซึ่งในแพตช์นี้มีการแก้ไขเพียงอย่างเดียวคือเปลี่ยนอักขระ space มาเป็น tab
อย่างไรก็ตาม Linus ไม่ได้เลือกข้างในสงครามศาสนานี้แต่อย่างใด เพราะเหตุผลของเขาคือไฟล์ที่เขาแก้ไขคือ Kconfig ซึ่งเป็นไฟล์คอนฟิกค่าต่างๆ ของเคอร์เนล (ลักษณะเดียวกับ YAML ในปัจจุบัน) และมี parser รุ่นเก่าๆ บางตัวที่ยังเขียนมาได้ไม่ดีพอ ทำให้อ่านค่า space/tab ผิดพลาด
ไมโครซอฟท์ออก Visual Studio 17.10 Preview 3 มีของใหม่คือปรับการทำงานของ GitHub Copilot โดยผนวกรวมแพ็กเกจสองตัวคือ Copilot ช่วยเติมโค้ด และ Copilot Chat ช่วยตอบคำถาม เข้าเป็นตัวเดียวกัน ติดตั้งแพ็กเกจตัวเดียวไม่ต้องแยกสองแพ็กเกจแบบก่อนหน้านี้
กูเกิลเปิดตัวบริการ Gemini Code Assist ที่เปลี่ยนชื่อมาจาก Duet AI for Developer แต่เปลี่ยนปัญญาประดิษฐ์ภายในเป็น Gemini ที่อ่านข้อมูลได้นับล้่านโทเค็น ทำให้เวลาแนะนำโค้ดนั้นไม่ใช่การอ่านทีละไฟล์ แต่อ่านทั้งโครงการทีละเป็นแสนบรรทัดและแนะนำได้ทันที
การประกาศรอบนี้ยังประกาศเป็นพันธมิตรกับบริษัทความปลอดภัยซอฟต์แวร์ Synk โดยตอนนี้ยังเป็นเพียงการแนะนำการใช้งาน Synk ในแชตก่อน แต่ภายในปีนี้จะรวมความสามารถในการสแกนโค้ดเข้าไว้ในบริการ Code Assist เลย ทำให้แนะนำช่องโหว่ในโค้ดได้ทันที
Gemini Code Assist เปิดให้ใช้ฟรีแล้ววันนี้ แต่จะเก็บเงินหลังวันที่ 11 มิถุนายนนี้ ราคา 19 ดอลลาร์ต่อคนต่อเดือน สามารถใช้งานได้บน VS Code และ JetBrains
กูเกิลปล่อยโมเดลปัญญาประดิษฐ์ LLM สำหรับเขียนโค้ดในชื่อ CodeGemma เน้นใช้งานเป็นตัวช่วยเขียนโค้ดโดยเฉพาะ โดยมีโมเดล 3 รุ่น ได้แก่
JetBrains ออกอัพเดตเวอร์ชัน 2024.1 ให้กับ IDE ทุกตัวในสังกัด เพิ่มฟีเจอร์ใหม่ full line code completion ใช้พลัง AI คาดเดาโค้ดบรรทัดต่อไปที่เราจะพิมพ์ใน editor โดยเป็นการคาดเดา "ทั้งบรรทัด" และสามารถทำงานได้แบบออฟไลน์ ไม่ต้องต่อเน็ต
การทำงานของ full line code completion จะแสดงข้อความสีเทาในบรรทัดถัดไป และสามารถกด tab เพื่อให้ editor เติมบรรทัดนั้นให้เราได้ ฟีเจอร์นี้รองรับโค้ดในภาษา Java, Kotlin, Python, JavaScript, TypeScript, CSS, PHP, Go, Ruby
Replit บริษัทผู้สร้าง IDE ผ่านเบราว์เซอร์ ที่ช่วงหลังเริ่มใช้งาน AI ช่วยเขียนโค้ด เปิดตัวฟีเจอร์ Code Repair ที่นำ LLM มาปรับแต่งเพื่อเน้นการแก้บั๊กโดยเฉพาะ
Replit บอกว่าการนำ LLM มาช่วยเขียนโค้ดที่ใช้กันอยู่ทุกวันนี้ เกิดจากการเทรนด้วยข้อมูลซอร์สโค้ด ผสมกับข้อมูลการพูดคุยกันของมนุษย์ เช่น กระทู้ใน StackExchange หรือ GitHub issue จึงมีข้อจำกัดเรื่องการขาดบริบทด้านสภาพแวดล้อมในการพัฒนา (development environment) ที่โปรแกรมเมอร์แต่ละคนใช้งาน
GitHub เปิดตัวฟีเจอร์ใหม่ Code scanning autofix ซึ่งเป็น AI ช่วยค้นหาและแก้ไขช่องโหว่ในโค้ดได้เร็วขึ้น โดยตอนนี้อยู่ในสถานะพับลิกเบต้า และเปิดใช้งานอัตโนมัติมีผลทันทีกับ Repository ที่ตั้งค่า Private เฉพาะลูกค้า GitHub Advanced Security (GHAS)
Code scanning autofix เป็นระบบที่สนับสนุนโดย GitHub Copilot และ CodeQL ระบุว่ารองรับมากกว่า 90% ของคำเตือนในภาษา JavaScript, Typescript, Java และ Python สามารถให้คำแนะนำแก้ไขได้มากกว่า 2 ใน 3 ของช่องโหว่ที่พบ ซึ่งโปรแกรมเมอร์สามารถเลือกทำตามคำแนะนำหรือไม่ทำก็ได้เช่นกัน
GitHub บอกว่าฟีเจอร์นี้จะช่วยลดเวลาและขั้นตอน โดยเฉพาะการตรวจสอบช่องโหว่ความปลอดภัยของโค้ด เพิ่มความมั่นใจให้กับองค์กรอีกด้วย
Oracle ออก Java 22 รุ่นซัพพอร์ตระยะสั้น 6 เดือน (Java 21 เป็นรุ่นซัพพอร์ตระยะยาวนาน 2 ปี)
ของใหม่ที่สำคัญของ Java 22 คือ Unnamed Variables & Patterns เปิดให้ตั้งชื่อตัวแปรที่ถูกบังคับให้ต้องมี แต่ไม่ต้องเรียกใช้งาน เป็นสัญลักษณ์ขีดล่าง (_) แทนการต้องตั้งชื่อตัวแปรอะไรก็ได้สักอย่าง
จากภาพตัวอย่างคือตัวแปร order ไม่ถูกเรียกใช้งานจริง แต่ต้องประกาศ (แถมโดนคอมไพเลอร์ด่าซ้ำว่ามีตัวแปรไม่ใช้งาน) ในสเปกของ Java 22 เปิดให้ใช้ตัว _ เพื่อบอกอย่างเจาะจงว่าเป็นตัวแปรที่ไม่ต้องตั้งชื่อได้แล้ว
NVIDIA เปิดบริการ NVIDIA API ที่นำเอาโมเดลปัญญาประดิษฐ์ยอดนิยมหลายตัว รวมถึงโมเดลของ NVIDIA เองมาเปิดเป็น API ให้นักพัฒนาใช้งานฟรีแบบจำกัด โดยเน้นสำหรับนักพัฒนาที่ต้องการสร้าง prototye เป็นหลัก
โมเดลที่นำมาให้บริการมีหลายกลุ่ม