By lew Founder on Tag: Google, Algorithm, Open Source, Programming
Google

กูเกิลโอเพนซอร์สไลบรารีเรียงลำดับข้อมูล (sorting) ที่ใช้ชุดคำสั่งแบบเวคเตอร์ในซีพียู ทำให้ไลบรารีทำงานได้เร็วขึ้น 9-19 เท่าตัวเมื่อเทียบกับ std::sort ในภาษา C++

By mk Founder on Tag: Java, New Relic, Programming
Java

New Relic บริษัทซอฟต์แวร์มอนิเตอร์ประสิทธิภาพของแอพพลิเคชันองค์กร ออกรายงานสถิติของแอพพลิเคชันสาย Java ประจำปี 2022 จากข้อมูลแอพพลิเคชันองค์กรที่ใช้บริการ New Relic จำนวนมาก พบสถิติที่น่าสนใจดังนี้

By mk Founder on Tag: Go, Development, Programming
Go

ทีมพัฒนา Go ออกผลสำรวจนักพัฒนา Go Developer Survey 2021 (ข่าวของปี 2020) ผลยังออกมาคล้ายกับการสำรวจของปี 2020

By lew Founder on Tag: Go, Programming, Algorithm
Go

ภาษา Go เตรียมเปลี่ยนฟังก์ชั่น sort จากเดิมใช้ QuickSort มาเป็น pdqsort หรือ pattern-defeating quicksort อัลกอริทึมเรียงลำดับที่ประสิทธิภาพโดยรวมดีขึ้นมากในหลายกรณี แม้ว่ากรณีที่แย่ที่สุดยังเป็น O(n log n) เช่นเดิมก็ตาม

Visual Studio

ไมโครซอฟท์ปล่อยส่วนขยายสำหรับ Visual Studio 2022 เพื่อใช้งานบริการ GitHub Copilot บริการปัญญาประดิษฐ์ช่วยเขียนโค้ดที่ไมโครซอฟท์ร่วมมือกับ OpenAI จากเดิมรองรับเฉพาะ Visual Studio Code และ GitHub Codespaces เท่านั้น

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

By mk Founder on Tag: Java, Oracle, Programming, Unicode
Java

Oracle ออก Java 18 ตามรอบการออกทุก 6 เดือน โดยเวอร์ชันนี้ไม่ได้เป็น LTS เหมือนกับ Java 17 ที่มีระยะซัพพอร์ตนาน 8 ปี ส่วน LTS ตัวหน้าคือ Java 21 ที่จะออกในเดือนกันยายน 2023

ของใหม่ใน Java 18 ได้แก่

By mk Founder on Tag: Go, Programming
Go

ภาษา Go ออกเวอร์ชัน 1.18 มีการเปลี่ยนแปลงสำคัญคือรองรับ generic แล้ว

generic เป็นแนวคิดของโลกโปรแกรมมิ่ง ที่เขียนฟังก์ชันหรืออัลกอริทึมกลาง เพื่อใช้ได้กับตัวแปรไม่ระบุชนิด (เช่น เขียน reverse sort สำหรับ Int, Float, String ด้วยโค้ดชุดเดียวกัน) ถือเป็นฟีเจอร์พื้นฐานในภาษาโปรแกรมสมัยใหม่ เช่น Java, Python, C#, TypeScript, Rust, Swift

By mk Founder on Tag: JavaScript, TypeScript, Programming, Microsoft, ECMA
JavaScript

ข้อจำกัดประการสำคัญของ JavaScript คือการไม่กำหนดชนิดของตัวแปร (type) แบบตายตัว (static typing) เมื่อ JavaScript ได้รับความนิยมเพิ่มขึ้นเรื่อยๆ จึงมีคนพยายามแก้ปัญหานี้ด้วยการประดิษฐ์ภาษาหรือเครื่องมือใหม่ๆ ที่เป็น JavaScript แบบมี type เข้ามา (เช่น TypeScript, Closure Compiler หรือ Flow) เพื่อจัดระเบียบการเขียนโค้ดให้มีโครงสร้างมากขึ้น

แนวทางของภาษาแบบ TypeScript คือให้มนุษย์เขียนโค้ดด้วยภาษาใหม่ที่มีระเบียบขึ้น จากนั้นใช้เครื่องมือ "แปลง" (ในที่นี้คือ transpiler) ภาษาใหม่กลับมาเป็น JavaScript อีกทีหนึ่ง

By mheevariety Contributor Writer on Tag: Artificial Intelligence, Programming
Artificial Intelligence

แม้ปัจจุบันจะมี AI เขียนโค้ดอยู่หลายเจ้า ทั้ง Codex ของ OpenAIที่เป็นเบื้องหลังระบบ Copilot บน GitHub และ AlphaCode ของ DeepMindที่เพิ่งเข้าแข่งเขียนโปรแกรมได้คะแนนปานกลาง

อย่างไรก็ตามยังไม่มี AI ของเจ้าไหนเลยที่เป็นแบบโอเพนซอร์ส ทำให้การปรับปรุงและเทรน AI ทำได้โดยเจ้าของ AI เท่านั้น แต่ล่าสุดนักวิจัยจากมหาวิทยาลัย Carnegie Mellon ในสหรัฐฯ ได้ปล่อยโมเดล AI เขียนโค้ดชื่อ PolyCoder ออกมาเป็นแบบโอเพนซอร์สตัวแรกบน GitHub

By mheevariety Contributor Writer on Tag: Samsung, Education, Programming
Samsung

Samsung Innovation Campus เตรียมเปิดให้นักเรียนชั้นมัธยมต้น เข้าร่วมอบรมหลักสูตรการเขียนโค้ดและการเขียนโปรแกรม (Coding & Programming) ในหลักสูตร Basic Coding 2022 โดยไม่มีค่าใช้จ่าย เพื่อให้เยาวชนได้เรียนรู้การเขียนโค้ด

ในการอบรบจะมีตั้งแต่การฝึกการคิดเชิงตรรกะ (Logical Thinking) ผ่านโปรแกรม Scratch ฝึกเขียนภาษา C และ Python ตลอดจนทดลองนำความรู้สร้างโปรแกรมประยุกต์ด้าน AI และปิดท้ายด้วยการประชันไอเดียออกแบบนวัตกรรมในกิจกรรม Idea Demonstrationโดยการอบรมดังกล่าวจะจัดขึ้นในระหว่างวันที่ 26 มีนาคม - 9 พฤษภาคม 2565 ในรูปแบบออนไลน์ผ่านโปรแกรม Microsoft Teams

By mheevariety Contributor Writer on Tag: GitHub, Education, Computer Science, Programming
GitHub

ยูสเซอร์ Developer-Y ได้สร้าง repository บน GitHub รวมคอร์สเรียนวิทย์คอมและโปรแกรมมิ่งออนไลน์แบบมีวิดีโอเป็นภาษาอังกฤษจากมหาวิทยาลัยชั้นนำทั่วโลกมาไว้ในที่เดียว ตั้งแต่ปี 2016 ปัจจุบันมีคอร์สเรียนกว่า 800 คอร์ส จากผู้มีส่วนร่วม 49 คนที่ช่วยกันอัพเดต

วิชาที่รวมมา มีตั้งแต่บทนำสู่วิทยาศาสตร์คอมพิวเตอร์, โครงสร้างข้อมูลและอัลกอริทึ่ม, แมชชีนเลิร์นนิ่ง, ควอนตัมคอมพิวเตอร์ ไปจนถึงวิชาการเงินเชิงคำนวณ (Computational Finance), ชีวะวิทยาเชิงคำนวณ (Computational Biology), โรโบติกส์ วิชาการพัฒนาบล็อกเชน และอื่นๆ อีกมากมาย

By mk Founder on Tag: Ruby, Programming, Shopify
Ruby

ภาษา Ruby ออกเวอร์ชัน 3.1.0 ตามธรรมเนียมการออกรุ่นใหม่ทุกวันคริสต์มาส ของใหม่ที่สำคัญในเวอร์ชันนี้คือ JIT (just-in-time) compiler ตัวใหม่ที่เรียกว่า YJIT

ใน Ruby 3.0 มีการเพิ่ม JIT มาก่อนแล้ว โดยใช้ชื่อว่า MJIT และช่วยให้ Ruby 3.0 มีประสิทธิภาพเพิ่มขึ้นถึง 3 เท่าจาก Ruby 2.0

By lew Founder on Tag: Stack Overflow, Programming
Stack Overflow

Ellen Spertus จาก StackOverflow แนะนำถึงการเขียนคอมเมนต์โค้ด 9 ข้อ เพื่อการเขียนโค้ดที่ดีขึ้น พร้อมกับเตือนว่าโค้ดที่มีคอมเมนต์แย่ๆ นั้นแย่กว่าโค้ดที่ไม่มีคอมเมนต์เลยเสียอีก โดยกฎ 9 ข้อได้แก่

By lew Founder on Tag: Django, Python, Programming
Django

Django เว็บเฟรมเวิร์คยอดนิยมภาษา Python ประกาศออกเวอร์ชั่น 4.0 แม้ฟีเจอร์หลักๆ จะเปลี่ยนแปลงไม่มากนัก แต่การออกเวอร์ชั่นใหม่ก็ทำให้ตัดฟีเจอร์เก่าๆ ไปหลายตัวตามหลัก Semantic Versioning

ส่วนใหม่ๆ ใน Django 4.0 เช่น

By lew Founder on Tag: AWS, Development, Kotlin, Rust, Swift, Programming
AWS

AWS เพิ่มภาษาที่รองรับใน AWS SDK อีก 3 ภาษา ได้แก่ Kotlin, Rust, และ Swift โดยทั้งสามภาษายังอยู่ในช่วง Developer Preview

ภาษา Kotlin นั้นมักใช้งานในแอนดรอยด์เป็นหลัก รองรับบริการ 284 ตัว รองรับฟีเจอร์ของ Kotlin เองเช่น coroutine และรันแบบ concurrent ได้

ภาษา Rust นั้นก่อนหน้านี้มีโครงการ Rusoto ทดแทน AWS SDK ทางการที่สร้างโดยนักพัฒนาภายนอกอยู่ก่อนแล้ว แต่ทาง AWS ก็เลือกพัฒนาใหม่เป็น SDK มาตรฐาน ตอนนี้เวอร์ชั่นพรีวิวรองรับบริการ 288 ตัว หากใช้งานใน AWS เช่น EC2, ECS, หรือ Lambda จะคอนฟิกอัตโนมัติ และใช้ฟีเจอร์ของภาษา Rust เต็มที่

By lew Founder on Tag: Roblox, Programming, Lua
Roblox

Roblox แพลตฟอร์มวิดีโอเกมตัวเหลี่ยมประกาศแยกโครงการภาษาโปรแกรมมิ่ง Luau ที่พัฒนาจากภาษา Lua แต่เขียนใหม่เกือบทั้งหมดออกมาเป็นโครงการแยกจากตัว Roblox เอง ออกมาเป็นภาษาโปรแกรมมิ่งโอเพนซอร์สที่ชุมชนสามารถเสนอความเปลี่ยนแปลงได้เอง

ตัวภาษา Luau ทำงานร่วมกับ Lua 5.1 ได้ แต่จะพัฒนาแยกไปตามแนวทางของตัวเอง โดยความต้องการของ Roblox คือการวิเคราะห์โค้ดอย่างละเอียดก่อนรันเนื่องจากตัว Roblox เป็นแพลตฟอร์มที่ต้องรับโค้ดจากนักพัฒนาภายนอก ทำให้ภาษา Lua มีข้อจำกัดเนื่องจากตัว parser โค้ดนั้นฝังรวมกับคอมไพล์เลอร์ นอกจากนี้ตัวไลบรารีของ Luau จะถูกปรับแต่งให้ทำงานใน sandbox ได้อย่างปลอดภัย

By lew Founder on Tag: C#, .NET, Programming
C#

เมื่อคืนนี้ไมโครซอฟท์ปล่อย .NET 6 ตัวจริง โดยส่วนสำคัญส่วนหนึ่งคือตัวภาษา C# ที่ปรับเป็นเวอร์ชั่น 10 ที่มีการปรับปรุงภาษาหลายส่วน ฟีเจอร์สำคัญๆ ที่ปรับเปลี่ยนมาได้แก่

By lew Founder on Tag: .NET, Programming
.NET

ไมโครซอฟท์ปล่อย .NET 6 ตัวจริง นับเป็นตัวที่สองหลังหลอมรวมโครงการ .NET เข้าด้วยกันสำเร็จในเวอร์ชั่น 5 ตอนนี้ .NET 6 เป็นเวอร์ชั่น LTS ที่ไมโครซอฟท์จะอัพเดตให้ยาว 3 ปี

ฟีเจอร์เด่นๆ ในเวอร์ชั่นนี้ เช่น

By lew Founder on Tag: Rust, Programming, Unicode, Security
Rust

เมื่อกลางปีที่ผ่านมามีรายงานการโจมตี CVE-2021-42574 ที่อาศัยอักขระ Unicode สำหรับการพิมพ์จากขวาไปซ้าย ทำให้ตัวแก้ไขโค้ดแสดงอักขระกลับข้างเปิดทางให้คนร้ายอาจจะซ่อนโค้ดเอาไว้ภายในซอร์สโค้ดเอง โดยที่โปรแกรมเมอร์มองไม่เห็นซอร์สโค้ดนั้น

ปัญหานี้ไม่ใช่ปัญหาของภาษาโปรแกรมมิ่งโดยตรง แต่วันนี้ทาง Rust ก็ออกมาประกาศว่าจะป้องกันปัญหานี้ด้วยการเพิ่มกฎตรวจสอบโค้ด (lint) เข้าไปใน rustc ทำให้โค้ดที่มีอักขระ Unicode เหล่านี้คอมไพล์ไม่ผ่าน หากต้องการใช้งานจริงๆ ต้อง escape ตัวอักขระเสียก่อน

By sunnywalker Writer on Tag: NASA, Thailand, Programming, Robotics, Japan
NASA

วันอาทิตย์ที่ 24 ตุลาคม ที่ผ่านมา องค์กรสำรวจอวกาศญี่ปุ่น หรือ JAXA ได้จัดการแข่งขันโครงการ The 2nd Kibo Robot Programming Challenge รอบชิงแชมป์เอเชียทางออนไลน์ ถ่ายทอดสดจากศูนย์อวกาศสึกุบะ ประเทศญี่ปุ่น

โดยเยาวชนตัวแทนประเทศไทยทีม Indentation Error จากโรงเรียนอัสสัมชัญธนบุรี คว้ารางวัลชนะเลิศระดับเอเชีย ทำคะแนนเป็นอันดับ 1 จากการแข่งขันเขียนโปรแกรมคอมพิวเตอร์ควบคุมหุ่นยนต์ Astrobee ของ NASA บนสถานีอวกาศนานาชาติ ในโครงการคิโบะ โรบอต โปรแกรมมิ่ง ชาเลนจ์ ครั้งที่ 2

Subscribe to Programming