Ryan Cavanaugh หัวหน้าทีมวิศวกรรมที่ดูแลการพัฒนาภาษา TypeScript ของไมโครซอฟท์ให้สัมภาษณ์กับ StackOverflow บอกว่าจุดเปลี่ยนสำคัญที่ทำให้ TypeScript ได้รับความนิยมอย่างมาก เป็นเพราะกูเกิลตัดสินใจนำไปใช้ในโครงการ Angular 2
Cavanaugh ร่วมทีมพัฒนา TypeScript มาตั้งแต่ก่อนเปิดตัวในปี 2012 (ผู้สร้าง TypeScript คือ Anders Hejlsberg ซึ่งเป็นผู้สร้าง Turbo Pascal, Delphi, C#) เขาเล่าว่าตอนนั้นไมโครซอฟท์ต้องการนำ JavaScript มาสร้างแอพพลิเคชันขนาดใหญ่ แต่ติดปัญหาเรื่องขาดฟีเจอร์ตัวแปรแบบ static typing

ทางเลือกที่เป็นไปได้ในตอนนั้นคือสร้างภาษาใหม่เลย (เช่น Script# ที่เป็นการเขียน C# แล้วแปลงเป็น JavaScript หรือ CoffeeScript ที่เป็น JavaScript เปลี่ยน syntax) แต่สุดท้ายเลือกการนำ JavaScript มาเพิ่มตัวแปร static type กลายเป็น TypeScript
เขาบอกว่าจุดเปลี่ยนสำคัญคือช่วงปลายปี 2015 ที่กูเกิลประกาศว่าจะใช้ TypeScript สำหรับโครงการ Angular 2 (Angular เวอร์ชันแรกใช้ JavaScript) ทำให้ความนิยมของ TypeScript เพิ่มขึ้นอย่างก้าวกระโดด (ดูกราฟประกอบ)

Cavanaugh ยังพูดถึงกระแสความนิยมของภาษาแบบ static typing ในภาพรวม เช่น Rust หรือ Hack ของ Facebook ที่เป็น PHP แบบเพิ่ม static type ว่าวงการไอทีทดลองนำภาษาแบบ dynamic ไปสร้างโปรแกรมขนาดใหญ่ๆ ที่มีความซับซ้อนสูง แล้วเกิดปัญหาตามมามากมาย เป็นบทเรียนสำคัญว่าถ้าต้องการดูแลโค้ดในระยะยาว ต้องมีการกำหนดชนิดของตัวแปรที่ดีมาตั้งแต่ต้น
เขาบอกว่าโลกยังมีที่ว่างสำหรับภาษาทั้งสองแบบ และถ้าโปรแกรมเมอร์ที่นิยมภาษาแบบ dynamic สามารถเขียนโค้ด 30,000 บรรทัดโดยไม่ต้องมี static types เขาก็จะประทับใจมาก เพราะนั่นเป็นสิ่งที่ยากมาก
ที่มา - StackOverflow via ZDNet
on
เขียน 30,000
rattananen Fri, 19/06/2020 - 14:52
เขียน 30,000 บรรทัดโดยไม่ต้องมี static types
มันก็ไม่ได้ยากหรอก ถ้าเขียนคนเดียว
คิดถึงตอน MA แล้วก็สยองหน่อยๆ
Ford AntiTrust Fri, 19/06/2020 - 14:59
In reply to เขียน 30,000 by rattananen
คิดถึงตอน MA แล้วก็สยองหน่อยๆ
ไม่หน่อยๆ หรอกครับ
osmiumwo1f Fri, 19/06/2020 - 15:09
In reply to คิดถึงตอน MA แล้วก็สยองหน่อยๆ by Ford AntiTrust
ไม่หน่อยๆ หรอกครับ เพราะนี่เจอ PHP ขนาดใกล้ๆ กันแล้วบอกเลยว่าสยองชิบหาย แบบว่าอะไรทำงานผิดพลาดนิดหน่อยก็พังได้ แถมเป็น PHP 5.2 ครับ
+1 ระบบที่มีโค้ดเยอะๆ
sukjai Fri, 19/06/2020 - 15:58
In reply to คิดถึงตอน MA แล้วก็สยองหน่อยๆ by Ford AntiTrust
+1 ระบบที่มีโค้ดเยอะๆ นี่ผมไม่เอาภาษาแบบ dynamic type
เขียนทุกวันแล้วไม่เยอะมากยังพ
PNNutkung Fri, 19/06/2020 - 16:23
In reply to เขียน 30,000 by rattananen
เขียนทุกวันแล้วไม่เยอะมากยังพอไหวครับ แต่พอทำไปนาน ๆ แล้วมีสลับไปทำ project อื่นบ้าง ภาษาพวก strong type ช่วยชีวิตไว้ได้เยอะครับ
ถ้ามี unit test ดีๆ
paween_a Fri, 19/06/2020 - 17:20
In reply to เขียน 30,000 by rattananen
ถ้ามี unit test ดีๆ ก็ช่วยได้เยอะนะ
แต่ก่อนไม่ชอบนะ TS ชอบ Pure
blackdoor Fri, 19/06/2020 - 16:42
แต่ก่อนไม่ชอบนะ TS ชอบ Pure JS
แต่ตอนนี้หลง TS มากเกิดมาเพื่อเติมเต็ม JS จริง ๆ
เขียนแรกๆ โครตปวดตับ
akira Fri, 19/06/2020 - 17:45
เขียนแรกๆ โครตปวดตับ งงโครงสร้างอยู่นาน แต่พอเขียนซัก 1-2 โครงการ เออมันก็เข้าท่านะ ยิ่งหลังบ้านใช้กับ Micro Service ด้วย รู้สึกมันดูแลง่ายกว่าเขียนทั้งหมดให้ทำงานบน Server เพียวๆ รวมถึงแบ่งทีมรับผิดชอบงานชัดเจนด้วย เวลาลูกค้าแก้จุกจิกเรื่องข้อความ หรือหน้าจอนิดๆ หน่อยๆ (บ่อยมาก) โยนให้ทีม Frontend แก้ทีเดียวไม่ค่อยกลัวกระทบ flow ของ data ด้วย หรือมันเหมาะกับงานของผมก็ไม่รู้ เขียนแล้วรู้สึกมันดูแลง่าย
ผมเลิกใช้ php เพราะ nodejs
massacre Fri, 19/06/2020 - 19:01
ผมเลิกใช้ php เพราะ nodejs
ผมเลือกใช้ angular แทน react, vue เพราะ typescript
ผมไม่ใช้ .net core c# ทำ backend ไปใช้ nodejs เพราะ typescript
สรุปคือใช้ typescript ทีเดียวได้ทั้ง frontend และ backend
ไม่ต้องเสียเวลาสนใจพวก syntax หรือ anotation หรือ pattern ของแต่ละภาษา มาก
React, VueJS ก็เขียนเป็น
blackdoor Fri, 19/06/2020 - 19:55
In reply to ผมเลิกใช้ php เพราะ nodejs by massacre
React, VueJS ก็เขียนเป็น TypeScript ได้ครับ ผมก็เขียนใน React
ขอบคุณครับ
massacre Fri, 19/06/2020 - 20:22
In reply to React, VueJS ก็เขียนเป็น by blackdoor
ขอบคุณครับ
ตอนที่ผมดูทีแรก angular ใช้ typescript แต่แรกเลย ก็เลยใช้ angular มาตลอดครับ
ตอนนี้ถ้า react + ts =
7elven Fri, 19/06/2020 - 22:39
In reply to ผมเลิกใช้ php เพราะ nodejs by massacre
ตอนนี้ถ้า react + ts = Perfect เลยครับ
รู้สึกเป็นแกะดำ
big50000 Sat, 20/06/2020 - 07:20
รู้สึกเป็นแกะดำ
ทำเว็บ ตอนเขียนโปรแกรมผมใช้ JS ล้วน ทั้ง frontend backend เลย คงเพราะตั้งชื่อและใช้งาน res แบบระวังตลอด + สำเนาตัวแปรถ้าจะ operate ข้าม type + มีกฎการตั้งชื่อส่วนตัว ก็เลยไม่มีปัญหาอะไร 555
เหมือนเม้นแรกบอกไงครับ
panther Sat, 20/06/2020 - 07:56
In reply to รู้สึกเป็นแกะดำ by big50000
เหมือนเม้นแรกบอกไงครับ
มันไม่ยากกรอกถ้าเขียน + อ่านโค๊ดตัวเองอยู่คนเดียว