Apple

จากข่าว แอปเปิลจะทิ้ง Java ใน Mac OS X 10.7 Lion? ซึ่งได้รับคำยืนยันจากจ็อบส์ว่าควรเป็นหน้าที่ของออราเคิล

James Gosling บิดาแห่ง Java ได้ออกมาตอบโต้สตีฟ จ็อบส์ ผ่านบล็อกของตัวเองว่า การที่แอปเปิลบอกว่า "ซัน/ออราเคิลเป็นผู้พัฒนา Java บนทุกแพลตฟอร์ม" นั้นไม่จริง เพราะ IBM/HP ต่างก็พัฒนา Java ของตัวเอง รวมไปถึงระบบที่ไม่ค่อยมีคนรู้จักอย่าง Azul Systems ด้วย

Gosling ยังบอกอีกว่าเหตุผลที่ซันทำ JVM บนวินโดวส์ก็เพราะ Microsoft JVM มีปัญหาเรื่องการทำงานข้ามแพลตฟอร์ม ส่วนเหตุผลที่พัฒนา JVM สำหรับลินุกซ์เนื่องจากไม่มีคนทำ

กรณีของแอปเปิล ในอดีตแอปเปิลเป็นฝ่ายยืนยันว่าจะทำ Java เอง เพราะแอปเปิลต้องการดึงดูดให้คนมาใช้ Mac OS X เยอะๆ ในช่วงแรก แต่เมื่อ Mac OS X ติดตลาด แอปเปิลก็เปลี่ยนนโยบายมาหนุนให้นักพัฒนาเลิกเขียนโปรแกรมแบบข้ามแพลตฟอร์ม และแนะนำให้เขียนโปรแกรมแบบ native ของ Mac OS X แทน

เหตุผลอีกข้อคือช่วงแรกแอปเปิลปรับแต่ง JVM ของตัวเองไปเยอะมาก ทำให้ในรุ่นถัดๆ มายิ่งยากต่อการพัฒนา ประเด็นสำคัญที่เป็นปัญหาคือวิธีการทำ antialias ของซันกับแอปเปิลที่แตกต่างกัน Gosling เล่าว่าโปรแกรมเมอร์แก้ปัญหานี้ไม่ยากนัก แต่เคยมีบริษัทหนึ่งไปบังคับให้แอปเปิลเพิ่มวิธีเรนเดอร์แบบที่แอปเปิลไม่ต้องการ และบริษัทนั้นคือออราเคิล

ที่มา - James Gosling

Hiring! บริษัทที่น่าสนใจ

Carmen Software company cover
Carmen Software
Hotel Financial Solutions
Next Innovation (Thailand) Co., Ltd. company cover
Next Innovation (Thailand) Co., Ltd.
We are web design with consulting & engineering services driven the future stronger and flexibility.
KKP Dime company cover
KKP Dime
KKP Dime บริษัทในเครือเกียรตินาคินภัทร
Kiatnakin Phatra Financial Group company cover
Kiatnakin Phatra Financial Group
Financial Service
Fastwork Technologies company cover
Fastwork Technologies
Fastwork.co เว็บไซต์ที่รวบรวม ฟรีแลนซ์ มืออาชีพจากหลากหลายสายงานไว้ในที่เดียวกัน
Thoughtworks Thailand company cover
Thoughtworks Thailand
Thoughtworks เป็นบริษัทที่ปรึกษาด้านเทคโนโยลีระดับโลกที่คว้า Great Place to Work 3 ปีซ้อน
Iron Software company cover
Iron Software
Iron Software is an American company providing a suite of .NET libraries by engineer for engineers.
CLEVERSE company cover
CLEVERSE
Cleverse is a Venture Builder. Our team builds several tech companies.
Nipa Cloud company cover
Nipa Cloud
#1 OpenStack cloud provider in Thailand with our own data center and software platform.
Bangmod Enterprise company cover
Bangmod Enterprise
The leader in Cloud Server and Hosting in Thailand.
CIMB THAI Bank company cover
CIMB THAI Bank
MOVING FORWARD WITH YOU - CIMB is the leading ASEAN Bank
Bangkok Bank company cover
Bangkok Bank
Bangkok Bank is one of Southeast Asia's largest regional banks, a market leader in business banking
MuvMi (Urban Mobility Tech Co.,Ltd.) company cover
MuvMi (Urban Mobility Tech Co.,Ltd.)
Shape the future of urban mobility towards affordable, clean, and safe solutions
T.N. Digital Solution Co., Ltd. company cover
T.N. Digital Solution Co., Ltd.
TNDS has been involving in every first move of banking’s major digital transformation.
KBTG - KASIKORN Business-Technology Group company cover
KBTG - KASIKORN Business-Technology Group
KBTG - "The Technology Company for Digital Business Innovation"
Siam Commercial Bank Public Company Limited company cover
Siam Commercial Bank Public Company Limited
"Let's start a brighter career future together"
Icon Framework co.,Ltd. company cover
Icon Framework co.,Ltd.
Global Standard Platform for Real Estate แพลตฟอร์มสำหรับธุรกิจอสังหาริมทรัพย์ครบวงจร มาตรฐานระดับโลก
REFINITIV company cover
REFINITIV
The Financial and Risk business of Thomson Reuters is now Refinitiv
H LAB company cover
H LAB
Re-engineering healthcare systems through intelligent platforms and system design.
The Gang Technology Co., Ltd. company cover
The Gang Technology Co., Ltd.
We're a Digital Agency that helps our customers transform their business into digital with ease.
LTMH company cover
LTMH
LTMH มุ่งเน้นการพัฒนาผลิตภัณฑ์ที่สามารถช่วยพันธมิตรของเราให้บรรลุเป้าหมาย
Seven Peaks company cover
Seven Peaks
We Drive Digital Transformation
Wisesight (Thailand) Co., Ltd. company cover
Wisesight (Thailand) Co., Ltd.
The Best Choice For Handling Social Media · High Expertise in Social Data · Most Advanced and Secure
MOLOG Tech company cover
MOLOG Tech
We are Modern Logistic Platform, Specialize in WMS, OMS and TMS.
Data Wow Co.,Ltd company cover
Data Wow Co.,Ltd
We enable our clients to realize increased productivity by solving their most complex issues by Data
LINE Company Thailand company cover
LINE Company Thailand
LINE, the world's hottest mobile messaging platform, offers free text and voice messaging + Call
LINE MAN Wongnai company cover
LINE MAN Wongnai
Join our journey to becoming No.1 food platform in Thailand

ดร่ามาแล้วสิ ตอนแรกก็เห็นด้วยกับจ็อบส์ว่า บริษัทที่คิดตรงทำมาลงเอง
ไปๆมาๆ จ็อบดันมาขี้เกียจเองซะนี้

กลับกันแฮะ

ผมคิดว่า ไม่ว่าเจ้าของแพลทฟอร์มจะขี้เกียจหรืออะไร มันก็เป็นหน้าที่ของของที่อวดตัวเองนักหนาว่า Write once run anywhere ที่จะต้องทำให้ตัวเอง Run anywhere ให้ได้อย่างปากว่า
และยิ่งเป็น Java ที่เรื่องมากกับการให้ JVM ทุกตัว มีมาตรฐานเดียวกัน(ถึงกับไปฟ้อง Microsoft ที่อุตส่าห์เพิ่มฟีเจอร์ดีๆให้ภาษา Java แทนที่จะรับมาปรับปรุง)
การที่เจ้าของแพลทฟอร์มต้องมานั่งทำเอง ถือเป็นความผิดพลาดของ Java เอง ด้วยซ้ำ

พูดแบบหยาบคายคือผมอยากบอกว่า James และ Java มันเรื่องมากขนาดนั้น ให้มันนั่งทำให้คนอื่นเองดีกว่าเถอะ
ไอ้การที่ออกมาพูดตอบโต้นี่ก็ปัดสวะยังไงอยู่

(ถึงกับไปฟ้อง Microsoft ที่อุตส่าห์เพิ่มฟีเจอร์ดีๆให้ภาษา Java แทนที่จะรับมาปรับปรุง) << ไม่ทราบว่ามีอะไรดีๆบ้างครับที่ Microsoft (เคย)เพิ่มเข้าไปให้พอดีเกิดไม่ทัน

ที่จำได้คือ เรื่อง JIT ครับที่ทำให้แล้ว Java ทำงานเร็วขึ้น ปัจจุบัน Android ก็ทำ JIT เสริมเลยเป็นกรณีเดียวกันกับ Microsoft ทำให้ Oracle มั่นใจว่าชนะคดีแน่นอน เพราะมันเคยชนะมาก่อนแล้วนั่นเอง

ผมสงสัยว่าถ้าไมโครซอฟต์จะทำฟีเจอร์ดีๆ ทำไมหลังจากนั้นถ้าอยากเพิ่ม
ไม่ยื่นเรื่องเสนอเข้า JCP ที่เป็นองค์กรณควบคุมมาตรฐานล่ะครับ

ปล.ผมไม่ได้ตามข่าวเรื่องนี้เท่าไหร่นักนะครับ

เห็นด้วยครับว่า หากเคลมว่า Write once run anywhere ก็ควรจะรับผิดชอบด้วย

รู้สึก Java จะกลายเป็นภาษาที่มีปัญหาเรื่อง platform มากที่สุดไปเสียแล้ว เป็นอะไรที่ irony มาก ๆ

อ่ะฮ่ะคิดเหมือนกันแต่พูดมาไม่เหมือนกันมั้งครับ
ผมว่าโดยหลักแล้ว ไงฝั่งจาวาต้องทำ ยิ่งสโลแกนตั้งแบบนั้นยิ่งต้องทำเองครับ

แต่ทางระบบปฎิบัติการเองต้องเป็นตัวหนุนให้ผูผลิตด้วยครับ
อืม.. ไม่รู้จะพูดสาธยายอะไรดี ขอเป็นประโยคนี้แล้วกันครับ
"น้ำพึ่งเรือ เสือพึ่งป่า" แม้จะแยกกันอยู่ได้ แต่เราพึ่งพากันจะดีกว่า

ปัญหานี้มันสำคัญกว่าที่คุณคิดน่ะครับ การที่ Sun ฟ้อง Microsoft ในตอนนั้นก็ถือเป็นเรื่องที่ถูกแล้ว ไม่เช่นนั้นการเขียนโปรแกรมบนจาวา ก็จะมีปัญหาเฉกเช่นเดียวกับการเขียน Javascript ให้รองรับทุก Browser คือ ไม่สามารถเชื่อถือ Spec กลางได้ต้องมาทดสอบทุกระบบเอง ว่าฟังก์ชั่นหรือการทำงานที่จะใช้งาน สามารถทำงานได้บนระบบปฏิบัติการใดได้บ้างอีก เมื่อเป็นเช่นนี้คำว่า Write Once Run Anywhere ก็จะเสื่อมลงไป ถ้า Microsoft ต้องการเพิ่มอะไรก็ควรจะเสนอให้เป็นมาตรฐาน ถ้าของมันดีจริงๆ เรื่องก็ผ่านอยู่แล้ว หรือจะปรับปรุงอะไรตรงส่วนไหนก็ต้องทำให้มันทำงานบนมาตรฐานกลางได้ ไม่งั้นมาตรฐานจะกลายเป็นกระดาษกองหนาที่ไม่มีประโยชน์อะไร เนื่องจากมันมี Spec ที่อยู่นอกมาตรฐานอยู่เต็มไปหมด

ส่วนเรื่องใครควรจะ Implement Java ลงบน OS ต่างๆ หลักก็ต้องเป็นหน้าที่ของ Oracle เองนี่แหละ เพราะเป็นเจ้าของของ Java อยู่ แต่ถ้ามีเจ้าของ OS มาช่วยทำก็ย่อมเป็นเรื่องที่ดีกว่าให้ Oracle ทำเองคนเดียว เพราะไม่มีใครที่จะสามารถเข้าถึงฟังก์ชั่นและการทำงานของ OS ได้ดีกว่าเจ้าของ OS หรอก ดังนั้นผมจึงไม่มองว่าการที่เจ้าของ OS ออกมาช่วยทำ Java เป็นความผิดพลาดของ Java เลย แต่เป็นการแสดงให้เห็นว่า Java มีความสำคัญต่อผู้ใช้งานมาก จนเจ้าของ OS ยอมออกตัวมาช่วยทำให้ด้วย

รายละเอียดเพิ่มเติม Wikipedia - Java (programming language)

ผมก็ถึงได้บอกไงว่า ถ้าอยากให้ยึดมาตรฐานขนาดนั้น
เขียนอะไรเพิ่ม ไม่ได้ทั้งนั้น ขัดมาตรฐาน
ซันก็กรุณาเอาไปทำเองเหอะึครับ

ซันฟ้อง ครับ มันถูกตามกฏ ตามมาตรฐานครับ
แต่ถ้ากฏมันผิด มาตรฐานมันไม่ดี หรือล้าสมัย เมื่อไหร่มันจะได้พัฒนาล่ะครับ
มันเป็นเรื่องปกติมากครับ ที่มาตรฐาน มันจะตัดสินใจผิดพลาด โดยเฉพาะเรื่องการพัฒนา การเพิ่มอะไรต่างๆ
ของที่ดี ก็เห็นว่าไม่ดี จนกระทั่งมีคนยัดเข้ามาให้ใช้ แล้วคนมันใช้กันทั่วบ้านทั่วเมือง ถึงได้ตระหนักว่ามันคงจะดี
แ่ต่ไม่เคยรับผิดชอบอะไรเลยกับค่าเสียเวลา เสียโอกาส ที่คนที่นั่งยึดมาตรฐานอันนั้นต้องเสียไปกับความห่วยตรงนี้

อย่าง HTML 5.0 ดูยังไงก็พลาด เพราะถ้ามันไม่ดีจริง ก็คือมันพลาด
ถ้ามันดี คือมันมาช้าาาาาา ไปมากๆ ก็คือความผิดพลาดของ W3C อีกอยู่ดี

ทั้งที่มาตรฐานหลายๆอย่าง มักจะมีองค์กรณ์ที่ทำหน้าที่ "พัฒนามาตรฐาน" โดยเฉพาะ
กลับโดนตีแสกหน้าด้วยฟีเจอร์สำคัญๆตลอดมา
นี่มันทำงานกันยังไง?
ดูง่ายๆ Java ช้า มีคนบ่นเป็นสิบๆ ปี ทุกวันนี้ก็ยังโดนบ่นเรื่องนี้ ซันมันทำงานกันยังไง
OpenGL โดน NVidia กับ ATi แย่งกันเพิ่มฟีเจอร์ ไม่เคยตามทัน ล้าหลัง DirectX โครนอสนี่มันทำงานกันยังไง?

ถ้ามาตรฐานมันไม่ใช่ของที่ดีที่สุด
มันก็แค่ขยะครับ คุณพูดถูกแล้ว เอาไปชักโครกเถอะ

ที่ผมบอกว่า มันเป็นความผิดพลาดของ Java ที่คนทำ OS ต้องออกมาทำเอง
มันก็คือความผิดพลาด ที่ตัวเอง ที่โฆษณาตัวเองนักหนา ว่า Write once run anywhere
มันยังไม่ได้ anywhere จริง แต่ต้องรอให้คนอื่นมาทำ พูดหยาบคายคือ Java มันตอแหล
สมควรขอขอบคุณเจ้าของ OS อื่นเสียด้วย ที่อุตส่าห์ช่วยเหลือให้ Java มัน anywhere ได้จริง
ไม่ใช่มาบอกว่า ก็คนอื่นเขาขี้เกียจทำ หรืออ้างว่า ก็ติดนั่น ติดนี่ ไม่มี API

งั้นก็อย่าโฆษณาแต่แรก ว่า anywhere พูดให้กันชัดๆว่า Write once แล้ว run ได้แค่ somewhere

ผมก็เห็นด้วกับคุณหลายจุดนะ แต่ถ้าเรามาลองนึกดูดีๆ การเป็นมาตรฐานไม่มีความจำเป็นว่าต้องเป็นสิ่งที่ดีที่สุดหนิครับ ผมว่ามันน่าจะเป็นหลักการของการอยู่ร่วมกันมากกว่า ผมไม่อยากจะนึกถึงยุคที่ผมต้องเขียนเว็บแตกต่างกันถึง n ตามจำนวน n browser ในตลาด แค่ยุคนี้ก็แย่แล้ว

เห็นด้วยครับมาตรฐานคือจุดหลักที่ควรจะมีร่วมกัน ไม่จำเป็นต้องดีที่สุด เพราะดีที่สุดอาจแตกต่างกันออกไปตามการใช้งาน

ผมเห็นด้วยว่า ไม่ว่าใครที่ทำอะไรเกี่ยวข้องกับมาตรฐาน ก็ควรจะรองรับมาตรฐานให้ได้

Browser ทุกตัวควรรัน HTML มาตรฐานได้อย่างสมบูรณ์ทั้งหมดไม่ผิดเพี้ยน ผมก็เห็นด้วย
นั่นคือสิ่งที่มาตรฐานควรจะเป็น กำหนดแต่สิ่งที่ "ดีที่สุด" อยู่แล้ว สิ่งที่มันไม่ชัวร์ว่าจะดี อย่าใส่เข้าไป
และถ้าเกิดมีรูรั่ว ช่องโหว่ ก็ต้องรีบอุดให้เร็วที่สุด
หากว่ามีจุดไหนที่มันไม่ได้ "ดีที่สุด" ก็ต้องเปลี่ยนมันให้เร็ว

สิ่งที่เหลือนอกเหนือจากนั้นคือฟีเจอร์ที่ คนที่เอามาตรฐานไปทำ จะเพิ่มเติมอะไรก็ได้ ควรจะทำได้อย่างอิสระั
ถ้ามาตรฐานจะมี Guideline ก็ควรเป็นแค่ Guideline

ตอนที่ Microsoft ทำ JVM เอง ผมก็เห็นว่าไมโครซอฟท์รองรับมาตรฐานทั้งหมดของ Java
โปรแกรมจาว่าทุกโปรแกรมในโลกล้า รันบน PC ได้ ก็รันบน Windows ได้
สิ่งที่แตกต่างคือมีส่วนเพิ่มเติมขึ้นมาเป็นเอกเทศ
กลับโดนฟ้องว่าทำเกินมาตรฐาน ขัดมาตรฐานที่ว่า โค้ดจาว่าต้องรันได้ทุกแพลทฟอร์ม ทั้งที่เป็นฟีเจอร์ที่ทำให้จาว่าดีขึ้น
นี่แหละครับ คือมาตรฐานส่วนที่มีขยะในระบบ ควรชักโครกทิ้ง ถ้าไม่ทิ้งส่วนนั้น ก็ทิ้งมันทั้งมาตรฐานไปเลยดีกว่า

สิ่งที่ Microsoft ทำก็คือเพิ่ม keyword ที่ชื่อว่า Delegate ด้วย keyword ตัวนี้ทำให้ Java สามารถเข้าถึง Windows API และ COM components ได้โดยตรง ผลก็คือ java ที่เขียนและ compile ด้วย Visual J++ ไม่ compatible กับ Java เจ้าอื่น พูดง่ายๆ ก็คือ java ที่เขียนและ compile ด้วย Visual J++ เมื่อได้เป็น class แล้ว ไม่สามารถนำ class นั้นไปรันบน JVM ไปรันบน JVM ของเจ้าอื่นได้ ซันเลยฟ้อง Microsoft

ไม่ค่อยเข้าใจด้านเทคนิค แต่รู้ว่าโปรแกรมอันไหนที่เป็น Java มันจะช้า ไม่รู้ว่าเดี๋ยวนี้เร็วหรือยัง ไม่ได้ใช้นานมากแล้ว

+1 ครับ กินแรมพอๆกับ OS อีกตัวนึงเลย

อีกทั้งยังทำงานข้าม OS ไม่ได้ด้วย (หมายถึงไม่ได้100%)

ดังนั้นขอทิ้ง JAVA ไปทำ WebApp ดีกว่า (แต่ก็ช้าพอๆกัน)

ผมเลิกใช้เน็ตแวร์เพราะจาวา ผมเลิกหัดเขียนจาวาก็เพราะมันช้า แลไม่สนใจใช้จาวากับเวบก็เพราะมันอืด

ผมดีใจด้วยที่จะเลิกใช้มันแล้วมีตัวอื่นทดแทนที่ดีกว่า

ช้าครับในหลายแง่

  1. GUI ช้า โดยเฉพาะ swing ที่การตัดสินใจการออกแบบเชิงสถาปัตยกรรมเป็นตัวทำให้มันช้า
    การออกแบบรายละเอียดภายในก็ทำให้มันช้า UI respond time แย่
  2. startup time ช้า เพราะไม่มีระบบจัดการ module ที่ดีพอ เคยแก้ไขด้วยวิธีอื่นมาแล้วก็ยังไม่ดีเท่าที่ควร

ก็มีความพยายามของผู้พัฒนาระดับแกนนำ ออกมาตรฐานใหม่ ๆ ปรับปรุงให้มันเร็วขึ้นอยู่ครับ

ถ้าอย่างนั้นจริง ๆ ผมว่า JAVA ควรมาตรฐานเดียวกันทุกเพลตฟอร์มนะครับ
ทำให้ ลินุกซ์เพราะไม่มีคนทำ Microsoft อีก แล้วทำไมไม่ทำให้ Apple ??
อ่าน ๆ มาเหมือน JAVA ขี้เกลียจเองหรือเปล่า

ผมว่ามันผิดที่ Apple ตั้งแต่แรกครับ บน MacOSX จะติดตั้ง java ได้จะโหลดได้จาก apple.com เท่านั้นไม่มีให้อยู่บน sun.com เลย ลงก็ต้องลงด้วย terminal set อะไรด้วยมือหมด(อันนี้หมายถึงเวอชั่นทีไม่ได้มากับ OSX) ไม่รู้อีตาจ๊อบคิดยังไงที่จะเอา sdk ของ java ออกไป

มันเหมือนเรื่อง distributed vs centralized system , top down vs button up, closed vs opened
IBM vs Microsoft, Microsoft vs Sun, Unix vs Windows อุดมการณ์กับชีวิตจริง ดีกับชั่ว อยู่คู่โลกตลอดกาล
ทุกอย่างมีข้อดีข้อเสีย ต้องมีพรหมวิหาร ต้องสายกลางครับ

เค้าร่ายมนต์เก่งจริง ๆ คนหลงเยอะมาก ไล่ไม่ทัน
อยากเห็นภาพรวมต้องลองปะติดปะต่อดู

Mac App Store?

ไม่อนุญาติให้ app ที่ใช้ java เข้ามาขาย อนุญาติเฉพาะ native api กับ framework เดิม ๆ ของ apple

อยากพัฒนา software บน Mac App => ซื้อ เครื่อง Mac
ตัดมือตัดตีน Java ซะต่อให้ Oracle ทำตอนนี้ก็ต้องเริ่มที่ศูนย์ใหม่ source เดิมของ apple
development tool แบบ eclipse

ผู้ไม่นิยม java หลายคนตามไม่ทัน มันไม่ได้เกี่ยวกับ java ช้า หรือ ห่วยอะไรทั้งนั้น
ไม่ใช่เรื่อง cross platform ให้ software คุณภาพดีหรือไม่ดี แต่มันเกี่ยวกับ
ไปขวางทางหากินเขา

เขาต้องการ lock เข้าไปในระบบเขาให้มากที่สุดต่างหาก

ตอนนี้ชักคิดถึง กรณี browser ballot
มันน่าจะถูกนำมาบังคับใช้สำหรับ app store ด้วย

ผมใช้ java มาก็ปกติน่ะ ยิ่ง jre ตัวล่าสุด ผมว่าใช้ memory น้อยแล้วน่ะถ้าเทียบกับเทื่อก่อน

ผมยังคิดอยู่เลยว่าจะมานั่งทำ ให้ java มันติดตั้งในแต่ล่ะ platform ง่ายๆไม่ต้อง fix อะไรมากมาย

เช่นใน ubuntu ก็ใช้ .deb ไปเลยแบบนี้ จะได้รันง่ายๆ เหมือน mono ง่ายไปหมดเลย

ไงก็ขึ้นกับงานด้วยน่ะคับ อย่าลืม c++ กันล่ะโปรแกรมเมอรชาวไทย

ผมว่าเลิกเหอะครับ C++
เขียน C + C# ดีกว่า

หรือยังไง D ก็เป็นตัวเลือกที่น่าสนใจนะครับ
และยิ่งถ้ามันแทน C++ ได้ครบทุกงานด้วย
น่าจะถึงยุค Jump ได้แล้ว เหมือนที่ ASM -> C หรือ C -> C++