ไมโครซอฟท์อธิบายยุทธศาสตร์การพัฒนาภาษาโปรแกรม .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

on
ให้เหลือC
Jirawat Thu, 02/02/2017 - 23:41
ให้เหลือC#ก็พอละมั้งขี้เกียจเรียนรู้
ผมก็ตายสิ VB.NET
srps Fri, 03/02/2017 - 00:20
In reply to ให้เหลือC by Jirawat
ผมก็ตายสิ VB.NET ผมถนัดที่สุดและยังเรียนไม่ถึงไหน ยังอยากรู้อีกเยอะ
แล้วถ้าตัดเหลือ C# อย่างเดียว ผมก็แย่สิ ขนาดแค่ C++ บน Turbo C ผมยังได้แค่เกรด 2
ขอแชร์ประสบการณ์ครับ
Eagle Blue Eyes Fri, 03/02/2017 - 01:01
In reply to ผมก็ตายสิ VB.NET by srps
ขอแชร์ประสบการณ์ครับ
ผมเริ่มต้นด้วย VB6 จนมาเป็น VB.NET ระหว่างทางก็ฝึกพื้น C JAVA Python มาบ้าง
จนกระทั่งเริ่มมีความคิดอยากเปลี่ยนมาเป็น C# บ้าง เพราะเวลาหาข้อมูลทีไร เจอแต่ C# มากกว่า VB
พอเปลี่ยนมาเป็น C# แล้วรู้สึกว่าไม่ยากอะไรนัก มันคือ C+JAVA นี่เอง
แต่สิ่งที่อยากมากสำหรับผม คือการเปลี่ยนจาก Win32App เป็น UWP
ตัวผมเองก็พอเข้าใจ XAML อยู่บ้าง แต่ต้องมาทำงานที่เน้นความสวยงาม เอนิเมชันเล็กๆน้อยๆ ผมนี่แทบจะบ้าตายเลยทีเดียว
ไม่ห่วงไปครับ ผมก็ VB -> C#
Hadakung Fri, 03/02/2017 - 08:33
In reply to ผมก็ตายสิ VB.NET by srps
ไม่ห่วงไปครับ ผมก็ VB -> C# ไม่พบว่าโค๊ดมันต่างกันแค่การประกาศตัวแปรกับการใช้ปีกกาเื่านั้นแค่เอง(เทียบง่ายๆ) โค๊ดอ่านแทนกันได้เลยครับอย่าไปกังวลที่จะลอง C# ครับ พวกอ้างอิงต่างๆเขาก็ทำมาทั้งสองเวอร์ชั่นเปรียบเทียบได้ เมื่อก่อนผมเคยคิดแบบนั้นแต่พอลองสักครั้งดูตอนนี้อ่านตัวไหนก็ได้ทั้งคู่ละ
อาจจะติดขัดแรกๆ
Go-Kung Fri, 03/02/2017 - 09:10
In reply to ผมก็ตายสิ VB.NET by srps
อาจจะติดขัดแรกๆ เรื่องของลักษณะ syntax ระหว่างแบบปีกกากับแบบ Begin/End
แต่ส่วนที่เหลือก็ไม่ได้ต่างกันจนลำบากเกินไปครับ
ลองเริ่มจากแปลงโค้ดโปรแกรมที่มีอยู่เป็น C# ค่อยๆทำไปเดี๋ยวก็ชินครับ
Code VB.NET กับ C# นี่
moosaTAE Fri, 03/02/2017 - 10:14
In reply to ผมก็ตายสิ VB.NET by srps
Code VB.NET กับ C# นี่ แทบจะเขียนแปลงกันได้เลยนะครับ ต่างกันไม่เยอะจริง ๆ
ตอนเรียนผมทำโปรเจคส่งด้วย VB.NET นะ แต่สุดท้ายมาทำงานด้วย C#
และ C++ ไม่เหมือน C# นะครับ C# ง่ายกว่า
ถ้าบางคนเริ่มเขียนโปรแกรมโดยพ
thanyadol Fri, 03/02/2017 - 11:30
In reply to ผมก็ตายสิ VB.NET by srps
ถ้าบางคนเริ่มเขียนโปรแกรมโดยพื้นฐานเริ่มมาจาก OOP เลย พอไปเห็นโค๊ด VB ที่โครงสร้างไม่บังคับ จะมึนมากครับ
ใช่เลย ผมเรียน Java มาก่อน
illuminator Fri, 03/02/2017 - 11:48
In reply to ถ้าบางคนเริ่มเขียนโปรแกรมโดยพ by thanyadol
ใช่เลย ผมเรียน Java มาก่อน จากนั้นมา C# นี่รักเลย พอเจอ VB ผมนี่เกลียดเข้ากระดูกดำ
VB.NET สิครับถึงมีโครงสร้าง
khun_panya Fri, 03/02/2017 - 20:35
In reply to ถ้าบางคนเริ่มเขียนโปรแกรมโดยพ by thanyadol
VB.NET สิครับถึงมีโครงสร้าง VB ธรรมดามันโบราณมากแล้ว
เรียนรู็ไว้หลายๆภาษาก็ดีนะครั
cruzercruz Fri, 03/02/2017 - 09:39
In reply to ให้เหลือC by Jirawat
เรียนรู็ไว้หลายๆภาษาก็ดีนะครับ เดี๋ยวนี้ภาษาใหม่ๆมีประโยชน์ออกมาให้ใช้เรื่อยๆ
ไม่ใช่แค่ภาษานะ Framework ต่างๆจะช่วยให้เราทำงานได้ดีขึ้น มากขึ้น สะดวกขึ้น และที่สำคัญ ไวขึ้นครับ
ผมไม่ได้สนับสนุนให้ยกเลิกการพัฒนาภาษาใดภาษาหนึ่งให้ค่อยๆตายจากไปนะ แต่ถ้าข้อมูลที่มีมันสนับสนุนด้านที่ดี ก็ควรพัฒนามากขึ้นครับ
จุดประสงค์อย่างนึงของ .NET
obnetarena Fri, 03/02/2017 - 10:11
In reply to ให้เหลือC by Jirawat
จุดประสงค์อย่างนึงของ .NET ก็คือให้โปรแกรมเมอร์ที่ถนัดภาษารูปแบบใดแบบหนึ่งสามารถเขียนบน Framework เดียวกันได้ โดยไม่ต้องเรียนรู้ภาษาใหม่
ซึ่งที่ผ่านมาก็พอจะแบ่งเป็น C-Like(นิยมสุดแล้วมั้งนะครับ) และ Basic (ก็มาตั้งแต่ DOS เดิมรวมถึงที่เขียน VB6)
และเด๋ซนี้ก็จะมีแบบ Functional Programming ซึ่งผมเข้าใจว่ามันก็มาในรูปแบบของ F#
Syntax แต่ละแบบมีข้อดีข้อเสียต่างกันไป ถ้าสามารถเลือกใช้งานได้มันย่อมดีกว่าครับ
ส่วนผม จะใช้ C# ในการเขียน Business ต่าง ๆ และเขียน VB เฉพาะ UI ครับ ซึ่งทำ Event Handler ได้ง่ายกว่า
ส่วน F# ผมเขียนไม่เป็นเลยข้ามครับ T T
ดี ฉีกไปเลยจะได้ไม่มีปัญหากัน
NgOrXz Fri, 03/02/2017 - 09:03
ดี ฉีกไปเลยจะได้ไม่มีปัญหากัน
อย่าง Apple ก็เอาSwit
Jirawat Fri, 03/02/2017 - 10:06
In reply to ดี ฉีกไปเลยจะได้ไม่มีปัญหากัน by NgOrXz
อย่าง Apple ก็เอาSwit มาแทนOpject-C ละให้เหลือภาษาเดียวจะได้เปนมาตรฐานไปเลยไม่วุ่นวาย อ่านง่ายด้วย
VBA หรือ Visual Basic for
syootakarn Fri, 03/02/2017 - 11:45
VBA หรือ Visual Basic for Application มันผูกติดกับ Microsoft Office มาตั้งแต่ต้นก็เลยได้ไปต่อครับ เพราะมันตัดออกยากมาก
ส่วนเรื่องของ C# มาก่อน VB ผมว่าเป็นเรื่องของโครงสร้างภาษามากว่า เรื่อง Framework หลักๆน่าจะเรียกใช้ได้ง่ายๆ และไม่ต่างกันมาก
ตามความเห็นผมภาษาที่น่าจะมาเทียบเคียงกับ C/C++ น่าเป็น C# นี่แหละ(เป็นไปได้น้อยมากๆๆๆ)เพราะมันไม่ยากเท่ากับ C/C++ และสามารถนำไปเป็นแกนกลางหลักของ OS แทน C/C++ ได้
เห็นด้วยกับแนวทางนี้ครับ
unn Fri, 03/02/2017 - 12:45
เห็นด้วยกับแนวทางนี้ครับ
VB น่าจะเน้นไปทางมือใหม่มากกว่า ถ้าเอาแค่พื้นๆ ผมว่าเขียนง่ายกว่า (่เช่น ไม่ต้องระวัง semi colon เป็นต้น)
C# น่าจะเป็นตัวหลักที่ใช้ดึง dev ภายนอกเข้ามาใช้ .NET เพราะคนเขียน java, php, js, c จะปรับตัวเข้ากับ code ได้เร็วก่า
F# นี่ก็ประมาณว่าเราควรมี functional programming กะเค้าบ้าง จะได้ครอบคลุม
VB น่าจะโดนทิ้งแหละ
kenzkung Fri, 03/02/2017 - 13:39
VB น่าจะโดนทิ้งแหละ
ถ้าจำไม่ผิดเหมือนตอน .net core จะออกใหม่ ๆ
บอกว่าไม่ support vb เห็นมีดราม่ากัน จนต้องออกมาบอกว่า support ทีหลังโดนดอง
reference ก็หายาก ตัวอย่างในเวปก็หายากน่าจะเลิก ๆ ใช้แค่ C# กับ F#
ส่วนตัวผมคือว่าควรทิ้ง
Go-Kung Fri, 03/02/2017 - 14:40
In reply to VB น่าจะโดนทิ้งแหละ by kenzkung
ส่วนตัวผมคือว่าควรทิ้ง และควรทิ้งนานแล้วด้วยครับ
แต่ก็เข้าใจความลำบากใจของ MS ในระดับหนึ่ง
เพราะตอนขึ้น .NET Framework 1 นี่ชุมชน C# ยังไม่แข็งแรงมาก (ของใหม่ก็งี้)
MS เองก็มีฐานลูกค้า VB 6.0 เยอะ เลยไม่กล้าหักดิบเปลี่ยนมาเป็น C# ทันที
กลายเป็นว่าในกลุ่ม .NET Dev เองก็มีความไม่ราบลื่นเวลาทำงานด้วยกัน
คนทำ VB ก็สลับมาช่วย C# ยาก และ C# สลับไปช่วย VB ยาก
สุดท้ายต้องตัดปัญหาด้วยการทำโปรเจคเดียวภาษาเดียว เลือกเลยว่าจะ VB หรือ C#
MS คงบอนไซ VB ไปทีละนิดๆ ค่อยๆบีบให้ข้ามมา C#, F# ไปเรื่อยๆแล้วค่อยทิ้ง VB แหละครับ