Development

ข่าวทำนองนี้มีออกมาเรื่อยๆ ทุกปีนะครับ คราวนี้นิตยสาร Developer World ได้จัดรายการภาษาโปรแกรมที่กำลังมาแรง 7 ตัว (ไม่เรียงลำดับความสำคัญ, พวกแรกๆ คงไม่ต้องอธิบายนะครับ)

  • Python
  • Ruby
  • MATLAB
  • JavaScript
  • R ภาษาที่ใช้ในวงการสถิติ
  • Erlang ภาษาสำหรับการประมวลผลแบบขนาน
  • Cobol แม้จะเก่าแก่แต่ยังไม่ตายง่ายๆ และยังมีความต้องการในตลาดงานอยู่เรื่อยๆ

ที่มา - Developer World

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

ข้อความนี้ (พวกแรกๆ คงไม่ต้องอธิบายนะครับ) ย้ายไปไว้ต่อจากประโยคแรกดีกว่ามั้ยครับ ผมพยายามทำความเข้าใจตั้งนานว่า Python(พวกแรกๆ คงไม่ต้องอธิบายนะครับ) แปลว่าอะไร
เพราะคิดว่ามันเป็นข้อความขยาย "Python"

tekkasit Wed, 27/10/2010 - 00:39

In reply to by Thaina

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 อย่าว่าแต่เปลี่ยนภาษาที่ใช้เลยครับ แค่จะเปลี่ยนลอจิกนิดหน่อยก็มีขั้นตอนยุ่งยากมากมายแล้วครับ

ไม่ใช่ล่ะครับ เจอ 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 ใหม่หมด

RookieX Wed, 27/10/2010 - 01:05

In reply to by Thaina

รู้จัก และไม่คิดจะใช้

ผมทำงานระบบธนาคารมา 2 ปีกว่า ยังไม่เคยมีโปรเจค(ที่ทำและที่เห็น)ที่ต้องรันในระดับ Core Bank ใช้ .Net เลยครับ ใช้แต่ Java ครับ เลยไม่มีเหตุจำเป็นต้องใช้เลย ที่เขาไม่ใช้คงเพราะพวกค่าลิขสิทธิ์ที่ Micro$oft เรียกเก็บแหละมัง

ผมก็รู้อยู่แล้วว่าคนใช้ Java ไม่คิดจะใช้

ประเด็นคือ library เยอะ มันไม่ใช่เหตุผลที่จะทำให้ Java ไม่ตายง่ายๆครับ
Convert เอาได้ ง่ายนิดเดียว เมื่อไหร่ก็ทำได้
วันไหน Java ใกล้ตาย ก็วันนั้นแหละ

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

superballsj2 Wed, 27/10/2010 - 10:17

In reply to by outlawman

+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 มันสามารถการันตีความถูกต้องได้หรือไม่ ถ้ามันผิดขึ้นมาใครรับผิดชอบ หรืออาจจะเทสไม่เจอหลุดไปใช้จริงเงินลูกค้าหาย ใครรับผิดชอบครับ ความซวยจะตกมาที่ใครเล่า

แต่ไม่ฟรีนะครับ แล้วก็มีปัญหาความเข้ากันได้ระหว่างรุ่นด้วย

หากทุนไม่หนา ไม่ใช้ feature หวือวา ผมแนะนำ Python + Numpy + Scipy + Matplotlib ครับ ใช้แทนกันได้ดีทีเดียว

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 ไม่ค่อยอัพเลยครับ

thedesp Tue, 26/10/2010 - 22:23

เคยเห็น survey ซักที่เกี่ยวกับ COBOL

ข้อนึงถามว่า COBOL เป็นภาษาที่ เก่า แก้ไขโปรแกรมยาก ตกยุคแล้ว เห็นด้วยหรือไม่?
ส่วนใหญ่ตอบว่าใช่

อีกข้อถามว่า ถ้าคุณจะสร้าง business application ตัวนึง ณ ตอนนี้เลย จะเลือกใช้ภาษาอะไร?
ส่วนใหญ่ก็ตอบว่า COBOL อีก -*-

PaPaSEK Tue, 26/10/2010 - 22:24

Python กะ Ruby นี่รู้จักตั้งแต่ตั้ง codenone ใหม่ๆ เคยเข้าไปอ่านและไปดูเทพเล่นตอบโจทย์กันบ่อยๆ เห็นมีวัดความเร็ว Code กันด้วย

หลังๆ เริ่มผมใช้ Python กะ Ruby ไม่ค่อยสนุกเพราะไม่รู้จะเอาไปทำอะไรดี

รู้สึกว่าตรงนี้พูดถึงภาษานะครับ .. ภาษา 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 ... ก็อร่อยเหมือนกันฮับ!

ขอชี้แจงกรณี twiiter แล้วกันนะครับ เรื่องภาษาคงไม่ขอแย้งแล้วกัน http://www.blognone.com/node/11246 ลืมข่าวนี้กันไปแล้วเหรอ ลืมกันง่ายจัง ......ผมเองต้องเปลี่ยนภาษาให้กับลูกค้าเพราะข่าวนี้แหละครับจำได้จนทุกวันนี้เลยปฏิเสธไม่ได้ว่าเกี่ยวกับ rail framework ด้วยส่วนข่าว DB ล่มผมจำได้ว่าเกิดหลังจากเหตุการณ์ที่เปลี่ยนภาษาไปแล้วครับ เรื่องอัตราการเติบโต ผมคงไม่เถียงครับมันโตเร็วจริงๆ แต่ยังหา software ดังๆเทียบกับภาษาอื่นได้น้อยอยู่

ตอนนี้ GAE ยังเป็น preview release อยู่เลยครับ ถ้าพูดถึงหางานคงยังยากในตอนนี้

ส่วนตัวผมเขียนเพื่อใช้กับ Apps บน Smart Phone ครับ

จริง ๆ ด้าน Game ภาษา Lua ก็นับเป็นหนึ่งในวงการ

แต่มันไม่ค่อยดังทาง Web ล่ะมั้ง เลยไม่มีคนสนใจเท่าไหร่

JavaScript มาแรงจิงนะ สำหรับสาย web app ยิ่งถ้า HTML 5 มามะไหร่ ได้ใช้ JavaScript เขียน select * from... ใน SQL lite แน่นอน
เวลาโหลดหน้าเวป เหมือนโหลดไปทั้ง app ไม่ต้อง install ยิ่งถ้าใช้คู่กับ google closure ด้วยนี่ ไม่ต้องห่วงเรื่องเรื่องโดยอ่าน script

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

อยากเล่น R อยู่เหมือนกัน แต่ช่วงนี้จัดหนักแต่ Erlang

designbyarm Wed, 27/10/2010 - 04:28

Python

Google ใช้ภาษานี้สร้างเว็บไซต์ตัวเองขึ้นมาหรือเปล่าครับ

Iterator Wed, 27/10/2010 - 10:14

ไม่มี scala แฮะ

ภาษาก็สำคัญแต่ส่วนใหญ่เห็นคนจำนวนมาก
วนเวียนให้ความสำคัญกันอยู่แค่ภาษา
ยังมีเรื่องสำคัญกว่านั้นเยอะมาก

hus Wed, 27/10/2010 - 10:57

In reply to by Iterator

ผมว่า learning curve มันสูงไปนิดนึงครับ
ถ้ามาจาก Java คนส่วนนึงเช่นผม ไปทาง Groovy ซึ่งมันนุ่มนวลกว่า
แทบจะไม่ต้องใช้เวลาศึกษามันเลย แต่ performance นั้นอีกเรื่องหนึ่ง

pines Wed, 27/10/2010 - 12:12

ชอบ syntax C/C++ แน่นอนก็ Java/Java Script ด้วย กำลังศึกษา Groovy, Grails และที่กำลังจะต้องใช้คือ R

อยากให้ลอง Python ครับ ใช้ในงานเกี่ยวกับ Engineering ทำ Prototype ได้ดีมาก

ภาษาสั้น ง่ายกระชับดี แต่ผมเกลียด indent โคตรๆ

ชอบ { } มากที่สุดแล้วครับ รู้ว่้าเริ่มตรงไหน จบตรงไหน
โดนบังคับให้เขียน vb.net รู้สึกอึดอัดมากมาย จะเอา c# ก็ไม่ได้ เพราะคนที่ทำด้วยเขาไม่เป็น
ภาษาไม่สำคัญ สำคัญอยู่ที่จินตนาการล่ะครับ

สู้ต่ิอไป ผู้ใช้แรงงานใส่สูท >_<