Java

คุณ Philip Guo ผู้ก่อตั้งเว็บ Online Python Tutor เขียนตัววิเคราะห์การเลือกภาษาโปรแกรมสำหรับการเรียนเขียนโปรแกรมในมหาวิทยาลัยชั้นนำของสหรัฐ พบว่าภาษา Python มีการใช้งานขึ้นนำแทนภาษา Java แล้ว

เกณฑ์การเลือกมหาวิทยาลัยใช้ข้อมูลจาก US News หมวดมหาวิทยาลัยที่ขึ้นชื่อในคณะวิทยาการคอมพิวเตอร์ โดยเขาเลือกมหาวิทยาลัย 39 ชื่อแรกมาประมวลผล

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

ผลลัพธ์จำนวนรายวิชาที่เลือกใช้ภาษาโปรแกรมต่างๆ ในการสำรวจครั้งนี้

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

ภาษาในลำดับถัดมาคือ MATLAB ที่เน้นกลุ่มเป้าหมายไปที่นักศึกษาวิศวกรรมศาสตร์-วิทยาศาสตร์ ที่ต้องพึ่งพาการคำนวณหนักๆ ส่วน C++ และ C นั่นคือภาษาที่ยังเหลือสอนอยู่ ไม่ได้เปลี่ยนไปใช้ Java ในรอบที่แล้วครับ

ส่วนภาษาแปลกๆ อย่าง Scheme ก็ดูเหมือนจะเป็นความต้องการของอาจารย์ที่หลงใหลในการเขียนโปรแกรมเชิงฟังก์ชันไม่กี่กลุ่ม

ปิดท้ายด้วยความประหลาดใจกับภาษา Scratch ภาษาโปรแกรมแบบลาก-วางที่แม้ตอนนี้จะยังไม่มีบทบาทในโลกการทำงานจริงมากนัก แต่ก็แสดงให้เห็นถึงความพยายามในการทำให้การสอนเขียนโปรแกรมง่ายขึ้นครับ

คุณ Guo ทิ้งท้ายไว้ว่า หากย้อนกลับมาทำการสำรวจแบบนี้อีกในห้าปี สิบปี หรือยี่สิบปี ผลลัพธ์จะยังเป็นเช่นนี้อยู่หรือไม่ ภาษาใดจะครองอันดับความนิยมนี้

ที่มา: บล็อกของ Philip Guo ที่ Communications of the ACM

ผมเข้าใจว่ามหาวิทยาลัยในไทยหลายแห่งก็ได้เริ่มทดลองใช้ Python เป็นภาษาแรกกันบ้างแล้ว แต่เท่าที่ได้รับข้อมูลมาผลตอบรับยังไม่ดีเท่าไหร่ ก็ขอให้อดทนค่อยๆ ปรับหลักสูตรและเทคนิคการสอนนะครับ

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

การศึกษาคงใช่
แต่พอเข้าสู่ตลาดโลก กลับกลายเป็น Java ไม่ก็ C เพราะ smart phone และ tablet

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
http://mashable.com/2014/01/21/learn-programming-languages/
http://langpop.com/
http://www.udemy.com/blog/best-programming-language/

ไม่รู้จะหามาตราฐานตรงไหน
แต่รู้ว่าเว็บทั่วโลกอันดับหนึ่งตอนนี้กลับมาเป็น google หลังจากที่เคยเป็น facebook

I think that it's just a good initiation for those students who don't study in directly related computer fields, ex. accounting, other sciences, other engineering. So they can try some basic programming for their own experiments instead of being feared.

For those who are computer science or computer engineering students will eventually have to study high performance language anyway.

ปัญหาของคนส่วนใหญ่คือ มักจะเลือกสิ่งที่ตัวเองเชื่อ แทนที่จะเลือกสิ่งที่เหมาะกับงานนั้นๆ

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

เห็นด้วยครับ เพราะบางครั้งเคยอยู่กับสิ่งหนึ่งนานๆ เช่น เคยเขียนแต่ VB จนชำนาญแล้ว ขี้เกียจศึกษาตัวอื่นๆ หรือลองแล้วไม่โดนใจเพราะไม่เหมือนสิ่งที่ตัวเองเคยทำ สุดท้ายตัวที่ดีที่สุดสำหรับงานแต่ละงานย่อมแตกต่างกัน สำคัญคือคนที่เป็นโปรแกรมเมอร์ต้องเปิดใจและให้เวลาตัวเองเรียนรู้สิ่งใหม่ๆ จะได้ไม่ย่ำอยู่กับที่ เหมือนสมัยก่อนผมชอบแต่ Delphi เลยไม่ค่อยเปิดใจกับ VB6 เพราะไม่ชอบหลักการที่ต้องติดตั้งตัว Runtime แต่สุดท้ายต้องใช้ VB6 เพราะเงินดี เสร็จแล้วด้วยความขี้สงสัยว่า java มันเป็นไงถึงได้ใช้เขียนโปรแกรมระดับใหญ่ๆ ก็เลยลองศึกษาดู และสุดท้ายผมว่า java นี่แหละตอบโจทย์ผมได้มากที่สุด เพราะตอนนี้ java สร้างงานและรายได้ผมเพิ่มขึ้น เป็นต้น

เห็นด้วยครับ อาจารย์ บางคน อาจจะไม่ได้ออกมาทำงานก่อนก็ได้ เรียนจบ ก็ เป็นครูเลย (แค่บางคนน่ะครับ)

pasuth73 Wed, 09/07/2014 - 09:42

ผมว่ามันง่ายดีนะ แต่ผมมันก็ทำให้ผมสับสนตอนใช้ ชอบสลับกับC# ไม่ก็จาวาจริงๆ โดยเฉพาะคลาสเนี่ย

tana Wed, 09/07/2014 - 09:49

ตอนนี้ สสวท. ของไทยเรา

ก็มีหลักสูตร Scratch แล้วนะครับ ผมสอน ม.1 - ม.2

เกณฑ์การเลือกมหาลัยใช้ข้อมูลจาก US News

มหาลัย => มหาวิทยาลัย

โดยเขาเลือกมหาวิทยลัย 39 ชื่อแรกมาประมวลผล

มหาวิทยลัย => มหาวิทยาลัย

ผลลัพท์ชี้ให้เห็นว่า ภาษา Python ได้รับความนิยมจนแซงภาษา Java

ผลลัพท์จะยังเป็นเช่นนี้อยู่หรือไม่ ภาษาใดจะครองอันดับความนิยมนี้

ผลลัพท์ => ผลลัพธ์

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

หลงไหล => หลงใหล

เริ่มศึกษาจาก Pascal ต่อด้วย C JAVA ASP.net ตามลำดับ

ภาษาที่เริ่มต้นศึกษาคือ ควรจะเข้าใจง่าย จะได้เป็นการเปิด สมองเข้าสู่โลก Logic ให้ความคิดมีถูกผิด ซ้ายขวา วนลูปได้ ต่อไป พอจับภาษาใหม่ๆ มันก็จะได้เริ่มศึกษาได้ง่ายขึ้น

นักศึกษาจะเรียนอะไรเป็นภาษาแรกมันก็ได้ทั้งนั้นแหละ

แต่สุดท้ายแล้วเมื่อเรียนครบ 4 ปีจบแล้ว ควรจะมีความรู้ programming paradigm ทุกแขนงไม่มากก็น้อย ไม่ว่าจะเป็น imperative programming(C,C++,Java), functional programming(Haskell,Erlang), logic programming(Prolog), object-oriented programming(Java,C++), generic programming(C++) ฯลฯ

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

functional programming นี่พูดยากครับ มีความรู้ติดตัวไว้บ้างก็ดี แต่ไม่มีก็ไม่เป็นไร ยังไงเสียทุกวันนี้เราก็วุ่นวายกับ oop กันมากกว่าอยู่แล้วครับ (เอาจริงๆ คือ functional จ๋าไม่ค่อยมีคนใช้ทำงานทั่วไปด้วย เขียน loop ก็งง เปลี่ยนค่าตัวแปรก็วุ่นวาย)

ส่วน logic programming นี่เรียนจบแล้วหลุดโลกเลย ...

ผมเห็นด้วยนะว่าถ้าไม่ได้เรียนเพื่อไปเป็นอาจารย์หรือนักวิจัย functional programming มันใช้ประโยชน์ไม่ค่อยไ้ด้ในอุตสาหกรรม แต่ก็ควรเรียนไว้เปิดโลกทัศน์

สมัยผมเรียนป.ตรี ที่วิทยาลัยเค้าก็สอน haskell นี่แหละเป็นภาษาแรก

เอาเข้าจริงผมว่าจำเป็นมากนะ คนไม่มีพื้นฐานส่วนนี้เลย จะมีปัญหาเวลาเจอ closure, await (promise), coroutine, continuation หรือพวก functional data structure อื่นๆ (ที่สร้างจาก data structure พื้นฐาน)

แนวคิดของ logic programming ก็มีแอบๆ ไว้ใน decision tree

ซึ่งเกือบทั้งหมดเคยเจอในโปรเจคขนาดกลางโปรเจคเดียว ที่เขียนด้วยภาษา imperative
ซึ่งถ้าไม่มีพื้นฐานก็แทบจะไปต่อไม่ได้เลยครับ

closure นี่ผมมองว่ามันเป็นความมหัศจรรย์ที่เกิดขึ้นเมื่อเราผลักดันค้นคว้าขีดความสามารถด้าน lexical scope ไปจนสุดทางนะครับ คือโอเคว่ามันเจ๋ง มันดูเข้าใจยาก แต่มันก็เวิร์ก (เช่นเดียวกะพวก Y combinator) แต่ถ้าถามว่าแล้วเขียนง่ายๆ ธรรมดาๆ ให้โปรแกรมเมอร์ทั่วไปอ่านเข้าใจโดยไม่ต้องปวดหัวไม่ได้เหรอ ผมว่าแค่ class ง่ายๆ ก็ตอบโจทย์ได้หมดนะ ยอมเสีย namespace นิดนึง

ส่วน await, coroutine, continuation นี่ผมว่ามันออกแนว parallel/concurrent เยอะนะฮะ ถึงจะรู้ functional มาก่อนบ้าง แต่พอเจอเข้าไปก็อาจต้องเริ่มนับใหม่จาก 0 อยู่ดี

ด้าน data structure จากฝั่ง functional มีตัวเดียวที่ผมว่าควรเข้าใจมันอย่างถ่องแท้คือ tuple ครับ :p

ที่ ม ผมสอน LC-3 (Assembly บน Emulater แบบนึง) >> C >> Java และก็ภาษาเว็บต่างๆ (HTML, Javascript, PHP, ASP.NET, JSP) และตอนทำโปรจบก็ใช้ python กับ webGL

SWU Wooo

ไม่ดีครับ แค่ใช้ == เปรียบเทียบของก็ยากแล้ว แถมยังให้ประกาศตัวแปรแบบไม่ต้องมีคำว่า var ได้ เด็กใหม่ที่เพิ่งเริ่มเขียนโปรแกรมสร้าง bug กระจุยกระจายชัวร์ แล้วไหนยังจะเรื่อง ; จบประโยคที่ไม่ต้องมีก็ได้อีก ทำงานกันหลายคนมีหวังแก้โค้ดกันจนเกิด if/loop ที่ไม่มี body แน่ๆ