By arjin Writer on Tag: Rust, TIOBE, Programming
Rust

TIOBE รายงานอันดับความนิยมของภาษาเขียนโปรแกรมของเดือนกรกฎาคม 2024 โดย C++ กลับมาแซง C คืน หลังจากถูกแซงเป็นครั้งแรกเมื่อเดือนที่แล้ว ทำให้อันดับที่ 1-2-3 ยังเป็น Python, C++ และ C แบบที่เป็นในช่วงหลายเดือนที่ผ่านมา

ไฮไลท์ของเดือนนี้ TIOBE บอกว่าคือภาษา Rust ซึ่งความนิยมเพิ่มขึ้นจากอันดับที่ 17 เมื่อช่วงเดียวกันในปีก่อน มาเป็นอันดับที่ 13 ซึ่งเป็นอันดับสูงสุดที่ Rust เคยทำได้ สาเหตุหนึ่งอาจมาจากรัฐบาลสหรัฐออกคำแนะนำ ให้ย้ายการใช้งานภาษา C และ C++ มาเป็น Rust ด้วยเหตุผลด้านความปลอดภัย

By mk Founder on Tag: ChatGPT, LLM, Programming, Research
ChatGPT

มีงานวิจัยจากคณะนักวิจัยชาวจีน ทดลองนำ ChatGPT ไปทำโจทย์โปรแกรมมิ่งจำนวน 728 ข้อ ที่เขียนด้วยภาษาโปรแกรมยอดนิยม 5 ภาษา (C, C++, Java, Python, JavaScript) รวมถึงวิเคราะห์ช่องโหว่ CWE จำนวน 18 ช่องโหว่ แล้วมาประเมินว่าได้ผลลัพธ์ดีแค่ไหน

จากการประเมินของทีมวิจัยพบว่า ChatGPT ทำผลลัพธ์ออกมาได้ค่อนข้างดี (fairly good) ทำโจทย์ระดับง่าย กลาง ยาก ได้คะแนนผ่าน 89%, 71%, 40% ตามลำดับ

By lew Founder on Tag: JavaScript, Programming, Ant Group, Open Source, Rust
JavaScript

sorrycc นักพัฒนา front-end ของ Alipay หรือ Ant Group ประกาศโอเพนซอร์สโครงการ Mako โครงการเครื่องมือ build front-end ความเร็วสูงที่เขียนด้วยภาษา Rust โดยเน้นความเร็วในการรันและขนาดสคริปต์ที่ได้ Mako สามารถทำงานได้ประสิทธิภาพดีกว่า Rsbuild, Farm, หรือ Vite

ทีมงานทดสอบ build โครงการ Ant Design Pro ที่ webpack ใช้เวลา 16 วินาที ส่วน Mako ใช้เวลาเพียง 3.9 วินาทีเท่านั้น และเมื่อดูเวลา Hot Module Replacement ก็เร็วกว่ามากจนแทบเป็น real-time

By lew Founder on Tag: JavaScript, Programming, Internet Explorer
JavaScript

HTMX เฟรมเวิร์คเว็บขนาดเล็กที่ได้รับความนิยมสูงขึ้นมากในช่วงหลังออกเวอร์ชั่น 2.0 หลังจากออกเวอร์ชั่น 1.0 มาตั้งแต่ปี 2020 โดยปรับเปลี่ยนด้วยการย้ายส่วนขยายต่างๆ เช่น Server Side Events, Web Sockets, Preload ออกเป็นโครงการแยกและเปิดให้อัพเดตเวอร์ชั่นได้แยกจากโครงการหลัก

หลังจากแยกส่วนขยายออกไปแล้ว เวอร์ชั่นนี้จึงถอดฟีเจอร์ที่เคยอยู่ในโครงการหลักออกไปต่างหาก ปรับ API ให้เป็นมาตรฐานมากขึ้น แต่โดยรวมแล้วการใช้งานยังคงเดิมอยู่แม้จะไม่สามารถทำงานกับโค้ดเดิมได้แล้วเพราะ API เปลี่ยน ที่สำคัญคือถอดการรองรับ Internet Explorer ออกทั้งหมด

By mk Founder on Tag: Swift, Apple, Programming, C++
Swift

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

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

By arjin Writer on Tag: C++, TIOBE, C, Programming
C++

รายงานอันดับความนิยมของภาษาเขียนโปรแกรมโดย 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

By lew Founder on Tag: Programming, Agile
Programming

Engprax บริษัทให้คำปรึกษาตรวจสอบซอฟต์แวร์ออกรายงานสำรวจวิศวกรซอฟต์แวร์ 600 คนในสหรัฐฯ และสหราชอาณาจักร ผลสำรวจพบว่าแนวทางของ Agile Manifesto หลายข้อทำให้โครงการซอฟต์แวร์มีโอกาสล้มเหลวสูงขึ้น โดยรวมแล้วโครงการที่ทำตามแนวทาง Agile มีโอกาสล้มเหลวสูงกว่าโครงการที่ไม่ใช้ถึง 268%

By arjin Writer on Tag: Mistral, LLM, Programming, Developer
Mistral

Mistral บริษัทปัญญาประดิษฐ์จากฝรั่งเศสที่มีไมโครซอฟท์ถือหุ้นอยู่ด้วย เปิดตัวโมเดล Generative AI ขนาด 22B สำหรับการเขียนโค้ดตัวแรกของบริษัท มีชื่อว่า Codestral

Codestral ถูกเทรนด้วยโค้ดมากกว่า 80 ภาษา ซึ่งรวมทั้งภาษาเขียนโปรแกรมยอดนิยมอย่าง Python, Java, C, C++, JavaScript, และ Bash ไปจนถึงภาษาอย่าง Swift และ Fortran จึงรองรับการทำงานของนักพัฒนาในหลายรูปแบบสถานการณ์ มีความสามารถทั้ง ช่วยเขียนโค้ด เขียนเทสต์ หรือช่วยเติมส่วนที่ขาดหายในโค้ดได้ จึงช่วยลดเวลาและเพิ่มประสิทธิภาพให้กับนักพัฒนาได้

By mk Founder on Tag: Windows 11, Microsoft, Programming, Visual Basic
Windows 11

ไมโครซอฟท์ประกาศรายละเอียดของแผนการถอด VBScript (ชื่อเดิมคือ Visual Basic Script ที่เป็นคนละภาษากับ Visual Basic แบบปกติ แต่มีส่วนที่เหมือนกัน) ออกจาก Windows ตามที่เคยประกาศแนวทางไว้ก่อนหน้านี้

By mk Founder on Tag: .NET, Microsoft, Programming, Artificial Intelligence
.NET

ไมโครซอฟท์ออก .NET 9 Preview 4 มีของใหม่ที่สำคัญคือตัวแปรประเภท Tensor<T> (อาร์เรย์หลายมิติ) สำหรับการประมวลผล AI

Tensor<T> ต่อยอดมาจาก TensorPrimitives ที่เป็น API สำหรับประมวลผล tensor ใน .NET 8 เพื่อให้ประมวลผลคณิตศาสตร์มีประสิทธิภาพมากขึ้น เพราะใช้ชุดคำสั่งแบบขนาน (SIMD) ของตัวซีพียู/จีพียูในการประมวลผล

การมาถึงของ Tensor<T> จะช่วยเพิ่มประสิทธิภาพในการรันไลบรารี AI ยอดนิยมหลายๆ ตัว เช่น ML.NET, TorchSharp, ONNX Runtime เพราะลดการคัดลอกข้อมูลในตัวแปรลงได้

By mk Founder on Tag: Kotlin, Programming, JetBrains
Kotlin

JetBrains เปิดตัวภาษา Kotlin เวอร์ชัน 2.0 มีของใหม่ที่สำคัญคือคอมไพเลอร์ตัวใหม่ K2 ที่เริ่มทดสอบมาตั้งแต่ปี 2022 และเข้าสถานะเสถียร

จุดเด่นของ K2 คือเรื่องประสิทธิภาพในการคอมไพล์ที่เพิ่มขึ้นเกือบเท่าตัว และยังทำงานร่วมกับตัว IDE (IntelliJ IDEA) เพื่อเพิ่มประสิทธิภาพของการไฮไลท์โค้ดได้เร็วขึ้น 1.8 เท่า, เติมโค้ดได้เร็วขึ้น 1.5 เท่า

K2 กลายมาเป็นคอมไพเลอร์สำหรับแปลงโค้ดภาษา Kotlin ไปใช้งานกับแพลตฟอร์มอื่นๆ แบ่งได้ 4 หมวดกว้างๆ คือ

By mk Founder on Tag: CUDA, Artificial Intelligence, OpenAI, Programming
CUDA

Financial Times รายงานว่าบริษัทไอทียักษ์ใหญ่หลายราย เริ่มเข้ามาสนับสนุนซอฟต์แวร์เทรน AI ที่ไม่ต้องพึ่งพา CUDA ของ NVIDIA เพียงอย่างเดียวอีกต่อไป

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

By mk Founder on Tag: React, JavaScript, Meta, Programming
React

Meta เปิดตัว React Compiler โครงการทดลองของ React ที่ช่วยปรับแต่งประสิทธิภาพของแอพให้ดีขึ้น ลดจำนวนคอมโพเนนต์จะถูกเรนเดอร์ใหม่ให้เหลือน้อยที่สุด เมื่อเกิดการเปลี่ยนสถานะขึ้นมา

ชื่อของ React Compiler อาจชวนงงๆ อยู่บ้าง เพราะ React เขียนด้วย JavaScript ที่เป็นภาษาแบบ interpreter แต่จริงๆ แล้ว React Compiler ทำหน้าที่เข้ามาอ่านโค้ดของเราเพื่อช่วยปรับแต่งประสิทธิภาพของโค้ดให้อัตโนมัติ ช่วยทำงานด้านแคช (memoization) ที่ก่อนหน้านี้โปรแกรมเมอร์ต้องทำเอง เช่น useMemo, useCallback, React.memo

By lew Founder on Tag: IBM, LLM, Programming
IBM

IBM ปล่อยโมเดลปัญญาประดิษฐ์ Granite ที่ฝึกจากฐานข้อมูลโค้ด 116 ภาษา โดยโมเดลมี 4 ขนาดได้แก่ 3B, 8B, 20B, และ 34B แยกรุ่นพื้นฐานและรุ่นรับคำสั่ง (instruct) โดยเฉพาะรุ่น 8B นั้นความสามารถในการเขียนโปรแกรมเหนือกว่าโมเดลขนาดเดียวกันค่อนข้างมาก

กระบวนการฝึกโมเดลเวอร์ชั่น 34B นั้นพิเศษกว่าเวอร์ชั่นอื่นๆ เพราะอาศัยการ upscaling โดยนำโมเดล 20B ที่มี 52 ชั้นสองเวอร์ชั่น มาถอดฝั่ง output 8 ชั้น และ input ของอีกโมเดลหนึ่ง 8 ชั้น แล้วนำมาต่อกันเป็น 34B ข้อมูลที่ใช้ฝึกนั้นมีตั้งแต่ GitHub Code Clean, StarCoderData, และโค้ดอื่นๆ รวมถึง

By lew Founder on Tag: TIOBE, Programming, Fortran
TIOBE

TIOBE รายงานลำดับความนิยมภาษาโปรแกรมรอบเดือนพฤษภาคม 2024 โดยมีความเปลี่ยนแปลงไม่มากนักยกเว้นภาษา Fortran ที่ขึ้นมาอยู่อันดับ 10 นับเป็นครั้งแรกในรอบ 20 ปีที่ภาษานี้กลับมาอยู่ Top 10

By mk Founder on Tag: Microsoft, Programming, API
Microsoft

ไมโครซอฟท์เปิดตัวภาษา TypeSpec ไม่ได้เป็นภาษาโปรแกรมมิ่งโดยตรง แต่เป็นภาษาระดับสูงสำหรับกำหนดนิยาม API (high-level API definition language) ที่ได้อิทธิพลมาจาก TypeScript และ C#

TypeSpec ถูกสร้างขึ้นเพื่อเป็นภาษากลาง ทำ abstraction ของโมเดล แล้วนำไปแปลงเป็นภาษาหรือสเปกอื่นๆ (ที่ยาวและละเอียดกว่า) อีกที เช่น OpenAPI (YAML), JSON Schema, Protobuf ช่วยอำนวยความสะดวกในการใช้งาน เพราะตัว TypeSpec ออกแบบมาใช้สั้นกระชับ แต่ยังสามารถนิยามโครงสร้างข้อมูลหรือ API ที่ซับซ้อนได้ และเน้นการนำนิยามไปใช้ซ้ำ (reuse) ในโอกาสอื่นๆ ได้

By lew Founder on Tag: Figma, Programming, TypeScript
Figma

Figma รายงานถึงกระบวนการย้ายโค้ดของตัวเอง จากเดิมที่ใช้ภาษา Skew ที่เริ่มใช้งานมาตั้งแต่เริ่มต้นบริษัท (ปล่อยเวอร์ชั่นแรกๆ ปี 2016 เหมือนกัน) โดยเงื่อนไขสำคัญคือการใช้ภาษา Skew เพื่อคอมไพล์โค้ดกลางไปใช้งานได้ทั้งเว็บและโทรศัพท์มือถือ โดยตอนนั้นภาษา TypeScript ยังซัพพอร์ตกันไม่มากนัก ทำให้ใช้ Skew เรื่อยมา แต่สุดท้ายก็พบว่าสร้างความลำบากเพราะใช้งานโค้ดหรือเครื่องมือภายนอกไม่ได้ ตลอดจนเสียเวลาฝึกพนักงานใหม่

GitHub

GitHub เปิดตัว GitHub Copilot Workspace ซึ่งเป็น developer environment แนวคิดใหม่ที่ทำงานบน Copilot ซึ่งเข้ามาช่วยนักพัฒนาในการระดมสมอง, วางแผน, เขียนโค้ด, ทดสอบ และรันโค้ด ทั้งหมดทำบนภาษาธรรมชาติ (Natural Language) โดยมี AI Copilot ช่วยจัดการงานทั้งหมด ขณะที่นักพัฒนาสามารถเข้ามาควบคุมได้ในทุกขั้นตอน

การเริ่มต้นโครงการบน Copilot Workspace ทำได้โดยเริ่มต้นจากแนวคิดตั้งต้น จากนั้น Copilot จะช่วยวางแผนออกแบบขั้นตอนให้ทั้งหมดเพื่อแก้ไขปัญหาแต่ละขั้นตอน ซึ่งแต่ละขั้นตอนนั้นสามารถเข้าไปแก้ไขผลลัพธ์ปรับแต่งให้ตรงกับที่ต้องการมากขึ้น

By mk Founder on Tag: Linus Torvalds, Programming, Linux, Open Source
Linus Torvalds

สงครามศาสนาที่คงอยู่มายาวนานของวงการโปรแกรมเมอร์คือ การย่อหน้าด้วย space vs tab ซึ่งก็คงยังไม่มีข้อยุติในเร็ววัน

เรื่องนี้เป็นประเด็นขึ้นมาอีกครั้ง เมื่อเว็บไซต์ The Register ไปค้นพบว่า Linus Torvalds ไปแก้โค้ดในเคอร์เนลลินุกซ์ ซึ่งในแพตช์นี้มีการแก้ไขเพียงอย่างเดียวคือเปลี่ยนอักขระ space มาเป็น tab

อย่างไรก็ตาม Linus ไม่ได้เลือกข้างในสงครามศาสนานี้แต่อย่างใด เพราะเหตุผลของเขาคือไฟล์ที่เขาแก้ไขคือ Kconfig ซึ่งเป็นไฟล์คอนฟิกค่าต่างๆ ของเคอร์เนล (ลักษณะเดียวกับ YAML ในปัจจุบัน) และมี parser รุ่นเก่าๆ บางตัวที่ยังเขียนมาได้ไม่ดีพอ ทำให้อ่านค่า space/tab ผิดพลาด

Subscribe to Programming