Google App Engine บริการคลาวด์แบบ PaaS ของกูเกิล ประกาศรองรับ Java 8 แล้ว ช่วยให้แอพพลิเคชันสาย Java สามารถเรียกใช้ฟีเจอร์ใหม่ๆ ของ Java 8 ได้อย่างเต็มประสิทธิภาพ รวมถึงสามารถเรียกใช้ฟีเจอร์ของ Google Cloud Client Library for Java (ที่เป็น Java 8 อยู่แล้ว) ได้ทุกฟีเจอร์ด้วย
กูเกิลบอกว่า Java 8 เป็นฟีเจอร์ที่ลูกค้า App Engine เรียกร้องเข้ามาเป็นอันดับต้นๆ (อีกอันคือ Python 3 ที่ยังไม่มี) หลังจากรอกันมานาน ตอนนี้ App Engine ก็รองรับ Java 8 สักที (ยังมีสถานะเป็น Beta) โดยนักพัฒนายังสามารถเลือกได้ว่าจะใช้ standard environment เป็น Java 7 หรือ Java 8
Oracle ปิดไม่ให้คนทั่วไปดาวน์โหลด Java SE เวอร์ชัน 6 และ 7 ที่หมดระยะอัพเดตแล้ว
Java เวอร์ชันเก่ามีช่วงอายุที่เรียกว่า Public Updates หรือการอัพเดตแพตช์ความปลอดภัย-แก้บั๊กให้คนทั่วไป โดย Java 6 หมดอายุไปแล้วในเดือนกุมภาพันธ์ 2013 และ Java 7 หมดอายุในเดือนเมษายน 2015
ที่ผ่านมา Java 6/7 หมดระยะ Public Updates ไปนานพอสมควร แต่ Oracle ยังเปิดให้ดาวน์โหลดไฟล์เวอร์ชันเก่าอยู่ ล่าสุดคือถอดลิงก์ออกจากหน้าเว็บแล้ว ส่งผลให้ตอนนี้คนทั่วไปสามารถดาวน์โหลดได้เฉพาะ Java 8 เท่านั้น
ผู้ที่ยังใช้ Java 6/7 และต้องการอัพเดตต่อ สามารถซื้อซัพพอร์ตได้จาก Oracle โดยตรง (Java 6 มีซัพพอร์ตแบบจ่ายเงินถึงปี 2018, Java 7 ปี 2022)
ที่ผ่านมา Android ยังรองรับฟีเจอร์ของ Java ไม่ทันกับเวอร์ชันล่าสุด ส่งผลให้การนำฟีเจอร์ใหม่ๆ ของตัวภาษามาใช้กับ Android ไม่เต็มประสิทธิภาพเท่าไรนัก
แนวทางของ Android Nougat คือกูเกิลสร้างคอมไพเลอร์ตัวใหม่ Jack ที่รองรับ Java 8 ขึ้นมาเป็นทางเลือกจากคอมไพเลอร์ปกติของ Android โดยสถานะของ Jack ยังเป็นรุ่นทดลอง (experimental) ที่คาดว่าจะนำมาใช้แทนคอมไพเลอร์เดิมใน Android รุ่นถัดๆ ไป
Oracle ประกาศวันออก Java SE 9 เป็น 27 กรกฎาคม 2017 ถือว่าห่างจาก Java 8 ประมาณสามปีกว่า และช้ากว่าแผนเดิมที่จะออกในปี 2016
การเปลี่ยนแปลงที่สำคัญที่สุดของ Java 9 คือ Project Jigsaw หรือแยกส่วน Java ออกเป็นโมดูลเพื่อให้ขนาดเล็กลง การจับแยกโมดูลมีแผนจะทำตั้งแต่ Java 8 แต่เลื่อนออกมาเป็น Java 9 และส่งผลให้การพัฒนา Java 9 ช้ากว่ากำหนด
ฟีเจอร์อื่นได้แก่การคอมไพล์แบบ ahead-of-time (คอมไพล์เป็นเนทีฟรอไว้ก่อนเริ่มรัน JVM) และ jShell (Java Shell) ฟีเจอร์แบบภาษาสคริปต์ยุคใหม่ๆ ที่ให้ลองรันโค้ดได้จากเชลล์โดยตรง
กูเกิลเปิดตัว TensorFlow ไลบรารีสำหรับเทรนงาน machine learning มาตั้งแต่ปลายปี 2015 และได้รับการยอมรับอย่างกว้างขวาง วันนี้กูเกิลประกาศออก TensorFlow 1.0 ในงานสัมมนา TensorFlow Developer Summit แล้ว
ของใหม่ใน TensorFlow 1.0 ได้แก่
การเข้ารหัสแบบ MD5 ถือว่าไม่ปลอดภัยแล้วในยุคปัจจุบัน ล่าสุด Oracle แจ้งนโยบายใหม่ให้กับแพลตฟอร์ม Java ที่จะมองแพ็กเกจ JAR ที่เซ็นรับรอง (sign) ด้วยการเข้ารหัสแบบ MD5 ว่าไม่ปลอดภัย
แพลตฟอร์ม Java ใช้การเข้ารหัสแบบ MD5 เป็นดีฟอลต์สำหรับแพ็กเกจ JAR มาตั้งแต่ Java SE 6 ในปี 2006 แต่ตอนนี้ถึงเวลาต้องเปลี่ยนแล้ว (ค่าดีฟอลต์ปัจจุบันคือ SHA-2 ที่มาแทน SHA-1 ที่ไม่ปลอดภัยแล้วเช่นกัน)
ออราเคิลปล่อยแพตช์ประจำไตรมาสที่สามของปี มีการแก้ไขช่องโหว่ความปลอดภัยทั้งหมด 253 จุดในซอฟต์แวร์ 76 รายการ ในจำนวนนี้มีแพตช์ช่องโหว่ร้ายแรง (คะแนน CVSS เกิน 9.0) ทั้งหมด 15 รายการ
สำหรับแพตช์ที่กระทบคนทั่วไปมากที่สุดคงเป็น Java SE ที่มีแพตช์ทั้งหมด 7 รายการ เป็นช่องโหว่ร้ายแรง 3 รายการ ส่วนซอฟต์แวร์อื่นที่มีช่องโหว่ร้ายแรงได้แก่ Oracle Database Server (OJVM), Oracle Big Data Discovery, Oracle Web Services, Oracle WebLogic Server, Oracle Advanced Supply Chain Planning, Oracle Commerce Platform, Oracle Retail Customer Insights, Oracle Retail Merchandising Insights, Secure Global Desktop, Oracle VM VirtualBox
ในการประชุมคณะกรรมการ Java Community Process (JCP) ตัวแทนของ Oracle ระบุว่ากำหนดการออก Java Enterprise Edition (Java EE) เวอร์ชัน 8 ที่เดิมทีตั้งเป้าออกในครึ่งแรกของปี 2017 จะต้องเปลี่ยนแปลง แต่ยังไม่ระบุว่ากำหนดการใหม่จะเป็นอย่างไร
ในทางกลับกัน Oracle แสดงท่าทีว่าต้องการออก Java Standard Edition (Java SE) ให้เร็วขึ้น จากเดิมที่ออกประมาณทุก 3 ปี ให้เปลี่ยนมาเป็นการออกทุกปีแทน โดยเหตุผลของ Oracle คือการออกรุ่นใหญ่นานๆ ทีทำให้คาดเดาได้ยากว่าจะออกเมื่อไร และกระบวนการออกรุ่นก็ซับซ้อนเกินไป
ก่อนหน้านี้ Oracle เคยบอกว่าแผนการพัฒนา Java EE ต้องปรับปรุงครั้งใหญ่ให้ตามทันยุคสมัย
ต่อจากข่าว Oracle ไม่สนใจพัฒนา Java EE แล้ว ซึ่ง Oracle ออกมาปฏิเสธ และล่าสุด Thomas Kurian ผู้บริหารระดับสูงของ Oracle ออกมาเผยแผนการพัฒนา Java EE 8 แล้ว
Kurian บอกว่า Java EE ถูกสร้างขึ้นมาในยุค application server บนฮาร์ดแวร์เฉพาะ แต่โลกทุกวันนี้เปลี่ยนมาเป็น cloud-based หมดแล้ว เทคนิคการรันแอพพลิเคชันบนโครงสร้างพื้นฐานแบบใหม่ๆ เช่น container ก็เปลี่ยนไปจากเดิมมาก ดังนั้น Java EE ต้องถูกปรับปรุงให้เข้ากับยุคสมัยด้วย
ในกระทู้ที่ ทีมงาน Android ไปตอบคำถามบน Reddit มีข้อมูลที่น่าสนใจหลายอย่าง อีกประเด็นที่คนถามกันเยอะคือ Android มีแผนจะรองรับภาษาโปรแกรมอื่นนอกจาก Java หรือไม่
คำตอบคือ Android ยังไม่มีแผนย้ายไปใช้ภาษาอื่นเลย ตอนนี้ Android Nougat ยังรองรับฟีเจอร์ของ Java 8 เพียงบางส่วนเท่านั้น และจะรองรับเพิ่มเติมในรุ่นถัดๆ ไป
ในกระทู้ยังมีคนถามถึงภาษา Kotlin ที่พัฒนาโดย JetBrain และเข้ากันได้ 100% กับ Java คำตอบที่ได้คือทีม Android มองว่าตัวภาษา Kotlin เป็นภาษาที่ดี แต่ก็ยังไม่มีแผนใดๆ ในการย้ายไปใช้เช่นกัน
ใบรับรองที่ออกโดย Let's Encrypt ถูก cross-sign โดย IdenTrust แม้ว่าเบราว์เซอร์จะรองรับแทบทั้งหมด แต่ไลบรารีบางส่วนก็ยังอัพเดตไม่ทัน ล่าสุดฝั่งจาวาก็อัพเดต 8u101 รองรับ IdenTrust แล้ว ทำให้การเชื่อมต่อ HTTPS ไปยังเซิร์ฟเวอร์ที่ใช้งาน Let's Encrypt รองรับโดยสมบูรณ์
ออราเคิลเพิ่มใบรับรองของ IdenTrust เข้าในฐานข้อมูลหลายตัว แต่ตัวที่ใช้ cross-sign กับ Let's Encrypt คือ IdenTrust DST Root CA X3
ที่มา - Oracle
ต่อจากข่าว อาการน่าเป็นห่วง Oracle ไม่สนใจพัฒนา Java EE ต่อแล้ว แต่ยังไม่บอกว่าจะทำอย่างไรต่อ ดูเหมือนว่าการกดดันผ่านสื่อนั้นได้ผล เพราะโฆษกของ Oracle ออกมาชี้แจงแล้ว
Oracle ยืนยันว่าจะยังพัฒนา Java ต่อไป (Oracle is committed to Java) และมีแผนสำหรับ Java EE 8 เวอร์ชันถัดไปแล้ว โดยจะเปิดเผยในงานประจำปี JavaOne เดือนกันยายนนี้
เว็บไซต์ Ars Technica มีสกู๊ปพิเศษรวบรวมความเคลื่อนไหวหลายอย่างของ Java EE ซึ่งชวนให้เข้าใจได้ว่า Oracle ไม่สนใจพัฒนาต่อแล้ว
ทิศทางของ Oracle นับตั้งแต่ช่วงปลายปี 2015 เริ่มไม่สนใจพัฒนา Java EE เหมือนอย่างเคย พนักงานฝ่าย Java EE หลายคนถูกสั่งให้ไปทำงานอื่นแทน และความคืบหน้าของการพัฒนา Java EE ก็ช้าลงมาก การออกสเปก Java Specification Requests (JSRs) ก็ล่าช้ากว่ากำหนดไปมาก บริษัทเคยสัญญาว่าจะออกสเปก Java Server Faces (JSF) ในไตรมาสแรกของปี 2016 ซึ่งปัจจุบันยังไม่เห็นความคืบหน้าใดๆ
ท่าทีของ Oracle สร้างความไม่พอใจให้กับชุมชนนักพัฒนา Java ทั้งภายในและภายนอกบริษัท ส่งผลให้ผู้บริหารฝ่าย Java ลาออกกันหลายคน
คดีลิขสิทธิ์จาวาบนแอนดรอยด์หลังจากคณะลูกขุนตัดสินว่ากูเกิลใช้งานในระดับที่เป็นการใช้งานโดยธรรม (fair use) ทางออราเคิลก็ยื่นเรื่องคัดค้านคำตัดสิน (rule 50a motion) และตอนนี้ผู้พิพากษา William Alsup ก็ปัดคำคัดค้านนี้ตกไป
Annette Hurst ทนายในสำนักงานทนายความที่ว่าความให้ออราเคิลในคดี API จาวาเขียนบทความแสดงความเห็นลงใน Ars Technica ระบุว่าการที่กูเกิลชนะคดีนี้จะแสดงว่าสัญญาอนุญาต GPL บังคับใช้ไม่ได้จริง
ความเห็นของ Hurst ระบุว่าการที่ออราเคิลไม่สามารถควบคุมการใช้งาน API ของตัวเองได้ เป็นอันตรายต่อการเปิดซอฟต์แวร์โอเพนซอร์สไปพร้อมๆ กับการขายซอฟต์แวร์แบบปิดซอร์ส (dual licensing) เพราะโค้ดอาจจะถูกนำไปใช้งานอย่างอื่น และผู้ผลิตอาจจะเลิกขายซอฟต์แวร์ แต่ให้บริการออนไลน์แทนเพื่อรักษาทรัพย์สินทางปัญญาของตัวเอง ลูกค้าจะมีทางเลือกในการซื้อซอฟต์แวร์มาใช้งานได้น้อยลง
คดีฟ้องร้องระหว่างออราเคิลและกูเกิลที่ออราเคิลฟ้องกูเกิลว่าละเมิดสิทธิ์ API ของจาวามาถึงศาลชั้นต้นรอบที่สอง และรอบนี้กูเกิลชนะอีกครั้งเมื่อคณะลูกขุนตัดสินว่าการใช้ API จาวาเป็นการใช้งานโดยธรรม (fair use)
คดีนี้จบรอบแรกไปตั้งแต่ปี 2012 เมื่อผู้พิพากษา William Alsup พิพากษาว่า API ไม่ได้รับความคุ้มครองลิขสิทธิ์ ทำให้คดีจบในศาลชั้นต้นไปโดยกูเกิลชนะ แต่ศาลอุทธรณ์กลับคำตัดสินโดยระบุว่า API มีลิขสิทธิ์ ทำให้คดีต้องกลับมาที่ศาลชั้นต้นอีกครั้งเพื่อพิจารณาว่าหาก API มีลิขสิทธิ์แล้ว การใช้งานแบบที่กูเกิลใช้นั้นเป็นการใช้งานโดยธรรมหรือไม่
คณะลูกขุนทั้งสิบคนระบุว่าการใช้งานของกูเกิลเป็นการใช้งานโดยธรรม (ลูกขุนชุดแรกในคดีนี้เสียงแตกในประเด็นนี้)
Oracle เรียกร้องเงิน 9.3 พันล้านดอลลาร์ เป็นค่าชดเชยความเสียหายจาก Google ในคดีที่มีการกล่าวหาว่า Google ละเมิดลิขสิทธิ์ซอร์สโค้ด Java โดยเอาไปใช้งานในระบบปฏิบัติการ Android
คดีระหว่าง Oracle กับ Google นี้จะมีการไต่สวนกันอีกครั้งในเดือนพฤษภาคมนี้ หลังจากที่ศาลฎีกาปฏิเสธที่จะรับคดีเข้าสู่การพิจารณา ส่วนศาลอุทธรณ์ก็ตีเรื่องกลับมาให้ศาลชั้นต้นตัดสินหาข้อสรุปว่าแท้จริงแล้วการที่ Google นำเอา API จำนวน 37 รายการของ Java ไปใช้งานใน Android นั้นถือเป็นการใช้งานโดยชอบธรรม (fair use) หรือไม่
Oracle ประกาศพบช่องโหว่ CVE-2016-0636 ใน Java SE ส่งผลทั้งการทำงานบนเว็บเบราว์เซอร์ (แต่ไม่กระทบการใช้งานในเซิร์ฟเวอร์หรือรันเป็นแอพบนเดสก์ท็อป) มีผลกับ Java บนทุกแพลตฟอร์ม
ช่องโหว่นี้มีความร้ายแรงระดับ 9.3 เต็ม 10 คะแนน คนที่ใช้ Java 7u97 หรือ Java 8u73/74 ควรอัพเดตเป็น Java 8u77 ทันที (Java 7 ไม่มีอัพเดตสำหรับคนทั่วไปอีกแล้ว)
ไมโครซอฟท์ประกาศเข้าร่วม Eclipse Foundation องค์กรผู้พัฒนา Eclipse IDE ในฐานะ Solutions Member หรือหน่วยงานที่พัฒนาสินค้าโดยใช้ Eclipse เป็นส่วนสำคัญ
ในแง่ซอฟต์แวร์ ไมโครซอฟท์เปิดซอร์ส Team Explorer Everywhere ปลั๊กอินเพื่อให้ Eclipse IDE ทำงานร่วมกับ Team Foundation Server ได้ และบริการ Azure IoT จะรองรับ Eclipse Kura อย่างเป็นทางการ ทำเกตเวย์ที่รัน Kura สามารถเชื่อมต่อกับ Azure IoT ได้ง่ายขึ้น โดยไมโครซอฟท์จะส่งโค้ด Azure IoT Hub Connector เข้าไปยังโครงการ Kura
ภาษา Kotlin ที่พัฒนาโดย JetBrains ผู้สร้าง IntelliJ IDEA ประกาศเวอร์ชั่น 1.0 พร้อมสำหรับการใช้งานจริงแล้ว โดยภาษานี้ออกแบบมาให้ใช้งานได้จริง และโค้ดส่วนอื่นๆ ที่ไม่เกี่ยวข้องกับฟังก์ชั่นงานน้อยลง โดยคงความเข้ากันได้กับจาวา, JVM, ไลบรารี, แอนดรอยด์, และเครื่องมืออื่นๆ
ตัวโค้ด Kotlin เป็นสัญญาอนุญาตแบบ Apache 2.0 ซอฟต์แวร์ของ JetBrains เองหลายตัวก็ใช้งาน Kotlin อยู่แล้ว และตอนนี้มีพนักงานของบริษัททำงานเต็มเวลาในโครงการนี้กว่า 20 คน
Oracle ประกาศเลิกทำ Java Plugin สำหรับรัน Java ผ่านเว็บเบราว์เซอร์แล้ว โดยจะมีผลใน Java 9 รุ่นหน้าเป็นต้นไป (คาดว่า Java 9 จะออกรุ่นจริงได้ภายในปี 2016 นี้)
เหตุผลของ Oracle คือเทคโนโลยีปลั๊กอินกลายเป็นเรื่องล้าสมัยไปแล้ว ปลั๊กอินอย่าง Flash, Silverlight, Java ถูกลดความสำคัญลงเรื่อยๆ และเบราว์เซอร์รุ่นใหม่ก็ประกาศเลิกรองรับปลั๊กอินแบบเดิมๆ กันแล้ว
คำแนะนำของ Oracle คือองค์กรที่ยังใช้ Java Applet ควรมองหาเทคโนโลยีอื่นแทน (ทางเลือกของ Oracle เองคือ Java Web Start)
ที่มา - Oracle
Android N ที่กำลังจะออกตัวจริงในปีหน้าย้ายไปใช้ไลบรารีจาก OpenJDK ของออราเคิลแทนที่ไลบรารีที่กูเกิลพัฒนาเอง โดยโฆษกของกูเกิลระบุว่าทางบริษัททำงานร่วมกับ OpenJDK มาก่อนแล้ว
กูเกิลระบุสาเหตุของการย้ายไปใช้ OpenJDK ว่าเป็นการเตรียมไปใช้ Java 8 ที่รองรับฟีเจอร์ใหม่ๆ หลายอย่าง เช่น lambda, type annotation, หรือการเชื่อมต่อด้วย TLS 1.2 เป็นค่าเริ่มต้น
ที่มา - Venturebeat
หลังจากที่ Java พลิกกลับขึ้นมาทวงเก้าอี้แชมป์ในการจัดอันดับภาษาของ TIOBE ไปเมื่อไม่กี่เดือนก่อน ตอนนี้ก็ดูเหมือนว่าตำแหน่งนี้จะอยู่คู่ Java ไปอีกนานแล้วครับ เมื่อมันแย่งค่าความนิยมจากภาษาอื่นๆ มาได้เกินกว่า 1/5 ในรอบหลายปี
โดยดัชนี TIOBE ที่วัดค่าความนิยมของภาษาผ่านเครื่องมือค้นหาต่างๆ บ่งชี้ว่าความนิยมของภาษา Java รอบเดือนพฤศจิกายน 2015 นี้ พุ่งทะยานไปแตะที่ 20.403% เพิ่มขึ้นจากช่วงเวลาเดียวกันของปีก่อนถึง 6.01% ซึ่งนับว่าเป็นค่าที่สูงที่สุดตั้งแต่เดือนสิงหาคม 2009 หรือเมื่อ 6 ปีก่อนเลยทีเดียว
ส่วนดัชนีอื่นอย่าง PyPL ซึ่งวัดความนิยมผ่านข้อมูลการค้นหา tutorial ของภาษา ก็ให้ผลลัพธ์ในทำนองเดียวกันว่า Java นำเป็นที่ 1 ของตาราง
งาน Oracle OpenWorld จัดควบคู่กับงาน JavaOne โดยส่วนของ JavaOne 2015 มีเนื้อหาเกี่ยวกับแผนการออกรุ่นของ Java ดังนี้
Xamarin บริษัทผู้เชี่ยวชาญการใช้ภาษา C# พัฒนาแอพบนแพลตฟอร์มอื่น (เช่น iOS/Android) เข้าซื้อกิจการ RoboVM บริษัทที่ทำระบบแบบเดียวกันแต่ใช้ภาษา Java แทน
เป้าหมายของ Xamarin ชัดเจนว่าต้องการรองรับภาษา Java กับแพลตฟอร์มการพัฒนาของตัวเองด้วย ที่ผ่านมาลูกค้าหลักของ Xamarin คือนักพัฒนาที่คุ้นเคยกับเทคโนโลยีฝั่งไมโครซอฟท์อยู่ก่อน และต้องการใช้เทคโนโลยีเดิมพัฒนาแอพข้ามแพลตฟอร์ม การซื้อ RoboVM ย่อมทำให้ Xamarin เข้าถึงนักพัฒนาสาย Java ที่ต้องการใช้ Java สร้างแอพข้ามแพลตฟอร์มลักษณะเดียวกัน
Xamarin และ RoboVM จะยังแยกการบริหารงานเหมือนเดิมต่อไป แต่ RoboVM จะนำเทคโนโลยีสำหรับลูกค้าองค์กร และช่องทางการขายของ Xamarin ไปใช้งานเพิ่มเติมด้วย