หลังจากทิ้งช่วงไปนาน ตอนนี้ Ruby 2.0 ได้เข้าสู่สถานะพรีวิวแรกแล้ว โดยมีของใหม่เช่น
#to_h
ผู้สนใจสามารถดาวน์โหลด source ไป build เล่นเองได้ที่นี่ ต้องเตือนไว้ก่อนว่าบางฟีเจอร์ยังไม่ได้ implement นะครับ
ส่วนกำหนดการสำหรับรุ่นนี้คือ code freeze ช่วงคริสต์มาส และออกรุ่นจริงวันที่ 24 กุมภาพันธ์ครับ
Blognone เสนอข่าว "ช่องโหว่" ความปลอดภัยซอฟต์แวร์เป็นจำนวนมาก แม้ช่องโหว่หลายอย่างมาจากการวิเคราะห์ทางคณิตศาสตร์ของกระบวนการเข้ารหัสที่ซับซ้อนแต่ในความเป็นจริงแล้ว ช่องโหว่ส่วนมากมาจากปัญหาเหมือนๆ กันคือการไม่ระวังการใช้บัฟเฟอร์ ทำให้ข้อมูลที่วางลงไปยังบัฟเฟอร์มีขนาดเกินที่เผื่อไว้ ทำให้แฮกเกอร์เข้ามาวางโค้ดเอาไว้ และควบคุมให้มีการรันโค้ดนั้นๆ ได้
กระบวนการแฮกจากช่องโหว่บัฟเฟอร์เป็นกระบวนพื้นฐานอันหนึ่งที่ควรรู้เพื่อจะศึกษาและป้องกันช่องโหว่ในซอฟต์แวร์
{syntaxhighlighter brush:cpp}#include <string.h>
void foo (char *bar)
{
char c[12];
strcpy(c, bar); // ไม่ตรวจขนาด input
}
เมื่อหนึ่งปีที่แล้ว [กูเกิลเปิดตัวภาษา Dart ภาษาโปรแกรมชนิดใหม่สำหรับงานบนเว็บ](http://www.blognone.com/news/26963/%E0%B8%81%E0%B8%B9%E0%B9%80%E0%B8%81%E0%B8%B4%E0%B8%A5%E0%B9%80%E0%B8%9B%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B8%A7%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2-dart-%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%82%E0%B8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1%E0%B8%8A%E0%B8%99%E0%B8%B4%E0%B8%94%E0%B9%83%E0%B8%AB%E0%B8%A1%E0%B9%88%E0%B8%AA%E0%B8%B3%E0%B8%AB%E0%B8%A3%E0%B8%B1%E0%B8%9A%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B8%9A%E0%B8%99%E0%B9%80%E0%B8%A7%E0%B9%87%E0%B8%9A) โดยตั้งใจให้เป็นภาษาสคริปต์แบบใหม่ที่มาทดแทน JavaScript
ถัดจากที่ Codecademy มีบทเรียน Python รอบนี้ก็ถึงคราวของ Ruby แล้วครับ
Ruby เป็นภาษาที่สร้างชื่อเสียงจากไวยากรณ์ที่เน้นความสนุกในการเขียนโปรแกรมเป็นหลัก ถ้ายังจำกันได้ RPG Maker โปรแกรมสำหรับสร้างเกมแนว RPG ก็สามารถเขียน Ruby เข้าไปได้ และการมาถึงของ web framework อันโด่งดังอย่าง Ruby on Rails ก็ทำให้ภาษานี้ได้รับความนิยมจนติด 20 อันดับแรกของดัชนี TIOBE มาโดยตลอด
เข้าไปเรียน Ruby 1.9.3 เบื้องต้นได้เลยที่นี่ งานนี้ฟรีเช่นเคยครับ
จุดอ่อนอันยิ่งใหญ่ของ JavaScript นั้นเป็นผลพวงจากการที่ตัวภาษาถูกออกแบบมาไม่ดีเท่าที่ควร ไม่ว่าจะเป็นการใช้ scope แบบ functional (คล้ายภาษา LISP) แต่กลับเขียนไวยากรณ์ในแบบ procedural (คล้ายภาษา C) ซ้ำยังอนุญาตให้เลือกว่าจะใส่ semicolon (;) ท้ายประโยคหรือไม่ก็ได้ ไปจนถึงชื่อของภาษาที่ทำให้หลายคนเข้าใจผิดว่ามันคือ Java ขนาดย่อมๆ เสียอีก นี่ทำให้การพัฒนาโปรแกรมที่ดีบน JavaScript ยุ่งยากมากสำหรับมือใหม่
Raspberry Pi ถูกนำไปใช้ในวงการศึกษาอีกครั้ง หลังจาก Broadcom ผู้ผลิตชิปสำหรับสื่อสารไร้สาย จัดงานให้ผู้เข้ารอบสุดท้ายในโครงการ Broadcom MASTER ที่คัดเด็กมัธยมจำนวนสามสิบคนจากแต่ละสาขา มาเรียนรู้การเขียนโปรแกรมบน Raspberry Pi
ในงานดังกล่าว ทีมงานของ Broadcom จะคอยช่วยเด็กให้สร้างเกมบน Rapsberry Pi และก็มีผลงานเกมออกมาเช่น เกมงูที่สามารถเล่นได้หลายคน เป็นต้น
เว็บไซต์ VentureBeat สัมภาษณ์ Andi Gutmans หนึ่งในผู้ร่วมพัฒนา PHP เวอร์ชันแรกๆ และผู้ก่อตั้งบริษัท Zend ถึงอนาคตของ PHP
Gutmans บอกว่าภาษากลุ่มไดนามิกกินตลาดจาก Java กับ .NET มาได้บ้าง แต่ถ้าแข่งขันเองในกลุ่มภาษาไดนามิกแล้ว คู่แข่งอื่นๆ อย่าง Ruby หรือ Node.js ไม่อยู่ในสายตา เพราะ PHP มองว่าต้องไปต่อสู้กับ Java และ .NET เท่านั้น
Gutmans บอกว่า PHP เป็นหนึ่งในภาษาโปรแกรมไม่กี่ภาษาที่เจาะตลาดองค์กรได้สำเร็จ และจะเดินหน้าไปในทิศทางนี้ต่อไป ปัจจุบันประกาศหางานด้านโปรแกรมเมอร์ในเว็บ Craiglist ครึ่งหนึ่งเป็นงานเกี่ยวกับ PHP
ไมโครซอฟท์ประกาศปล่อยภาษาบนเว็บไซต์ตัวใหม่ชื่อว่า TypeScript รุ่นสำหรับนักพัฒนา ซึ่งเป็นภาษาแบบ open source ภายใต้อนุสัญญา Apache 2.0 ที่มีหน้าตาคล้ายกับ JavaScript เป็นอย่างมาก แต่ได้เพิ่มฟีเจอร์ใหม่ ๆ เข้าไปใน TypeScript อย่างเช่น
ทั้งหมดนี้จะทำให้เขียนโค้ดได้หลากหลายขึ้น และการคอมไพล์โค้ดทั้งหมดออกมาเป็นแบบ JavaScript พูดสั้น ๆ ว่า TypeScript ก็คือ JavaScript ที่ทำให้นักพัฒนาสามารถเขียน JavaScript ได้ง่ายขึ้นนั่นเอง
ความคิดที่จะทำให้การเขียนจาวาสามารถสร้างแอพพลิเคชั่นบนอุปกรณ์พกพาไม่ได้มีเพียงกูเกิลเท่านั้น บริษัท Codename One ได้ออกปลั๊กอินสำหรับ IDE ยอดนิยมของจาวาคือ Eclipse และ NetBeans โดยปลั๊กอินตัวนี้จะส่งโค้ดจาวาที่ถูกคอมไพล์แล้วขึ้นไปบน cloud server เพื่อแปลงกลับมาเป็นซอร์สโค้ดสำหรับแต่ละอุปกรณ์
Chen Fishbein และ Shai Almog ก่อตั้ง Codename One ในปี 2012 โดย Fishbein เป็นผู้สร้าง Lightweight User Interface Toolkit (LWUIT) และ Sprint Wireless Toolkit ซึ่งเป็นเครื่องมือสำหรับ Java ME
กูเกิลออกเครื่องมือแปลงโค้ดชื่อ J2ObjC หน้าที่ของมันก็ตามชื่อคือแปลงโค้ดภาษา Java เป็น Objective-C
เครื่องมือตัวนี้จะช่วยให้เราเขียนแอพบน iOS ด้วยภาษา Java ได้ เป้าหมายของกูเกิลคือต้องการให้นักพัฒนาแอพสามารถพัฒนาโค้ดพื้นฐานด้วยภาษา Java เพียงชุดเดียว ส่วนตัว GUI ก็เลือกได้ว่าจะใช้อะไรเขียนตามแพลตฟอร์มที่ต้องการ (เช่น Android/Java, iOS/Objective-C, Web/GWT)
J2ObjC จะแปลงคลาสของ Java เป็นคลาสของ Objective-C โดยอิงกับ iOS Foundation Framework เป็นหลัก รองรับตัวภาษา Java 6 เต็มรูปแบบ และสามารถแปลงโค้ดส่วนของ JUnit ได้ด้วย ใครสนใจเขียนแอพมือถือแบบ (เกือบ) ข้ามแพลตฟอร์ม ก็ไปดาวน์โหลดมาทดสอบกันได้
Codecademy เว็บสอนการเขียนโปรแกรมแบบโต้ตอบ (มี interpreter ให้เล่นผ่านเว็บ) ได้เพิ่มหลักสูตรการเขียนโปรแกรมด้วยภาษา Python แล้ว
แต่เดิมนั้น Codecademy มีเพียงแค่หลักสูตรเขียนเว็บด้วยเทคโนโลยีฝั่ง client-side เท่านั้น (HTML, JavaScript, CSS) สำหรับ Python ถือเป็นหลักสูตรแรกที่ไม่ได้เจาะจงไปยังเทคโนโลยีเว็บโดยตรง ซึ่งนับเป็นนิมิตหมายอันดีที่จะได้เห็นภาษาอื่นๆ อีกมากมายในอนาคตครับ
เข้าไปเริ่มต้นเรียน Python ได้เลยทันที งานนี้ฟรีทุกอย่างถ้ามีเวลาให้ครับ
ที่มา: TechCrunch
Raspberry Pi บริษัททำคอมพิวเตอร์จิ๋วที่กำลังเป็นที่จับตามอง จัดงานแข่งขันสำหรับเด็กวัยประถม/มัธยมศึกษา พัฒนาโปรแกรมอะไรก็ได้ที่น่าสนใจ ภายใต้ข้อแม้ว่าโปรแกรมต้องสามารถทำงานได้บนเครื่อง Raspberry Pi ครับ
รายละเอียดเทคนิคคือ ใช้ภาษาอะไรก็ได้ตามแต่ถนัด (ตั้งแต่ C ยัน Python หรือจะใช้ Scratch ก็ย่อมได้) ที่สามารถทำงานได้บน Raspberry Pi (OS มาตรฐานเป็น Raspbian) ส่วนถ้าใครยังไม่มีเครื่อง Raspberry Pi ก็ไม่ต้องเสียใจ ดาวน์โหลด emulator มาพัฒนาโปรแกรมลงแข่งขันได้ครับ
กำหนดการออก Java 8 แต่เดิมคือต้องออกภายในปีนี้ แต่เมื่อปีที่แล้วก็มีเหตุการณ์ทำให้ออราเคิลตัดสินใจเลื่อนกำหนดการออกไปเป็นกลางปี 2013 ล่าสุด Mark Reinhold หัวหน้าฝ่ายสถาปัตยกรรมจาวา ก็ออกมาเขียนบล็อกว่าข้อเสนอตอนนี้คือต้องเลื่อนการออก Java 8 ออกไปอีกหนึ่งปีเป็นปี 2014
ดัชนี TIOBE ที่พยายามวัดความนิยมของภาษาโปรแกรมออกสถิติเดือนกรกฎาคมพบสิ่งน่าสนใจคือภาษา Objective-C ที่ได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่องมาตลอด ได้คะแนนในดัชนีจนแซงหน้าภาษา C++ ไปแล้ว
ภาษา C++ มีความนิยมเป็นอันดับสามรองจากภาษา C และ Java มาตั้งแต่เริ่มวัดดัชนี TIOBE ช่วงกลางปี 2001 แต่ความนิยมตามดัชนีก็ตกลงมาเรื่อยๆ อย่างช้าๆ เช่นเดียวกับภาษา Java ที่มีแนวโน้มได้รับความนิยมลดลงเช่นเดียวกัน
น่าสนใจว่าขณะที่ภาษา Objective-C นั้นได้รับความนิยมเพราะการเติบโตของ iOS เป็นหลัก การเติบโตของแอนดรอยด์ที่ใช้ Java เป็นแกนกลางกลับไม่สามารถดันความนิยมให้กลับขึ้นมาตามดัชนีนี้ได้
ที่มา - TIOBE
ไมโครซอฟท์ออก on{X} ที่เป็นระบบคริปต์สำหรับโทรศัพท์แอนดรอยด์ช่วยให้ผู้ใช้สามารถตั้งค่าเหตุการณ์ที่จะทำงานตามที่ตั้งไว้ได้ เชน เมื่อเข้าไปถึงสถานที่บางแห่งแล้วให้ส่ง SMS แจ้งคนที่เราระบุ
เหตุการณ์เริ่มต้นที่จะเรียกคำสั่งนั้นมีตั้งแต่สถานที่ที่เราอยู่, เวลา, ข่าวที่เข้ามา, สัญญาณ Wi-Fi, และแบตเตอรี่ เมื่อถูกเหตุการณ์เป็นไปตามที่เรากำหนดแล้ว เราสามารถเขียนสคริปต์เป็นจาวาสคริปต์เพื่อกำหนดการทำงานต่อไปได้
ระบบดูน่าสนใจมาก แต่ไม่แน่ใจว่าทำไมไมโครซอฟท์จึงเลือกพัฒนาระบบนี้บนแอนดรอยด์เป็นระบบแรก อย่างไรก็ดีมันดาวน์โหลดได้ฟรีแล้ววันนี้
การที่ Android ใช้ภาษา Java ทำให้กูเกิลมีปัญหาคดีความกับซันและออราเคิล ทางออกที่เป็นไปได้ในทางทฤษฎีคือเปลี่ยนไปใช้ภาษา-แพลตฟอร์มอื่นแทน ซึ่งก็ไม่ง่ายนักในทางปฏิบัติ
TIOBE เป็นดัชนีวัดอันดับความนิยมของภาษาโปรแกรมผ่านทาง search engine ต่างๆ ซึ่งเดือนเมษายนก็มีอันดับที่น่าสนใจดังนี้ครับ
จากข่าว Facebook ซื้อ Instagram แล้ว ก็คงเป็นบทพิสูจน์ความสำเร็จของ Instagram ได้เป็นอย่างดี แต่จุดเริ่มต้นของ Instagram นั้นแตกต่างจาก Facebook ของ Mark Zuckerberg อยู่มากพอสมควร เพราะตอนแรกนั้น Kevin Systrom ซีอีโอของ Instagram เขียนโปรแกรมไม่เป็น
จากข่าวเก่า ตอนนี้ ภาษา Rust ได้ออกเวอร์ชัน 0.2 แล้ว โดยยังคงเป็น alpha release อยู่ การเปลี่ยนแปลงจากเวอร์ชั่นก่อนก็เช่น
ภาษาที่กูเกิลสร้างขึ้นในตอนนี้คงมีสองภาษาสำคัญคือภาษา Dart สำหรับเว็บและภาษา Go สำหรับงานระดับล่างที่ต้องการประสิทธิภาพสูง ถ้าใครมีโอกาสฝึกภาษา Go มาก่อนหน้านี้จะพบว่าภาษาและไลบรารีมีการพัฒนาที่เร็วมากจนกระทั่งโค้ดเดิมใช้งานไม่ได้แม้พัฒนามาไม่นาน นั่นเป็นเพราะตัวภาษา Go ยังอยู่ระหว่างการพัฒนา แต่วันนี้กูเกิลก็ประกาศภาษา Go รุ่น 1.0 ที่จะรับประกันความเข้ากันได้ในรุ่นต่อๆ ไป (forward compatibility)
ความคืบหน้าของโครงการ App Inventor ที่สร้างโดยกูเกิล แต่ภายหลัง
นอกเหนือจากภาษายอดนิยมอย่าง C++, Java แล้ว กลุ่มภาษาที่กำลังมาแรงน่าจับตามองคงหนีไม่พ้น PHP, Python และ Ruby ที่ต่างยึดพื้นที่การใช้งานในด้านต่างๆ เป็นของตัวเอง
บล็อกของ Udemy ซึ่งเป็นวิทยาลัยออนไลน์ในต่างประเทศ ได้สร้าง infographic ข้อมูลของภาษาทั้ง 3 เปรียบเทียบกัน ผมคัดข้อมูลที่น่าสนใจบางส่วนมาไว้ตรงนี้ ข้ามไปดูที่รูปสำหรับข้อมูลเต็มๆ ได้ในข่าวเลยครับ
กูเกิลเปิดตัวภาษา Dart มาก่อนหน้านี้โดยออกแบบให้เบราว์เซอร์สามารถรองรับภาษา Dart ได้โดยตรงหรืออาจจะรองรับผ่านการคอมไพล์เป็น JavaScript ก่อน และตอนนี้เบราว์เซอร์ที่รองรับโดยตรงรุ่นทดสอบก็ออกมาแล้วในชื่อ Dartium
Dartium เป็น Chromium เดิมที่เพิ่ม VM ของ Dart เข้าไปเท่านั้น ผู้พัฒนาพยายามเดือนว่าอย่าใช้ Dar
tium เพื่อใช้งานจริงเพราะอาจจะมีปัญหาความปลอดภัยได้ มาตรการบังคับห้ามใช้งานนี้รวมถึงตัวเบราว์เซอร์จะหมดอายุใช้งานไม่ได้เมื่อใช้งานครบช่วงเวลากำหนดด้วย
มีให้ดาวน์โหลดทั้ง แมค, ลินุกซ์, และวินโดวส์
ที่มา - Dart
จากที่ กูเกิลเปิดตัวภาษา Dart ภาษาโปรแกรมชนิดใหม่สำหรับงานบนเว็บ โดยออกมาชนกับ JavaScript โดยตรง (ด้วยคุณสมบัติบางอย่างที่เหนือกว่า) ล่าสุดกูเกิลออก
Rust เป็นภาษาโปรแกรมภาษาใหม่ที่พัฒนาโดย Mozilla โดยมุ่งเป้าว่าต้องการเป็นภาษาสำหรับงานประมวลผลที่ทำงานพร้อมๆ กัน (concurrency) และทำงานบนระบบขนาดใหญ่ ออกแบบมาไม่ให้มีปัญหาด้านหน่วยความจำอย่าง buffer overflow
การใช้งานจะเป็นระบบคอมไพล์ ตัว syntax ของภาษาจะคล้ายกับ C/C++ คือเป็นภาษาที่ใช้วงเล็บปีกกา {} และประกาศตัวแปรแบบ static
ตอนนี้สถานะของ Rust ยังเป็นเวอร์ชัน 0.1 รุ่นทดสอบ ความสามารถและประสิทธิภาพยังไม่สมบูรณ์มากนัก ตัวซอร์สโค้ดของเครื่องมือต่างๆ เปิดเป็นโอเพนซอร์สด้วยสัญญาอนุญาตแบบ MIT (โค้ดอยู่บน GitHub)