Tags:
Topics: 
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

YJIT เป็นการพัฒนา JIT ไปอีกขั้น เป็นโครงการที่พัฒนาโดยบริษัท Shopify ที่ใช้ภาษา Ruby ภายในบริษัทอยู่แล้ว แนวคิดของมันคือใช้เทคนิคที่เรียกว่า Basic Block Versioning (BBV) ช่วยให้ประสิทธิภาพดีขึ้นจาก MJIT อีกราว 20-39% ขึ้นกับเบนช์มาร์คที่ใช้เปรียบเทียบ

Tags:
Node Thumbnail

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

Tags:
Node Thumbnail

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

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

  • ระบบ timezone เปลี่ยนจาก pytz มาใช้ไลบรารีมาตรฐาน zoneinfo (เพิ่มเข้า Python ใน Python 3.9)
  • เงื่อนไข UniqueConstraint ในฐานข้อมูลสามารถกำหนดฟังก์ชั่นสำหรับแต่ละฟิลด์
  • รองรับการแฮชรหัสผ่านแบบ scrypt
  • รองรับการแคชข้อมูลด้วย Redis เพิ่มจาก memcache
  • ฟอร์มต่างๆ ใช้เอนจิน template เรนเดอร์ทำให้ปรับแต่งได้ง่ายขึ้น

ส่วนฟีเจอร์ที่ถูกตัดออกจนอาจจะกระทบแอปพลิเคชั่นเดิมๆ เช่น

Tags:
Node Thumbnail

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 เต็มที่

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

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

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

Tags:
Node Thumbnail

เมื่อประมาณ 3 เดือนที่แล้ว JetBrains เปิดตัวโลโก้ใหม่ของ Kotlin ที่ยังเป็นตัว K แบบของเดิม แต่เปลี่ยนจากสีส้ม-น้ำเงิน มาเป็นการไล่สีม่วง-น้ำเงินแทน พร้อมปรับรูปแบบฟอนต์ (typeface) มาใช้ฟอนต์ JetBrains Sans ให้เข้าชุดกับผลิตภัณฑ์อื่นๆ ของบริษัท

JetBrains ให้เหตุผลว่าคู่สีเดิมดูล้าสมัย และการใช้แถบสี (stripe) ก็ดูไม่เป็นเอกลักษณ์ จึงตัดสินใจเปลี่ยนสีให้เหมือน Facebook Messengerให้ดูสว่างและสดใสขึ้น กลายเป็นการไล่สี (gradient) แบบที่เห็น

Tags:
Node Thumbnail

Red Hat เป็นผู้พัฒนาส่วนขยายภาษา Java ให้กับ Visual Studio Code มาตั้งแต่ปี 2016 (ชื่ออย่างเป็นทางการคือ Language Support for Java by Red Hat ที่ไม่มีใครเรียก ทุกคนเรียก vscode-java) ผ่านมาหลายปี ส่วนขยายนี้เดินทางมาถึงเวอร์ชัน 1.0 แล้ว

Tags:
Node Thumbnail

รายงานดัชนีความนิยมภาษาโปรแกรม TIOBE Index ประจำเดือนตุลาคม 2021 ประกาศให้ Python เป็นภาษายอดนิยมอันดับ 1 เป็นครั้งแรก หลังจากเดือนที่แล้วคาดว่าจะแซงได้ ทำให้ Python เป็นภาษาลำดับที่ 3 ที่ครองความนิยมเป็นอันดับ 1 ของการจัดอันดับของ TIOBE ตลอด 20 ปี (อีก 2 ภาษาคือ C และ Java)

TIOBE ยังได้แสดงความยินดีไปยัง Guido van Rossum ผู้สร้างภาษา Python ซึ่งปัจจุบันเขาทำงานอยู่ที่ไมโครซอฟท์

ระดับความนิยมของ Python คงเดิมจากเดือนก่อนคือ 11.27% ส่วนอันดับ 2 และ 3 คือภาษายอดนิยมที่เคยอยู่อันดับหนึ่งนั่นคือ C กับ Java ตามลำดับ ตามด้วย C++, C#, Visual Basic, JavaScript, SQL, PHP และ Assembly Language ได้ลำดับที่ 4-10

Tags:
Node Thumbnail

Oracle ประกาศออก Java 17 ซึ่งเป็นเวอร์ชันซัพพอร์ตระยะยาว (LTS) ตัวใหม่ ต่อจาก Java 11 LTS ที่ออกในปี 2018 มีระยะซัพพอร์ตนาน 8 ปี เคสนี้คือ Java 17 ใช้ได้จนถึงปี 2029

ในระบบการออกรุ่นของ Java ในปัจจุบัน มีกำหนดออกรุ่น LTS ทุก 3 ปี ล่าสุด Oracle ยังประกาศเปลี่ยนมาออก LTS ทุก 2 ปีแทน ดังนั้นรุ่นหน้าคือ Java 21 ออกกันยายน 2023

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

Tags:
Node Thumbnail

TIOBE Index ดัชนีความนิยมของภาษาโปรแกรม ฉบับเดือนกันยายน 2021 อันดับหนึ่งยังเป็นแชมป์เก่า C แต่อันดับสอง Python ก็ขยับเข้ามาใกล้เรื่อยๆ ส่วนต่างเหลือแค่ 0.16% แล้ว สามารถแซงหน้า C ได้ทุกเมื่อ

TIOBE จัดอันดับภาษาโปรแกรมมานาน 20 ปี เพิ่งเคยมี 2 ภาษาที่ครองแชมป์คือ C และ Java (C เพิ่งกลับมาแซง Java ได้ในปี 2020) หาก Python แซงหน้า C ได้สำเร็จก็จะกลายเป็นแชมป์รายที่สาม

Python ถือเป็นภาษาที่มาแรงในช่วงหลัง สามารถแซงหน้า Java ได้ในช่วงปลายปี 2020 และไล่จี้ C เข้ามาเรื่อยๆ จนใกล้แซงแล้ว

Tags:
Node Thumbnail

IEEE ประกาศอันดับภาษาโปรแกรมยอดนิยม พบว่า 5 อันดับแรก ได้แก่ Python, Java, C, C++, JavaScript นั้นไม่มีความเปลี่ยนแปลง แต่ปีที่ผ่านมา C# กลับสามารถไต่อันดับจากอันดับ 25 มาเป็นอันดับ 6

Tags:
Node Thumbnail

ไมโครซอฟท์ออก Visual Studio Code 1.59 มีฟีเจอร์ที่น่าสนใจ (ยังเป็นฟีเจอร์ระดับพรีวิว) คือ automatic language detection ตรวจหาว่าโค้ดที่พิมพ์ลงไปเป็นโค้ดภาษาอะไร โดยใช้ machine learning เพื่อเซ็ตโหมดการทำงานให้ตรงกับภาษาโปรแกรมที่ใช้งาน

ปกติแล้ว IDE หรือ code editor ใช้วิธีดูนามสกุลไฟล์เพื่อดูว่าเป็นภาษาโปรแกรมใด แต่ในกรณีที่เป็นไฟล์ untitled (เช่น การนำโค้ดจากที่อื่นมาแปะในไฟล์ว่าง) จะมีความยากในการตรวจสอบกว่าเดิม

Tags:
Node Thumbnail

Redmonk บริษัทวิเคราะห์ข้อมูลนักพัฒนา ออกรายงานอันดับภาษาโปรแกรมยอดนิยมประจำไตรมาสสามปี 2021 โดยใช้แหล่งข้อมูลจาก GitHub (จำนวนโค้ด/แกนนอน) และ Stack Overflow (จำนวนการพูดคุย/แกนตั้ง) มาผสมกัน

ผลจากการจัดอันดับของ Redmonk ไม่ต่างจากอันดับของสำนักอื่นๆ (เช่น JetBrains หรือ GitHub) เพราะ Top 3 เป็นภาษายอดนิยมชุดเดียวกัน โดยอันดับหนึ่งคือ JavaScript ตามด้วย Python และ Java เป็นอันดับสองร่วม

Tags:
Node Thumbnail

OpenAI เปิดตัว Triton 1.0 ภาษาโปรแกรมที่ออปติไมซ์โค้ดสำหรับทำงานบนชิปกราฟิกโดยอัตโนมัติ โดยได้การทดสอบคูณเมทริกซ์ประสิทธิภาพเทียบกับไลบรารีที่ออปติไมซ์มาเฉพาะอย่าง cuBLAS ของ NVIDIA เอง

ตัวภาษา Triton คล้ายกับไพธอนอย่างมาก แต่กระบวนการทำงานภายในออกแบบมาเพื่อการทำงานร่วมกับชิปกราฟิกโดยเฉพาะ เนื่องจากชิปกราฟิกนั้นต้องการการออปติไมซ์หลายอย่างเพื่อให้โค้ดทำงานได้เต็มประสิทธิภาพ ได้แก่ การย้ายข้อมูลทีละมากๆ เข้าออกจากแรมนอกชิป (DRAM เช่น GDDR ที่เราเห็นในสเปคของการ์ดกราฟิก) จากนั้นต้องวางข้อมูลลง SRAM ของแต่ละคอร์โดยแย่งข้อมูลใช้งานกันให้น้อย ใช้หน่วยความจำส่วนเดิมให้มากๆ และเรียงการประมวลผลตามพฤติกรรมของคอร์กราฟิก รวมถึงการใช้งานชุดคำสั่งพิเศษสำหรับการประมวลผลเฉพาะทาง

Tags:
Node Thumbnail

JetBrains ออกรายงานสำรวจข้อมูลนักพัฒนาประจำปี 2021 จากผู้ตอบแบบสอบถาม 31,743 คนใน 183 ประเทศ มีข้อมูลที่น่าสนใจดังนี้

Tags:
Node Thumbnail

รายงานดัชนีการจัดอันดับภาษาเขียนโปรแกรม TIOBE Index ประจำเดือนกรกฎาคม 2021 ซึ่งเป็นการฉลองครบรอบ 20 ปี ที่เริ่มมีการจัดอันดับภาษาโปรแกรมตั้งแต่ปี 2001 โดย 3 อันดับแรกของภาษายอดนิยมยังเหมือนเดือนก่อนหน้าคือ C Java และ Python ตามลำดับ

Paul Jansen ซีอีโอของ TIOBE ให้ข้อสังเกตว่า แม้อันดับยังไม่เปลี่ยน แต่ตัวเลขอัตราความนิยมก็มีส่วนต่างที่น้อยลงมา โดย C อยู่ที่ 11.62% ขณะที่ Python อยู่ที่ 10.95% ซึ่งต่างกันน้อยกว่า 1% แล้ว รวมทั้งแนวโน้มของ C และ Java ก็มีอัตราที่ลดลง ขณะที่ Python เพิ่มสูงขึ้น จึงมีโอกาสที่ Python จะขึ้นมาเป็นภาษาโปรแกรมยอดนิยมอันดับ 1 ในเวลาอันใกล้นี้

Pages