ในมุมเทคโนโลยีนั้น หลายคนบอกว่าจาวาได้ตายไปแล้ว โดยถ้าหากเราลองมาดูในโลกของเว็บ ไม่ว่าจะเป็น Facebook, Wikipedia, Twitter ล้วนไม่ได้สร้างมาจากจาวา การที่ Oracle เข้ามาซื้อกิจการของ Sun กลับยิ่งทำให้แสงสว่างในโลกจาวาดับวูบลงไปอีก
แต่ในความเป็นจริงแล้ว เทคโนโลยีใหม่ๆ หลายโครงการในปัจจุบัน ยังคงใช้จาวาเป็นหลักอยู่
แต่ถึงอย่างนั้น ว่ากันว่างาน Java One ในปีนี้ (19 กันยายน) อาจจะเป็นจุดชี้เป็นชี้ตายของเทคโนโลยีที่ทุกคนเคยพูดถึงอย่างจาวาก็เป็นได้
ที่มา - Redmonk
Comments
BlackBerry ก็ชวา >.<
ส่วนผมก็กำลังจะตายเพราะ Java
ยังไงไม่รู้ รอดู Java 7 อย่างเดียว
run best on i7 and windows 7
O_o ไม่อ๊าว
ออกพร้อม chrome 7 เวอร์ชันเสถียร!
เวอร์ชั่นนี้ยังไม่ออกอีกหรือเนี้ย ให้ตายจริงๆ ตั้งแต่ผมเข้าป. ตรี แล้วอ่ะ
ว่าแต่เวอร์ชั่นใหม่นี้จะปรับเปลี่ยน UI ใหม่ยังครับ ตอนนั้นเป็นมีโครงการ nimbus ก็ดูสวยดีน่ะ
รีบๆ เข็นออกมาน่าจะได้ยังไม่ตาย
Android มันก็แค่ใช้ Syntax จาวา เฉยๆนิครับ Library มันก็คนละตัวกัน
ส่วน Apache มัน C นี่นา แต่ก็หลายโครงการที่เอา Java ไปขี่อยู่บน Apache
แล้วมันก็กลายเป็นว่า Java กระจัดกระจาย มีหลายต่อหลาย Framework หรือ อะไรก็แล้วแต่
(ผมไม่สันทัดและไม่ชอบจาวาในความยุ่งยากซักเท่าไหร่)
จาวาในตัว "ภาษา" มันไม่ตายหรอกครับ แต่ในทาง "เทคโนโลยี" อีกเรื่องนึง
เอาง่ายๆเวลาสมัครงาน Java Programmer มันจะมีอะไรต่อพ่วงสารพัด
แต่ถ้าเป็น .NET หรือพวก iPhone รายละเอียดมันจะสั้นกว่า
ส่วนเรื่องแนวคิด Write once run any where มันก็มีปัญหาเยอะแยะ ไม่เห็นเหมือนแนวคิดที่โฆษณาไว้แต่แรกเลย
+
Android ผมถือว่าเป็น Java นะครับ ทั้งการพัฒนา Application และตัว VM ที่ถึงจะไม่ใช่ของ Sun แต่ก็เป็น Java VM
อ๊ะๆ ไม่ใช่นะครับ Java VM Structure เป็น Stack-based ครับ ส่วน Dalvik VM นั้นเป็น register-based ครับ
ผมจะไม่เรียกมันว่า JVM นะ ถ้ามัน
ผมเห็นประสบการณ์การทำ J++ ของ MS แล้วโดนฟ้อง ก็ให้รู้สึกว่า JVM ไม่ใช่อะไรที่อยู่ๆก็แปล Java ByteCode แล้วจะเป็นกันได้ แต่ต้องทำทุกอย่างตามมาตรฐานของ SUN
แล้ว Dalvik จะทำไปได้นานแค่ไหน
นอกจากนี้ Dalvik ก็รับ Python ได้ นั่นหมายความว่า Google คิดจะทิ้งจาว่าเมื่อไหร่ก็ทำได้ แค่ Inverse Compile โค้ด Java ให้มันกลายเป็น Python หรือ ภาษาอื่นๆ
นึกถึงตอนที่เปิดตัว Android ใหม่ๆผมงงเลยนะครับที่ Google เลือก Java แทนที่จะเป็น Python
เชื่อว่าตอนนั้น(หรือแม้แต่ตอนนี้) จาว่าก็ยังมีคนใช้เยอะกว่าไพธอน น่ะครับ
ในฐานะที่ผมเขียน C# ผมเห็นว่าภาษาปีกกาเขียนแล้วอ่านง่ายกว่าภาษาที่ไม่ใช้นะ
ถึง Java จะคนใช้เยอะกว่า แต่ดูเหมือน Google จะพยายามดัน Python อยู่น่ะครับ
จะว่าไปถ้า Google เลือก Python ก็เหมือนเป็นการวัดดวง ถ้า Android ดังขึ้นมา Python ก็รุ่งด้วย
Python เป็นภาษาอันดับสามใน Google ครับ
สองอันดับแรกคือ C++ และ Java ส่วนที่ว่าดันชัดเจนคือกูเกิลจ้าง Guido van Rossum ไปนั่งดูแล Python "ครึ่งหนึ่ง" ของเวลาที่ใช้ทำงานในกูเกิล
แต่จริงๆ แล้วเทพๆ ด้าน Java หลายคนก็อยู่ใน Google ครับ ผมเองแอบเชียร์ให้ Gosling ตามไปอยู่ในกูเกิลอีกคน เผื่อได้ดู TechTalk สองคนเถียงกัน
lewcpe.com, @wasonliw
Cassandra ที่รันอยู่ด้านหลังของ facebook ก็เป็น java, ส่วน backend ของ Flickr ก็มีส่วนที่เป็น java อีกเยอะ
Java ยังไม่ตายง่ายๆ หรอกครับ แต่คนที่ต้อง support java เวอร์ชันเก่าๆ น่ะแหละที่จะตาย
pittaya.com
โดยเฉพาะ Applet
เห็นใจแทน
ยังไม่ตาย แต่ก็อ่อนกำลังลงมากสินะ
เหมือน COBOL ก็ยังไม่ตายนะ คน Maintain เตรียมตัวรวย
อย่าตายไวก็แล้วกัน เพราะตอนนี้ศึกษาและใช้ java อยู่
มันมีอะไรที่ทดแทน JAVA ได้มั๊ย แบบฟรีด้วย
Mono, Python
ยังไม่ตายแต่อนาคตมืดมน
MapReduce ใช้ C++
Hadoop ไม่ใช่ database
ฺBlackberry ใช้ Java
CouchDB ใช้ erlang รึเปล่า? ถ้าำจำไม่ผิดเหมือนจะเปลี่ยนจาก C++ -> erlang นะ
อ่านข่าวนี้แล้วน่ากลัวจัง แต่เห็นเว็บ blog หรือ social network หลายตัวของญี่ปุ่นก็ใช้ java อยู่นะครับ
ส่วนตัวตอนนี้ลองทำเว็บ social network ด้วย java อยู่เหมือนกัน SNS Live
ญี่ปุ่นนิยมอะไรไม่ต้องแคร์โลกภายนอกเท่าไหร่อยู่แล้วนี่ครับ ผมว่าถือเป็นข้อดีอย่างนึงเลย
พี่ยุ่นนี่อินดี้ตัวพ่อครับ
เล่น social network ของตัวเอง เล่น blog ของตัวเอง เขียนโปรแกรมนิยม ruby ที่คนญี่ปุ่นคิด บีบอัดไฟล์ก็ใช้ฟอร์แมต lzh ที่คนญี่ปุ่นคิดอีกเหมือนกัน
ชาตินิยมมากๆ
ผมล่ะอยากให้คนไทยชาตินิยมบ้างจัง ไม่ต้องขนาดนั้นก็ได้แต่ให้มากกว่านี้ นี่เล่นอะไรของไทยทำเป็นไม่ใช้เลยเชียว - -"
+1
คนไทยชาตินิยมเมื่อไหร่ อเมริกาก็จะแทรกแซงการเมืองทันที เหมือนที่ใครคนนั้นที่เหมือนโดนเนรเทศกลาย ๆ เป็นคนจุดประกายให้คนไทยรักชาติมากกว่าที่จะรักมือที่มองไม่เห็น
หลายทีผมก็เป็นนะ โดยเฉพาะซอฟต์แวร์ที่รันบนเดสก์ท็อป ผมรู้สึกซอฟต์แวร์ไทยมันไม่ค่อยน่าใช้ แต่ถ้าเป็นบนเว็บก็มีใช้บ้างเหมือนกัน
ผมว่าเป็นแค่บางคนมั้งครับ ส่วนใหญ่เลยก็เป็นเพราะภาษา
ว่าแต่ว่าผมไม่เคยมีเพื่อนคนญี่ปุ่นที่เขียน Ruby เป็นซักคนเลยนะครับ
ผมว่าเป็นความเข้าใจผิดนะ ที่ว่าคนญี่ปุ่น "ชาตินิยม" คำว่าชาติไม่น่าจะมีอยู่ในหัวคนญี่ปุ่นด้วยซ้ำ ที่เขาเป็นอย่างนั้น เพราะวัฒนธรรมแบะวิธีการคิดของคนญี่ปุ่นต่างจากคนประเทศอื่น ทำให้อะไรหลาย ๆ อย่างที่เหมาะกับคนประเทศอื่น ไม่เหมาะกับคนญี่ปุ่น และบวกกับคนญี่ปุ่นมีความคิดสร้างสรรค์ เลยมักสร้างอะไรที่ไม่เหมือนใครมาใช้เองเสมอ
คนไทยเสียอีก ชาตินิยมมาก บางคนก็ออกแนวคลั่งชาติ (ประเมินจากคนไทยส่วนใหญ่ เทียบกับคนจากประเทศอื่น ๆ ที่ผมเคยสัมผัส)
อันนี้เห็นด้วยอย่างมาก
คนไทยไม่ชาตินิยม คนไทยไม่รู้จักคำว่าชาติ อย่างชัดเจน แต่ยึดติดและคลั่ง กลุ่มสัญลักษณ์บางอย่างที่ถูก ติดตั้งไว้ตั้งแต่เกิด หรือก่อนเกิดมาเสียอีก
คนญี่ปุ่นชาตินิยม (ต้องแยกระหว่างชาตินิยมกับ ชาตินิยมขวาจัด อย่าไปสรุปว่าเป็นอันเดียวกัน ขวาจัดจะปนด้วยแนวคิดซอฟต์แวร์เก่าของมนุษย์แบบสุดโต่ง) แต่ก็เป็นนักธรรมชาตินิยมด้วย เลยสนใจธรรมชาติและวิทยาศาสตร์ โดยธรรมชาติและเชิงประวัติศาสตร์ ทำให้ญี่ปุ่นต้องทำอะไร ต้องทำอย่างมีประสิทธิภาพ ทำน้อยให้ได้มาก ใช้ทรัพยากรต่ำ( เนื้อที่ราบน้อย เนื้อที่เพาะปลูกยิ่งน้อย เทียบกับเนื้อที่ทั้งหมด ) คนอยู่แออัด ต้องมีระเบียบ และต้องมีระบบ มารยาท เพื่อให้อยู่กันได้ ทรัพยากรน้อย ต้องเน้นสร้างสรรค์
แค่ใช้คำว่า "ชาติ" (Nation) แสดงว่าคนในประเทศนั้นมีฐานความเป็นชาตินิยมอยู่สูงแล้วครับ คุณเคยได้ยินคนจากประเทศอื่นใช้คำนี้หรือเปล่า ?
ประเทศอื่นใช้เยอะครับ
ดูทีวีจีน ก็พูดถึงประเทศชาติอยู่ตลอด แต่ไม่ลืมคำว่าประชาชนตลอดด้วย ได้ยินทุกวันแน่นอนในข่าว
ญี่ปุ่น ก็ไม่นึกถึงคำว่า ชาติเลยครับ นึกถึงแต่คำว่า ญี่ปุ่นเลย คือมันไม่ใช่ชาติมั้ง มันคือ ญ๊่ปุ่น กับไม่ใช่ญี่ปุ่น
มันอยู่ที่ความเข้าใจของคำนี้แหละครับ ชาติของคนไทยหน้าขาวในเมือง ไม่อยากรวมคนหน้าดำบ้านนอก บางครั้งก็อยากรวม แบบโรแมนติก
วันชาติของไทย มีพูดถึงคนไทย ความเป็นอยู่ ชนเผา ภาษา ความเป็นมาอะไรบ้างไหม ?
ชาติ ประชาชน ดินแดน ความเป็นอยู่ วัฒนธรรม ความรู้สึกเป็นพวกเดียวกัน
เอาว่า คำว่าชาติเหมือนกัน คนไทยนึกไม่ค่อยเหมือนกับประเทศอื่นครับ สัญลักษณ์โดนรวมผสมอยู่นะครับ
เข้าใจนะครับว่า คำว่าชาตินิยม ตอนนี้มันถูกเหมารวมเป็นแนวชาตินิยมขวาจัด ไปหมด เรียกชาตินิยมเฉย ๆ ก็
มองไปแบบนั้นหมด
applet นี่น่าจะตายแน่ครับ JavaFX ก็คงไม่รอด
ฝั่ง interface นี่จริงๆ GWT มัน promising มาก แต่ดูเหมือนจะไม่บูมขนาดนั้น?
lewcpe.com, @wasonliw
คนที่ต้องอยู่ด้วยก็ตายครับ
นี่คงเป็นผลบุญที่อุทิศตนเป็น Java Zealot มาก่อนครับ
พระเจ้า java เลยให้ได้อยู่กับ Java ชั่วกัปล์ชั่วกัล
555+
ชอบ GWT มากๆ
ส่วนตัวชอบ GWT มากครับ ใช้อยู่ แต่ต้องบอกว่าควรใช้ให้ถูกงานครับ มันไม่ได้เหมาะไปซะหมด
ถ้าพูดถึง Java ผมนึกถึง 2 มุม คือ Java syntax และ JVM performance
ด้าน syntax ณ ปัจจุบันต้องยอมรับว่าภาษาใหม่ๆ กระชับกว่า Java เยอะ .. เริ่มรู้สึกว่า Java syntax ใกล้ตายก็ตอนที่เห็นเทพ Java หลายๆ คน หนีไปหา Groovy กัน .. แต่พอ Android มา ก็ดูเหมือนว่า syntax อ้วนๆ แบบนี้ยังไม่ตายง่ายๆ หรอก
ด้าน performance ต้องยอมรับว่า "Java เร็ว" จริงๆ ครับ เท่าที่เคยใช้งานในฝั่ง backend/server มานี่ ความเร็วเป็นรองแค่ C/C++ ... แต่คนละเรื่องกับ desktop app นะ อันนี้นรก
JVM คือปฏิมากรรมที่ถูกสลักเสลาผ่านกาลเวลามาอย่างยาวนาน แม้ Java syntax จะตาย แต่ผมมั่นใจว่า ทหารแก่อย่าง JVM ไม่ตายอย่างแน่นอนครับ
การบอกว่า Java จะตาย เพราะ Facebook, Wikipedia, Twitter ไม่ได้ใช้ Java นั้น ผมคิดว่าเป็นการไม่ยุติธรรมนะ
อวยมาซะเยอะ .. ผมสาวก Python ครับ อะฮิๆๆ
ผมว่ามันน่าจะสลับกันนะ
JVM มันน่าจะเดี้ยงไปนานแล้ว (JavaFX นี่เรียบร้อย) ส่วน Syntax คิดว่ายังอยู่ แล้วยังจะอยู่ได้นาน
สำหรับ Desktop App นี่เอ่อ....ซีพียูไม่เทพแต่แรมกับบัสเยอะๆ ก็พอนะ
ปล.จะหนีจาก C# ไป XAML แทน :P
ถ้า JVM ตายอย่างนี้คงกอดคอตายตามกันเพียบมั๊งครับ เช่น Jython, JRuby ที่อุตส่าห์ port
มา run บน JVM และภาษาใหม่ๆอีกอย่าง Groovy, Scala, Clojure, ...
ถ้า JVM ตายก็ถึงคราวจุดจบของ Java จริงๆแล้วครับ เพราะ JVM เป็นหัวใจของ concept หลักของภาษา java เลยคือ "Write once, run anywhere" ครับ
Java ภายใต้ Oracle จะเปลี่ยนไปเหมือน ABAP
ส่วน JVM ก็คงไปรวมร่างกับของ Oracle เดิม และบริษัทไหนที่หากินกับ JVM ของตัวเองเช่น Websphere ของ IBM ก็ถึงเวลาต้องจ่ายค่าต๊งให้ Oracle
ทุกวันนี้เขาก็จ่ายอยู่นะครับ
lewcpe.com, @wasonliw
พึ่งทราบนะครับเนี่ย งั้นต่อไป ถัดจาก Google เขาจะฟ้อง IBM ไหมครับ
Java Syntax เป็นอะไรที่คลาสสิคมาก
จริงๆ มันก็เอามาจาก C/C++ ซะเยอะนะ :P
อ้าว กำลังจะพยายามอ่าน Java อยู่พอดีเชียว - -a
โถ่...เกมจาว่าของฉัน
ผมยังเขียน java อยู่นะ โดยใช้เครื่องมือจาก processing.org (เขียนอะไรแล้วมันเห็นภาพง่ายดี export ก็ง่าย)
หวังไว้ว่าอีกซักปี processing for android จะสมบูรณ์
ผมหันไปหา groovy ละ แต่พอกลับไปเขียน java ชักขัดอกขัดใจเหมือนไม่ใช่ตัวเอง
java มีปัญหาที่ library เยอะโคตรๆ อยากได้อะไรมีหมด เลยสองจิตสองใจจะทิ้งหรือไม่ทิ้งดี
ของเค้าครบจริงครับ
อันนี้มันไม่ใช่ปัญหานะครับ มันคือข้อดี
ตอนผมเรียนคอมใหม่ๆก็มีคนบอกว่า C++ จะตาย... แต่ตอนนี้ผมยังเขียนอยู่เลย
อะไรคือ จาวา หรือครับ :P
ที่มา - StackOverFlow
สิ่งที่ดีที่สุดใน java ก็คือ jvm นะ ถึง ภาษา java จะน่าสนใจน้อยลง แต่ยังมีอีกหลายภาษาที่น่าสนใจที่ run บน jvm นะครับ เช่น groovy , scala, clojure รวมถึง android ที่รับบน dalvik vm อีกที ผมว่าไปอีกยาว
*ปล. อย่าง struts ผ่านมาสิบกว่าปีแล้ว ยังเห็นคนใช้ทำมากินอยู่เลย :D
ไม่เคยจะคิดจะทิ้ง Java ตราบใดที่มันยังทำให้ผมได้ผลลัพธ์ที่ต้องการ
อยากได้อะไรมีให้เพียบแถมฟรีๆด้วย ผมไม่วิ่งไปหาภาษาใหม่เพราะมันมี
เพียงเพราะ syntax ที่ดีกว่า ไม่รู้สิ เรื่อง code สั้น code ยาวไม่น่าใช่ปัญหา
code ยาวๆอ่านรู้เรื่อง แก้ไขง่ายทำงานเร็ว ดีกว่า code สั้นๆแต่ debug ยาก
และทำงานช้านะผมว่า แต่ทั้งนี้ทั้งนั้นขึ้นอยู่กับจุดประสงค์มากกว่า คงไม่มีอะไรเหมาะกับ
ทุกๆอย่าง
สำหรับในฝั่งของ enterprise app ผมว่า java ค่อนข้างแข็งแรงนะครับ
แต่ถ้าเรื่องของ GUI นี่ยอมรับว่าไม่ปลื้มเท่าไหร่
สำหรับ Apache.org นี่สวรรค์ของนักพัฒนา Java จริงๆครับ ทั้งความหลากหลาย
และคุณภาพ ทุกโปรเจคท์ใช้ convention เดียวกัน และที่สำคัญคือ license :)
ส่วนตัวแล้วผมคิดว่า โอกาสเกิดบั๊ก มีค่าเท่ากับจำนวนบรรทัดคำสั่ง(ที่ไม่รวมบรรทัดเช็คบั๊ก) นะครับ
ยิ่งโค้ดน้อยเท่าไหร่ยิ่งเช็คบั๊กง่ายกว่านะ
สมัยนี้ใช้ Unit Test ลดการมี bug ไปเยอะพอควร แต่บางคนก็ยังไม่ยอมใช้ทั้ง ๆ ที่ของเขาดีจริง
ใช่ ครับ แต่ผมขอใช้คำว่า "จำนวนบรรทัดน้อยมีแนวโน้มเกิด bug ได้น้อยกว่าจำนวนบรรทัดที่มากกว่า"
ขอใช้คำว่ามีแนวโน้มแทนการแปรผันตรงนะครับ เพราะผมคิดว่าส่วนหลักๆที่ทำให้เกิด bug จริงๆแล้วขึ้นอยู่กับ
ความเชี่ยวชาญ และประสบการณ์มากกว่าจำนวนบรรทัดครับ
จำนวนบรรทัดน้อยแต่ซับซ้อน ผมว่าเช็คบั๊กยากกว่าอีกนะ และโอกาสเกิด defect ก็มีมากกว่าด้วยยิ่งถ้าไม่ใช่เขียนโปรแกรมคนเดียว
ผมนึกถึง if แปลกๆ ที่เกิดจากการพยายามรวม if ซ้อน if เลย= ='
May the Force Close be with you. || @nuttyi
เขียนสั้นๆ แล้วเจอแบบนี้ ขอบายดีกว่า ...
a = (b)? (c)? (d)? (e)? 1 : 2 : 3 : 4 : 5;
สนับสนุนเพื่อน
เข้าใจแล้วว่าทำไมไดโนเสาร์ถึงสูญพันธ์ (ฮา)
แซวขำๆนะครับ
แซวกันแรงนะครับสำหรับคนที่ไม่รู้จักกัน แต่ไม่เป็นไรครับ ไม่ถือ :)
เดี๋ยวคงตามพี่เชไปเร็วๆ นี้
java ยังไม่ตาย เค้าอยู่ท้ายรถบรรทุก
บีเบี้ยวกับบีบึ้ง
+1
เชกูวาร่า?
My Blog
จากเว็บต้นทาง
สำหรับเรื่อง RIA นี่ยอมรับว่าไปไม่ไหวจริงๆ ตัว VM มันถ่วงและกินแรมมากครับ ปล่อย flash และ HTML5 ไปเถอะ ที่อาจจะดูเหมือนตาย เพราะว่า end user ส่วนใหญ่ก็สัมผัสอยู่แค่นี้
สำหรับเรื่อง GUI ถ้าเลือก Look and Feel ดีๆมาใช้ก็ดูดีนะครับ แต่คงจะเอาไปเทียบกับ flash ไม่ได้ มันคนละงานกัน แต่พูดถึงประสิทธิภาพก็สู้ภาษาอื่นไม่ได้จริงๆ เพราะโครงสร้างมัน lightweight มาก กะเอาไว้รันหลาย platform มีหลาย layer เกิน เขียนโปรแกรม GUI ก็ยากด้วย แต่บางงานก็เหมาะในการใช้เป็น Desktop Application นะครับ เขียนทีเดียวรันได้ทุกที่
สำหรับเรื่องทำเว็บ ใช้จาว่านี่ยังไงก็ไม่สะดวกเท่าภาษาที่เขาเอาไว้ทำเว็บโดยเฉพาะ ต้อง config อะไรวุ่นวายมากเกิน ตอนนี้ผมทำเว็บยังใช้ PHP เลย
สำหรับเรื่อง syntax ผมว่าโค้ดจาว่านี่อ่านง่ายมากนะครับ คนที่เขียนโปรแกรมไม่ค่อยเป็นมาอ่านยังพอเข้าใจ บางภาษาที่เห็นคนเห่อและยกย่องกัน ตัว syntax ย่นย่อซะจนอ่านไม่รู้เรื่อง สงสัยเอาไว้เขียนโปรแกรมบนมือถือมั้ง
ข้อดีอีกอย่างของจาว่าคือ library ฟรีๆเยอะมาก อยากทำอะไรก็มี library ฟรีๆให้ใช้ทั้งนั้น
ผมว่ามันยังไม่ตายหรอก แต่ละภาษามีจุดแข็งของมันเอง อย่างผมถ้าจะเขียน server เกมออนไลน์ ใช้จาว่าน่าจะง่ายและไวสุด ผมลองนึกทางที่จะใช้ภาษาอื่นนี่ มีแต่เรื่องลำบากทั้งนั้น บางภาษาก็อาจจะ memory leak ง่าย บางภาษาก็ประสิทธิภาพสู้ไม่ได้ บางภาษาก็ไม่มี library เกี่ยวกับเน็ตเวิร์คฟรีๆให้
+1 library ฟรีๆ เยอะ
+1 แต่บางงานก็เหมาะในการใช้เป็น Desktop Application นะครับ เขียนทีเดียวรันได้ทุกที่
+1 สำหรับเรื่อง syntax ผมว่าโค้ดจาว่านี่อ่านง่ายมากนะครับ
ผมว่า java นี่ memory leak ตัวพ่อเลยนะครับ
คนรับกรรมคือ Application Admin
ต้องมานั่งจ้อง ว่า Tomcat มันสูบแรมหมดเครื่องไปรึยัง
lewcpe.com, @wasonliw
ผมไม่คิดอย่างงั้นนะ
ผมเปรียบเทียบว่า OutOfMemory นั้นเหมือนกับเด็กจมกองขยะในห้องตัวเองตายครับ น่าสงสารมั้ย มุมหนึ่งก็ใช่ อีกมุมหนึ่งก็น่าสมเพช
ถ้าคุณเคยเขียน C, C++ บน Unix, Linux จะรู้สึกถึงความยากในการเขียนโปรแกรม โดยเฉพาะเมื่อต้องยุ่งเกี่ยวกับการจองหน่วยความจำ (malloc) เขียนพลาดทีหนึ่ง คอดำ (Core dump) กระจาย
จาวานั้นออกแบบให้มี Garbage Collection เพื่อช่วยให้นักพัฒนาไม่ต้องจัดการพื้นที่ memory หลังการใช้งาน ก็เปรียบเหมือนเป็นคนรับใช้คอยเก็บขยะ เปลือกผลไม้ที่ เด็กมันกินแล้วทิ้งไว้ เพื่อทำให้เด็กที่ไม่ค่อยมีวุฒิภาวะนัก ยังพอใช้ชีวิตไปได้ คอไม่ดำ ไม่เสียชีวิตไปก่อนเวลาอันควร
คงมีคนพูดว่า มันจะยากอะไร จับคู่ malloc/free ก็แค่นั้น ก็จริง ไอ้ลำพังงานที่เป็น single-thread ก็ไม่ยากเท่าไร พ้น procedure/method ก็ free โลด (double free นี่ ตายอนาถนะครับ) แต่พอเจอโลก networking/multi-thread อายุของ object เลยเบลอขึ้นไปอีก
ส่วนไอ้เด็กที่ไม่สำนึก แทนที่จะขอบคุณ กลับย่ามใจ เพลิดเพลิน ซื้อขนม ซื้อของใหญ่ขึ้น กินแล้วทิ้งกล่อง ทิ้งซาก ลามไปจนเอาเครื่องกำเนิดไฟฟ้า เข้าห้อง แล้วกองกล่องที่ไม่ใช้แล้วทิ้งไว้เต็มห้อง คนรับใช้เก็บขยะไม่ทัน กองขยะก็ท่วมห้อง จนจมตาย ก็แค่นั้น
ผมชอบที่คุณเปรียบเทียบครับ ปัญหา OutOfMemory ส่วนหนึ่งนั้นคงเกิดมาจาก
เด็กมันทิ้งของเล่นแล้ว แต่พอแม่จะมาเก็บเอาไปทิ้งให้ กลับบอกแม่ว่า หนูยังเล่นอยู่นะ
แม่เลยเก็บไปทิ้งให้ไม่ได้ สุดท้ายจมกองขยะตาย
ผมเคยไล่ memory leak ใน C/C++ มาบ้างนะครับ เป็นงานนรกอย่างหนึ่งของ C/C++ Programmer
แต่จากที่เคยเจอ พบว่าพอมีปัญหาใน Java เช่น PermGen เต็มทั้งที่เพิ่มให้ปริมาณสูงมากแล้ว จะหาต้นตอนี่เหนื่อยกว่ามาก การไปเชื่อใน GC หมายถึงถ้า GC มีปัญหาซอฟต์แวร์ทั้งหมดของเราก็มีปัญหาไปด้วย
lewcpe.com, @wasonliw
แนะนำให้ใช้ profiler ครับ
ผมแย้งประเด็นเดียวว่าถ้า syntax มันดีจริง ซันไม่ทำ JavaFX Script หรอกครับ
ผมว่ามันคนละเป้าหมายกันครับ ตัว java language นั้นเน้นออกแบบโดยมีเป้าหมาย
ไปสู่ device ได้ทุกระดับ ตั้งแต่มี สมรรถณะน้อย ๆ ไปถึงสูงมาก ตัวภาษาเลยเน้น
โครงสร้างที่ง่ายไม่มีอะไรหรูหราในตัวภาษาแต่ไปเน้นใน library และการจัดการเชิงโครงสร้าง
ส่วน javaFx เน้น expressive สูง เน้นให้เป็นแนว declarative
และเป็น event-based ใช้ runtime เฉพาะ เหมาะกับงานที่เป็น GUI
คำว่า ดี หรือ ไม่ดี มันต้องวัดตามเป้าหมายครับ
อย่างที่บอก เราเห็น java ไปอยู่บน device เล็ก ๆ ได้สบาย ในขณะที่ ภาษาอื่น ๆ ไปได้ลำบากกว่า
และไม่เป็นที่นิยม
GUI ของ Cisco ใช้ java เยอะอยู่เหมือนกัน
ใช้แค่ c++ กับ Groovy ชอบภาษา c เป็นชีวิตจิตใจ
ผมว่า Java ยังไม่ตายแน่นอนและจะครองบัลลังค์อย่างเต็มภาคภูมิ ในปีหน้าคงได้เห็นการแข่งขันจากระบบการออกแบบฝั่ง Client: GWT + Cloud OS Framework ศึกระหว่าง Microsoft / Google / Apple จะร้อนแรงและเปลี่ยนกระบวนทัศน์ในการใช้งานโลก IT ไปอีกระดับ
ในฝั่ง Server Java ครองบัลลังค์ในระดับ Enterprise อยู่แล้ว (ผมมองว่า Groovy ก็เหมือน เป็น VB ของฝั่ง Java มันดีแต่ก็ต้องแลกกับ Performance ที่ลดลง) JVM กับ Java Library มันคงอยู่แน่นอน เพราะมันได้แสดงประสิทธิภาพให้เห็นอยู่แล้ว เพียงอาจจะไม่ได้เขียนด้วย Java Syntax อาจจะเขียนโดยใช้ PHP แต่รันบน Java (ประสิทธิภาพรองรับงานได้มากกว่าปกติ 4 เท่าและ สามารถทำให้ PHP ใช้ Library ของ Java ได้)หรือใช้ Groovy / JRuby / Jython / Scala ซึ่งทำให้มันไม่ตายแน่นอน
Oracle ก็อาจจะต้องหันมาควบคุมการกำหนด Framework Spec แทนการมุ่งสร้าง Library เอง
และคาดว่า Java version ต่อๆไป จะมี cycle เป็นทุกๆ 2 ปีได้เช่นเดิม
แต่สิ่งที่กลัวก็คือ Oracle จะมากำหนดทิศทางของ Java และวงการ Open Source จนทำลายวิถีทางที่เป็นอยู่จน Community ต่างๆถูกทำลายลงเพราะโลภหวังครองความเป็นใหญ่แต่ผู้เดียว โดยพยายามมุ่งให้เข้าสู่เชิงการค้ามากเกินไป คงต้องรอดูกันต่อไป Java One ปีนี้น่าจะได้เห็นทิศทางว่าจะอยู่หรือจะไป (กำลังตัดสินใจไปใช้ Mono แทนเหมือนกันถ้า Oracle เรื่องมาก)
แต่ผมเห็นตอนนี้ Google กำลังกินแหนงกับ Java(Oracle) อยู่นะครับ
ผมเชื่อว่าถ้า Google จะตัดใจจาก Java เราอาจได้มีการพัฒนาแบบก้าวกระโดดของ Web App Language
หรือทุกอย่างจะไปจบลงที่ C#?
ป.ล.
เห็นสายจาว่ามักจะภูมิใจกับ Enterprise
ผมก็กำลังรู้สึกคันปากนิดหน่อยว่า ในอนาคต สาย Enterprise ยังจำเป็นอยู่แค่ไหน เพราะรู้สึกว่าโมเดลธุรกิจปัจจุบันจะเล็กลง เน้นกระจายเป็นส่วนย่อยๆมากขึ้น และมันก็เพียงพอที่จะไม่ต้องใช้จาว่าก็ทำได้เป็นอย่างดี
น่าสนใจมากครับ
สงสัยจะนิยามคำว่า enterprise แตกต่างกันครับ
java ee นั้นเหมาะกับ business model ทุกขนาดครับ
สิ่งที่เรียกว่าเป็น enterprise นั้น ส่วนหนึ่งนั้นคงมาจากเรื่อง
ของการต้องติดต่อกับ interface ที่หลากหลายและเป็น interface
ที่ใช้ในธุรกิจ เช่น email (java mail), messaging service (JMS) ,
database (JPA), server-side processing (Servlet/JSP, EJB)
รวมไปถึง webservice ครับ
ประเด็นคือ
Java เด่นด้านนี้จริงครับ
แต่ "จำเป็น" ต้องใช้ Java "แค่ไหน"
ผมเชื่อมั่นว่าทั้งหมดนี้ทำได้ด้วย C# หรือ C++ อาจมีข้อเสียบ้าง เช่น ยากกว่าในหลายๆแง่
ประเด็นของผมคือ ตอนนี้ มีอะไรที่ซับซ้อนถึงขนาดที่ จำเป็นต้องใช้ J2EE เท่านั้น ใช้อย่างอื่นแล้วระดับความยากจะแตกต่างกันอย่างเห็นได้ชัด มากแค่ไหน
แนวโน้มมันจะลดลงรึเปล่า
ตัวภาษาและเทคโนโลยีตัวอื่นๆ จะไล่ตามทัน Java เมื่อไหร่
Java ใกล้ตายจริงหรือไม่?
ถ้า Server ไม่ใช่ Windows ก็ตัด C# ออกไปได้เลยครับ ส่วน C++ นี่ไม่ไหวมั้งครับ
"จำเป็นต้องใช้ Java แค่ไหน?"
จำเป็นหรือไม่คงต้องบอกว่าขึ้นกับความถนัดครับของแต่ละทีมหรือแต่ละบุคคลมากกว่าครับ
ถ้ามองในมุมมองธุรกิจคงต้องดูว่าได้ลงทุนอะไรกับ Java ไปแล้วบ้าง เช่น บุคคลากร, software ที่ซื้อ
หรือ software ที่พัฒนาเอง ส่วนจะเรื่องการตัดสินใจกับแนวทางของบริษัทในอนาคตคงเป็นเรื่องที่มีปัจจัย
และรายละเอียดมากเกินไปที่ผมจะกล่าวถึงครับ
"ทั้งหมดนี้ทำได้ด้วย C# หรือ C++?"
ก็คงทำได้มั๊งครับ ผมไม่ได้เป็นผู้เชียวชาญคงฟันธงไม่ได้ แต่คิดว่าน่าจะได้ทั้งหมด
"มีอะไรที่ซับซ้อนถึงขนาดที่ต้องใช้ J2EE เท่านั้น?
ใช้อย่างอื่นแล้วระดับความยากจะแตกต่างกันอย่างเห็นได้ชัด มากแค่ไหน?"
ผมแนะนำว่าให้คุณเรียกว่า JavaEE แทนนะครับ มันดูทันสมัยกว่า :)
เรื่องของความซับซ้อนถึงขนาดต้องใช้ JavaEE เท่านั้นคงไม่มีครับ platform อื่นก็ทำได้
เพียงแต่ความยากง่ายอาจจะแตกต่างกัน แต่จะแตกต่างกันชัดเจนแค่ไหน ผมคงไม่อาจบอกได้จริงๆ
มันขึ้นกับหลายปัจจัย ถ้าตัดเรื่องของทักษะการใช้งานภาษาและ platform ออกไป ก็คงขึ้นอยู่กับ
framework ที่ใช้ว่า provide อะไรให้บ้าง มี lib อะไรให้เราเรียกใช้ไหม มีเครื่องมือในการพัฒนาดีไหม
มีเอกสารดีไหม หาข้อมูลง่ายไหม มีคนช่วยตอบปัญหาเราดีไหม ส่วนตัวภาษาเองความยากคงไม่แตกต่าง
กันเท่าไหร่ เรื่องความยากง่ายคงเป็นเรื่องของวิธีการพัฒนาและวิธีการแก้ปัญหามากกว่า
"แนวโน้มมันจะลดลงรึเปล่า?"
ถ้าจะพูดเปรัยบเทียบว่าความยากง่ายในการพัฒนาจะมี gap ลดลงไหมในแต่ละ platform
คงตอบยากครับ ทั้งนี้ทั้งนั้นขึ้นอยู่กับความนิยมใน platform ด้วย ซึ่งถือว่าเป็นปัจจัยสำคัญ
"ตัวภาษาและเทคโนโลยีตัวอื่นๆ จะไล่ตามทัน Java เมื่อไหร่"
ถ้าเรื่องภาษาผมว่าหลายๆตัวก็แซงไปแล้วแหล่ะครับ ส่วนเทคโนโลยีนั้นหลายๆเจ้า
ก็ทำการ port จากภาษา Java ไปเป็น .NET กันเยอะแยะ แต่ก็ยัง support ทั้ง 2 ภาษา
เช่น Hibernate และ NHibernate, Spring และ Spring.NET เป็นต้น
แต่จะแซงเมื่อไหร่ก็ขึ้นอยู่กับความนิยมในตัว platform นั้นๆอีกแหล่ะครับ
"Java ใกล้ตายจริงหรือไม่?"
ถ้าสงสัยกันอย่างนี้บ่อยๆแล้วกลายเป็นกระแสอย่างถาวรก็ไม่แน่ รวมถึงคำพูดที่ขึ้นต้นว่า "เขาว่า.." เช่น
เขาว่า Java ยาก
เขาว่า Java ตามหลัง C# หลายขุมแล้ว
เขาว่า Java ไม่เหมาะกับงานเล็กๆ
ผมอยากให้สัมผัสแบบเปิดใจ เหมือนเพิ่งเรียน computer ใหม่ๆ คุณอาจจะพบว่า
มันไม่ได้เป็นอย่างที่เขาว่าก็ได้ หรือบางคนเคยแตะ Java แบบงูๆปลาๆตอนสมัยเรียน
เกิด bad impression กับมัน ก็อาจจะพาลไม่ชอบมันไปเลย หรือเมื่อคุณโตขึ้นได้ฝึกฝน
ภาษาอื่นจนเชี่ยวชาญ แต่เมื่อมาลอง Java ที่ไม่เชี่ยวชาญคุณจะพบว่ามันยาก ซึ่งก็แน่นอน
อยู่ที่ว่าจะอดทนหรือถอดใจเท่านั้นเอง
สุดท้าย Java Platform จะใกล้ตายหรือไม่ ก็คงอยู่ในมือ Oracle ด้วย
เ็ป็นไปได้กับการที่ oracle เข้ามายุ่งและอาจทำลายวงการ opensource , แต่ Mono ถ้ามันใช้เยอะๆ
ขึ้นก็ไม่แน่ว่า Microsoft จะเข้ายุ่งเหมือน oracle เข้ามายุ่งกับ java
แต่สิ่งหนึ่งที่ผมคิดว่านะ น่าจะเป็นเพราะ product ของ oracle ส่วนใหญ่ใช้ java เลยเหมือนๆ ว่า
oracle กลัวภาษานี้ตายไปแล้วหาบุคคลากรเพื่อทำงานเพื่อ support product ของตัวเองไม่ได้
หรือเปล่า
เป็นเหตุผลที่น่าสนใจมาก เพราะใช้อธิบายได้ด้วยว่าทำไม IBM ก็อยากจะซื้อ Sun
มุมมองที่มักมอง ค่อนข่างจะมองในมุมเดียวคือมุมของผู้เขียนโปรแกรมทำให้ต่างคนก็พยายามกล่าวว่า Java ทำได้ C# ก็ทำได้และเขียนได้ง่ายกว่า แต่ในอนาคตสิ่งสำคัญขององค์กรที่จะใช้งานซึ่งระบบจะมีความซับซ้อนขึ้น และระบบต่างๆ จะก้าวเข้าสู่ Cloud มากขึ้นในเมืองไทยอาจจะยังมองภาพไม่เห็นเพราะ 3G ยังไม่มา ดังนั้นองค์กรต่างๆคงจะไม่ได้มองว่าเขียนด้วยภาษาอะไรง่ายกว่ากันก็เลือกอันนั้น แต่จะเป็นว่าทำอย่างไรให้ Performance มากที่สุดเมื่อเทียบกับเงินที่เสียไปมากกว่า เพราะอนาคตถ้า Cloud มาถึง IT ขององค์กรจากที่ถือว่าเป็นแผนกที่มีแต่จ่าย เพราะไม่สามารถแยกได้ชัดว่าแผนกไหนใช้ IT ไปเท่าไหร่ จะสามารถวัดได้ งบประมาณก็จะแยกได้เด่นชัดขึ้น การจัดสรร resource ต่อแผนกก็จะชัดเจน ต้นทุนต่างๆจะจัดสรรได้ชัดขึ้น ถึงตอนนั้นผมก็ยังมองว่า Java คงตายยากครับ นอกจากตัว web server กับ app server หรือแม้แต่ ESB Server ของค่ายที่ไม่ใช่ java จะเบียดขึ้นมาทาบรัศมีได้เท่านั้นเอง แต่ถ้าในปัจจุบันผมมองว่า java ก็ยังแข็งแกร่งอยู่
ปล. ปัจจุบันในทีมใช้ทั้ง Java / .NET / PHP (ถ้ามองเชิงการค้าที่จะขายให้กับองค์กรเล็กถึงขนาดกลาง แน่นอนครับ .NET ดีกว่าตรงที่ขายของได้เยอะกว่าแต่ไม่ใช่เพราะ .NET ดีกว่า แต่แน่นอนถ้าองค์กรขนาดใหญ่และผู้บริหารขององค์กรนั้นแข็งแกร่งจริงๆ ก็ต้อง Java นอกจากโชคดีไปเจอที่มีแนวคิดว่ายังไงก็ได้จ่ายได้ก็พอถ้าเจอแบบนั้น .NET วิ่งเข้าใส่เลย แต่วัดที่ตัวเงินของทั้ง Platform ก็คงเหงื่อตกเหมือนกันถ้าคิดแบบนั้น
ถามนิดนะ .NET dev กะ Java Dev ใครฐานเงินเดือนเยอะกว่าอ่ะครับ?
คงไม่มีภาษาไหนตายง่าย ๆ ครับ โดยเฉพาะภาษาที่คนใช้เยอะอย่าง Java แต่คนอาจใช้มันน้อยลง โดยเฉพาะ Web-App เพราะความเทอะทะของ Java ทั้งในแง่ของตัวภาษา (verbose), library (over-engineered) และ JVM (กิน RAM)
เห็นด้วยอย่างยิ่งเรื่องการใช้ memory เยอะ แต่มาลองคิดอีกทีกรณี oracle ซื้อไปเขาน่าจะปรับปรุงเรื่องความเร็วให้ดีขึ้นนะครับ และสิ่งที่ผมคาดหวังจาก oracle ก็คือเรื่องการจูนให้ java เร็วขึ้น ยังไม่จำเป็นต้องเพิ่ม library ใหม่ๆ เข้าไป jvm จะได้ไม่อ้วน และน่าจะปล่อยให้เป็น third-party เขาทำดีกว่าหรือเป็นเหมือนๆ plug-in น่าจะ work กว่า เหมือนอย่างกรณี jasper report
จาวาบูม จาวาบูม ... ไม่เกี่ยวอะไรกับข่าวนะครับ
แต่ก่อนผมเคยคลั่งจาวามากๆครับ คลั่งจนใช้ชื่อ javaboom น่ะ แต่ผ่านนานหลายปีแล้ว แทบไม่ได้แตะจาวาเลยครับ จริงๆก็แทบไม่ได้เขียนโปรแกรมเลยน่ะครับ เดี๋ยวเปลี่ยนชื่อแล้ว ... เป็นอะไรดีๆล่ะ?
My Blog
vajaboom
AV-ja-boom โอไหมครับ??
My Blog
ผมว่า gaBOOM ก็น่ารักดีนะครัฟ
แล้วคิดถึงคนนี้นไหม
ไม่ตายก็เหมือนตาย อัตราการเติบโตจะชะลอตัวและหยุดนิ่งในที่สุด จะหลงเหลือเพียงส่วนน้อยที่ยังใช้อยู่ ก็เหมือนกับเน็ตแวร์ถึงแม้จะแพ้วินโดว์เซิฟเวอร์แต่ก็ยังมีใช้งานอยู่อีกนิดหน่อย
ดอสเองก็ยังไม่ตาย ยังมีใช้งานอยู่อีกเหมือนกัน
ผมว่าข่าวนี้ เปลี่ยนแนวทางการศึกษาของนักพัฒนารุ่นใหม่ในไทย หลายๆคนเลยทีเดียว -_-'
บางอย่าง แค่ออกสื่อ ก็ทำให้เปลี่ยนแนวทาง ถึงแม้จะรู้จริงหรือไม่รู้จริงก็ตาม
เพราะมนุษย์หลายๆคนชอบเสพสื่อโดยไม่ใช้ความคิดตัวเองเป็นที่สุด
ผมไม่คิดว่า Java จะตายง่ายๆนะครับ
เมื่อก่อนผมเกลียด Java มากๆ เพราะยุ่งยาก กิน RAM หน่วงเครื่อง สารพัด
จนเมื่อประมาณปีกว่าๆนี้เอง ที่ผมลองเขียน Java ดู ก็พบว่ายุ่งยากมาก แต่พอเอาไปใช้งานจริง พบว่ามันทำงานได้ดีมาก โดยผมเอาไปรันบน Server ครับ เป็น Java HotSpot
ที่ผมถูกใจก็เห็นจะเป็น spring bean เนี่ยแหละ
จริงๆแล้ว ถ้ามองดูที่ตัว Java ล้วนๆ โดยไม่มอง Framework อื่นๆเลย ผมว่า Java ก็เฉยๆนะครับ
แต่มองในแง่ Platform แล้วมันจะยังถูกใช้งานไปอีกนานครับ
java ตายเพราะ facebook, twitter ไม่ใช้ java ผมว่าตรรกมันแปลกๆ
ตอบช้าไปไหมหนอ?
ไม่ได้เชียร์ และรู้ว่าจาวาไม่ดีหลายๆ อย่าง
แต่ถ้าประเด็น ที่บอกจาวา จะตาย
ผมเอาประสบการณ์โดยตรงมาตอบ
อย่างน้อยเมืองไทยที่นึงล่ะ
ที่จาวาจะอยู่คงทนไปเป็นอีกสิบๆ ปี
ไม่เชื่อลองเทียบงานดูสิ ระหว่าง .net กับ java
และดูฐานเงินเดือนด้วย
ไม่ต้องคิดเอาภาษาอื่นมาเทียบเลย
ยิ่ง PHP ที่ดียิ่งในการทำเว็บแล้ว ฐานทิ้งกันแบบไม่เห็นฝุ่น
คือค่อนข้างไม่พอใจเล็กน้อยครับ
ที่คนตอบเอาความคิดส่วนตัวเองมาตอบ
โดยไม่ได้รู้จัก จาวา จริงๆ ในหลายประเด็น
เช่นคำว่า Enterprise นี่ยังตีความหมายกันผิดๆ เลย
(คุณ hus ได้โต้แย้งไว้ถูกแล้ว)
เห็นแล้วทำให้คิดถึงคุณ dens4j จริงๆ เลย
เถียงประเด็นเดียวครับ Java ยังไม่ตายและคงอยู่อีกยาวนาน