ข่าวทำนองนี้มีออกมาเรื่อยๆ ทุกปีนะครับ คราวนี้นิตยสาร Developer World ได้จัดรายการภาษาโปรแกรมที่กำลังมาแรง 7 ตัว (ไม่เรียงลำดับความสำคัญ, พวกแรกๆ คงไม่ต้องอธิบายนะครับ)
ที่มา - Developer World
MATLAB ไม่มี h ครับ
ไม่เป็นเลยสักภาษา
ดูจากรูปโพรไฟล์ของคุณแล้วคิดว่าน่าจะเคยเรียน Python
ถ้าศึกษาภาษาพวกนี้ จะหางานในประเทศไทย ได้ที่ไหนบ้าง
COBAL นี่ต้องพวกธนาคารใช้กันหละมั่งครับ
ข้อความนี้ (พวกแรกๆ คงไม่ต้องอธิบายนะครับ) ย้ายไปไว้ต่อจากประโยคแรกดีกว่ามั้ยครับ ผมพยายามทำความเข้าใจตั้งนานว่า Python(พวกแรกๆ คงไม่ต้องอธิบายนะครับ) แปลว่าอะไร เพราะคิดว่ามันเป็นข้อความขยาย "Python"
Java กำลังจะตาย ?
อันนี้คือภาษานอกกระแสที่กำลังเติบโตครับ ส่วนพวกใหญ่ๆ C/C++/.NET/Java คงอยู่นอกสโคป
Java ไม่ตายง่ายๆหรอก library มหาศาลทิ้งไปไม่ได้หรอกครับ พวกธนาคาร และบริษัทใหญ่ๆ ใช้ Java อยู่เยอะครับ
J2C# รู้จักมั้ยครับ?
สั่งคอมไพล์สองทีก็ได้แล้ว
seriously ผมไม่รู้จัก J2C# จริงๆครับ ไอ้ Java 2 ...(put you name here) เนี่ยผมก็ได้ยินมานานแล้ว แต่ก็ไม่ได้อยู่ในกระแสหลัก ผมก็อยากทราบเหมือนกัน ว่ามันมีข้อเสียอะไร ผมเองก็เคยเห็นมีคนพูดๆว่า Java แx่ง ช้า แต่ที่ผมจับอยู่อยู่ในส่วน backend อยู่มาเกือบสิบปี ก็ยังไม่เห็นว่าจะคนจะพอร์ตโค้ดที่มีอยู่ทิ้งเป็น C#, VB.Net, (put you name here too!) กันโครมๆนะ
แต่ที่ผมนึกออกอย่างหนึ่ง คือน่าจะขาดฟีเจอร์เรื่อง (dynamic) class loading ซึ่งทำให้ฟีเจอร์ลดทอนลงอย่างมาก
ไม่ใช่อะไรหรอกครับ มันมีโปรแกรม Reverse Engineer แล้ว Compile โค้ดจาว่าทั้งหมดให้กลายเป็นโค้ด C# (เท่าที่ทำได้) ผมจำไม่ได้ว่ามันชื่ออะไรเลยเรียก J2C# ไปงั้นแหละครับ
เอากันจริงๆคือโปรแกรมจาว่าเนี่ย เปลี่ยนเป็นโปรแกรม C# ได้บรรทัดต่อบรรทัด แทบไม่มีฟีเจอร์ที่ Java มีแต่ C# ไม่มีเลยแม้แต่น้อย ถ้าอยากนักล่ะก็ จะ Convert ก็ได้ครับ ไม่ใช่ปัญหาซักนิด ปัญหาน่าจะอยู่ที่ลิขสิทธิ์ว่าคนที่เขียนจาว่าไว้ มันก็เป็นทีมบริษัทนึง อีกบริษัทนึงจะมาถึง Convert โค้ดหมด มันก็เป็นเรื่องไม่ดี รวมถึงการที่มีความผูกพัน คนบริษัทจาว่าก็ใช้จาว่าไม่ได้คิดจะเปลี่ยน แล้วก็เป็นคนคอยเมนเทนโค้ดด้วย
ส่วนตัวผมเข้าใจว่า AOT เหนือกว่า class loading นะครับ ป.ล. เผื่อผมเข้าใจผิด ถ้าหมายถึงการโหลดคลาสเพิ่มมาในโค้ดตอนที่กำลังรันๆอยู่ มีครับ ทำไม .NET จะไม่มี โหลดเป็น DLL มาได้เลยครับ จำได้ว่าใน .NET เขาเรียกว่า assembly
จริง ๆ หลาย ๆ ภาษาก็แปลงกันไปมาได้นะครับ ถ้าจำไม่ผิด Matlab ก็แปลงเป็น C ได้ทั้งหมด Cobol ก็แปลงได้ แต่เค้าไม่ทำกันก็ด้วยสาเหตุหลาย ๆ ประการทั้ง code maintenance และ testing
ผมก็ยังไม่เข้าใจว่าเค้าจะแปลง Java เป็น C# กันทำไมครับ ถ้า Java ยังโตขึ้นอย่างเรื่อย ๆ (แม้จะช้า ๆ) หรือว่าคนทั่วไปแค่อยากให้ Java ตาย?
ผมว่าไม่ใช่แค่ คนทั่วไป นะ
และย้ำอีกที ผมแค่บอกว่า มันไม่ใช่เหตุผลที่จะทำให้จาว่าอยู่ยงคงกระพันไม่มีวันตาย ผมก็ไม่ได้แช่งให้จาว่ารีบไปตายเสียหน่อย
มันทำได้ แต่จะมีคนเสี่ยงทำรึเปล่ามากกว่านะครับในทางธุรกิจ เหมือนภาษาสมัยนี้มันก็ทำได้เหมือนหรือดีกว่าโคบอลทั้งนั้น แต่โคบอลมันก็ยังอยู่แล้วก็ต้องไปหาคนมาดูแลมันต่อไปเรื่อยๆ นั่นแหละครับ
ของที่อยู่บน prod อย่าว่าแต่เปลี่ยนภาษาที่ใช้เลยครับ แค่จะเปลี่ยนลอจิกนิดหน่อยก็มีขั้นตอนยุ่งยากมากมายแล้วครับ
Oracle มีส่วนหรือเปล่า ที่ทำให้คนเริ่มไม่มั่นใจกับ Java?
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
+100
ไม่ใช่ล่ะครับ เจอ dynamic class loading เช่น เจอ 3rd party เอา log4j-1.2.12.jar ใส่มาในคลาสพาทเค้า แล้วพี่จะ Ahead-Of-Time Compiler อย่างไรไหวครับ คือพี่ต้องทำ Java Runtime ของพี่เองละครับ
แล้วถ้าจาวามันเปลี่ยนเวอร์ชั่น Java 5 (EOF แล้ว) -> Java 6 แล้วพี่ต้องรอรันไทม์รุ่นใหม่ที่รองรับฟีเจอร์ dynamic ใหม่ๆของ Java รึเปล่าครับ
แล้วตอน Java มัน throw Exception พี่จะทำอย่างไรครับ แล้วจะอ่าน StackTrace/Log กันได้รึเปล่าครับ แล้วปัญหามันเกิดที่ production แบบครั้งเดียวในรอบสิบวัน แล้วลูกค้ารับไม่ได้ ต้องหาสาเหตุและวิธีการแก้ปัญหานี้ให้ได้ พี่จะทำอย่างไรครับ StackTrace ที่ได้ก็ชี้กลับไปที่โค้ดไม่ได้
ข้อหลังเนี่ยทำให้ Java->C/C++/... ตายมานักต่อนักแล้วครับ คือโค้ดที่แปลงมามันไม่ 100% แล้วดันมีปัญหากับ Runtime ตัวนี้เท่านั้น หรือมี Exception throws ที่มี StackTrace แล้วกลับใช้ประโยชน์ไม่ได้ พนักงานระดับปฏิบัติการยอมรับไม่ได้ เรียกว่ายอมซื้อเครื่องใหม่ดีกว่ายอมเทส end-to-end testing ใหม่หมด
อันนี้คือ load .NET->.NET หรือ Java->Java ครับ ไม่ใช่ Java->.NET
รู้จัก และไม่คิดจะใช้
ผมทำงานระบบธนาคารมา 2 ปีกว่า ยังไม่เคยมีโปรเจค(ที่ทำและที่เห็น)ที่ต้องรันในระดับ Core Bank ใช้ .Net เลยครับ ใช้แต่ Java ครับ เลยไม่มีเหตุจำเป็นต้องใช้เลย ที่เขาไม่ใช้คงเพราะพวกค่าลิขสิทธิ์ที่ Micro$oft เรียกเก็บแหละมัง
ผมก็รู้อยู่แล้วว่าคนใช้ Java ไม่คิดจะใช้
ประเด็นคือ library เยอะ มันไม่ใช่เหตุผลที่จะทำให้ Java ไม่ตายง่ายๆครับ Convert เอาได้ ง่ายนิดเดียว เมื่อไหร่ก็ทำได้ วันไหน Java ใกล้ตาย ก็วันนั้นแหละ
ในทางเทคนิคแล้ว ไม่จริงนะครับ โค้ดที่ convert มาได้นี่ถ้าจะดูแลกันต่อไป ก็ต้องแก้จนเหมือนกันเขียนใหม่
lewcpe.com, @wasonliw
+1
Convert แล้วแน่ใจได้อย่างไรว่ามันจะทำงานได้เหมือนเดิม หรือต้องมานั่งเทสระบบใหม่ทั้งหมด
+1 ครับ ยิ่งพวกระบบธนาคารที่ต้องการความถูกต้องสูง ผู้บริหารคงจะไม่ยอมล่ะครับ
ผมขอเสริมครับ นอกจากจะแก้จนเหมือนเขียนใหม่แล้ว มันจะมีความน่าเชื่อถือมากแค่ไหน อีกทั้งในทางเทคนิคแล้ว ไม่น่าจะ convert ได้ 100% เพราะอย่าลืมว่ามี dependencies อีกนับร้อยนับพัน เราคงไม่เขียน code เองทั้งหมดโดยอิงแค่ standard lib มั้ง นอกจาก dependencies แล้วยังมีปัญหาทางโครงสร้างอีกเช่น ถ้าเป็น web project, ejb project หรือทั้งสองอย่าง หรือจะพ่วง web service เข้าไปด้วย ซึ่งมีอีกหลายหลาย framework ที่ ใช้รูปแบบการเขียนไม่เหมือนกัน หรือแม้แต่ถ้าคุณใช้ OSGi,Spring,... นี่ยังไม่รวมถึงการ test และ build อีกร้อยแปดพันเก้า และปัญหาเรื่อง interoperability กัยระบบที่มีอยู่แล้วอีกนับสิบ แค่คิดก็เครียดแทนแล้ว
มันต้องใช้ทรัพยากรทั้งเงินทุน คนและเวลาอีกมหาศาล แล้วก็จะมีคำถามตามมาก็คือ convert ไปเพื่อ?
ถึง Java ตายจริง คงไม่มีใครกล้าเอาระบบใหญ่ๆที่พัฒนาด้วย Java มา Convert หรอกครับ อย่าว่าแต่ใหญ่เลย ขนาดกลาง ยังต้องคงต้องคิดแล้วคิดอีกว่ามันถูกไหม ถูกแล้วยังไง code ที่ gen ให้ถูกตาม process ที่ต้องการไหม เรื่องจุกจิกเยอะ
ระบบธนาคาร ไม่ได้ใช้ Standard lib อย่างเดียวนะครับ อย่าว่าแต่ธนาคารเลย บริษัท Software House ที่ทำ Java ต่างก็สร้าง lib ของตัวเองแล้วใช้สืบต่อกันมานาน มันต้องกลับไปลื้อพวกนั้นใหม่หรือไม่
เอาเฉพาะเรื่องที่ผมทำก็แล้วกัน ระบบธนาคาร ต้องการความถูกต้องมากแค่ไหน โปรเจคมี code หลายร้อยหรืออาจถึงหลักพัน ไฟล์ ใช้ทั้ง Standard & Custom lib มันสามารถการันตีความถูกต้องได้หรือไม่ ถ้ามันผิดขึ้นมาใครรับผิดชอบ หรืออาจจะเทสไม่เจอหลุดไปใช้จริงเงินลูกค้าหาย ใครรับผิดชอบครับ ความซวยจะตกมาที่ใครเล่า
ส่วนตัว ถึงแม้ Convert ได้แต่ผมก็กลัวมันไม่สมบุรณ์อยู่ดี พาลจะซวยกันหมดทั้งโค้ด
เคยแตะอย่างละนิดอย่างละหน่อย แต่ 2 อันล่างไม่เคยเลยครับ -___-"
Matlab สุดยอดดดด
แต่ไม่ฟรีนะครับ แล้วก็มีปัญหาความเข้ากันได้ระหว่างรุ่นด้วย
หากทุนไม่หนา ไม่ใช้ feature หวือวา ผมแนะนำ Python + Numpy + Scipy + Matplotlib ครับ ใช้แทนกันได้ดีทีเดียว
แล้ว Scilab ล่ะครับ?
SciLab กับ Octave ช้าครับ และที่สำคัญ plot อัปลักษณ์มาก Matplotlib plot ได้เนียนกว่ามาก สำหรับ 2D ออกมาสวยกว่า MATLAB อีก เพราะใช้ engine เดียวกับ PDF แต่ด้าน feature ก็สู้ MATLAB ไม่ได้อยู่ดีครับ
นอกจากนั้น Python มีเครื่องมือที่พร้อมกว่า Scilab หรือ Octave แล้วก็ติดต่อกับภาษาล่าง ๆ อย่าง C หรือ FORTRAN ได้ง่ายกว่าด้วยครับ
ผมเห็นด้วย เวลาทำงานผมใช้ Matlab แต่เวลา plot ผมใช้ Python + Numpy + Matplotlib รูปสวยกว่า Matlab เยอะ อนาคตก็กะว่าจะเปลี่ยนไปใช้ Python ทั้งหมด แต่ตอนนี้ code ที่เขียนส่วนใหญ่มันอิงกับ package ที่ต้องใช้ใน Matlab
ตรงนี้ต้องให้ credit กับคุณโบว์ด้วยครับเป็นแรงบัลดาลใจ เห็นรูปใน blog คุณโบว์เค้าสวย แต่ขอ comment หน่อยว่า blog ไม่ค่อยอัพเลยครับ
ถ้ามีความรู้ COBOL ก็ดีสิเรา...
JavaScript อย่างที่คาดไว้!
groovy?
ใช้ R ได้นี่ เทพ มาก ... Stat มันก็ยากจะแย่แล้ว R ทำให้ยากเข้าไปอีกโข
ผมเกลียด R ชิบเป๋งเลยครับ.....
มันแปลก... แถม ide ไม่ค่อยดีด้วย
แต่ผมชอบ R น่ะ ผมว่ามันคล้ายๆ กับ C น่ะ
เคยเห็น survey ซักที่เกี่ยวกับ COBOL
ข้อนึงถามว่า COBOL เป็นภาษาที่ เก่า แก้ไขโปรแกรมยาก ตกยุคแล้ว เห็นด้วยหรือไม่? ส่วนใหญ่ตอบว่าใช่
อีกข้อถามว่า ถ้าคุณจะสร้าง business application ตัวนึง ณ ตอนนี้เลย จะเลือกใช้ภาษาอะไร? ส่วนใหญ่ก็ตอบว่า COBOL อีก -*-
ลูกค้าเอานิ แต่คนเขียนไม่อยากจะเอา = =a
Python กะ Ruby นี่รู้จักตั้งแต่ตั้ง codenone ใหม่ๆ เคยเข้าไปอ่านและไปดูเทพเล่นตอบโจทย์กันบ่อยๆ เห็นมีวัดความเร็ว Code กันด้วย
หลังๆ เริ่มผมใช้ Python กะ Ruby ไม่ค่อยสนุกเพราะไม่รู้จะเอาไปทำอะไรดี
ผมเอามาเขียนทำ image processing สนุกดีนะครับ ถ่ายรูปแล้วเอามา convert ด้วย script เราเอง
ABAP หายไปไหน?
รู้แต่ว่าสาว Erlang สวย
ขอแย้ง 1 ข้อครับ หลังจากที่ twitter ยุคแรกๆล่ม ruby ก็เลิกร้อนแรงลงเพราะเราเห็นกันแล้วว่าจุดอ่อนของ ruby คืออะไร
ว่ากันว่าปัญหาอยู่ที่ Database กับ ORM ครับ ไม่ใช่ที่ตัวภาษา
รู้สึกว่าตรงนี้พูดถึงภาษานะครับ .. ภาษา Ruby ไม่ใช่ Framework ที่ชื่อ Ruby on Rails
ปัญหาตอน Twitter ล่มตอนนั้น ก็เป็นเพราะเรื่องของ database นี่ครับ? พอดี ORM ของ Rails รุ่นแรกๆ มันใช้ทรัพยากรสิ้นเปลือง ทำให้ไม่สามารถ scale ได้ ... ตอนนี้ก็ตามแก้ปัญหากันอยู่ครับ ทำให้เร็วขึ้นกว่าเดิมเยอะขึ้นมากแล้วครับ
แต่นั่นแหละครับ ปัญหาตอนนั้นสุดท้ายมันจบลงที่ทุกคนเรียนรู้ว่า Relational Database มันไม่ได้เหมาะสำหรับทุกงานครับ! ไอ้พวก NoSQL มันถึงได้บูมๆๆๆ ขนาดนี้ไงครับ คือถึงคุณทำเว็บแบบ Twitter ใช้ภาษาอื่น รับโหลด 100% เท่ากัน แล้วใช้ Relational Database ถ้าคุณไม่ทำ caching ย้ายไป NoSQL หรือ optimize อื่นๆ เพิ่มเติม ผมว่าก็ตายเหมือนกันล่ะครับ หรือไม่จริง?
ผมรู้แล้วหละว่าเมืองไทย Ruby ไม่ดังเพราะอย่างนี้นี่เอง เล่าทอดๆ กันมาว่ามันช้า มันไม่ scale คิดกันซะหมดว่าเป็นปัญหาที่ภาษา ทั้งๆ ที่มันเป็นปัญหาที่ architecture ของระบบครับ! ลองไปค้นหา job board ต่างประเทศดูมั่งนะครับ ลองดู Ruby growth rate ในอเมริกาดูนะครับ ดูว่ามันเป็นยังไง
ปล. จะ Ruby หรือ Python ... ก็อร่อยเหมือนกันฮับ!
บล็อกของผม: http://sikachu.com
ขอชี้แจงกรณี twiiter แล้วกันนะครับ เรื่องภาษาคงไม่ขอแย้งแล้วกัน http://www.blognone.com/node/11246 ลืมข่าวนี้กันไปแล้วเหรอ ลืมกันง่ายจัง ......ผมเองต้องเปลี่ยนภาษาให้กับลูกค้าเพราะข่าวนี้แหละครับจำได้จนทุกวันนี้เลยปฏิเสธไม่ได้ว่าเกี่ยวกับ rail framework ด้วยส่วนข่าว DB ล่มผมจำได้ว่าเกิดหลังจากเหตุการณ์ที่เปลี่ยนภาษาไปแล้วครับ เรื่องอัตราการเติบโต ผมคงไม่เถียงครับมันโตเร็วจริงๆ แต่ยังหา software ดังๆเทียบกับภาษาอื่นได้น้อยอยู่
ถ้าใครคิดจะใช้ Google App Engine แนะนำให้เลือก Python ครับ แล้วจะติดใจ
ถ้าเขียนโปรแกรมบน App Engine ได้จะหางานในไทยได้ไหมครับ
ตอนนี้ GAE ยังเป็น preview release อยู่เลยครับ ถ้าพูดถึงหางานคงยังยากในตอนนี้
ส่วนตัวผมเขียนเพื่อใช้กับ Apps บน Smart Phone ครับ
เดี๋ยวก็คงมีงานครับ Google กำลังจะครองโลก LOL
ใช้เป็นแต่ R
แถว ๆ ออฟฟิซผม เทพ Cobol เพียบเลยครับ แต่มานั่งเขียนภาษา Progress 4GL - -'
จริง ๆ ด้าน Game ภาษา Lua ก็นับเป็นหนึ่งในวงการ
แต่มันไม่ค่อยดังทาง Web ล่ะมั้ง เลยไม่มีคนสนใจเท่าไหร่
นึกถึง RPG Maker เลย
เพิ่งรู้ว่า MATLAB เป็นภาษาประเภทหนึ่ง
สักเกตุได้อีกอย่างว่าเป็นภาษาที่ทำงานในแบบ Script ทั้งนั้น
Erlang ต้อง compile เป็น bytecode ในแบบของ erlang นะครับ แล้วรันบน Erlang VM concept เดียวกันกับ JVM
เล่นมา 3 จาก 6 -*-
JavaScript มาแรงจิงนะ สำหรับสาย web app ยิ่งถ้า HTML 5 มามะไหร่ ได้ใช้ JavaScript เขียน select * from... ใน SQL lite แน่นอน เวลาโหลดหน้าเวป เหมือนโหลดไปทั้ง app ไม่ต้อง install ยิ่งถ้าใช้คู่กับ google closure ด้วยนี่ ไม่ต้องห่วงเรื่องเรื่องโดยอ่าน script
C ไปไหนหนอ...
ผมว่า javascript ครองโลกแน่ ๆ ยังไง html ก็ต้องคู่กับ javascript
มีใครเล่น Erlang อีกไหมครับ มาเล่นเป็นเพื่อนกัน ตัวช่วยในการทำเว็บก็มีเยอะแล้วนะ สำหรับ Erlang
อยากเล่น R อยู่เหมือนกัน แต่ช่วงนี้จัดหนักแต่ Erlang
Python
Google ใช้ภาษานี้สร้างเว็บไซต์ตัวเองขึ้นมาหรือเปล่าครับ
หลายส่วนครับ บางครั้งจะเห็น .py แอบอยู่ตรงโน้นบ้าง ตรงนี้บ้าง
Pascal ไปไหนหนอ?
ผมก็นึกว่า JavaScript มันแรงนานแล้วนะนี้ นี่ยังอยู่ในช่วงกำลังแรง
ไม่มี scala แฮะ
ภาษาก็สำคัญแต่ส่วนใหญ่เห็นคนจำนวนมาก วนเวียนให้ความสำคัญกันอยู่แค่ภาษา ยังมีเรื่องสำคัญกว่านั้นเยอะมาก
เท่าๆที่ดูชุมชน scala ก็หนาแน่นดีนะครับ คงไม่ม่องเท่งง่ายๆ
แต่ผมไม่ชอบ syntax มันอย่างมากกกกกกก เลย ตอนนี้เล่น clojure อยู่
ผมว่า learning curve มันสูงไปนิดนึงครับ ถ้ามาจาก Java คนส่วนนึงเช่นผม ไปทาง Groovy ซึ่งมันนุ่มนวลกว่า แทบจะไม่ต้องใช้เวลาศึกษามันเลย แต่ performance นั้นอีกเรื่องหนึ่ง
ruby..
มีแค่ผมคนเดียวรึเปล่าที่เกลียด syntax มัน จะเอาให้แน่นปึ้กแบบ perl เลยก็ไม่ใช่ จะให้สะอาดแบบ python ก็ไม่เชิง....
เคยลอง ruby แล้วก็ไม่ชอบ syntax มันเหมือนกันครับ
+1 ครับ
python !!
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
ชอบ syntax C/C++ แน่นอนก็ Java/Java Script ด้วย กำลังศึกษา Groovy, Grails และที่กำลังจะต้องใช้คือ R
foxpro ไปไหนหนอ
อยากให้ลอง Python ครับ ใช้ในงานเกี่ยวกับ Engineering ทำ Prototype ได้ดีมาก
ภาษาสั้น ง่ายกระชับดี แต่ผมเกลียด indent โคตรๆ
ชอบ { } มากที่สุดแล้วครับ รู้ว่้าเริ่มตรงไหน จบตรงไหน โดนบังคับให้เขียน vb.net รู้สึกอึดอัดมากมาย จะเอา c# ก็ไม่ได้ เพราะคนที่ทำด้วยเขาไม่เป็น ภาษาไม่สำคัญ สำคัญอยู่ที่จินตนาการล่ะครับ
สู้ต่ิอไป ผู้ใช้แรงงานใส่สูท >_<
Google Go ยังไม่โผล่มาเท่าไร
Comments
MATLAB ไม่มี h ครับ
ไม่เป็นเลยสักภาษา
ดูจากรูปโพรไฟล์ของคุณแล้วคิดว่าน่าจะเคยเรียน Python
ถ้าศึกษาภาษาพวกนี้ จะหางานในประเทศไทย ได้ที่ไหนบ้าง
COBAL นี่ต้องพวกธนาคารใช้กันหละมั่งครับ
ข้อความนี้ (พวกแรกๆ คงไม่ต้องอธิบายนะครับ) ย้ายไปไว้ต่อจากประโยคแรกดีกว่ามั้ยครับ ผมพยายามทำความเข้าใจตั้งนานว่า Python(พวกแรกๆ คงไม่ต้องอธิบายนะครับ) แปลว่าอะไร
เพราะคิดว่ามันเป็นข้อความขยาย "Python"
Java กำลังจะตาย ?
อันนี้คือภาษานอกกระแสที่กำลังเติบโตครับ ส่วนพวกใหญ่ๆ C/C++/.NET/Java คงอยู่นอกสโคป
Java ไม่ตายง่ายๆหรอก library มหาศาลทิ้งไปไม่ได้หรอกครับ
พวกธนาคาร และบริษัทใหญ่ๆ ใช้ Java อยู่เยอะครับ
J2C# รู้จักมั้ยครับ?
สั่งคอมไพล์สองทีก็ได้แล้ว
seriously ผมไม่รู้จัก J2C# จริงๆครับ ไอ้ Java 2 ...(put you name here) เนี่ยผมก็ได้ยินมานานแล้ว แต่ก็ไม่ได้อยู่ในกระแสหลัก ผมก็อยากทราบเหมือนกัน ว่ามันมีข้อเสียอะไร ผมเองก็เคยเห็นมีคนพูดๆว่า Java แx่ง ช้า แต่ที่ผมจับอยู่อยู่ในส่วน backend อยู่มาเกือบสิบปี ก็ยังไม่เห็นว่าจะคนจะพอร์ตโค้ดที่มีอยู่ทิ้งเป็น C#, VB.Net, (put you name here too!) กันโครมๆนะ
แต่ที่ผมนึกออกอย่างหนึ่ง คือน่าจะขาดฟีเจอร์เรื่อง (dynamic) class loading ซึ่งทำให้ฟีเจอร์ลดทอนลงอย่างมาก
ไม่ใช่อะไรหรอกครับ
มันมีโปรแกรม Reverse Engineer แล้ว Compile โค้ดจาว่าทั้งหมดให้กลายเป็นโค้ด C# (เท่าที่ทำได้)
ผมจำไม่ได้ว่ามันชื่ออะไรเลยเรียก J2C# ไปงั้นแหละครับ
เอากันจริงๆคือโปรแกรมจาว่าเนี่ย เปลี่ยนเป็นโปรแกรม C# ได้บรรทัดต่อบรรทัด แทบไม่มีฟีเจอร์ที่ Java มีแต่ C# ไม่มีเลยแม้แต่น้อย
ถ้าอยากนักล่ะก็ จะ Convert ก็ได้ครับ ไม่ใช่ปัญหาซักนิด
ปัญหาน่าจะอยู่ที่ลิขสิทธิ์ว่าคนที่เขียนจาว่าไว้ มันก็เป็นทีมบริษัทนึง อีกบริษัทนึงจะมาถึง Convert โค้ดหมด
มันก็เป็นเรื่องไม่ดี
รวมถึงการที่มีความผูกพัน คนบริษัทจาว่าก็ใช้จาว่าไม่ได้คิดจะเปลี่ยน แล้วก็เป็นคนคอยเมนเทนโค้ดด้วย
ส่วนตัวผมเข้าใจว่า AOT เหนือกว่า class loading นะครับ
ป.ล. เผื่อผมเข้าใจผิด
ถ้าหมายถึงการโหลดคลาสเพิ่มมาในโค้ดตอนที่กำลังรันๆอยู่
มีครับ ทำไม .NET จะไม่มี โหลดเป็น DLL มาได้เลยครับ
จำได้ว่าใน .NET เขาเรียกว่า assembly
จริง ๆ หลาย ๆ ภาษาก็แปลงกันไปมาได้นะครับ
ถ้าจำไม่ผิด Matlab ก็แปลงเป็น C ได้ทั้งหมด
Cobol ก็แปลงได้
แต่เค้าไม่ทำกันก็ด้วยสาเหตุหลาย ๆ ประการทั้ง code maintenance และ testing
ผมก็ยังไม่เข้าใจว่าเค้าจะแปลง Java เป็น C# กันทำไมครับ ถ้า Java ยังโตขึ้นอย่างเรื่อย ๆ (แม้จะช้า ๆ)
หรือว่าคนทั่วไปแค่อยากให้ Java ตาย?
ผมว่าไม่ใช่แค่ คนทั่วไป นะ
และย้ำอีกที
ผมแค่บอกว่า มันไม่ใช่เหตุผลที่จะทำให้จาว่าอยู่ยงคงกระพันไม่มีวันตาย
ผมก็ไม่ได้แช่งให้จาว่ารีบไปตายเสียหน่อย
มันทำได้ แต่จะมีคนเสี่ยงทำรึเปล่ามากกว่านะครับในทางธุรกิจ เหมือนภาษาสมัยนี้มันก็ทำได้เหมือนหรือดีกว่าโคบอลทั้งนั้น แต่โคบอลมันก็ยังอยู่แล้วก็ต้องไปหาคนมาดูแลมันต่อไปเรื่อยๆ นั่นแหละครับ
ของที่อยู่บน prod อย่าว่าแต่เปลี่ยนภาษาที่ใช้เลยครับ แค่จะเปลี่ยนลอจิกนิดหน่อยก็มีขั้นตอนยุ่งยากมากมายแล้วครับ
Oracle มีส่วนหรือเปล่า ที่ทำให้คนเริ่มไม่มั่นใจกับ Java?
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
+100
ไม่ใช่ล่ะครับ เจอ dynamic class loading เช่น เจอ 3rd party เอา log4j-1.2.12.jar ใส่มาในคลาสพาทเค้า แล้วพี่จะ Ahead-Of-Time Compiler อย่างไรไหวครับ คือพี่ต้องทำ Java Runtime ของพี่เองละครับ
แล้วถ้าจาวามันเปลี่ยนเวอร์ชั่น Java 5 (EOF แล้ว) -> Java 6 แล้วพี่ต้องรอรันไทม์รุ่นใหม่ที่รองรับฟีเจอร์ dynamic ใหม่ๆของ Java รึเปล่าครับ
แล้วตอน Java มัน throw Exception พี่จะทำอย่างไรครับ แล้วจะอ่าน StackTrace/Log กันได้รึเปล่าครับ แล้วปัญหามันเกิดที่ production แบบครั้งเดียวในรอบสิบวัน แล้วลูกค้ารับไม่ได้ ต้องหาสาเหตุและวิธีการแก้ปัญหานี้ให้ได้ พี่จะทำอย่างไรครับ StackTrace ที่ได้ก็ชี้กลับไปที่โค้ดไม่ได้
ข้อหลังเนี่ยทำให้ Java->C/C++/... ตายมานักต่อนักแล้วครับ คือโค้ดที่แปลงมามันไม่ 100% แล้วดันมีปัญหากับ Runtime ตัวนี้เท่านั้น หรือมี Exception throws ที่มี StackTrace แล้วกลับใช้ประโยชน์ไม่ได้ พนักงานระดับปฏิบัติการยอมรับไม่ได้ เรียกว่ายอมซื้อเครื่องใหม่ดีกว่ายอมเทส end-to-end testing ใหม่หมด
อันนี้คือ load .NET->.NET หรือ Java->Java ครับ
ไม่ใช่ Java->.NET
รู้จัก และไม่คิดจะใช้
ผมทำงานระบบธนาคารมา 2 ปีกว่า ยังไม่เคยมีโปรเจค(ที่ทำและที่เห็น)ที่ต้องรันในระดับ Core Bank ใช้ .Net เลยครับ ใช้แต่ Java ครับ เลยไม่มีเหตุจำเป็นต้องใช้เลย ที่เขาไม่ใช้คงเพราะพวกค่าลิขสิทธิ์ที่ Micro$oft เรียกเก็บแหละมัง
ผมก็รู้อยู่แล้วว่าคนใช้ Java ไม่คิดจะใช้
ประเด็นคือ library เยอะ มันไม่ใช่เหตุผลที่จะทำให้ Java ไม่ตายง่ายๆครับ
Convert เอาได้ ง่ายนิดเดียว เมื่อไหร่ก็ทำได้
วันไหน Java ใกล้ตาย ก็วันนั้นแหละ
ในทางเทคนิคแล้ว ไม่จริงนะครับ โค้ดที่ convert มาได้นี่ถ้าจะดูแลกันต่อไป ก็ต้องแก้จนเหมือนกันเขียนใหม่
lewcpe.com, @wasonliw
+1
Convert แล้วแน่ใจได้อย่างไรว่ามันจะทำงานได้เหมือนเดิม หรือต้องมานั่งเทสระบบใหม่ทั้งหมด
+1 ครับ
ยิ่งพวกระบบธนาคารที่ต้องการความถูกต้องสูง ผู้บริหารคงจะไม่ยอมล่ะครับ
ผมขอเสริมครับ นอกจากจะแก้จนเหมือนเขียนใหม่แล้ว มันจะมีความน่าเชื่อถือมากแค่ไหน
อีกทั้งในทางเทคนิคแล้ว ไม่น่าจะ convert ได้ 100% เพราะอย่าลืมว่ามี dependencies
อีกนับร้อยนับพัน เราคงไม่เขียน code เองทั้งหมดโดยอิงแค่ standard lib มั้ง
นอกจาก dependencies แล้วยังมีปัญหาทางโครงสร้างอีกเช่น ถ้าเป็น web project, ejb project
หรือทั้งสองอย่าง หรือจะพ่วง web service เข้าไปด้วย ซึ่งมีอีกหลายหลาย framework ที่
ใช้รูปแบบการเขียนไม่เหมือนกัน หรือแม้แต่ถ้าคุณใช้ OSGi,Spring,...
นี่ยังไม่รวมถึงการ test และ build อีกร้อยแปดพันเก้า และปัญหาเรื่อง interoperability
กัยระบบที่มีอยู่แล้วอีกนับสิบ แค่คิดก็เครียดแทนแล้ว
มันต้องใช้ทรัพยากรทั้งเงินทุน คนและเวลาอีกมหาศาล แล้วก็จะมีคำถามตามมาก็คือ convert ไปเพื่อ?
ถึง Java ตายจริง คงไม่มีใครกล้าเอาระบบใหญ่ๆที่พัฒนาด้วย Java มา Convert หรอกครับ
อย่าว่าแต่ใหญ่เลย ขนาดกลาง ยังต้องคงต้องคิดแล้วคิดอีกว่ามันถูกไหม ถูกแล้วยังไง code ที่ gen ให้ถูกตาม process ที่ต้องการไหม เรื่องจุกจิกเยอะ
ระบบธนาคาร ไม่ได้ใช้ Standard lib อย่างเดียวนะครับ อย่าว่าแต่ธนาคารเลย บริษัท Software House ที่ทำ Java ต่างก็สร้าง lib ของตัวเองแล้วใช้สืบต่อกันมานาน มันต้องกลับไปลื้อพวกนั้นใหม่หรือไม่
เอาเฉพาะเรื่องที่ผมทำก็แล้วกัน ระบบธนาคาร ต้องการความถูกต้องมากแค่ไหน โปรเจคมี code หลายร้อยหรืออาจถึงหลักพัน ไฟล์ ใช้ทั้ง Standard & Custom lib มันสามารถการันตีความถูกต้องได้หรือไม่ ถ้ามันผิดขึ้นมาใครรับผิดชอบ หรืออาจจะเทสไม่เจอหลุดไปใช้จริงเงินลูกค้าหาย ใครรับผิดชอบครับ ความซวยจะตกมาที่ใครเล่า
ส่วนตัว ถึงแม้ Convert ได้แต่ผมก็กลัวมันไม่สมบุรณ์อยู่ดี พาลจะซวยกันหมดทั้งโค้ด
เคยแตะอย่างละนิดอย่างละหน่อย แต่ 2 อันล่างไม่เคยเลยครับ -___-"
Matlab สุดยอดดดด
แต่ไม่ฟรีนะครับ แล้วก็มีปัญหาความเข้ากันได้ระหว่างรุ่นด้วย
หากทุนไม่หนา ไม่ใช้ feature หวือวา ผมแนะนำ Python + Numpy + Scipy + Matplotlib ครับ ใช้แทนกันได้ดีทีเดียว
แล้ว Scilab ล่ะครับ?
SciLab กับ Octave ช้าครับ และที่สำคัญ plot อัปลักษณ์มาก Matplotlib plot ได้เนียนกว่ามาก สำหรับ 2D ออกมาสวยกว่า MATLAB อีก เพราะใช้ engine เดียวกับ PDF แต่ด้าน feature ก็สู้ MATLAB ไม่ได้อยู่ดีครับ
นอกจากนั้น Python มีเครื่องมือที่พร้อมกว่า Scilab หรือ Octave แล้วก็ติดต่อกับภาษาล่าง ๆ อย่าง C หรือ FORTRAN ได้ง่ายกว่าด้วยครับ
ผมเห็นด้วย เวลาทำงานผมใช้ Matlab แต่เวลา plot ผมใช้ Python + Numpy + Matplotlib รูปสวยกว่า Matlab เยอะ
อนาคตก็กะว่าจะเปลี่ยนไปใช้ Python ทั้งหมด แต่ตอนนี้ code ที่เขียนส่วนใหญ่มันอิงกับ package ที่ต้องใช้ใน Matlab
ตรงนี้ต้องให้ credit กับคุณโบว์ด้วยครับเป็นแรงบัลดาลใจ เห็นรูปใน blog คุณโบว์เค้าสวย
แต่ขอ comment หน่อยว่า blog ไม่ค่อยอัพเลยครับ
ถ้ามีความรู้ COBOL ก็ดีสิเรา...
JavaScript อย่างที่คาดไว้!
groovy?
ใช้ R ได้นี่ เทพ มาก ... Stat มันก็ยากจะแย่แล้ว R ทำให้ยากเข้าไปอีกโข
ผมเกลียด R ชิบเป๋งเลยครับ.....
มันแปลก... แถม ide ไม่ค่อยดีด้วย
แต่ผมชอบ R น่ะ ผมว่ามันคล้ายๆ กับ C น่ะ
เคยเห็น survey ซักที่เกี่ยวกับ COBOL
ข้อนึงถามว่า COBOL เป็นภาษาที่ เก่า แก้ไขโปรแกรมยาก ตกยุคแล้ว เห็นด้วยหรือไม่?
ส่วนใหญ่ตอบว่าใช่
อีกข้อถามว่า ถ้าคุณจะสร้าง business application ตัวนึง ณ ตอนนี้เลย จะเลือกใช้ภาษาอะไร?
ส่วนใหญ่ก็ตอบว่า COBOL อีก -*-
ลูกค้าเอานิ แต่คนเขียนไม่อยากจะเอา = =a
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
Python กะ Ruby นี่รู้จักตั้งแต่ตั้ง codenone ใหม่ๆ เคยเข้าไปอ่านและไปดูเทพเล่นตอบโจทย์กันบ่อยๆ เห็นมีวัดความเร็ว Code กันด้วย
หลังๆ เริ่มผมใช้ Python กะ Ruby ไม่ค่อยสนุกเพราะไม่รู้จะเอาไปทำอะไรดี
ผมเอามาเขียนทำ image processing สนุกดีนะครับ ถ่ายรูปแล้วเอามา convert ด้วย script เราเอง
ABAP หายไปไหน?
รู้แต่ว่าสาว Erlang สวย
ขอแย้ง 1 ข้อครับ หลังจากที่ twitter ยุคแรกๆล่ม ruby ก็เลิกร้อนแรงลงเพราะเราเห็นกันแล้วว่าจุดอ่อนของ ruby คืออะไร
ว่ากันว่าปัญหาอยู่ที่ Database กับ ORM ครับ ไม่ใช่ที่ตัวภาษา
รู้สึกว่าตรงนี้พูดถึงภาษานะครับ .. ภาษา Ruby ไม่ใช่ Framework ที่ชื่อ Ruby on Rails
ปัญหาตอน Twitter ล่มตอนนั้น ก็เป็นเพราะเรื่องของ database นี่ครับ? พอดี ORM ของ Rails รุ่นแรกๆ มันใช้ทรัพยากรสิ้นเปลือง ทำให้ไม่สามารถ scale ได้ ... ตอนนี้ก็ตามแก้ปัญหากันอยู่ครับ ทำให้เร็วขึ้นกว่าเดิมเยอะขึ้นมากแล้วครับ
แต่นั่นแหละครับ ปัญหาตอนนั้นสุดท้ายมันจบลงที่ทุกคนเรียนรู้ว่า Relational Database มันไม่ได้เหมาะสำหรับทุกงานครับ! ไอ้พวก NoSQL มันถึงได้บูมๆๆๆ ขนาดนี้ไงครับ คือถึงคุณทำเว็บแบบ Twitter ใช้ภาษาอื่น รับโหลด 100% เท่ากัน แล้วใช้ Relational Database ถ้าคุณไม่ทำ caching ย้ายไป NoSQL หรือ optimize อื่นๆ เพิ่มเติม ผมว่าก็ตายเหมือนกันล่ะครับ หรือไม่จริง?
ผมรู้แล้วหละว่าเมืองไทย Ruby ไม่ดังเพราะอย่างนี้นี่เอง เล่าทอดๆ กันมาว่ามันช้า มันไม่ scale คิดกันซะหมดว่าเป็นปัญหาที่ภาษา ทั้งๆ ที่มันเป็นปัญหาที่ architecture ของระบบครับ! ลองไปค้นหา job board ต่างประเทศดูมั่งนะครับ ลองดู Ruby growth rate ในอเมริกาดูนะครับ ดูว่ามันเป็นยังไง
ปล. จะ Ruby หรือ Python ... ก็อร่อยเหมือนกันฮับ!
บล็อกของผม: http://sikachu.com
ขอชี้แจงกรณี twiiter แล้วกันนะครับ เรื่องภาษาคงไม่ขอแย้งแล้วกัน http://www.blognone.com/node/11246 ลืมข่าวนี้กันไปแล้วเหรอ ลืมกันง่ายจัง ......ผมเองต้องเปลี่ยนภาษาให้กับลูกค้าเพราะข่าวนี้แหละครับจำได้จนทุกวันนี้เลยปฏิเสธไม่ได้ว่าเกี่ยวกับ rail framework ด้วยส่วนข่าว DB ล่มผมจำได้ว่าเกิดหลังจากเหตุการณ์ที่เปลี่ยนภาษาไปแล้วครับ เรื่องอัตราการเติบโต ผมคงไม่เถียงครับมันโตเร็วจริงๆ แต่ยังหา software ดังๆเทียบกับภาษาอื่นได้น้อยอยู่
ถ้าใครคิดจะใช้ Google App Engine แนะนำให้เลือก Python ครับ
แล้วจะติดใจ
ถ้าเขียนโปรแกรมบน App Engine ได้จะหางานในไทยได้ไหมครับ
ตอนนี้ GAE ยังเป็น preview release อยู่เลยครับ ถ้าพูดถึงหางานคงยังยากในตอนนี้
ส่วนตัวผมเขียนเพื่อใช้กับ Apps บน Smart Phone ครับ
เดี๋ยวก็คงมีงานครับ Google กำลังจะครองโลก LOL
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
ใช้เป็นแต่ R
แถว ๆ ออฟฟิซผม เทพ Cobol เพียบเลยครับ แต่มานั่งเขียนภาษา Progress 4GL - -'
จริง ๆ ด้าน Game ภาษา Lua ก็นับเป็นหนึ่งในวงการ
แต่มันไม่ค่อยดังทาง Web ล่ะมั้ง เลยไม่มีคนสนใจเท่าไหร่
นึกถึง RPG Maker เลย
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
เพิ่งรู้ว่า MATLAB เป็นภาษาประเภทหนึ่ง
สักเกตุได้อีกอย่างว่าเป็นภาษาที่ทำงานในแบบ Script ทั้งนั้น
Erlang ต้อง compile เป็น bytecode ในแบบของ erlang นะครับ แล้วรันบน Erlang VM
concept เดียวกันกับ JVM
เล่นมา 3 จาก 6 -*-
JavaScript มาแรงจิงนะ สำหรับสาย web app ยิ่งถ้า HTML 5 มามะไหร่ ได้ใช้ JavaScript เขียน select * from... ใน SQL lite แน่นอน
เวลาโหลดหน้าเวป เหมือนโหลดไปทั้ง app ไม่ต้อง install ยิ่งถ้าใช้คู่กับ google closure ด้วยนี่ ไม่ต้องห่วงเรื่องเรื่องโดยอ่าน script
C ไปไหนหนอ...
ผมว่า javascript ครองโลกแน่ ๆ
ยังไง html ก็ต้องคู่กับ javascript
มีใครเล่น Erlang อีกไหมครับ มาเล่นเป็นเพื่อนกัน
ตัวช่วยในการทำเว็บก็มีเยอะแล้วนะ สำหรับ Erlang
อยากเล่น R อยู่เหมือนกัน แต่ช่วงนี้จัดหนักแต่ Erlang
Python
Google ใช้ภาษานี้สร้างเว็บไซต์ตัวเองขึ้นมาหรือเปล่าครับ
หลายส่วนครับ บางครั้งจะเห็น .py แอบอยู่ตรงโน้นบ้าง ตรงนี้บ้าง
Pascal ไปไหนหนอ?
ผมก็นึกว่า JavaScript มันแรงนานแล้วนะนี้
นี่ยังอยู่ในช่วงกำลังแรง
ไม่มี scala แฮะ
ภาษาก็สำคัญแต่ส่วนใหญ่เห็นคนจำนวนมาก
วนเวียนให้ความสำคัญกันอยู่แค่ภาษา
ยังมีเรื่องสำคัญกว่านั้นเยอะมาก
เท่าๆที่ดูชุมชน scala ก็หนาแน่นดีนะครับ คงไม่ม่องเท่งง่ายๆ
แต่ผมไม่ชอบ syntax มันอย่างมากกกกกกก เลย ตอนนี้เล่น clojure อยู่
ผมว่า learning curve มันสูงไปนิดนึงครับ
ถ้ามาจาก Java คนส่วนนึงเช่นผม ไปทาง Groovy ซึ่งมันนุ่มนวลกว่า
แทบจะไม่ต้องใช้เวลาศึกษามันเลย แต่ performance นั้นอีกเรื่องหนึ่ง
ruby..
มีแค่ผมคนเดียวรึเปล่าที่เกลียด syntax มัน จะเอาให้แน่นปึ้กแบบ perl เลยก็ไม่ใช่ จะให้สะอาดแบบ python ก็ไม่เชิง....
เคยลอง ruby แล้วก็ไม่ชอบ syntax มันเหมือนกันครับ
+1 ครับ
python !!
แฟนพันธุ์แท้สตีฟจ็อบส์ | MacThai.com
ชอบ syntax C/C++ แน่นอนก็ Java/Java Script ด้วย กำลังศึกษา Groovy, Grails และที่กำลังจะต้องใช้คือ R
foxpro ไปไหนหนอ
อยากให้ลอง Python ครับ ใช้ในงานเกี่ยวกับ Engineering ทำ Prototype ได้ดีมาก
ภาษาสั้น ง่ายกระชับดี แต่ผมเกลียด indent โคตรๆ
ชอบ { } มากที่สุดแล้วครับ รู้ว่้าเริ่มตรงไหน จบตรงไหน
โดนบังคับให้เขียน vb.net รู้สึกอึดอัดมากมาย จะเอา c# ก็ไม่ได้ เพราะคนที่ทำด้วยเขาไม่เป็น
ภาษาไม่สำคัญ สำคัญอยู่ที่จินตนาการล่ะครับ
สู้ต่ิอไป ผู้ใช้แรงงานใส่สูท >_<
Google Go ยังไม่โผล่มาเท่าไร