ดัชนีความนิยมภาษาโปรแกรม TIOBE ประกาศดัชนีเดือนมิถุนายน โดยมีความเปลี่ยนแปลงสำคัญคือภาษา Python แซงหน้าภาษา C++ ขึ้นมาอยู่อันดับสาม และมีค่าดัชนีความนิยม 8.53% สูงสุดเท่าที่ประกาศดัชนีมาตั้งแต่ปี 2001
ภาษา Python ได้รับความนิยมอย่างสูงในช่วงหลังจากการใช้พัฒนาโมเดลปัญญาประดิษฐ์ในกลุ่ม deep learning ที่ใช้ Python อย่างหนัก นอกจากนี้ในกลุ่มผู้ดูแลระบบก็ยังนิยมพัฒนาเครื่องมือง่ายๆ โดยใช้ Python แทน Perl มากขึ้นเรื่อยๆ ตามดัชนี TIOBE ภาษา Python เคยได้รับความนิยมสูงถึงอันดับ 5 ในช่วงปี 2009
กลุ่มภาษา 10 อันดับแรก ได้แก่ Java, C, Python, C++, VB .NET, C#, JavaScript, PHP, SQL, Assembly ตามลำดับ
ที่มา - TIOBE
ฟีเจอร์ย่อยของ macOS Catalina (OSX 10.15) นอกจากจะเปลี่ยน bash เป็น zsh แล้ว ยังมีการเปลี่ยนแปลงปลีกย่อยที่มีความสำคัญอยู่อีกหลายอย่าง ได้แก่
Google Cloud Functions บริการคลาวด์แบบ serverless ของกูเกิล ประกาศรองรับภาษาโปรแกรมเวอร์ชันต่างๆ เพิ่มเติมดังนี้
ไมโครซอฟท์ปล่อยโปรแกรมเช็คชนิดตัวแปรก่อนรัน (static type checker) ในชื่อ Pyright โดยที่ตัวโปรแกรมเองพัฒนาจากภาษา TypeScript เนื่องจากต้องการให้รันร่วมกับ VSCode ได้โดยไม่ต้องการรันไทม์อื่นเพิ่มเติม
Pyright มีความสามารถในการตรวจสอบชนิดตัวแปรตามเอกสาร PEP 484, PEP 526, PEP 544 สามารถดูชนิดตัวแปรที่คืนค่าจากฟังก์ชั่น, ตัวแปรของออปเจกต์, หรือตัวแปรของคลาส สำหรับไลบรารีมาตรฐาน จะใช้สำเนาจาก Typeshed มาในตัว
Python Software Foundation ร่วมกับ JetBrains จัดสำรวจโปรแกรมเมอร์ไพธอนกว่า 20,000 คนเพื่อดูว่ามีการใช้งานไปในด้านใดบ้าง โดยเป็นการสำรวจครั้งที่สอง
การใช้งานยังคงกระจุกอยู่ในหมวดการทำเว็บ (52%) และการวิเคราะห์ข้อมูล (58%) เกินครึ่งของโปรแกรมเมอร์ไพธอนทั้งหมด แต่หากให้เลือกประเภทงานที่ใช้มากที่สุดประเภทเดียว การพัฒนาเว็บยังคงนำโด่ง (27%) ส่วนการวิเคราะห์ข้อมูลตามมา (17%) แต่เมื่อมองงานด้านวิทยาศาสตร์ข้อมูลที่รวมการทำ machine learning (11%) จะพบว่าทั้งการพัฒนาเว็บและวิทยาศาสตร์ข้อมูลนั้นมีการใช้งานพอๆ กัน
Google ได้ทดสอบ Python 3.7 พร้อมกับ PHP 7.2 เป็น standard environment บน App Engine มาตั้งแต่เดือนกรกฎาคม ซึ่งตอนนี้ Google ก็ได้ประกาศว่า Python 3.7 บน Google App Engine เข้าสู่สถานะ GA พร้อมให้บริการลูกค้าโดยทั่วไปแล้ว
Google ระบุว่า Python 3.7 นี้จะเป็นรันไทม์ในยุคที่สองของ App Engine เหมือนกับ Node.js 8 และ PHP 7.2 โดยรันไทม์เหล่านี้จะทำงานบน gVisor เทคนิคการแยกคอนเทนเนอร์ให้ขาดจากกันเหมือน VM ที่ทำให้ใช้เวลาในการดีพลอยน้อยลง
ก่อนหน้านี้เพิ่งมีข่าว Python ได้รับความนิยมจนติด Top 3 ของ TIOBE ที่อ้างอิงข้อมูลจากซอฟต์แวร์ทั่วไปในภาพรวม ส่วนในโลกของบรรดาแฮ็กเกอร์สายมืด Python ก็ได้รับความสนใจไม่แพ้กัน
รายงานจากบริษัทความปลอดภัย Imperva ที่ไปสำรวจโค้ดของเครื่องมือที่ใช้โจมตีที่เปิดโค้ดไว้บน GitHub พบว่า Python ได้รับความนิยมเป็นอันดับหนึ่ง ด้วยส่วนแบ่งประมาณ 25% ของเครื่องมือทั้งหมด
Imperva วิเคราะห์ว่า Python ได้รับความนิยมสูงเพราะเรียนรู้ง่าย ไม่ต้องมีทักษะการเขียนโปรแกรมมาก ก็สามารถสร้างสคริปต์ที่ใช้ในการโจมตีได้ไม่ยากนัก
ในการจัดอันดับภาษาโปรแกรมยอดนิยมของ TIOBE Index ประจำเดือนกันยายน 2018 มีการเปลี่ยนแปลงที่น่าสนใจคือ Python มาแรง และสามารถเบียด C++ ขึ้นมาเป็นภาษายอดนิยมอันดับ 3 ได้สำเร็จ ถือเป็นครั้งแรกที่ Python เข้าติดชาร์ทในอันดับ Top 3
อันดับหนึ่งยังเป็น Java ที่คะแนน 17.43% ตามด้วยอันดับสอง C ที่ 15.44% ส่วนอันดับสาม Python มีคะแนน 7.65% เบียด C++ ตกไปอันดับสี่ที่ 7.39%
master/slave คือคำที่สื่อความหมายไปในทางไม่ดี ล่าสุด Python ภาษาโปรแกรมที่นิยมใช้กันเป็นอันดับต้นๆ ของโลก ได้ลบคำ master/slave ออกไปแล้ว
เริ่มต้นจาก Victor Stinner นักพัฒนาซอฟต์แวร์ได้ยื่นข้อเสนอให้ใช้คำอื่นแทน master/slave เพราะเป็นการสื่อความหมายถึงทาส ล่าสุดได้ใช้คำแทนคือ “workers” หรือ “helpers” แทนคำว่า Slave และใช้ “parent process” แทน “master process”
Google App Engine ประกาศรองรับภาษาโปรแกรมแบบ standard environment เพิ่มเติมอีก 2 เวอร์ชันคือ Python 3.7 และ PHP 7.2
ปกติแล้ว App Engine มีสภาพแวดล้อมการทำงาน 2 แบบคือ standard environment ที่ใช้รันไทม์จากกูเกิลโดยตรง ราคาถูกกว่า กับ flexible environment ที่ผู้ใช้ติดตั้งรันไทม์เอง ราคาแพงกว่า
ผู้ใช้ Visual Studio คงคุ้นเคยกับฟีเจอร์ช่วยแนะนำการเขียนโค้ด IntelliSense กันเป็นอย่างดี ล่าสุดไมโครซอฟท์จะเปิด IntelliSense ให้กับ IDE ตัวอื่นๆ ที่ไม่ใช่ของตัวเองแล้ว
เบื้องหลังการทำงานของ IntelliSense ในยุคปัจจุบัน ไม่ได้รันอยู่บน Visual Studio โดยตรง แต่รันบน Language Server ที่ทำหน้าที่อ่านและวิเคราะห์โค้ดในแต่ละภาษา แล้วส่งข้อมูลกลับไปยังตัว IDE ผ่าน Language Server Protocol (LSP) ที่ใช้ฟอร์แมตแบบ JSON
ไมโครซอฟท์พัฒนา Language Server Protocol (LSP) ขึ้นมาเพื่อใช้กับ Visual Studio Code สามารถเพิ่มภาษาใหม่ๆ ได้ง่าย เพราะเพียงแค่เพิ่มเซิร์ฟเวอร์ของภาษาใหม่มาอีกตัวเท่านั้น
หลังจากต้นปีที่ผ่านมา Github เปิดบริการสแกนช่องโหว่อัตโนมัติจากโครงการที่มีภาษา Ruby และ Javascript ล่าสุด Github ประกาศเพิ่มภาษา Python เข้าไปเป็นภาษาที่ 3 แล้ว
เช่นเดิม โครงการที่มีภาษา Python และเปิดเป็นสาธารณะจะสามารถเข้าถึง dependency graph พร้อมบริการแจ้งเตือนโดยอัตโนมัติ ส่วนโครงการแบบเสียเงินจะต้องเปิดสิทธิ์ให้ Github เข้าถึง โดยโครงการที่จะใช้ฟีเจอร์นี้ได้จะต้องมีไฟล์ requirements.txt และ Pipfile.lock อยู่ในโครงการด้วย
ที่มา - Github
Guido van Rossum ผู้สร้างภาษาไพธอน ประกาศลาออกจากตำแหน่ง "Benevolent dictator for life" (BDFL) ของโครงการไพธอน ซึ่งผู้ถือตำแหน่งนี้มีสิทธิ์ชี้ขาดการตัดสินใจทั้งหมดในโครงการตามที่เห็นสมควร แม้การตัดสินใจนั้นจะสวนทางกับมุมมองของชุมชน
การประกาศลาออกครั้งนี้เป็นผลมาจากการถกเถียงอย่างหนักว่าด้วยการออกมาตรฐาน PEP 572 ของตัวภาษาไพธอน ทั้งนี้มาตรฐาน PEP 572 พยายามเพิ่มตัวดำเนินการ :=
ที่สามารถใช้เป็นตัวดำเนินการแจกแจงค่า (assignment operator) และตัวดำเนินการทางตรรกศาสตร์ (boolean operator) ได้พร้อมกัน
Guido van Rossum กล่าวไว้ในจดหมายของเขาว่า
Digilent ผู้ผลิตบอร์ดพัฒนา FPGA มาเป็นเวลานานเปิดตัวบอร์ด PYNQ-Z1 บอร์ดพัฒนาที่ใช้ชิป Xilinx ZYNQ XC7Z020-1CLG400C ที่ภายในมีซีพียู ARM Cortex-A9 สองคอร์ และวงจรส่วนที่โปรแกรมได้ สามารถใช้ไลบรารี PYNQ วางวงจรลงไปแทนที่จะใช้โค้ด VHDL หรือ Verilog ในการพัฒนา
PYNQ เปิดให้นักออกแบบวงจรสร้างไลบรารีฮาร์ดแวร์ขึ้นมา และให้นักพัฒนาแอปพลิเคชั่นเรียกใช้ได้โดยง่ายผ่านทางไลบรารีไพธอนและ Jupyter แนวทางนี้ทำให้นักพัฒนาสามารถแยกงานระหว่างคนออกแบบฮาร์ดแวร์และซอฟต์แวร์ออกจากกัน โดยยังได้ความเร็วของฮาร์ดแวร์อยู่
นักพัฒนาไพธอนส่วนมากคงใช้เครื่องมือฟรีกันจนชินเป็นปกติ เช่น VSCode หรือ IPython แต่ชุดซอฟต์แวร์ Humble Bundle ชุดใหม่อาจจะเปิดเส้นทางสู่การเสียเงิน
ชุด Python Dev Kit รวมเอาตั้งแต่ IDE อย่าง PyCharm และไคลเอนต์ git อย่าง GitKraken บริการตรวจสอบความปลอดภัยไลบรารี PyUP และ Postman บริการสภาพแวดล้อมสำหรับพัฒนา API สำหรับหนังสือและความรู้ก็ยังมีสมาชิก Egghead.io เป็นเวลา 6 เดือนและหนังสือ Fluent Python สำหรับผู้ที่เขียนไพธอนเป็นอยู่แล้วแต่ต้องการพัฒนาความรู้เพิ่มเติม
ที่มา - Humble Bundle
Red Hat ประกาศออก Red Hat Enterprise Linux (RHEL) เวอร์ชัน 7.5 ที่มีของใหม่เป็นจำนวนมาก
การเปลี่ยนแปลงพื้นฐานคืออัพเดตเวอร์ชันของซอฟต์แวร์ที่ใช้งาน เช่น GNOME 3.26, LibreOffice 5.3, รองรับฮาร์ดแวร์รุ่นใหม่ๆ ตามเวอร์ชันของเคอร์เนล, ปรับปรุงการทำงานร่วมกับ Active Directory บน Windows Server 2016, รองรับ Distributed File System (DFS) บน SMB v2/v3, ผนวกเอาเครื่องมือจัดการอย่าง Cockpit และปรับปรุงการทำงานร่วมกับ Ansible
RHEL 7.5 ยังรองรับสถาปัตยกรรมอื่นนอกจาก x86-64 ได้แก่ ARM64, IBM POWER9 และ IBM z Systems
เมื่อไม่นานมานี้ Anaconda, Inc. ผู้พัฒนาแพลตฟอร์ม data science ชื่อดังได้ประกาศความร่วมมือกับไมโครซอฟท์ เพื่อนำ Anaconda Python ไปใช้งานภายในผลิตภัณฑ์และบริการของไมโครซอฟท์เริ่มต้นจาก Azure Machine Learning, Machine Learning Server, Visual Studio และ SQL Server (อ่านรายละเอียดทั้งหมดที่นี่)
ผลจากข้อตกลงดังกล่าวทำให้ทางฝั่ง Anaconda ได้รับสิทธิแจกจ่ายเครื่องมือพัฒนาของไมโครซอฟท์อย่าง Visual Studio Code เช่นกัน โดยตั้งแต่กลางเดือนกุมภาพันธ์ที่ผ่านมาทางบริษัทได้ผนวก VS Code เข้ามาในตัวติดตั้งของ Anaconda distribution เครื่องมือจัดการแพคเกจ Python ซึ่งกำลังเป็นที่นิยมอย่างมาก เพื่อช่วยให้ผู้ใช้ Anaconda ใช้งาน VS Code ได้สะดวกขึ้น
การแข่งขันเขียนโปรแกรมแก้โจทย์ปัญหาระดับอุดมศึกษา ACM-ICPC รองรับการส่งคำตอบด้วยภาษาโปรแกรม Python และ Kotlin สำหรับรอบการแข่งขันรอบชิงแชมป์โลก 2018 แล้ว
การรองรับภาษา Python นั้นเริ่มตั้งแต่ปีที่ผ่านมา โดยผู้เข้าแข่งขันสามารถเลือกได้ว่าจะใช้ Python 3.5 พร้อม interpreter จากผู้พัฒนาภาษาเพื่อความสามารถใหม่ๆ หรือจะถอยไปใช้ Python 2.7 ที่รันบน PyPy อีกที เพื่อเร่งความเร็วในการคำนวณก็ย่อมได้
ส่วนภาษา Kotlin 1.1 ที่เพิ่งเพิ่มเข้ามาในปีนี้ ก็ทำให้การแข่งขันดังกล่าวรองรับการส่งคำตอบมากถึง 5 ภาษา ซึ่งภาษาอื่นๆ ได้แก่ C, C++ และ Java ที่อยู่คู่การแข่งขันมาอย่างยาวนานนั่นเอง
ทีมพัฒนา Django ได้ปล่อย Django 2.0 เวอร์ชันจริงแล้ว โดยมีการปรับปรุงหลายรายการ ซึ่งมีสิ่งที่น่าสนใจดังนี้
ไมโครซอฟท์รับ Don Jayamanne ผู้สร้างส่วนเสริม Python สำหรับ VSCode เข้าทำงานในบริษัท หลังจากส่วนเสริม Python ได้รับความนิยมสูงสุด มีจำนวนการติดตั้งกว่าสี่ล้านครั้ง
ความเปลี่ยนแปลงครั้งนี้ทำให้ส่วนเสริม Python จะเปลี่ยนชื่อผู้ผลิตเป็นไมโครซอฟท์เอง และโค้ดหลักก็จะย้ายจาก https://github.com/DonJayamanne/pythonVSCode ไปยัง https://github.com/microsoft/vscode-python โดยไมโครซอฟท์สัญญาว่าจะให้ความสำคัญกับส่วนเสริมนี้มากขึ้นพร้อมกับประกาศรับสมัครคนมาช่วยพัฒนาเพิ่มเติม โดยให้ส่งเมลไปที่ pythonjobs@microsoft.com
ตอนนี้ส่วนเสริมสำหรับการรองรับภาษาใน VSCode สามอันดับแรกกลายเป็นของไมโครซอฟท์ทั้งหมด ได้แก่ ภาษา Python, C/C++, และ C#
Uber เปิดตัวภาษาโปรแกรมมิ่งแบบใหม่ชื่อว่า Pyro โดยมีจุดประสงค์สำหรับการเน้นให้นักพัฒนาสร้างโมเดลความเป็นไปได้ (probabilistic model) สำหรับการวิจัยด้าน AI ซึ่งถือเป็นโครงการที่เผยสู่สาธารณะครั้งแรกของ Uber AI Labs ซึ่งเป็นแล็บพัฒนาด้าน machine learning และนำผลวิจัยมาประยุกต์ใช้กับสิ่งต่าง ๆ เช่น รถยนต์ขับเคลื่อนอัตโนมัติ, การบินในเมือง, การปรับปรุงเมือง และความปลอดภัยในการขับขี่ยานพาหนะ
Stack Overflow เผยสถิติความนิยมของภาษาโปรแกรมมิ่งบนเว็บไซต์ของตัวเอง โดย Python เป็นภาษาที่มีอัตราการเติบโตสูงมากในรอบ 5 ปีที่ผ่านมา โดยจะเฉพาะจากกลุ่มประเทศพัฒนาแล้ว-รายได้สูงที่มีสัดส่วนทราฟฟิก 64% ของเว็บไซต์
สถิติของ Stack Overflow ย้อนกลับไปถึงปี 2011 พบว่าอัตราการเติบโตของ Python เพิ่มสูงมาก และในเดือนมิถุนายน 2017 แท็ก Python กลายเป็นแท็กอันดับหนึ่งของเว็บไซต์ แซงหน้า Java/JavaScript เป็นที่เรียบร้อย
กูเกิลออก Python Fire เครื่องมือช่วยเหลือคนเขียนโปรแกรมภาษา Python ที่จะช่วยสร้างอินเทอร์เฟซผ่านคอมมานด์ไลน์ (CLI) ให้อัตโนมัติ ไม่ต้องเขียนส่วนนี้เอง โดย Python Fire จะอ่านโค้ดของเราแล้วเขียนส่วนการรับอาร์กิวเมนต์ (argument) รวมถึงส่วนของ Help ให้เลย ตัวโปรแกรมจะอ่านค่าวัตถุประเภทต่างๆ ไม่ว่าจะเป็นฟังก์ชัน คลาส หรือตัวแปรให้เรา
Python Fire ออกมาเป็นตัวช่วยให้พัฒนาและตรวจสอบโค้ดในภาษา Python ได้ง่ายขึ้น และเชื่อมการทำงานระหว่าง Bash กับ Python ด้วย
ชื่อ Fire ในที่นี้หมายถึง 'พ่น' หรือ 'ยิง' (fire off) ซึ่งหมายถึงการยิงคำสั่งผ่านคอมมานด์ไลน์นั่นเอง
ตัวอย่างโค้ดภาษา Python
Dropbox เปิดตัว Pyston ที่คอมไพล์โค้ดเป็นส่วนๆ ด้วย LLVM เพื่อเร่งประสิทธิภาพมาตั้งแต่ปี 2014 แต่ล่าสุดบริษัทก็ประกาศหยุดสนับสนุนโครงการนี้แล้ว
สาเหตุที่ Dropbox หยุดโครงการ คือพบว่าการทำคอมไพล์เลอร์ให้เข้ากับ CPython นั้นทำได้ลำบาก และมีข้อกังวลเรื่องการใช้หน่วยความจำ ขณะเดียวกันภายใน Dropbox ก็ย้ายโค้ดส่วนที่ต้องการประสิทธิภาพไปใช้ภาษา Go มากขึ้นเรื่อยๆ
กูเกิลเปิดตัวโครงการ Grumpy ตัวแปลงโค้ดภาษา Python เป็นภาษา Go แล้วรันได้ในตัว โดยเป้าหมายของโครงการคือโค้ดที่เป็นภาษา Python ล้วนทั้งหมดจะสามารถรันบน Grumpy ได้ทันที
Grumpy เกิดจากความต้องการของกูเกิลที่รันโค้ด Python จำนวนมาก แต่โค้ดเหล่านั้นกลับไม่สามารถกระจายโหลดไปตามจำนวนเธรดได้ดีพอ จากข้อจำกัด global interpreter lock (GIL) ที่เป็นข้อจำกัดของ Python มาเป็นเวลานาน ทำให้บริการที่ใช้ Python มากๆ เช่น YouTube มีปัญหาไม่สามารถขยายระบบได้ดีนัก
โค้ดที่เขียนสำหรับ Grumpy โดยเฉพาะจะสามารถ import โมดูลของภาษา Go มาใช้งานได้ด้วย เช่น การเรียกโมดูล net/http