Tags:
Node Thumbnail

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

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

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

No Description

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

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

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

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

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

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

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

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

Get latest news from Blognone

Comments

By: takato
iPhoneWindows PhoneAndroidBlackberry
on 9 July 2014 - 05:05 #720231
takato's picture

การศึกษาคงใช่
แต่พอเข้าสู่ตลาดโลก กลับกลายเป็น 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

By: BLiNDiNG
AndroidUbuntuWindowsIn Love
on 9 July 2014 - 12:43 #720234 Reply to:720231
BLiNDiNG's picture

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.

By: pepporony
ContributorAndroid
on 9 July 2014 - 07:52 #720243

ไม่มี COBOL เหรอ

OTL

By: benTECH
iPhoneWindows PhoneAndroid
on 9 July 2014 - 07:58 #720244

ภาษาแรก c -> vb -> java -> c#

By: pasuth73
iPhoneWindows PhoneAndroidUbuntu
on 9 July 2014 - 09:43 #720257 Reply to:720244

เหมือนผมเลยเราคงเป็นเพื่อนกันได้ :D

By: Jaddngow
AndroidUbuntuWindows
on 9 July 2014 - 11:41 #720246
Jaddngow's picture

ไม่ค่อยชอบindentationของpython น่ารำคาญ แต่ใช้pythonเพราะ python notebookนี่แหละ ง่ายต่อการบันทึกงานวิจัย

By: UltimaWeapon
Windows PhoneRed HatWindowsIn Love
on 9 July 2014 - 08:58 #720251
UltimaWeapon's picture

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

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

By: nextman13
AndroidBlackberryUbuntuWindows
on 9 July 2014 - 09:30 #720254 Reply to:720251

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

By: dangsystem
iPhoneAndroidBlackberryWindows
on 9 July 2014 - 09:44 #720258 Reply to:720251
dangsystem's picture

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

By: pasuth73
iPhoneWindows PhoneAndroidUbuntu
on 9 July 2014 - 09:42 #720256

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

By: tana
ContributorSymbianWindows
on 9 July 2014 - 09:49 #720259
tana's picture

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

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

By: lastone
Android
on 9 July 2014 - 10:10 #720271

ฺฺBASIC กับ Pascal ครับ

ดักแก่

By: btoy
ContributorAndroidWindows
on 9 July 2014 - 10:36 #720286 Reply to:720271
btoy's picture

แก่มากกกกกกกกกกกกกก


..: เรื่อยไป

By: Architec
ContributorWindows PhoneAndroidWindows
on 9 July 2014 - 12:00 #720319 Reply to:720271

หลักสูตรอาชีวะศึกษาในไทยยังมีพวกนี้อยู่ครับ ก็..... นะ

By: tontan
ContributorAndroidSymbianUbuntu
on 9 July 2014 - 13:51 #720368 Reply to:720271
tontan's picture

Pascal

begin
Writeln ('I am Pascal.');
end.


บล็อก: wannaphong.com และ Python 3

By: panurat2000
ContributorSymbianUbuntuIn Love
on 9 July 2014 - 10:34 #720283
panurat2000's picture

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

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

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

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

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

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

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

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

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

By: neizod
ContributorTraineeIn Love
on 9 July 2014 - 11:54 #720316 Reply to:720283
neizod's picture

ขอบคุณครับ

By: abojama
AndroidWindows
on 9 July 2014 - 11:05 #720294
abojama's picture

C++ กับ Java ครับ

By: paween_a
Android
on 9 July 2014 - 11:13 #720299
paween_a's picture

รหัสเทียม = pseudo code

By: neizod
ContributorTraineeIn Love
on 9 July 2014 - 11:51 #720315 Reply to:720299
neizod's picture

เอ คำนี้คิดว่าถอดศัพท์มาก็น่าจะเข้าใจตรงกันหมดนะครับ

By: mossila
iPhoneWindows PhoneAndroidBlackberry
on 9 July 2014 - 14:11 #720376
mossila's picture

C, JAVA, Python, Postscript ครับ

By: ThE_NeXt
Windows Phone
on 9 July 2014 - 15:19 #720405

ได้เรียน Scheme ตอนปี 1 >.<

By: Mikezung
iPhoneWindows PhoneAndroidSymbian
on 9 July 2014 - 15:47 #720424

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

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

By: takwing on 9 July 2014 - 17:00 #720463
takwing's picture

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

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

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

By: neizod
ContributorTraineeIn Love
on 9 July 2014 - 18:39 #720482 Reply to:720463
neizod's picture

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

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

By: takwing on 9 July 2014 - 22:00 #720515 Reply to:720482
takwing's picture

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

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

By: neizod
ContributorTraineeIn Love
on 10 July 2014 - 03:56 #720577 Reply to:720515
neizod's picture

แข็งแกร่งยิ่งนัก ป.ตรีเรียน Haskell เป็นภาษาแรก กราบสามจบ

By: luckyman
ContributoriPhoneAndroidRed Hat
on 9 July 2014 - 23:46 #720553 Reply to:720482

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

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

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

By: neizod
ContributorTraineeIn Love
on 10 July 2014 - 04:17 #720579 Reply to:720553
neizod's picture

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

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

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

By: pingkunga
iPhoneWindows PhoneAndroidRed Hat
on 9 July 2014 - 18:03 #720474

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

SWU Wooo

By: mr_tawan
ContributoriPhoneAndroidWindows
on 9 July 2014 - 18:17 #720479
mr_tawan's picture

ผมเรียน C++ (แต่เป็น procedural ล้วน ๆ ไม่มี OO, Meta) แล้วไป Java ครับ

สิบกว่าปีละนะ อาจจะเปลี่ยนแล้ว


  • 9tawan.net บล็อกส่วนตัวฮับ
By: narate
AndroidUbuntu
on 9 July 2014 - 18:22 #720481
narate's picture

ผมเขียน Lua อิอิ

By: mr_tawan
ContributoriPhoneAndroidWindows
on 9 July 2014 - 21:37 #720531
mr_tawan's picture

ผมไม่ค่อยชอบ Python เท่าไหร่ ถ้าเปลี่ยนไปสอน javascript อาจจะดีกว่าหรือเปล่า


  • 9tawan.net บล็อกส่วนตัวฮับ
By: neizod
ContributorTraineeIn Love
on 10 July 2014 - 04:27 #720583 Reply to:720531
neizod's picture

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