Tags:
Dart

จากที่ กูเกิลเปิดตัวภาษา Dart ภาษาโปรแกรมชนิดใหม่สำหรับงานบนเว็บ โดยออกมาชนกับ JavaScript โดยตรง (ด้วยคุณสมบัติบางอย่างที่เหนือกว่า) ล่าสุดกูเกิลออก ตารางเปรียบเทียบโค้ด ของทั้งสองภาษานี้แล้ว

รายละเอียดของโค้ดค่อนข้างเยอะ ยกตัวอย่างบางส่วนนะครับ

  • ตัวแปรของ Dart สามารถกำหนดชนิดได้
  • ค่าตั้งต้นของตัวแปรจะเป็น null (ในขณะที่ JavaScript จะเป็น undefined)
  • กำหนด final variable ได้
  • Dart ใช้ List() แทน Array()
  • มีตัวแปรชนิด rawString (จะ escape character ให้เลย)
  • การประกาศฟังก์ชันไม่ต้องใช้คำว่า function
  • จงใจไม่มี eval()

ที่มา - Google Code Blog via Infoworld

Tags:
Rust

Rust เป็นภาษาโปรแกรมภาษาใหม่ที่พัฒนาโดย Mozilla โดยมุ่งเป้าว่าต้องการเป็นภาษาสำหรับงานประมวลผลที่ทำงานพร้อมๆ กัน (concurrency) และทำงานบนระบบขนาดใหญ่ ออกแบบมาไม่ให้มีปัญหาด้านหน่วยความจำอย่าง buffer overflow

การใช้งานจะเป็นระบบคอมไพล์ ตัว syntax ของภาษาจะคล้ายกับ C/C++ คือเป็นภาษาที่ใช้วงเล็บปีกกา {} และประกาศตัวแปรแบบ static

ตอนนี้สถานะของ Rust ยังเป็นเวอร์ชัน 0.1 รุ่นทดสอบ ความสามารถและประสิทธิภาพยังไม่สมบูรณ์มากนัก ตัวซอร์สโค้ดของเครื่องมือต่างๆ เปิดเป็นโอเพนซอร์สด้วยสัญญาอนุญาตแบบ MIT (โค้ดอยู่บน GitHub)

Tags:
Android

เมื่อเดือนสิงหาคม 2011 กูเกิลประกาศปิดเครื่องมือสร้างแอพผ่านเว็บ Android App Inventor ซึ่งภายหลัง สถาบันการศึกษาอย่าง MIT ก็ประกาศว่าจะรับช่วงดูแลมันต่อในฐานะโครงการโอเพนซอร์ส

จากนั้นข่าวคราวของโครงการนี้ก็เงียบไปพักใหญ่ จนล่าสุด MIT และกูเกิลออกมาประกาศเปิดซอร์สโค้ดเสร็จเรียบร้อย โครงการจะอยู่บน Google Code ที่ app-inventor-releases ใครสนใจก็เข้าไปดูเองตามสะดวก

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

ที่มา - MIT App Inventor via Hack Education

Tags:
Facebook

โอกาสดีของคนที่ดูภาพยนตร์ The Social Network และอยากไปแข่งขันเขียนโปรแกรมที่สำนักงานใหญ่ของ Facebook บ้าง เพราะ Facebook ประกาศการแข่งขันเขียนโปรแกรม Hacker Cup ครั้งที่สอง (ข่าวของ Hacker Cup ครั้งแรก) ซึ่งคนไทยก็มีสิทธิเข้าร่วม

Hacker Cup จะเป็นการแข่งขันออนไลน์ 4 รอบ (รอบแรกเริ่ม 20 ม.ค. ถ้าจะสมัครก็รีบๆ เลยครับ) จากนั้นจะคัดเลือกผู้เข้ารอบ 25 คนบินไปแข่งรอบสุดท้ายที่สำนักงานใหญ่ของ Facebook ในเดือนมีนาคม (ค่าใช้จ่ายออกให้ทั้งหมด)

รางวัลชนะเลิศคือเงิน 5,000 ดอลลาร์ อาจดูไม่เยอะนัก แต่เมื่อคิดรวมกับโอกาสในการทำงานกับ Facebook ของผู้ชนะหรือผ่านเข้ารอบก็คงคุ้มค่า

รูปแบบการแข่งขันจะเน้นอัลกอริทึมของโปรแกรม (แบบเดียวกับ Google Code Jam) ไม่จำกัดภาษาและเครื่องมือที่ใช้ (Visual Studio ก็ใช้ได้) โจทย์จะให้มาเป็น HTML รายละเอียดอ่านต่อใน FAQ

ที่มา - Facebook

Tags:
Grails

Grails เฟรมเวิร์คการพัฒนาเว็บที่เขียนเลียนแบบ Ruby on Rails (แต่ใช้กับภาษา Groovy แทน Ruby) ออกรุ่น 2.0 ตัวจริงแล้ว

แพลตฟอร์ม Groovy/Grails นั้นรันอยู่บน Java VM (แต่ใช้ภาษา Groovy ที่ต่างออกไปจากภาษา Java) และพัฒนาโดยบริษัท Springsource เจ้าของเดียวกับ Spring (เดิมที Grails พัฒนาโดยบริษัท G2One แต่โดน Springsource ซื้อกิจการทีหลัง)

สำหรับ Grails 2.0 มีของใหม่มากมาย เช่น รองรับซอฟต์แวร์เครือญาติรุ่นใหม่ๆ อย่าง Groovy 1.8, Spring 3.1, Hibernate 3.6, Servlet 3.0 นอกจากนี้ยังปรับปรุง console UI ใหม่, ปรับปรุงการโหลดตัวแอพให้ต้องการ restart น้อยลง, รองรับ GORM สำหรับ NoSQL, เพิ่ม API ใหม่ๆ เป็นต้น รายละเอียดดูจาก What’s new in Grails 2.0?

ที่มา - Springsource Blog, ReadWriteWeb

Tags:
HipHop

ข่าวนี้เหมาะมากสำหรับคนที่สนใจเรื่องการออกแบบคอมไพเลอร์นะครับ (มีหรือเปล่าหว่า?)

ย้อนความกันหน่อยว่า เว็บไซต์ขนาดมหึมาอย่าง Facebook ถูกเขียนขึ้นมาด้วย PHP แต่จำนวนผู้ใช้ระดับนี้ ต้องการประสิทธิภาพที่สูงกว่า PHP ทั่วไป และแนวทางมาตรฐานของวงการคือแปลงฟังก์ชันบางส่วนเป็น C++ เพื่อรีดประสิทธิภาพให้ดียิ่งขึ้น

อย่างไรก็ตาม การแปลบางส่วนของโค้ด PHP เป็น C++ จะมีปัญหาเรื่องการดูแลรักษาโค้ดในระยะยาว (โดยเฉพาะโค้ดที่ซับซ้อนระดับของ Facebook) ซึ่งทางแก้ของบริษัทก็คือพัฒนา HipHop for PHP เป็นตัวช่วยแปล PHP เป็น C++ โดยอัตโนมัติ นั่นคือตอนโปรแกรมเมอร์เขียนก็เป็นเป็น PHP แต่ตอนใช้งานจริงก็ใช้ HipHop ช่วยแปลเป็น C++ ให้ แล้วนำไปคอมไพล์ตามปกติอีกครั้ง (รายละเอียดอ่านในข่าวเก่า)

Tags:

ดัชนีวัดความนิยมภาษาโปรแกรมนั้น คงมีดัชนี TIOBE ที่ได้รับความนิยมค่อนข้างมาก ล่าสุดทาง TIOBE ก็แถลงดัชนีประจำเดือนธันวาคมออกมาแล้ว

  • สามอันดับแรกยังคงเป็น Java, C, C++ ตามลำดับ แต่ที่น่าสนใจคือ Java นั้นมีความนิยมลดลงอย่างต่อเนื่อง จนตอนนี้เริ่มใกล้ภาษา C แล้ว หากยังเป็นเช่นนี้ปีหน้าดัชนีของ Java ก็อาจจะต่ำกว่า C แล้ว
  • ภาษา C# แม้จะไม่มีข่าวอะไรหวือหวา แต่ก็แซง PHP ขึ้นมาเป็นที่ 4 ได้ แม้เมื่อต้นปีจะเคยแซงไปแล้วครั้งหนึ่ง และตกลงมา ถ้าดูตามช่วงเวลาก็เป็นไปได้ว่า C# นั้นเกาะอยู่กับข่าว Nokia WindowsPhone ดังนั้นต่อจากนี้เราอาจจะเห็นความนิยมของ C# เพิ่มขึ้นต่อเนื่อง และในภาพรวมๆ นั้นภาษา C# ก็ได้ดัชนีเพิ่มขึ้นเรื่อยมา จนแทบบอกได้ว่าส่วนที่หายไปของ Java นั้นไปอยู่กับ C#
  • ที่น่าประทับใจที่สุดคงจะเป็๋นภาษา Objective-C ที่ยังขึ้นไม่หยุดตั้งแต่กลางปี 2009 จนตอนนี้ภาษา Objective-C กลายเป็นภาษาอันดับ 6 ของตารางไปแล้ว
  • อีกภาษาหนึ่งที่เคยยิ่งใหญ่แต่ตกอันดับไปเรื่อยๆ คือ Visual Basic โดยตกจากจุดสูงสุดในปี 2009 จากอันดับ 3 ลงมาอยู่ที่ 7

ดัชนี TIOBE นั้นคำนวณตัวเลขจากหลายแหล่ง โดยเฉพาะตัวเลขจากเครื่องมือค้นหาเช่น Google, Bing, Yahoo!, และ Baidu รวมถึงการสำรวจจากโปรแกรมเมอร์

ที่มา - TIOBE

Tags:
Eclipse

โครงการ Eclipse เปิดตัวภาษา Xtend ที่เป็นภาษาที่มีความสามารถเทียบเท่ากับภาษาจาวา โดยฟีเจอร์ที่สำคัญคือมันสามารถคอมไพล์ภาษาออกมาเป็นไฟล์จาวาที่ "อ่านออก" รายการฟีเจอร์ที่สำคัญเช่น

  • ใช้ระบบ type เดียวกับจาวา
  • type inference ลดความจำเป็นการประกาศชนิดของตัวแปรไปทุกจุด โดยเหลือเท่าที่จำเป็น
  • รองรับ template ในตัว ทำให้ทำงานกับสตริงได้ง่ายขึ้นมาก
  • ระบบ extension ทำให้เพิ่มฟังก์ชั่นให้กับ class ต่างๆ ได้ง่ายขึ้น

ภาษา Xtend สร้างขึ้นโดยใช้โครงสร้างพื้นฐานของโครงการ Xtext ที่มีระบบอำนวยความสะดวกในการสร้างภาษาเฉพาะงาน (Domain Specific Language - DSL) ได้ง่ายขึ้น

ดูฟีเจอร์ต่างๆ ได้จากที่มา ผมอ่านแล้วพบว่าจาวาน่าใช้ขึ้นเยอะ

ที่มา - Xtend

Tags:
TechCrunch

Disrupt เป็นงานสัมมนาทางเทคโนโลยีที่ TechCrunch จัดขึ้นเป็นประจำ แน่นอนว่างานรวมพลคนไอทีอย่างนี้ ไปนั่งฟังอย่างเดียวคงได้เฉาตายแน่ ดังนั้นจึงมีการจัดแข่ง Hackathon ควบคู่ไปด้วยตลอด

งานรอบนี้ค่อนข้างพิเศษหน่อย ตรงที่เป็นงานนอกสหรัฐครั้งแรกครับ โดยสถานที่จัดงานคือกรุงปักกิ่ง เมืองหลวงของประเทศจีนนั่นเอง

Tags:

ต่อเนื่องจากข่าวเมื่อเดือนสิงหาคม มาตรฐาน C++0x ผ่านการโหวตเป็นทางการ, เปลี่ยนชื่อเป็นมาตรฐาน C++11

ล่าสุดทาง ISO ออกมาประกาศมาตรฐาน ISO/IEC 14882:2011 หรือชื่ออย่างเป็นทางการ Information technology – Programming languages – C++ เรียบร้อย โดยภาษา C++11 ถือเป็นการปรับปรุงครั้งใหญ่ของ C++ นับตั้งแต่ปี 1998

ของใหม่ใน C++11 ส่วนมากดึงมาจากภาษาและแพลตฟอร์มการพัฒนาที่เกิดขึ้นภายหลัง เช่น lambda function หรือการปรับปรุงหน่วยความจำให้รองรับมัลติคอร์ (ยังไม่มี garbage collector เพราะทำไม่ทัน แต่จะตามมาในรุ่นอนาคตจากนี้)

Herb Sutter ผู้ประสานงานยกร่างมาตรฐาน C++11 (ทำงานอยู่ที่ไมโครซอฟท์) ให้สัมภาษณ์ว่าระยะหลัง โลกของโปรแกรมมิ่งหันมาสนใจการเขียน managed code มากขึ้น แต่งานที่ยังต้องใช้ C++ ก็คงอยู่ไม่หายไปไหน และเมื่อปรับปรุงเป็น C++11 แล้ว ตัวภาษาจะเขียนง่าย โค้ดสะอาดกว่าเดิม ในขณะที่ "ประสิทธิภาพ" อันเป็นจุดขายของ C++ ก็ยังอยู่เหมือนเดิม

ที่มา - ISO, The Register

Tags:
Dart

จากข่าวเก่า กูเกิลเตรียมเปิดตัว "DART" ภาษาโปรแกรมใหม่สำหรับเว็บ วันนี้มันมาแล้วครับ

Dart (เว็บไซต์) เป็นภาษาสคริปต์สไตล์วงเล็บปีกกาที่คุ้นเคย รองรับ OOP มีแนวคิดของ class และ inheritance ส่วนการประกาศชนิดตัวแปรจะประกาศหรือไม่ก็ได้ (optional types) ช่วยให้การสร้างโค้ดขั้นต้นทำได้เร็ว แต่ก็สามารถมาจัดระเบียบตัวแปรทีหลังได้เช่นกัน

Tags:
United Kingdom

สหราชอาณาจักรเตรียมปรับปรุงหลักสูตร GCSE และ A-level ให้เพิ่มวิชาด้านวิทยาศาสตร์คอมพิวเตอร์เข้ามาในหลักสูตร โดยรัฐมนตรีกระทรวงวิทยาศาสตรนาย David Willetts ได้ประกาศในงานเทศกาลวิทยาศาสตร์สหราชอาณาจักร

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

Tags:
Dart

เดือนตุลาคม วิศวกรของกูเกิล 2 คนคือ Lars Bak (ผู้ออกแบบเอนจินจาวาสคริปต์ V8 ใน Chrome) และ Gilad Bracha (ผู้ร่วมเขียนสเปกภาษา Java และผู้ออกแบบภาษา Newspeak ซึ่งเป็นลูกของ Smalltalk) จะขึ้นพูดที่งานสัมมนาด้านโปรแกรมมิ่ง ซึ่งคาดว่าทั้งคู่จะเปิดตัวภาษาโปรแกรมใหม่ของกูเกิลที่ชื่อ Dart (หรือ DART)

ตอนนี้ยังมีข้อมูลของ Dart ไม่มากนัก มันถูกเรียกว่าเป็นภาษาโปรแกรมใหม่สำหรับงานด้าน "structured web programming" โดยให้เหตุผลว่าภาษาโปรแกรมในปัจจุบัน ถูกสร้างขึ้นมาโดยไม่คำนึงถึงการสร้างเอนจินที่ใช้รันโปรแกรมเหล่านี้ ซึ่งส่งผลให้โปรแกรมช้า ซับซ้อน และกินแรมมาก แต่แนวทางของ Dart จะออกแบบทั้งตัวภาษาและเอนจินไปด้วยกัน ทำให้มันเรียบง่าย ขยายตัวได้ง่าย และมีประสิทธิภาพที่ดี

คาดว่า Dart จะถูกวางตัวเป็นทางเลือกของ JavaScript และอาจรวมเข้ามาใน Chrome เลย หน้าตาสุดท้ายของมันจะออกมาเป็นอย่างไร เราจะรู้กัน 10 ตุลาคมนี้

ที่มา - ReadWriteWeb

Tags:

หลังมาตรฐาน C++0x ผ่านร่างสุดท้าย การโหวตรอบจริงก็ไม่มีปัญหาอะไรเมื่อคณะกรรมการโหวตด้วยมติเอกฉันท์ให้รับมาตรฐานนี้เข้าเป็นมาตรฐาน ISO/IEC 14882:2011 หรือมาตรฐาน C++ ปรับปรุงครั้งที่สาม และได้ชื่อใหม่เป็น C++11 ตามปีที่ออกมาตรฐานสำเร็จ

หลังจากผ่านมาตรฐานแล้ว สิ่งที่เราต้่องรอกันต่อไปคือคอมไพลเลอร์ต่างๆ จะต้องปรับปรุงความสามารถในรองรับกันจนครบถ้วน ซึ่งคอมไพล์เลอร์หลักๆ เช่น gcc หรือ Visual Studio จะรองรับความสามารถบางส่วนไปก่อนหน้านี้แล้ว แต่ก็ยังต้องรออีกสักพักกว่าจะครบถ้วนกันจริงๆ (ดูตารางเทียบการรองรับ)

หลายคนได้ใช้ C++11 แล้วพบว่าเขียนสั้นลงมากจากฟีเจอร์ auto เท่าที่ผมลองดูพบว่าโค้ดเข้าใจง่ายขึ้นมากอีกด้วย การเรียนการสอนในระดับมหาวิทยาลัยอาจจะน่ากลับมาใช้ C++ อีกครั้ง

ที่มา - Herb Sutter

Tags:
Java

Java SE 7 เป็นจาวารุ่นแรกที่พัฒนาภายใต้การดูแลของออราเคิล หลังจากที่การออกจาวารุ่นนี้ล่าช้ามานานตอนนี้มันก็มีให้ดาวน์โหลดอย่างเป็นทางการ

ฟีเจอร์ใหม่ๆ ของจาวารุ่น 7 หลักๆ ได้แก่ รองรับการ switch ด้วยสตริง, API ใหม่สำหรับการเรียกภาษาในกลุ่มภาษา Dynamic ให้ทำงานเร็วขึ้น, API สำหรับการทำงานแบบมัลติคอร์,อินเทอร์เฟชสำหรับ IO แบบใหม่, และรองรับ Unicode 6.0

จาวารุ่น 8 นั้นน่าจะออกได้ภายในปีหน้า ถ้าการนำภายใต้ออราเคิลทำให้การออกรุ่นใหม่สามารถออกได้ตรงเวลากว่าเดิมก็น่าจะเป็นผลดีอย่างมากต่อชุมชนจาวา

ที่มา - Oracle