Tags:
Node Thumbnail

ไมโครซอฟท์อธิบายยุทธศาสตร์การพัฒนาภาษาโปรแกรม .NET ทั้งสามตัว ได้แก่ C#, Visual Basic และ F#

ที่ผ่านมา ไมโครซอฟท์ใช้นโยบายให้ความสำคัญกับ C# และ Visual Basic เท่ากัน มีฟีเจอร์ใหม่ทัดเทียมกัน แต่รอบนี้ ไมโครซอฟท์บอกว่า C# ถือเป็นภาษาโปรแกรมกระแสหลัก จับตลาดกว้างกว่า ในขณะที่ Visual Basic เน้นการใช้งานสำหรับภาคธุรกิจ การสร้างแอพพลิเคชันบนวินโดวส์ และเป็นภาษาฝึกหัดสำหรับคนเริ่มเขียนโปรแกรม ส่งผลให้ต่อจากนี้ไป C# จะถูกให้ความสำคัญมากเป็นอันดับหนึ่ง ในขณะที่ VB 15 จะได้ฟีเจอร์ใหม่บางอย่าง แต่ไม่ใช่ทั้งหมดเท่ากับ C# 7.0 ได้

ส่วน F# เป็นภาษาใหม่ที่ยังมีความสามารถหรือประสบการณ์ใช้งานไม่ทัดเทียม C# กับ VB แต่ก็มีจุดเด่นที่ชุมชนเข้มแข็ง ใช้งานได้หลากหลาย เป้าหมายของไมโครซอฟท์ใน F# 4.1 จะพัฒนาเครื่องมือสำหรับ F# ให้ดีขึ้น ทำงานร่วมกับ Visual Studio และ .NET Core/Standard ได้ดีขึ้น

ที่มา - .NET Blog, ภาพจาก @MartinWoodward

No Description

Get latest news from Blognone

Comments

By: Jirawat
Android
on 2 February 2017 - 23:41 #968195
Jirawat's picture

ให้เหลือC#ก็พอละมั้งขี้เกียจเรียนรู้

By: srps
iPhoneWindows
on 3 February 2017 - 00:20 #968196 Reply to:968195
srps's picture

ผมก็ตายสิ VB.NET ผมถนัดที่สุดและยังเรียนไม่ถึงไหน ยังอยากรู้อีกเยอะ
แล้วถ้าตัดเหลือ C# อย่างเดียว ผมก็แย่สิ ขนาดแค่ C++ บน Turbo C ผมยังได้แค่เกรด 2

By: Eagle Blue Eyes
ContributorWindows PhoneAndroidSymbian
on 3 February 2017 - 01:01 #968197 Reply to:968196
Eagle Blue Eyes's picture

ขอแชร์ประสบการณ์ครับ
ผมเริ่มต้นด้วย VB6 จนมาเป็น VB.NET ระหว่างทางก็ฝึกพื้น C JAVA Python มาบ้าง
จนกระทั่งเริ่มมีความคิดอยากเปลี่ยนมาเป็น C# บ้าง เพราะเวลาหาข้อมูลทีไร เจอแต่ C# มากกว่า VB
พอเปลี่ยนมาเป็น C# แล้วรู้สึกว่าไม่ยากอะไรนัก มันคือ C+JAVA นี่เอง
แต่สิ่งที่อยากมากสำหรับผม คือการเปลี่ยนจาก Win32App เป็น UWP
ตัวผมเองก็พอเข้าใจ XAML อยู่บ้าง แต่ต้องมาทำงานที่เน้นความสวยงาม เอนิเมชันเล็กๆน้อยๆ ผมนี่แทบจะบ้าตายเลยทีเดียว

By: Hadakung
iPhoneWindows PhoneAndroidWindows
on 3 February 2017 - 08:33 #968212 Reply to:968196

ไม่ห่วงไปครับ ผมก็ VB -​> C# ไม่พบว่าโค๊ดมันต่างกันแค่การประกาศตัวแปรกับการใช้ปีกกาเื่านั้นแค่เอง(เทียบง่ายๆ) โค๊ดอ่านแทนกันได้เลยครับอย่าไปกังวลที่จะลอง C# ครับ พวกอ้างอิงต่างๆเขาก็ทำมาทั้งสองเวอร์ชั่นเปรียบเทียบได้ เมื่อก่อนผมเคยคิดแบบนั้นแต่พอลองสักครั้งดูตอนนี้อ่านตัวไหนก็ได้ทั้งคู่ละ

By: Go-Kung
iPhoneWindows PhoneAndroidBlackberry
on 3 February 2017 - 09:10 #968226 Reply to:968196

อาจจะติดขัดแรกๆ เรื่องของลักษณะ syntax ระหว่างแบบปีกกากับแบบ Begin/End
แต่ส่วนที่เหลือก็ไม่ได้ต่างกันจนลำบากเกินไปครับ

ลองเริ่มจากแปลงโค้ดโปรแกรมที่มีอยู่เป็น C# ค่อยๆทำไปเดี๋ยวก็ชินครับ

By: moosaTAE
AndroidWindows
on 3 February 2017 - 10:14 #968252 Reply to:968196
moosaTAE's picture

Code VB.NET กับ C# นี่ แทบจะเขียนแปลงกันได้เลยนะครับ ต่างกันไม่เยอะจริง ๆ
ตอนเรียนผมทำโปรเจคส่งด้วย VB.NET นะ แต่สุดท้ายมาทำงานด้วย C#
และ C++ ไม่เหมือน C# นะครับ C# ง่ายกว่า

By: thanyadol
iPhone
on 3 February 2017 - 11:30 #968282 Reply to:968196

ถ้าบางคนเริ่มเขียนโปรแกรมโดยพื้นฐานเริ่มมาจาก OOP เลย พอไปเห็นโค๊ด VB ที่โครงสร้างไม่บังคับ จะมึนมากครับ

By: illuminator
ContributorAndroidUbuntuWindows
on 3 February 2017 - 11:48 #968288 Reply to:968282
illuminator's picture

ใช่เลย ผมเรียน Java มาก่อน จากนั้นมา C# นี่รักเลย พอเจอ VB ผมนี่เกลียดเข้ากระดูกดำ


The softest water wears down the hardest rock.

By: khun_panya
Windows
on 3 February 2017 - 20:35 #968357 Reply to:968282

VB.NET สิครับถึงมีโครงสร้าง VB ธรรมดามันโบราณมากแล้ว

By: cruzercruz on 3 February 2017 - 09:39 #968239 Reply to:968195

เรียนรู็ไว้หลายๆภาษาก็ดีนะครับ เดี๋ยวนี้ภาษาใหม่ๆมีประโยชน์ออกมาให้ใช้เรื่อยๆ

ไม่ใช่แค่ภาษานะ Framework ต่างๆจะช่วยให้เราทำงานได้ดีขึ้น มากขึ้น สะดวกขึ้น และที่สำคัญ ไวขึ้นครับ

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

By: obnetarena
Windows PhoneWindows
on 3 February 2017 - 10:11 #968250 Reply to:968195

จุดประสงค์อย่างนึงของ .NET ก็คือให้โปรแกรมเมอร์ที่ถนัดภาษารูปแบบใดแบบหนึ่งสามารถเขียนบน Framework เดียวกันได้ โดยไม่ต้องเรียนรู้ภาษาใหม่

ซึ่งที่ผ่านมาก็พอจะแบ่งเป็น C-Like(นิยมสุดแล้วมั้งนะครับ) และ Basic (ก็มาตั้งแต่ DOS เดิมรวมถึงที่เขียน VB6)
และเด๋ซนี้ก็จะมีแบบ Functional Programming ซึ่งผมเข้าใจว่ามันก็มาในรูปแบบของ F#

Syntax แต่ละแบบมีข้อดีข้อเสียต่างกันไป ถ้าสามารถเลือกใช้งานได้มันย่อมดีกว่าครับ
ส่วนผม จะใช้ C# ในการเขียน Business ต่าง ๆ และเขียน VB เฉพาะ UI ครับ ซึ่งทำ Event Handler ได้ง่ายกว่า

ส่วน F# ผมเขียนไม่เป็นเลยข้ามครับ T T

By: NgOrXz
iPhoneAndroidWindows
on 3 February 2017 - 09:03 #968223
NgOrXz's picture

ดี ฉีกไปเลยจะได้ไม่มีปัญหากัน

By: Jirawat
Android
on 3 February 2017 - 10:06 #968246 Reply to:968223
Jirawat's picture

อย่าง Apple ก็เอาSwit มาแทนOpject-C ละให้เหลือภาษาเดียวจะได้เปนมาตรฐานไปเลยไม่วุ่นวาย อ่านง่ายด้วย

By: syootakarn
iPhoneWindows PhoneAndroidBlackberry
on 3 February 2017 - 11:45 #968287
syootakarn's picture

VBA หรือ Visual Basic for Application มันผูกติดกับ Microsoft Office มาตั้งแต่ต้นก็เลยได้ไปต่อครับ เพราะมันตัดออกยากมาก
ส่วนเรื่องของ C# มาก่อน VB ผมว่าเป็นเรื่องของโครงสร้างภาษามากว่า เรื่อง Framework หลักๆน่าจะเรียกใช้ได้ง่ายๆ และไม่ต่างกันมาก
ตามความเห็นผมภาษาที่น่าจะมาเทียบเคียงกับ C/C++ น่าเป็น C# นี่แหละ(เป็นไปได้น้อยมากๆๆๆ)เพราะมันไม่ยากเท่ากับ C/C++ และสามารถนำไปเป็นแกนกลางหลักของ OS แทน C/C++ ได้

By: unn
iPhoneAndroidUbuntuWindows
on 3 February 2017 - 12:45 #968290

เห็นด้วยกับแนวทางนี้ครับ

VB น่าจะเน้นไปทางมือใหม่มากกว่า ถ้าเอาแค่พื้นๆ ผมว่าเขียนง่ายกว่า (่เช่น ไม่ต้องระวัง semi colon เป็นต้น)
C# น่าจะเป็นตัวหลักที่ใช้ดึง dev ภายนอกเข้ามาใช้ .NET เพราะคนเขียน java, php, js, c จะปรับตัวเข้ากับ code ได้เร็วก่า
F# นี่ก็ประมาณว่าเราควรมี functional programming กะเค้าบ้าง จะได้ครอบคลุม

By: kenzkung
Windows
on 3 February 2017 - 13:39 #968297
kenzkung's picture

VB น่าจะโดนทิ้งแหละ
ถ้าจำไม่ผิดเหมือนตอน .net core จะออกใหม่ ๆ
บอกว่าไม่ support vb เห็นมีดราม่ากัน จนต้องออกมาบอกว่า support ทีหลังโดนดอง
reference ก็หายาก ตัวอย่างในเวปก็หายากน่าจะเลิก ๆ ใช้แค่ C# กับ F#

By: Go-Kung
iPhoneWindows PhoneAndroidBlackberry
on 3 February 2017 - 14:40 #968304 Reply to:968297

ส่วนตัวผมคือว่าควรทิ้ง และควรทิ้งนานแล้วด้วยครับ

แต่ก็เข้าใจความลำบากใจของ MS ในระดับหนึ่ง
เพราะตอนขึ้น .NET Framework 1 นี่ชุมชน C# ยังไม่แข็งแรงมาก (ของใหม่ก็งี้)
MS เองก็มีฐานลูกค้า VB 6.0 เยอะ เลยไม่กล้าหักดิบเปลี่ยนมาเป็น C# ทันที

กลายเป็นว่าในกลุ่ม .NET Dev เองก็มีความไม่ราบลื่นเวลาทำงานด้วยกัน
คนทำ VB ก็สลับมาช่วย C# ยาก และ C# สลับไปช่วย VB ยาก
สุดท้ายต้องตัดปัญหาด้วยการทำโปรเจคเดียวภาษาเดียว เลือกเลยว่าจะ VB หรือ C#

MS คงบอนไซ VB ไปทีละนิดๆ ค่อยๆบีบให้ข้ามมา C#, F# ไปเรื่อยๆแล้วค่อยทิ้ง VB แหละครับ