หลังจากออก Django 1.0 ไปเมื่อเกือบ 1 ปีก่อน ตอนนี้ Django 1.1 ออกตามมาแล้วครับ
ของใหม่
นอกจากไมโครซอฟท์จะฉลองงานใหญ่ กับการเสร็จสิ้นกระบวนการพัฒนาวินโดวส์ 7 และวินโดวส์เซิร์ฟเวอร์ 2008 R2 แล้ว (ดูข่าวเก่า) ก็ยังมีการเปิดตัวผลิตภัณฑ์สำหรับนักพัฒนาอีก 3 ตัวและนักออกแบบอีก 1 ตัวดังนี้
บริษัทวิจัย RedMonk รายงานว่าแนวโน้มการพัฒนาโปรแกรมบนลินุกซ์ มีโปรแกรมที่เขียนด้วย Mono มากขึ้น ตัวอย่างโปรแกรมดังๆ เช่น Banshee โปรแกรมฟังเพลง, Tomboy โปรแกรมจดโน้ต และ GNOME Do โปรแกรมค้นหาและสั่งงานเดสก์ท็อป ในขณะที่มีโปรแกรมที่พัฒนาด้วย Java และได้รับความนิยมใกล้เคียงกันน้อยมาก
Ian Murdock ผู้ก่อตั้งโครงการ Debian และขณะนี้ทำงานอยู่กับซัน ไม่เห็นด้วยกับ RedMonk และบอกว่าคนใช้ Mono นอกวงลินุกซ์มีน้อยมาก และโปรแกรม Mono ที่ดังๆ ถูกพัฒนาขึ้นโดย Novell (ซึ่งเป็นเจ้าของ Mono) ดังนั้นไม่สามารถสรุปว่า Mono ได้รับความนิยมมากกว่า Java ได้
แต่ทางเว็บไซต์ SD Times ที่มาของข่าวนี้ได้สำรวจความเห็นจากนักพัฒนา และได้ผลเกือบเอกฉันท์ว่า Mono ดึงดูดนักพัฒนาได้มากกว่า Java
ปัญหาสำคัญมากอันหนึ่งของโครงการ Mono (.NET เวอร์ชันโอเพนซอร์ส) คือไมโครซอฟท์ถือครองสิทธิบัตรที่เกี่ยวข้องกับเทคโนโลยีใน .NET Framework อยู่หลายชิ้น และไม่มีอะไรรับประกันว่าในอนาคตไมโครซอฟท์จะไม่ใช้ประโยชน์จากทรัพย์สินทางปัญญาเหล่านี้ (เช่น ฟ้องบริษัทที่นำ Mono ไปใช้งานว่าละเมิดสิทธิบัตรของ .NET)
ไมโครซอฟท์เคยสัญญาว่าจะไม่ดำเนินการในเรื่องนี้ แต่นั่นก็เป็นแค่สัญญาลมปาก (ยกเว้นสัญญาที่เคยตกลงกับ Novell แต่นั่นก็คุ้มครองแค่ Novell) ล่าสุดไม่เป็นแค่ลมปากแล้ว
หลังจากที่ออก PHP 5.3.0RC4 มาได้ประมาณ 2 สัปดาห์ โครงการ PHP ก็ได้ออก PHP 5.3.0 ซึ่งมีการปรับปรุงที่สำคัญจาก PHP 5.2 อยู่หลายอย่างเช่น
สามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับการแปลงแปลงได้ที่ New features และ Changelog
Evans Data สำรวจข้อมูลจากนักพัฒนาในสหรัฐอเมริกา 400 คน พบว่าอัตราการใช้ Ruby เพิ่มจากปีก่อนถึง 40%
อย่างไรก็ตามในภาพรวม ยังมีนักพัฒนาที่ใช้ Ruby เป็นประจำแค่ 14% ของทั้งหมดที่สำรวจเท่านั้น ทาง Evans Data คาดว่าสัดส่วนนี้จะเพิ่มเป็น 20% ในปี 2010
การเติบโตของภาษาสคริปต์เหล่านี้ ส่วนหนึ่งเป็นผลมาจากนักพัฒนาเลือกใช้ลินุกซ์เป็นแพลตฟอร์มในการเขียนโปรแกรมมากขึ้น ผลสำรวจนี้ไม่มีข้อมูลของภาษาสคริปต์อื่นๆ เช่น Python
ที่มา - Internet News
Google App Engine Python SDK ออกรุ่น 1.2.3 แล้วครับ และที่มาเขียนข่าวเรื่องนี้ก็เพราะว่ามีบรรทัดหนึ่งที่น่าสนใจจากหน้า Release Notes:
Last but not least, the 1.2.3 release is full of other new stuff as well! Stay tuned to the blog for more updates or check the release notes for exciting info on:
Java SE 6 Update 14 ได้เพิ่มฟีเจอร์ Garbage Collector ตัวใหม่ที่ชื่อ Garbage First (G1) ออกมาให้ทดลองใช้กันแล้ว
G1 เป็น Garbage Collector แนวใหม่ที่ใช้สถาปัตยกรรมแบบเซิร์ฟเวอร์ โดยจะใช้ประโยชน์จากซีพียูแบบมัลติคอร์ในปัจจุบันมากกว่าเดิม G1 เคยเป็นโครงการวิจัยภายในซันมาตั้งแต่ปี 2004 (เปเปอร์) มันถูกวางตัวว่าจะนำมาใช้ใน Java 7 ส่วนใน Java 6u14 เป็นรุ่นทดลองใช้ที่ต้องเปิดใช้งานกันเอง
ประเด็นที่น่าสนใจคือ ใน Release Notes ของ Java 6u14 ช่วงที่ออกใหม่ๆ เมื่อหลายวันก่อนระบุว่า จะใช้ G1 ในงานจริงได้ต้องซื้อ support license จากซันก่อน
หลังจากเปิดตัวโปรแกรมรุ่นใหม่ไปเมื่อปีก่อน ไมโครซอฟท์ออก Visual Studio 2010 และ .NET Framework 4.0 รุ่นเบต้า 1 แล้ว
แนวโน้มฮาร์ดแวร์ที่กำลังต้องการการประมวลผลแบบขนานมากขึ้นเรื่อยๆ ในทุกวันนี้มีปัญหาอย่างหนึ่งคือเครื่องมีที่ใช้พัฒนานั้นยังแย่อยู่มาก และนักพัฒนาเองก็บ่นกันเสมอว่าการพัฒนาซอฟต์แวร์แบบขนานนั้นยากเกินไป ไมโครซอฟท์ก็ปล่อยภาษา Axum ที่ทำงานอยู่บน .NET Framework มาเป็นทางเลือกให้นักพัฒนากัน
ภาษา Axum นั้นโดยสรุปแล้วเป็นภาษาที่ฝังเอาโครงสร้างการส่งข้อมูลระหว่าง Thread ที่ในภาษานี้เรียกว่า Agent เข้าไว้เป็นส่วนหนึ่งของตัวภาษาทำให้การติดต่อระหว่างกันทำได้ค่อนข้างเป็นธรรมชาติกว่าการใช้ไลบรารีเสริมเช่นภาษาอื่นๆ
อีกหนึ่งบริษัทขายเครื่องมือพัฒนาที่เคยยิ่งใหญ่อย่าง Borland กำลังจะถูกบริษัทที่เราไม่ค่อยรู้จักนักอย่าง Micro Focus เข้าซื้อด้วยมูลค่ารวม 75 ล้านดอลลาร์
บริษัท Micro Focus นั้นมีธุรกิจหลักอยู่ที่เครื่องมือสำหรับพัฒนาด้วยภาษา COBOL ที่ยังได้รับความนิยมอยู่มากในบริษัทขนาดใหญ่ โดยรายรับในปีที่แล้วของบริษัทนั้นอยู่ที่ประมาณ 115 ถึง 117 ล้าน
ในช่วงปลายยุค 90 นั้น Borland เป็นคู่แข่งสำคัญของไมโครซอฟท์ในการขายเครื่องมือพัฒนาซอฟต์แวร์ และเคยมีเรื่องกันในการซื้อตัวนักพัฒนา จนถึงวันนี้แล้วชื่อ Borland นั้นไม่ใช่อะไรที่เรานึกถึงกันเหมือนแต่ก่อน โดยเครื่องมือพัฒนาสำคัญๆ นั้นถูกแยกบริษัทเป็น CodeGear ไปก่อนหน้านี้ได้ระยะหนึ่งแล้ว
ทางแอบเปิลได้ส่งเมลเตือนแก่ iPhone Developer โดยมีเนื้อความเกี่ยวกับการเสนอแอพพลิเคชันใหม่จะต้องมีความพร้อมของแอพพลิเคชัน ที่จะต้องสามารถรองรับเฟริมแวร์ 3.0 (โดยเฟิร์มแวร์ 3.0 คาดว่าจะเปิดตัวในงาน WWDC เดือนมิถุนายนนี้)
Beginning today, all submissions to the App Store will be reviewed on the latest beta of iPhone OS 3.0. If your app submission is not compatible with iPhone OS 3.0, it will not be approved.
Google Code เพิ่มการสนับสนุน Mercurial เพิ่มเติม นอกเหนือจาก Subversion ที่ใช้งานอยู่ในปัจจุบัน
โดยช่วงนี้ ทาง Google Code จะเลือกเชิญเข้าทดสอบเป็นบางโปรเจคเท่านั้น
สำหรับ Mercurial เป็น Distributed Version Control System (DVCS) เช่นเดียวกับ Git และ Bazaar ซึ่งผู้ใช้สามารถทำงานแบบออฟไลน์ และสามารถกำหนดรูปแบบการทำงาน (workflow) ที่มีรูปแบบซับซ้อนกว่าปกติได้ ซึ่งทำให้ผู้ใช้งานอื่นๆ สร้าง repository ส่วนตัว และ contribute งานกลับมายังโปรเจค สะดวกขึ้นอีกด้วย
หลายคนคงสนใจจะพัฒนาโปรแกรมบน iPhone แต่ก็ไม่รู้จะเริ่มที่ตรงไหน ถึงตอนนี้แอปเปิลได้เผยแพร่การบรรยายของหลักสูตรที่เปิดสอนการพัฒนาโปรแกรมบน iPhone ที่ Stanford ให้ฟรีใน iTunes U แล้วครับ
หลักสูตร CS193P: iPhone Application Development ที่เปิดสอนในเดือนนี้นั้นสามารถเข้าไปได้ทาง iTunes U (ต้องเข้าผ่าน US Store นะครับ) โดยประกอบด้วยวิดีโอและเอกสารประกอบการบรรยายที่มาจากหลักสูตรจริงๆ ที่กำลังสอนอยู่โดยนักพัฒนาจากแอปเปิล ตัวหลักสูตรดังกล่าวจะครอบคลุมถึงการใช้งาน Xcode และการใช้ภาษา Objective-C รวมถึงจะมีการบ้านให้เขียนโปรแกรมด้วย (มีการบ้านให้เขียน twitter client ภายใน 4 สัปดาห์ด้วยนะ)
สงครามศาสนาอีกสมรภูมิหนึ่งที่สู้กันดุเดือดคือโลกของ Version Control System (VCS หรือบางที่ก็เรียก Revision Control) โดยแนวโน้มของตลาดกำลังขยับจาก VCS แบบ client-server อย่าง CVS/SVN มาเป็น distributed VCS อย่าง Git, Bazaar (BZR) และ Mercurial (Hg)
ส่วนของโครงการ Python นั้นได้ประกาศออกมาแล้วว่าจะย้ายจาก SVN ไปเป็น Mercurial (Hg) โดย Guido van Rossum ผู้สร้าง Python เป็นคนเลือก (ตัวเลือกอีกอันคือ Bazaar) แต่ยังไม่ประกาศว่าจะย้ายเมื่อไร
Mercurial เขียนด้วย Python และถูกสร้างขึ้นมาใช้แทน BitKeeper สำหรับเคอร์เนลของลินุกซ์ (ซึ่งสุดท้ายแล้วแพ้ให้กับ Git ที่ Linus เป็นคนสร้างเอง) แต่โครงการใหญ่ๆ หลายอันก็ใช้ Hg เช่น Mozilla, OpenJDK, OpenSolaris และโครงการของซันแทบทั้งหมด
Twitter เป็นหนึ่งในกรณีศึกษาตัวอย่างของ Ruby on Rails แต่เมื่อผู้ใช้เพิ่มขึ้นอย่างก้าวกระโดด RoR ก็ถึงทางตันเสียแล้ว
Alex Payne นักพัฒนาของ Twitter เล่าว่าเว็บไซต์สมัยใหม่นิยมเลือก Ruby, Python, PHP ด้วยเหตุผลว่ามัน "น่าจะ" agile และพร้อมรับการเปลี่ยนแปลงในอนาคตได้ง่าย หรือไม่ก็เบื่อ C++/Java แต่ว่ากำแพงที่ Twitter พบก็คือระบบจัดคิวส่งข้อคววาม (message queuing system) ที่เขียนด้วย Ruby นั้นกลับไปติดกำแพงประสิทธิภาพที่ตัว virtual machine ของ Ruby เอง และการขยายตัวรองรับผู้ใช้ที่มากขึ้นเรื่อยๆ นั้นแก้ได้ทางเดียวคือซื้อเครื่องเพิ่มขึ้น ซึ่งไม่ใช่สิ่งที่นักลงทุนต้องการเท่าไรนัก (และนี่เป็นสาเหตุของ Twitter ล่มบ่อยในช่วงปีก่อน)
ค่าย Novell ยังคอยส่ง Mono ซึ่งเป็น .NET Framework เวอร์ชันโอเพนซอร์สออกมาเป็นระยะ
Mono 2.4 เป็นการปรับปรุงด้านประสิทธิภาพและเสถียรภาพขึ้นมาจาก Mono 2.2 โดยในบางจุด เช่น ส่วนของ XPath มีประสิทธิภาพดีขึ้น 15%, ปรับปรุงฟีเจอร์ของคอนโทรล DataGridView และตอนนี้ Mono 2.4 สามารถรัน ASP.NET ที่คอมไพล์มาจาก Visual Studio ได้แล้ว รายละเอียดดูใน Release Notes ของ Mono 2.4 ดาวน์โหลดได้บนวินโดวส์ แมค ลินุกซ์
MonoDevelop คือ IDE สำหรับ Mono ซึ่งมันพัฒนาต่อมาจาก SharpDevelop บนวินโดวส์ (แต่ MonoDevelop ใช้ได้บนลินุกซ์อย่างเดียว) ฟีเจอร์ใหม่ๆ ของ MonoDevelop 2.0 มีดังนี้
แม้ว่าภาษา Python จะมีความดีงามหลายๆ อย่างโดยเฉพาะตัว syntax ที่เข้าใจได้ง่ายมาก แต่โครงสร้างของ Python เองนั้นยังคงมีปัญหาในแง่ของประสิทธิภาพ และการทำงานแบบขนานบนคอมพิวเตอร์ที่มีหลายซีพียูอยู่
งานนี้กูเกิลในฐานะคนใช้ Python ระดับ "ตัวพ่อ" คนหนึ่ง (Guido van Rossum คนสร้าง Python ก็ทำงานที่กูเกิล) ก็เปิดโครงการพัฒนา Python ในชื่อโครงการ unladen-shallow โดยมีเป้าหมายคือ
ที่งาน MIX09 ซึ่งเป็นงานสัมมนาเกี่ยวกับเทคโนโลยีเว็บและมัลติมีเดียประจำปีของไมโครซอฟท์ จัดขึ้นที่ลาสเวกัสและเริ่มงานไปเมื่อวานนี้ ไมโครซอฟท์ได้ประกาศข่าวของเทคโนโลยีหลายตัวดังนี้
Eclipse นั้นเป็น IDE ที่ได้รับความนิยมอย่างสูงจากบรรดาบริษัทซอฟต์แวร์รายใหญ่ ด้วยสถาปัตยกรรมที่ยืดหยุ่นและสัญญาอนุญาตที่ไม่เรื่องมาก ทำให้บริษัทหลายแห่งออกชุดพัฒนาซอฟต์แวร์ (SDK) สำหรับผลิตภัณฑ์ของตัวเอง โดยใช้ Eclipse เป็นฐาน และเพิ่มส่วนขยายของตัวเองเข้ามา
วงการหนึ่งที่ Eclipse ได้รับความนิยมมากคือซอฟต์แวร์สำหรับมือถือ แต่ว่าเนื่องจากต่างคนต่างทำ ทำให้การพัฒนาซอฟต์แวร์บนมือถือต่างรุ่นด้วย Eclipse นั้นยุ่งยากและซับซ้อน ค่ายมือถือจำนวนหนึ่งได้แก่ Motorola, Nokia, RIM, Sony Ericsson, IBM, Genuitech มองเห็นปัญหานี้ และทางแก้ปัญหาก็คือโครงการ Pulsar ซึ่งจะรวมเอาชุดพัฒนาสำหรับมือถือบน Eclipse ให้เป็นหนึ่งเดียว
Mitch Allen ซึ่งเป็น CTO ของ Palm กำลังเขียนหนังสือชื่อ Palm webOS: Developing Applications in JavaScript Using the Palm Mojo Framework (พิมพ์กับ O'Reilly) และเขาได้ตัดบทแรกของหนังสือมาลงใน Palm Developer Network อธิบายหลักการทำงานเบื้องต้นของ webOS
บทแรกมีทั้งหมด 9 หน้า ผมอ่านดูคร่าวๆ แล้วค่อนข้างประทับใจกับโครงสร้างของ webOS
Ruby 1.9 นั้นได้รับการปรับปรุงเรื่องประสิทธิภาพเป็นอย่างมาก (เค้าโฆษณาว่าเป็น the Fastest Ruby Ever) เพราะว่าเปลี่ยนมาใช้ YARV เพียงแต่ระบบเลขเวอร์ชันของ Ruby นั้น จะเริ่มนับว่าเป็นรุ่นเสถียรใน point release (1.9.x)
ดังนั้น Ruby 1.9.1 จึงถือเป็นรุ่นแรกในสาย 1.9 ที่แนะนำให้นำไปใช้ในงานจริงได้ และถือว่าเป็นรุ่นที่มาแทน Ruby 1.8.7 อย่างไรก็ตาม Ruby สาย 1.8.x ก็จะยังพัฒนาอยู่ โดยมีแผนจะออก 1.8.8 ช่วงปลายปีนี้
รายการเปลี่ยนแปลงดูได้จาก CHANGELOG นอกจากนี้ยังมีข่าวว่า JRuby 1.2 จะใช้ไลบรารีของ Ruby 1.9.1 เป็นมาตรฐาน
ผมเชื่อว่ามีผู้อ่าน Blognone ที่เป็นนักพัฒนาเว็บ และคบหา Firebug เป็นเพื่อนตายอยู่จำนวนมาก ตอนนี้ Firebug รุ่นล่าสุด 1.3.0 ออกแล้วครับ (น่าจะอัพเกรดกันผ่าน Add-ons Update หมดแล้วด้วย)
ฟีเจอร์ใหม่ของ Firebug 1.3.0 ดูได้จาก Release Notes คร่าวๆ ก็มีการปรับปรุงประสิทธิภาพของ Javascript Debugging สำหรับการดีบั๊กไฟล์ขนาดใหญ่, ปรับปรุงตัวคอนโซลใหม่, เพิ่มการแปลส่วนติดต่อผู้ใช้อีกหลายภาษา และแก้บั๊กอีกจำนวนหนึ่ง
Firebug 1.3.0 นั้นยังไม่สามารถทำงานกับ Firefox 3.1 ได้ ต้องใช้ Firebug 1.4.0 ซึ่งตอนนี้อยู่ในสถานะอัลฟ่า
IronPython ซึ่งเป็นหัวหอกของภาษาไดนามิคบน .Net Framework ได้ออกเวอร์ชัน 2.0 มาแล้วครับ
สำหรับเวอร์ชัน 2.0 นี้ถือเป็นการเปลียนแปลงครั้งใหญ่ คือเปลี่ยนจากทำงานบน CLI ไปเป็นทำงานบน Dynamic Language Runtime (DLR) แทน ซึ่ง DLR นี้ถูกออกแบบมาสำหรับพัฒนาภาษาไดนามิคบน .Net โดยเฉพาะ
จุดเปลี่ยนแปลงอื่นๆ จาก 1.1.2 ก็เช่น ปรับปรุงให้เข้ากันได้กับ Python 2.5 (จากเดิม 2.4.4), แก้บั๊กกว่า 500 จุด, มีตัว Installer มาให้, รองรับการทำงานกับ Silverlight และปรับปรุงให้ทำงานได้เร็วขึ้นครับ
สำหรับเวอร์ชัน 2.0 นี้ต้องอาศัย .NET 2.0 SP1 ครับ
หลังจากพัฒนากันมาอย่างยาวนาน Python 3.0 หรือที่รู้จักกันในชื่อ Python 3000 ก็เสร็จสมบูรณ์แล้ว
Guido van Rossum ผู้สร้างภาษา Python บอกว่า Python 3.0 นี้จงใจพัฒนาให้ "เข้ากันไม่ได้" (incompatible) กับเวอร์ชันก่อน (2.6 และสาย 2.x) ด้วยเหตุผลด้านโครงสร้างของภาษา รายการเปลี่ยนแปลงแบบคร่าวๆ มีดังนี้
* ที่ชัดเจนมากคือเปลี่ยน print จากเดิมเป็น statement กลายมาเป็นฟังก์ชัน
เดิม: print "The answer is", 22
ใหม่: print("The answer is", 22)เดิม: print x
ใหม่: print (x)