Douglas Crockford โปรแกรมเมอร์ผู้สร้าง JSON ในปี 2000 ออกมาให้สัมภาษณ์วิจารณ์ JavaScript ว่าพัฒนาช้ามากในช่วง 20 ปีที่ผ่านมา จากที่เขาเคยเป็นกองเชียร์ JavaScript และพยายามแก้ปัญหาหลายๆ อย่าง ก็ประสบความสำเร็จน้อยมากใน ECMAScript 5 ที่เป็นเวอร์ชันใหญ่เมื่อปี 2009 จนตอนนี้เขามองว่า JavaScript เป็นภาษาไดโนเสาร์ที่ไม่ทันโลก และควรเลิกใช้กันดีกว่า (The best thing we can do today to JavaScript is to retire it.)
Crockford ยังให้ความเห็นว่าชุมชน JavaScript พยายามพัฒนาตัวภาษาให้บวมขึ้นกว่าเดิม แทนที่จะพัฒนามันให้ดีกว่าเดิม อย่างไรก็ตาม ปัญหาคือเราไม่มีภาษาอื่นมาใช้ทดแทนแนวทาง JavaScript แก้โครงของ DOM ในเบราว์เซอร์ ซึ่งก็ไม่ง่ายเลยที่จะสร้างภาษาใหม่ขึ้นมาแล้วให้เบราว์เซอร์ทุกตัวยอมรับ
เขายังแสดงความเห็นต่อภาษาโปรแกรมในภาพรวมว่า ภาษาส่วนใหญ่ที่เราใช้กันถูกออกแบบมาตั้งแต่ยุคโพรเซสเดียวบนคอมพิวเตอร์เครื่องเดียว ซึ่งโลกเปลี่ยนจากนั้นไปมากแล้ว
ภาพจาก Flickr Douglas Crockford
on

+1 ครับ
hisoft Mon, 08/08/2022 - 13:47
+1 ครับ
+256
aomnaruk Mon, 08/08/2022 - 13:49
+256
ปัญหาคือเราไม่มีภาษาอื่นมาใช้
Be1con Mon, 08/08/2022 - 13:54
คำว่า "แก้" ซ้ำกันครับ
แล้วให้ใช้อะไรครับ
best Mon, 08/08/2022 - 14:14
แล้วให้ใช้อะไรครับ
PyScript?
osmiumwo1f Mon, 08/08/2022 - 15:49
In reply to แล้วให้ใช้อะไรครับ by best
PyScript?
ปล. ลืมไปว่าแต่ก่อนเคยมี VBScript ที่ใช้ทดแทน JS ด้วยครับ
ใช้อะไรก็ไม่ได้ครับ
sf_alpha Mon, 08/08/2022 - 16:27
In reply to แล้วให้ใช้อะไรครับ by best
ใช้อะไรก็ไม่ได้ครับ ยกเว้นวันหนึ่ง Browser ทั้งหลายจะ Agree กันว่า
เออ เราสร้างภาษาใหม่ หรือไปใช้ภาษาใหม่กันดีกว่า แล้วก็ทำ DOM/Navigator Binding กับภาษานั้นขึ้นมา
+1024 ยิ่งนานวันยิ่งบวมของแท้
forl Mon, 08/08/2022 - 14:25
+1024
ยิ่งนานวันยิ่งบวมของแท้
มีคนกล้าออกมาพูดสักที
schanon Mon, 08/08/2022 - 15:15
มีคนกล้าออกมาพูดสักที
มันบวมอย่างไรครับ
rattananen Mon, 08/08/2022 - 15:25
มันบวมอย่างไรครับ
ที่นอกจาก DOM ที inherit จน method ซ้ำซ้อนกัน
กับ API ที่เพิ่มขึ้นเรื่อยๆ ผมก็ยัง Ok อยู่
เสียอย่างเดียว ให้ทำงานแบบ parallel (webworker) ค่อนข้างยุ่งยาก
ที่อยากให้แก้สักหน่อย คืออยากให้มันเป็น strong typed กับถ้า compile เป็น binary code ได้ด้วยจะดีมาก
มันบวมอย่างไรครับ
hisoft Mon, 08/08/2022 - 16:08
In reply to มันบวมอย่างไรครับ by rattananen
แบบที่มี string.substring string.substr string.slice มั้งครับ 😂 แต่พวกนี้ผมไม่ซีเรียสนะ
ที่ผมเจอคือไม่ใช่ยุ่งยากอย่างเดียวแต่ perf ไม่ค่อยคุ้มเลยครับ setup ช้า โยนข้อมูลข้ามไปกลับยากและช้าอีก orz
ผมชอบ JS/TS มาก แต่ก็ไม่ชอบที่มัน single thread นี่แหละ
น่าจะหมายถึง syntax
chan1sook Mon, 08/08/2022 - 19:48
In reply to มันบวมอย่างไรครับ by rattananen
น่าจะหมายถึง syntax ของภาษาที่เพิ่มขึ้นเรื่อยๆ ตั้งแต่ ES6 ครับ เช่น async/await iterator generator class จนถึง ?? a?.b หรือ 1_000_000 === 1000000 เป็นต้น
ยกเว้น literal อันสุดท้าย
rattananen Mon, 08/08/2022 - 20:07
In reply to น่าจะหมายถึง syntax by chan1sook
ยกเว้น literal อันสุดท้าย
นอกนั้น tool พื้นฐานสำหรับ modern programming language เลยนะครับ
เห็นด้วย
Hoo Mon, 08/08/2022 - 22:42
In reply to น่าจะหมายถึง syntax by chan1sook
เห็นด้วย
รู้สึก syntax อ่านเข้าใจยากขึ้นเรื่อยๆ
แถมจะจัด code ขึ้นบรรทัดใหม่เพื่อให้อ่านง่ายๆ ก็ไม่ได้ จะ error อีก 😑
จากประวัติศาสตร์...
iqsk131 Mon, 08/08/2022 - 15:29
จากประวัติศาสตร์... คนส่วนใหญ่ไม่ยอมเปลี่ยนเพราะมีของใหม่ดีกว่าหรอก แต่จะยอมเปลี่ยนก็ต่อเมื่อของเดิมที่ใช้มันลำบากต่างหาก
ต่อให้มีของใหม่ที่ดีกว่า JS มากแค่ไหน ถ้า JS มันยังใช้ได้แบบไม่มีปัญหาอะไรมันก็ยังอยู่แบบนั้นแหละ เพราะงั้นถ้าจะให้เลิกใช้ก็คงต้องให้เริ่มจากให้ Browser เลิกสนับสนุน แต่จะมีเจ้าไหนกล้ารึเปล่า? (แอบหันไปมอง Apple... 55+)
กล้าพอไหม ฮา ๆ
0FFiiz Mon, 08/08/2022 - 15:39
กล้าพอไหม ฮา ๆ
จริง ๆ อยากเปลี่ยนมาก ๆ
แค่ตัว Javascript ก็ว่าลำบากแล้ว เจอการเขียน code
แบบเอาพอรันผ่าน ไม่สนว่าจะอ่านยากหรือเปล่าเข้าไป หัวจะระเบิด
ป่ะผุมานานมาก
Ford AntiTrust Mon, 08/08/2022 - 15:41
ปะผุมานานมาก เวลาเปิดอ่านแล้วไมเกรนขึ้น 🤦♂️
No second best yet.
gooGof Mon, 08/08/2022 - 15:41
No second best yet.
หนึ่งในความหวังหรือเปล่านะ 😆
Sh0ckWaveZer0 Mon, 08/08/2022 - 15:52
หนึ่งในความหวังหรือเปล่านะ 😆
https://bun.sh/
ก็ยังเป็น JavaScript
illuminator Tue, 09/08/2022 - 01:59
In reply to หนึ่งในความหวังหรือเปล่านะ 😆 by Sh0ckWaveZer0
ก็ยังเป็น JavaScript อยู่นะครับ
แหะๆ ก็นะ ปัญหาคือทำยังไง
btoy Mon, 08/08/2022 - 15:57
แหะๆ ก็นะ ปัญหาคือทำยังไงให้บรรดา browsers รองรับภาษาใหม่อย่างพร้อมหน้าพร้อมตา
ยุคนี้เว็บกลายมาเป็น UI มาตรฐานแล้วด้วยสิ
JS แค่ส่วนเล็ก
blackdoor Mon, 08/08/2022 - 16:00
JS แค่ส่วนเล็ก
ใช้งานจริง ๆ ชอบ TS มากกว่า (มาก)
สุดท้ายมันก็ติดข้อจำกัดของ JS
hisoft Mon, 08/08/2022 - 16:06
In reply to JS แค่ส่วนเล็ก by blackdoor
สุดท้ายมันก็ติดข้อจำกัดของ JS อยู่ดีน่ะครับเพราะมันก็แค่ compile มาเป็น JS
แต่อาจจะทำให้ typescript
paween_a Mon, 08/08/2022 - 17:15
In reply to สุดท้ายมันก็ติดข้อจำกัดของ JS by hisoft
แต่อาจจะทำให้ typescript รองรับบน browser โดยตรงเลยก็เป็นได้นะ
ก็จะไปติดข้อจำกัดเดิมที่ JS
hisoft Mon, 08/08/2022 - 17:21
In reply to แต่อาจจะทำให้ typescript by paween_a
ก็จะไปติดข้อจำกัดเดิมที่ JS ก็ติดนั่นแหละครับ เข้าใจว่าติดที่ ES เลย 😅
ไม่เป็นไรครับ เพราะผมแค่ UX
blackdoor Mon, 08/08/2022 - 19:10
In reply to สุดท้ายมันก็ติดข้อจำกัดของ JS by hisoft
ไม่เป็นไรครับ เพราะผมแค่ UX ในมุม Dev ที่เกี่ยวข้องกับเนื้อหาข่าวที่หมายถึงผู้ที่ใช้งาน
ถ้า WebAssembly มายำ DOM
itpcc Mon, 08/08/2022 - 18:17
ถ้า WebAssembly มายำ DOM ได้เมื่อไหร่น้า... 😏
ก็น่าจะอยู่เป็น mainly tech
adente Mon, 08/08/2022 - 18:30
ก็น่าจะอยู่เป็น mainly tech language ไปอีกนานละครับ จนกว่าจะมี security issue หนักๆจนคนต้องสละเรือหนี
jquery อีกอัน เดฟรุ่นใหม่เดียวนี้ได้แต่ร้องยี้เวลาเห็น jquery หารู้ไม่ว่าสมัยบุกเบิก มันคือเครื่องมือพระเจ้าเอาไว้สู้กับ IE เลย
เห็นด้วยครับ
jutipong.su Mon, 08/08/2022 - 18:36
In reply to ก็น่าจะอยู่เป็น mainly tech by adente
เห็นด้วยครับ
555+ เข้าใจทั้งสองฝ่าย
btoy Mon, 08/08/2022 - 19:08
In reply to ก็น่าจะอยู่เป็น mainly tech by adente
555+ เข้าใจทั้งสองฝ่าย ฝั่งที่ไม่เคยเจอพิษสงของ IE ก็คงเห็นแต่มุมที่ว่า jquery performance แย่ แต่ฝั่งที่สู้รบมากับ IE ยังไงก็คงไม่ลืม jquery ที่มาช่วยชีวิต
ขนาดผมไม่ใช่ dev ฝั่ง Web frontend ก็ยังพอรู้พิษสงของ IE เลย
ใครบอกไม่ช้านี่เชียร์ให้ดูคลิ
Architec Mon, 08/08/2022 - 20:29
ใครบอกไม่ช้านี่เชียร์ให้ดูคลิป/รูปในเฟสแบบเว็บลยครับ ไม่ต้องเล่นในแอพซักเดือนนึง
คลิกหนึ่งที ใจผมไปอยู่ลิงค์อื่นนานแล้วแต่หน้าต่างไม่ไปซักที
ผมว่าอันนั้น Facebook
hisoft Tue, 09/08/2022 - 00:27
In reply to ใครบอกไม่ช้านี่เชียร์ให้ดูคลิ by Architec
ผมว่าอันนั้น Facebook ทำมาห่วยเองนะครับ 😅
“There are only two kinds of
bow_der_kleine Tue, 09/08/2022 - 00:58
“There are only two kinds of languages: the ones people complain about and the ones nobody uses.” ― Bjarne Stroustrup
ใช้ JS สำหรับ Web UI แย่ในระดับที่พอยอมรับได้ แต่ถ้าใช้เป็น Backend แบบ Node เมื่อไร นั่นแหละนรกมีจริง
แต่เห็นคนเชียร์ nodejs
crucifier Tue, 09/08/2022 - 10:02
In reply to “There are only two kinds of by bow_der_kleine
แต่เห็นคนเชียร์ nodejs กันเหลือเกิน ผมก็ไม่เคยเขียนเลยไม่รู้ว่ามันดีหรือแย่ยังไง พอจะแชร์ได้มั้ยครับ
นรกยังไงเหรอครับ
7elven Tue, 09/08/2022 - 11:08
In reply to “There are only two kinds of by bow_der_kleine
นรกยังไงเหรอครับ อยากอ่านมุมมอง
ผมค่อยได้ใช้ nodejs
rattananen Tue, 09/08/2022 - 11:58
In reply to นรกยังไงเหรอครับ by 7elven
ผมค่อยได้ใช้ nodejs
แต่เดาจากประสบการณ์
เพราะว่ามันเป็น Duck typing ครับ
เวลาต้องทำงานกับ 3rd party library มันจะ error ง่ายมากๆ
เพราะกว่าคุณจะรู้ว่ามันผิด คุณจะไปรู้ตอน runtime เสียส่วนใหญ่
เนื่องจากขณะเขียนคุณไม่รู้ว่า argument หรือ return value มัน type อะไรหรือ structure เป็นอย่างไร
หรือคุณรู้แต่อาจจะ typo
ตัวอย่าง
ปกติผมจะใช้ Typescript แล้วเอาไป build เป็น JavaScript ตอนเอาไป run แทบจะไม่มี error
แต่เมื่อเร็วๆ นี้ผมจำเป็นต้องใช้ JavaScript เขียนบน platform หนึ่ง ตอนเอาไป run นี้ error กระจายไม่ type error ก็พิมพ์ผิด
Duck typing มันเป็นอะไรควรจะใช้น้อยๆ อย่าง PHP หรือ Python ที่เคยเป็น 100% Duck typing นี้ก็ยังต้อง add feature strong type เข้าไป
Nodejs ก็เขียน typescript
7elven Tue, 09/08/2022 - 12:14
In reply to ผมค่อยได้ใช้ nodejs by rattananen
Nodejs ก็เขียน typescript ได้นะครับ แล้ว 3rd party ที่ได้รับการ maintenance อยู่ มีอัพเดตตลอด ก็กลายมาเป็น typescript กันซะส่วนใหญ่แล้ว
เรื่อง type นี่ js มีปัญหาจริง พอมาใช้ ts นี่ชีวิตดีขึ้นเยอะ
ก็พูดเกินไป nodejs
adente Tue, 09/08/2022 - 11:20
In reply to “There are only two kinds of by bow_der_kleine
ก็พูดเกินไป nodejs รับโหลดได้สบายๆ มันไม่ได้เร็วจัดๆแบบบางภาษาแต่ก็ไม่ได้แย่ขนาดนั้น มีทางเดียวที่จะทำให้ dev ปวดหัวคือโปรเจคต้องใหญ่มากแล้วไม่ได้ใช้ typescript เขียน
NodeJS ไม่ได้แย่ขนาดนั้นครับ
blackdoor Tue, 09/08/2022 - 12:45
In reply to “There are only two kinds of by bow_der_kleine
NodeJS ที่เขียนด้วย JS ไม่ได้แย่ขนาดนั้นครับ รับโหลดได้สบาย ๆ ดีกว่าภาษา Interpreter อย่าง PHP และ Python เสียอีก
นอกเสียจากคุณจะหมายถึง นรกของ Code เพราะที่จริงถ้าเอา NodeJS มาทำ Backend และเขียนด้วย JS + ExpressJS ก็นรกจริง ๆ แหละครับผมเห็นด้วยเพราะ ExpressJS ถ้าวางโครงสร้างไม่ดี ก็เหมือนเขียน
Hard codingเพราะ ExpressJS ค่อนข้างยืดหยุ่น เช่น สามารถเขียน Logic ลงบน Route และ Response ออกมาได้เลย หรือบางคนไม่ใช้ ORM ก็เขียน Raw Query สด ๆ หรือเขียน Logic เองเพื่อ Connect DB เอง และมั่วไปหมดอันไหนเปิด Connection อันไหนปิด Connection นี่ยังไม่พูดถึงยังไม่ใช้ TypeScript อีกนะครับต้องสร้างภาษาใหม่แล้วแหละ
IZaCl2eam Tue, 09/08/2022 - 09:20
ต้องสร้างภาษาใหม่แล้วแหละ
น่าจะยากครับ แต่เป็นไปได้
blackdoor Tue, 09/08/2022 - 12:45
In reply to ต้องสร้างภาษาใหม่แล้วแหละ by IZaCl2eam
น่าจะยากครับ แต่เป็นไปได้ แต่เป็นไปได้ยากเพราะว่า
webassembly!!!
rbus Tue, 09/08/2022 - 19:34
webassembly!!!