Tags:
Node Thumbnail

Ryan Cavanaugh หัวหน้าทีมวิศวกรรมที่ดูแลการพัฒนาภาษา TypeScript ของไมโครซอฟท์ให้สัมภาษณ์กับ StackOverflow บอกว่าจุดเปลี่ยนสำคัญที่ทำให้ TypeScript ได้รับความนิยมอย่างมาก เป็นเพราะกูเกิลตัดสินใจนำไปใช้ในโครงการ Angular 2

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

No Description

ทางเลือกที่เป็นไปได้ในตอนนั้นคือสร้างภาษาใหม่เลย (เช่น Script# ที่เป็นการเขียน C# แล้วแปลงเป็น JavaScript หรือ CoffeeScript ที่เป็น JavaScript เปลี่ยน syntax) แต่สุดท้ายเลือกการนำ JavaScript มาเพิ่มตัวแปร static type กลายเป็น TypeScript

เขาบอกว่าจุดเปลี่ยนสำคัญคือช่วงปลายปี 2015 ที่กูเกิลประกาศว่าจะใช้ TypeScript สำหรับโครงการ Angular 2 (Angular เวอร์ชันแรกใช้ JavaScript) ทำให้ความนิยมของ TypeScript เพิ่มขึ้นอย่างก้าวกระโดด (ดูกราฟประกอบ)

No Description

Cavanaugh ยังพูดถึงกระแสความนิยมของภาษาแบบ static typing ในภาพรวม เช่น Rust หรือ Hack ของ Facebook ที่เป็น PHP แบบเพิ่ม static type ว่าวงการไอทีทดลองนำภาษาแบบ dynamic ไปสร้างโปรแกรมขนาดใหญ่ๆ ที่มีความซับซ้อนสูง แล้วเกิดปัญหาตามมามากมาย เป็นบทเรียนสำคัญว่าถ้าต้องการดูแลโค้ดในระยะยาว ต้องมีการกำหนดชนิดของตัวแปรที่ดีมาตั้งแต่ต้น

เขาบอกว่าโลกยังมีที่ว่างสำหรับภาษาทั้งสองแบบ และถ้าโปรแกรมเมอร์ที่นิยมภาษาแบบ dynamic สามารถเขียนโค้ด 30,000 บรรทัดโดยไม่ต้องมี static types เขาก็จะประทับใจมาก เพราะนั่นเป็นสิ่งที่ยากมาก

ที่มา - StackOverflow via ZDNet

Get latest news from Blognone

Comments

By: rattananen
AndroidWindows
on 19 June 2020 - 14:52 #1163525

เขียน 30,000 บรรทัดโดยไม่ต้องมี static types
มันก็ไม่ได้ยากหรอก ถ้าเขียนคนเดียว

By: Ford AntiTrust
ContributorAndroidBlackberryUbuntu
on 19 June 2020 - 14:59 #1163526 Reply to:1163525
Ford AntiTrust's picture

คิดถึงตอน MA แล้วก็สยองหน่อยๆ

By: osmiumwo1f
ContributorWindows PhoneWindows
on 19 June 2020 - 15:09 #1163527 Reply to:1163526
osmiumwo1f's picture

ไม่หน่อยๆ หรอกครับ เพราะนี่เจอ PHP ขนาดใกล้ๆ กันแล้วบอกเลยว่าสยองชิบหาย แบบว่าอะไรทำงานผิดพลาดนิดหน่อยก็พังได้ แถมเป็น PHP 5.2 ครับ

By: sukjai
iPhoneAndroidRed HatUbuntu
on 19 June 2020 - 15:58 #1163530 Reply to:1163526

+1 ระบบที่มีโค้ดเยอะๆ นี่ผมไม่เอาภาษาแบบ dynamic type

By: PNNutkung
ContributorAndroidWindows
on 19 June 2020 - 16:23 #1163533 Reply to:1163525
PNNutkung's picture

เขียนทุกวันแล้วไม่เยอะมากยังพอไหวครับ แต่พอทำไปนาน ๆ แล้วมีสลับไปทำ project อื่นบ้าง ภาษาพวก strong type ช่วยชีวิตไว้ได้เยอะครับ

By: paween_a
Android
on 19 June 2020 - 17:20 #1163544 Reply to:1163525
paween_a's picture

ถ้ามี unit test ดีๆ ก็ช่วยได้เยอะนะ

By: blackdoor on 19 June 2020 - 16:42 #1163537
blackdoor's picture

แต่ก่อนไม่ชอบนะ TS ชอบ Pure JS

แต่ตอนนี้หลง TS มากเกิดมาเพื่อเติมเต็ม JS จริง ๆ

By: akira on 19 June 2020 - 17:45 #1163547

เขียนแรกๆ โครตปวดตับ งงโครงสร้างอยู่นาน แต่พอเขียนซัก 1-2 โครงการ เออมันก็เข้าท่านะ ยิ่งหลังบ้านใช้กับ Micro Service ด้วย รู้สึกมันดูแลง่ายกว่าเขียนทั้งหมดให้ทำงานบน Server เพียวๆ รวมถึงแบ่งทีมรับผิดชอบงานชัดเจนด้วย เวลาลูกค้าแก้จุกจิกเรื่องข้อความ หรือหน้าจอนิดๆ หน่อยๆ (บ่อยมาก) โยนให้ทีม Frontend แก้ทีเดียวไม่ค่อยกลัวกระทบ flow ของ data ด้วย หรือมันเหมาะกับงานของผมก็ไม่รู้ เขียนแล้วรู้สึกมันดูแลง่าย

By: massacre
AndroidUbuntu
on 19 June 2020 - 19:01 #1163555

ผมเลิกใช้ php เพราะ nodejs
ผมเลือกใช้ angular แทน react, vue เพราะ typescript
ผมไม่ใช้ .net core c# ทำ backend ไปใช้ nodejs เพราะ typescript

สรุปคือใช้ typescript ทีเดียวได้ทั้ง frontend และ backend
ไม่ต้องเสียเวลาสนใจพวก syntax หรือ anotation หรือ pattern ของแต่ละภาษา มาก

By: blackdoor on 19 June 2020 - 19:55 #1163559 Reply to:1163555
blackdoor's picture

React, VueJS ก็เขียนเป็น TypeScript ได้ครับ ผมก็เขียนใน React

By: massacre
AndroidUbuntu
on 19 June 2020 - 20:22 #1163560 Reply to:1163559

ขอบคุณครับ
ตอนที่ผมดูทีแรก angular ใช้ typescript แต่แรกเลย ก็เลยใช้ angular มาตลอดครับ

By: 7elven
ContributoriPhoneWindows PhoneAndroid
on 19 June 2020 - 22:39 #1163575 Reply to:1163555

ตอนนี้ถ้า react + ts = Perfect เลยครับ

By: big50000
AndroidSUSEUbuntu
on 20 June 2020 - 07:20 #1163583
big50000's picture

รู้สึกเป็นแกะดำ

ทำเว็บ ตอนเขียนโปรแกรมผมใช้ JS ล้วน ทั้ง frontend backend เลย คงเพราะตั้งชื่อและใช้งาน res แบบระวังตลอด + สำเนาตัวแปรถ้าจะ operate ข้าม type + มีกฎการตั้งชื่อส่วนตัว ก็เลยไม่มีปัญหาอะไร 555

By: panther
ContributorAndroidUbuntuWindows
on 20 June 2020 - 07:56 #1163585 Reply to:1163583
panther's picture

เหมือนเม้นแรกบอกไงครับ
มันไม่ยากกรอกถ้าเขียน + อ่านโค๊ดตัวเองอยู่คนเดียว