Tags:
Node Thumbnail

James Gosling บิดาแห่งจาวา ขึ้นเวทีงานสัมมนา TheServerSide Java Symposium โดยกล่าวสนับสนุนทิศทางการพัฒนาจาวาของออราเคิล แม้ตัวเขาเองจะมีปัญหากับการทำงานที่ออราเคิลจนต้องลาออกก็ตาม

Gosling บอกว่าออราเคิลไม่มีทางเลือกอื่นนอกจากต้องดูแลจาวาให้ดี เพราะซอฟต์แวร์ระดับมิดเดิลแวร์ทั้งหมดของออราเคิลต้องพึ่งพาจาวา เขายังพูดถึงประเด็นเรื่องการควบคุม JCP ของออราเคิลว่าเป็นหลักฐานยืนยันว่าทิศทางการควบคุม JCP ของซันในอดีต (ซึ่งออราเคิลเคยคัดค้าน) เป็นสิ่งถูกต้อง

Gosling ยังยินดีที่เห็นออราเคิลเสนอฟีเจอร์ด้าน UI ใน JDK 7 และเขาแสดงความเห็นว่า Java EE 6 ช่วยให้การสร้างเว็บแอพพลิเคชันทำได้ง่ายขึ้นมาก เขาบอกว่าคำว่า "cloud" น่ารำคาญ และอนาคตของจาวาไม่ได้อยู่ที่ตัวภาษา แต่อยู่ที่ตัว virtual machine (JVM)

ที่มา - The Register, InfoWorld

Get latest news from Blognone

Comments

By: mr_tawan
ContributoriPhoneAndroidWindows
on 18 March 2011 - 13:30 #270014
mr_tawan's picture

ผมว่าลุงเขาคงชอบเช้าวันที่ฟ้าปลอดโปร่งนะครับ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: Thaina
Windows
on 18 March 2011 - 13:42 #270022

อนาคตของจาวาไม่ได้อยู่ที่ตัวภาษา แต่อยู่ที่ตัว virtual machine (JVM)

พูดเหมือน MS เลย
งั้นช่วยให้ JVM เขียน C# ได้ ให้ที

By: mr_tawan
ContributoriPhoneAndroidWindows
on 18 March 2011 - 13:44 #270025 Reply to:270022
mr_tawan's picture

ผมว่า MS ที่เชียวชาญมากกว่าน่าจะมาทำให้นะ :-)

เอาเข้าจริง ๆ แกพูดถึงพวก Dynamic Language มากกว่านะ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: SouLsKi on 18 March 2011 - 14:23 #270050 Reply to:270022

ไม่เข้าใจว่าทำไมจะต้องทำให้ JVM run C# ได้ในเมื่อเป็นคู่แข่งกันอยู่แล้ว

By: Thaina
Windows
on 18 March 2011 - 14:51 #270058 Reply to:270050

.NET Framework ก็มี J# ใช้ นะครับ

ถ้าหากมั่นใจว่า JVM ตัวเองประสิทธิภาพดี และรองรับได้หลายภาษา และมีความสำคัญมากกว่าตัวภาษา
ก็ควรจะเอาภาษาของคู่แข่งมาใส่ เพื่อให้คนที่ใช้ภาษาคู่แข่ง ได้ย้ายไปใช้ JVM ของตัวเอง

อย่างนี้ไม่ถูกหรือครับ?

By: raining on 18 March 2011 - 16:22 #270095 Reply to:270058

มีคนใช้ J# ด้วยหรือครับ ??

การเอาภาษาอื่นมาใช้ที่กับ JVM มันไม่ต้องแก้ JVM นะครับ มันต้องแก้ตัว compiler ของภาษานั้น ๆ
ให้ compile มาเป็น ByteCode ของ JVM นะครับ ซึ่ง oracle คงไม่ทำให้หรอก คงต้องบอก Microsoft

By: Thaina
Windows
on 18 March 2011 - 17:01 #270102 Reply to:270095

ผมเห็นว่าภาษาอื่นๆน่ะ มันมีหลักการของมันเรียบร้อย
แต่ bytecode เปนของเฉพาะที่คนทำ JVM จะรู้ทุกอย่าง รวมถึงการพัฒนา JVM ก็ต้องเปลี่ยน bytecode เปนหลัก

ในอีกมุมนึงก็คือ bytecode เปนของออราเคิล ซึ่งจะเปิดหรือปิดเปนความลับหรือไม่ก็แล้วแต่ Oracle

Microsoft ทำ J# ลง .NET เองนะครับ รวมถึงภาษาอื่นๆอีกเปนสิบ ที่ไม่ใช่คนที่คิดเอง แต่เอามารันบน Framework ของตัวเอง
และจนกระทั่ง C# โด่งดัง มีคนใช้ ก็ถึงมี Symian ที่ทำ Mono มา Compile ภาษา C# ให้ไปรันบน Mono Framework

ผมขอเปรียบเทียบกับภาษา C นะ ว่าคนทำภาษา C ไม่ได้ไปนั่งทำ Compiler ให้ Hardware ทุกเจ้า
ขนาดสมัย Windows / Linux / MAC ก็ยังมี Compiler ภาษา C อยู่หลายเจ้า เพราะตัวภาษา C มีมาตรฐานของตัวเองเรียบร้อย

ย้ำอีกครั้งว่า James เปนคนพูดเอง ว่า ภาษา ไม่ใช่ส่วนสำคัญ สำคัญตรง JVM
ก็แปลว่า JVM ควรจะริเริ่มเอาภาษาอื่นๆมาวิ่งบน VM ของตัวเอง
และสิ่งที่ผมพูด คือการแนะนำว่า ก็ควรเอา C# ของคู่แข่งมาลง เพื่อให้คนย้ายไปใช้ JVM

Microsoft จะทำ C# ไปลง JVM ทำไม ในเมื่อ Microsoft อยากให้คนใช้ .NET ถึงขนาดทำ J#

ไอ้แนวคิดว่า Virtual Machine สำคัญกว่าตัวภาษา
ไมโครซอฟท์ใช้ .NET ในเป้าหมายนั้นมาแต่แรกแล้ว
และ J# นี่แหละคือสิ่งที่แสดงออกถึงแนวคิดนั้น

By: Soul_Master
Windows Phone
on 18 March 2011 - 17:35 #270109 Reply to:270095

+1 ข้างบน มัน concept .Net ชัดๆ
พูดภาษาที่ตัวเองถนัด แล้วทำงานรวมกันได้

By: mk
FounderAndroid
on 18 March 2011 - 18:11 #270117 Reply to:270095
mk's picture

เรื่องการสนับสนุนภาษาให้กับ VM ต่างๆ ทั้งค่าย JVM และ .NET ก็สนับสนุนให้ชุมชนเป็นผู้พัฒนานะครับ ไม่จำเป็นว่าบริษัทจะต้องทำเองทั้งหมด

By: mr_tawan
ContributoriPhoneAndroidWindows
on 18 March 2011 - 20:49 #270145 Reply to:270095
mr_tawan's picture

J# จริง ๆ เป็นแค่วิธีดึงคนจาก Java มา .Net ซึ่งจริง ๆ แล้วตอนนี้ Deprecate ไปแล้ว แล้วก็ใช้กับ .Net เวอร์ชั่นล่าสุด (4.0) ไม่ได้แล้วด้วย (จริง ๆ ได้แต่ต้องเล่นแร่แปรธาตุ)

จากสถานการณ์ปัจจุบัน Oracle ไม่มีความจำเป็นอะไรที่ต้องดึงคนจาก C# กลับมา เพราะเอาเข้าจริง ๆ กว่าครึ่งของคนเขียน C# เขียน Java ได้คล่องกว่าอีก (แค่ในหลาย ๆ งาน C#/.Net มันใช้ได้ดีกว่า Java (และก็สู้ไม่ได้เลยแม้แต่น้อยในอีกหลาย ๆ งานนะ)) ทาง Oracle น่าจะมุ่งไปทาง Dynamic Language (เช่น Ruby (JRuby)) มากกว่านะ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: bean3g
Windows PhoneUbuntu
on 19 March 2011 - 14:43 #270258 Reply to:270095

อยากเม้น @Thaina แต่เม้นไม่ได้

@Thaina สิ่งที่บอกว่าใช้หลายภาษาใน VM เดียวกันได้เป็นข้อดี ก็เห็นด้วย แต่หากมองในแง่การ Maintenance ล่ะ จะหาคนที่ทำได้หลายภาษา และเป็น .NET จากที่ไหน มันก็กลับมาสู่จุดเริ่มต้น คือ ต้องเลือกภาษาใดภาษาหนึ่งอยู่ดี ให้เป็นภาษาหลักในการพัฒนา เพื่อการหาคนมา Maintain ต่อ

By: SouLsKi on 18 March 2011 - 17:11 #270106 Reply to:270058

ทำไมผมรู้สึกว่าข่าวที่ออกมา JVM มุ่งไปทาง support dynamic language มากกว่าภาษาประเภท static แต่ก็อย่างที่บอกผมก็ยังมองไม่เห็นประโยช์นของการสร้าง JVM มาเพื่อ support ภาษาที่มีลักษณะค่อนข้างคล้ายกันและเป็นคู่แข่งกันอีกด้วย การทำแบบนั้นผมว่ามันเหมือนเป็นการยอมรับทางอ้อมว่าภาษาของคุณไม่ดีพอที่จะแข่งกับคู่แข่งได้เลยต้องหันมา support ภาษาคู่แข่ง

By: Thaina
Windows
on 18 March 2011 - 17:51 #270111 Reply to:270106

ผมเห็นว่า JVM มีลักษณะที่เหมาะกับภาษา static มากกว่าน่ะครับ

แต่โดยรวมๆก็คือ VM ดีๆ นี่มันก็ควรจะรองรับทั้งภาษา static และ dynamic

ส่วนเรื่องความคล้ายกันของภาษา นี่ ผมก็ไม่ค่อยแน่ใจนะ จะเรียก Delphi.NET กับ C# ว่าคล้ายกัน ดีหรือเปล่า?

แต่การที่ไม่ทำ C# ออกมา ทั้งที่ตัวเองพูดว่า "ภาษามีความสำคัญน้อยกว่า VM"
นี่น่าจะแสดงถึงการยอมรับกลายๆ ว่าไม่กล้าทำ เพราะกลัว Java จะแพ้ ได้เหมือนกัน

คือผมดูแบบอย่างมาจาก J# ว่าไมโครซอฟท์ "กล้า" ที่จะทำออกมา โดยไม่กลัวว่าคนที่ชำนาญ Java จะมาถล่มเขียน J# จน C# ตกกระป๋อง
ในทางกลับกันเลยว่า J# กลายเปนสเต็ปทางผ่านให้คนเขียน Java บางคน เอามาใช้เล่นก่อนจะโดดมา C#

ถ้า JVM อยากจะเน้นความสำคัญในการดึงคนมาใช้ น่าจะลองทำแบบนี้ดู
และถ้า C# สามารถใช้งานบน JVM ได้อย่างมีประสิทธิภาพ น่าจะเปนข้อพิสูจน์ได้ว่า JVM มันดีจริง

By: Sand
AndroidUbuntu
on 18 March 2011 - 23:55 #270178 Reply to:270058

วิธีการนั้นอาจจะเป็นของ Microsoft แต่กับ Oracle อาจจะไม่ใช่ก็ได้วิธีใครวิธีมัน ผมมองว่าไม่มีความจำเป็นเลยที่ต้องไปลอกเลียนแบบ กลับกันเอาเวลาไปพัฒนาของตัวเองให้ดีกว่าคู่แข่งสร้างความแตกต่างจะเหมาะสมกว่าเพราะถ้าไปพัฒนาภาษาที่คู่แข่งเค้าถนัดอยู่แล้วมันจะเสียทั้งเวลาและงบประมาณ สู้ Oracle ไปพัฒนาหรือสนับสนุนของที่มีคนทำอยู่แล้วเช่น JRuby, Jython, Groovy, Scala หรือ PHP ไม่ดีกว่าเหรอครับเพราะนักพัฒนาฝั่งนี้ก็ไม่น้อยไปกว่า C# เค้าฉลาดครับคงไม่คิดสั้นแบบนั้น เพราะผลมันก็แสดงให้เห็นชัดอยู่แล้วว่า Microsoft เคยพยายามทำ Java ของตัวเองขึ้นมาแต่ก็ไม่ประสบความสำเสร็จใช้จริงไม่ได้สุดท้ายก็ต้องเลิกพัฒนาไป

By: pines
Blackberry
on 19 March 2011 - 01:53 #270190 Reply to:270178

เห็นด้วยเลยครับ โดยเฉพาะ Groovy อิอ

By: bean3g
Windows PhoneUbuntu
on 19 March 2011 - 14:58 #270259 Reply to:270178

ใช้จริงไม่ได้ หรือเพราะติดปัญหาทางกฎหมายกับ Sun

ประวัติ J# มันไม่สวยหรูเพราะโดน Sun ฟ้อง จน Microsoft ต้องคิดภาษาใหม่ของตัวเองขึ้นมาคือ C# และเอา feature ทุกอย่างที่ J# มี ผสมกับ Delphi และ C กำเนิดใหม่เป็น C# ที่เดี๋ยวนี้ทำ dynamic variable ได้แล้ว ความที่มันเป็นได้ทั้ง manage code และ unmanage code ในตัว เลยไม่ต่างกับการใช้ JNI ของฝั่ง Java นัก ภาษา C# เลยเป็นภาษาที่ยืดหยุ่นกว่าในหลาย ๆ แง่มุม การเขียนที่สั้นกระชับกว่า สิ่งเหล่านี้ล้วนทำให้ J# หมดความสำคัญลงไป

ซักวัน Google จะต้องพลักดัน ภาษา Go ไปแทนที่ Java บน Android เฉกเช่นเดียวกับที่ Microsoft เคยโดน

By: Thaina
Windows
on 19 March 2011 - 17:27 #270273 Reply to:270178

อันนั้นเข้าใจผิดแล้วครับ

C# เกิดจากการที่ไมโครซอฟท์โดน SUN ฟ้อง ว่า Java เวอร์ชั่นไมโครซอฟท์ มันมีฟีเจอร์เกินมาตรฐานของ SUN
ในตอนที่ว่านี้ J# ยังไม่เกิดครับ

J# เกิดมาหลังจากนั้นครับ ตอนที่ C# และ .NET เสร็จแล้ว ไมโครซอฟท์ตั้งใจทำ J# ออกมาเพ่อดึงนักพัฒนา Java มาใช้ ส่วนที่มันไม่นิยมเพราะอะไรนี่ก็คงจะมีหลายสาเหตุ

By: tekkasit
ContributorAndroidWindowsIn Love
on 19 March 2011 - 20:18 #270297 Reply to:270178
tekkasit's picture

@thaina จริงๆอยากแสดงความคิดเห็นกับคุณ thaina แต่คอมเมนต์ไม่ได้ เลยขอพ่วงหน่อยครับ

อันที่จริงเมื่อสิบปีก่อน MS เล่นตุกติกกับ Java ครับ MS Java นั้นตั้งใจพัฒนาไม่ 100% กับ Sun JDK ไม่ใช่มีแค่เกินครับ แต่มีส่วนขาดและก็ไม่น้อยเลยด้วยครับ ทำให้โค้ดไม่น้อยไม่สามารถทำงานบน MS Java ได้อย่างราบรื่น (เอาแค่ง่ายๆ java.exe ยังเปลี่ยนชื่อเป็น msjava.exe เลย รวมถึงไม่สนับสนุน JNI แต่เลือกที่จะพัฒนา J/Direct แทน) ตอนนั้น Sun เลยขอใช้อำนาจศาลสั่งให้ MS หยุดการเผยแพร่ MS Java ครับ

หลังจากนั้นทางไมโครซอฟท์เลยพัฒนา J# ซึ่ง ผมว่าเหมือนพัฒนา Java โดยใช้โครงสร้างภาษาคล้ายคลึง แต่ในรูปแบบที่ไมโครซอฟท์กำหนดเอง เพื่อดึงนักพัฒนาให้มาทางไมโครซอฟท์ (ซึ่งในทางธุรกิจก็เค้าใจได้ ถ้าทุกคนพัฒนาแอพพลิเคชันเป็นจาวาได้ทั้งหมด ดังนั้น ลูกค้าสามารถจะเลิกใช้ระบบปฏิบัติการของไมโครซอฟท์ และเปลี่ยนไปใช้ระบบปฎิบัติการค่ายอื่นๆเสียเมื่อไรก็ได้ และถ้าไปดูแหล่งทำรายได้หลักของไมโครซอฟท์ในขณะนั้น คือ ออฟฟิศและวินโดว์ส ก็คงจะเป็นเรื่องบ้าแน่ๆที่ปล่อยให้ยอมให้จาวามันเกิดบนฝั่งไคลเอนต์ได้ง่ายๆ)

By: Thaina
Windows
on 19 March 2011 - 20:33 #270298 Reply to:270178

ผมไม่เคยได้ยินว่า MSJava มีส่วนขาดจาก Java ปกติ นะครับ

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

และที่ SUN ฟ้อง ก็เพราะกลัวว่าจะมีคนมาใช้ฟีเจอร์ที่ไม่มีบนแพลทฟอร์มอื่นๆ แล้วการเขียน Java จะไม่ได้ Run Anywhere จริง
ซึ่งก็ตามหลักเช่นกัน ว่าต้องซัพพอร์ทของที่มีอยู่แล้วให้หมด เพื่อให้คนย้ายเข้าง่าย แล้วเพิ่มฟีเจอร์เฉพาะตัวให้คนย้ายออกยาก

ส่วนเรื่องที่ MS เริ่มไม่ซัพพอร์ท Java ได้ยินว่าเปนเรื่องหลังจากตรงนี้ ที่ SUN ฟ้องแล้วแพ้ MS ก็ถึงเริ่มพาลกับ Java และสนับสนุน .NET แทน

ส่วนเรื่องอื่นๆผมก็ทราบมาเช่นนั้น

ส่วนตัวผมเชื่อว่า จริงๆตอนที่สร้าง J# มา MS ก็คงเอาจริง ว่าจะให้มันเปนตัวรับคนใช้ Java และคงจะพัฒนาขนานไปกับ C# ได้เรื่อยๆ แต่ปรากฏว่าผิดแผน ว่าคนใช้ Java ก็หันมาจับ C# ตรง ได้ชิวๆ เลยไม่ได้สนับสนุนต่อจากตอนนั้น

By: tekkasit
ContributorAndroidWindowsIn Love
on 19 March 2011 - 23:54 #270332 Reply to:270178
tekkasit's picture

มีครับ ผมเอาตัวที่ชัดๆละกันครับ MS Java ไม่รองรับ JNI ทั้งๆเป็นส่วนหนึ่งของมาตรฐาน Java SE 1.1 ครับ แต่เลือกที่จะพัฒนามาตรฐานของตัวเองที่เรียกว่า RNI (Raw Native Interface) ครับ

ดังนั้นโปรแกรมที่ต้องใช้ฟีเจอร์ RMI จะไม่สามารถทำงานบน MS Java ได้ครับ

นอกจากนั้นจะมีรายละเอียดที่แตกต่างกันเล็กน้อยๆ เรียกว่าไม่สามารถทำ drop-in replacement ได้ (javac vs jvc, java vs msjava)

ถ้าเทียบแล้ว IBM Java Runtime ขณะนั้นยังทำได้ใกล้เคียงกับ Sun Java Runtime ได้มากกว่าที่ MS Java Runtime ทำไว้เยอะครับ

By: mr_tawan
ContributoriPhoneAndroidWindows
on 19 March 2011 - 23:57 #270334 Reply to:270178
mr_tawan's picture

สรุปว่า ข้างบนก็คือ MS ขี้เกียจ นั่นเองครับ อิอิ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: plynoi
WriterAndroidUbuntu
on 20 March 2011 - 10:00 #270364 Reply to:270178

@thaina ถ้าจำไม่ผิดตอนนั้น Java ของ MS ชื่อ J++ ครับ และถ้าเขียน J++ จะเอาไป compile หรือรันกับ Java ของ Sun ไม่ได้ด้วย

By: Thaina
Windows
on 20 March 2011 - 11:44 #270383 Reply to:270178

ใช่ครับ Java ที่เขียนจาก MS เอาไปรันบน Java ของซัน ไม่ได้

ผมหมายถึง Java ของ SUN เอามารันบน Java ของ MS ได้ ครับ

แต่จากข้อมูลของหลายๆท่านก็ดูเหมือนว่ามีข้อจำกัดเหมือนกัน (ไว้ผมจะขอศึกษาดูอีกทีครับ)

By: Iterator
Android
on 18 March 2011 - 18:54 #270130 Reply to:270022

ผมว่าลอจิกก็สอดคล้องกันนี่ครับ

เพราะภาษามันไม่สำคัญต่ออนาคตของจาวา ดังนั้นควรเอาทรัพยากรและความมุ่งหมายหลักไปพัฒนา JVM น่าจะดีกว่า

ผมเห็นว่า JVM มันเป็นของที่เก่า ที่ใช้มานานมาก แต่ยังใช้งานได้ ข้ามยุคมานานมาก ถือเป็น ผลงานทางวิศวกรรมชั้นยอด หลาย concept เป็นระดับ classic ถือเป็นแบบอย่างจนมีคน "เอาไปเป็นแรงบันดาลใจ"
เอาไปปรับปรุงทีหลังให้ดีกว่า ตอนนี้ถึงเวลาแล้วที่จะมีการปรับปรุงแก้ไขครั้งใหญ่ ซึ่งผมว่ามีแนวโน้มดีดีหลายอย่าง
เช่น project jigsaw

By: khajochi
WriteriPhoneIn Love
on 18 March 2011 - 14:23 #270049
khajochi's picture

อนาคตของจาวาไม่ได้อยู่ที่ตัวภาษา แต่อยู่ที่ตัว virtual machine (JVM)

Agree


แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com

By: nextman13
AndroidBlackberryUbuntuWindows
on 18 March 2011 - 15:05 #270061

"อนาคตของจาวาไม่ได้อยู่ที่ตัวภาษา แต่อยู่ที่ตัว virtual machine (JVM) "
พูดตรงจุดเลยครับ รัก java เพราะัทั้ง IDE , JVM เอง ไม่จำเป็นต้อง install หรือ Regist เข้า OS
ก็ำทำงานได้นี่ของชอบ ผลกระทบจากการที่ windows เปลี่ยน version ก็น้อยกว่า copy IDE ไปวางแล้ว run ได้เลย

By: mednoon on 18 March 2011 - 15:15 #270064

ส่วนตัวผมเกลียดว่าคำว่า VM เหมือนกันครับ ไม่ว่าด้วยภาษาอะไรก็ตามที่ต้องทำงานผ่าน VM รู้สึกมันรำคาญหมด

By: dq-pb
AndroidWindows
on 18 March 2011 - 16:18 #270093 Reply to:270064

+1โดยเฉพาะ VM ที่มีขนาดใหญ่ๆ

By: iStyle
ContributoriPhoneAndroidSymbian
on 18 March 2011 - 15:27 #270073
iStyle's picture

การ์ตูนน่ารัก


May the Force Close be with you. || @nuttyi

By: bean3g
Windows PhoneUbuntu
on 18 March 2011 - 16:41 #270098

cloud or fog 555

By: pines
Blackberry
on 18 March 2011 - 20:24 #270140

ตั้งแต่มีพวก Web App ผมกลับชอบ Java แฮะ ทั้ง ๆ ที่แต่ก่อนไม่ชอบเลย (โดยเฉพาะบน Windows PC)

By: frank_-
iPhone
on 20 March 2011 - 00:45 #270344

อ่านความเห็นมานานแล้ว ยิ่งอ่านยิ่งได้ความรู้ทั้งทั้งที่ตัวผมแทบไม่รู้อะไรเลย

By: vavar
iPhoneAndroidBlackberryWindows
on 20 March 2011 - 14:28 #270411
vavar's picture

ข่าว java ทีไร มาม่า ทุกที