[ขอความคิดเห็น VB.Net] ข้อดี กับ ข้อเสีย อยากรู้หลากหลายแบบ ทั้งแบบส่วนตัว หรือไม่ส่วนตัวก็ได้ ^^
โดยส่วนตัวนะครับ ผมว่ามันมีทั้งดีและเสีย เฉพาะ VB.Net นะครับ
ข้อดี คือ ดีตรงที่ คำสั่งต่างๆยืดหยุ่นครับ ถ้าเปรียบเทียบกับ C# และ syntex บ้างรูปแบบมันจะสามารถรันให้อัตโนมัตติ ถ้าเปรียบเทียบกับ C#
ข้อเสียคือ ติด license ครับ
Date :
2010-10-13 20:07:10
By :
kanchen
ตัวโปรแกรมสำหรับเขียนมันกินพื้นทีเยอะพอสำควรถ้าเทียบกับ php, html, c
เครื่องไม่แรง ถ้าลงเวอร์ชั่นใหม่ ๆ นี่เต่าเลย
มันต้องใช้ Dot NetFramework ด้วย ไม่งั้นรันไม่ได้
มันเป็นอะไรที่หลอกลวงมาก ๆ
ชื่อบอกว่าเบสิก แต่เอาเข้าจริง ๆ สำหรับใครหลาย ๆ คนมันไม่เบสิกเลย
ไร้สาระไปไหมเนี่ย
ข้อดี ถ้าเขียนภาษานี้เป็น vb.net ก็จะเหนือกว่าภาษาอื่น ๆ ในสายตาคุณ จนกว่าจะเจอกำแพง
Date :
2010-10-13 20:53:11
By :
Miraku
มันเอาไว้ใช้เขียนโปรแกรมใน Visual Studio และใน Web Developer ได้ครับ
Date :
2010-10-13 21:32:36
By :
3rds
ข้อดี
มันเป็นภาษาที่เข้าใจได้ง่ายกว่าภาษาอื่น ๆ
เป็นภาษาที่เข้าใกล้ภาษามนุษย์มาก ๆ
ทวนสอบได้ง่ายกว่าภาษาอื่น ๆ
ข้อเสีย
มันยังไม่เป็น ไดนามิก โดยสมบูรณ์ เพื่อรักษาข้อดีของมันไว้
ในลักษณะการทำงานแบบเดียวกันส่วนใหญ่แล้ว Vb จะใช้ Code ยาวกว่าภาษาอื่นๆ
ทำงานช้ากว่า
คิดได้แค่นี้แหละ
Date :
2010-10-14 08:44:24
By :
kaimuk
โอ้ ขอบคุณมากๆ ค่ะ ^^
โดยส่วนตัวก็คิดว่าเป็นภาษาที่เขียนได้หลากหลายกว่าภาษาอื่นๆ
ข้อเสียโดยส่วนใหญ่มีแต่คนบอกว่าเสียตังค์ 555+
แต่ที่ว่าใช้พื้นที่เยอะกว่าภาษาอื่น ไม่ได้คิดไปเองคนเดียวด้วยซินะ ตอนนั่งเขียนก็คิดเหมือนกันว่า
เอ...มันใช้พื้นที่เยอะกว่าภาษาอื่นหรือเปล่าน๊าาาา....
ขอบคุณมากๆ นะคะ เปิดรับความเห็นเรื่อยๆ ค่ะ ^^
Date :
2010-10-14 13:39:15
By :
akura
c# เท่านั้นครับ
vb.net เท่ากับของเล่นเด็ก
Date :
2010-10-14 14:19:47
By :
tungman
ข้อเสียอีกข้อหนึ่ง vb.net มักถูกคนเขียนภาษาอื่นดูถูกว่าเป็นภาษาเด็กเล่น
Date :
2010-10-14 14:34:44
By :
kaimuk
การเลือกระหว่างภาษา C#.Net และ VB.Net
มักเป็นข้อที่หลายคนคิดในช่วงวางแผนก่อนที่จะเริ่ม
ลงทุนลงแรงเพื่อศึกษาและนำมาใช้ในการพัฒนาระบบขึ้นมา
ข้อเสนอแนะอย่างง่ายที่สุดของไมโครซอฟต์ ก็คือว่าเรามีความชำนาญ
มีความคุ้นเคย ชอบพอกับภาษาใดมาก่อน ก็ให้เลือกภาษาที่เป็นแนวเดียวกันนั้น
เนื่องจากทุกภาษาใน .Net จะถูกแปล
เป็นภาษา Microsoft Intermediate Language (MSIL) โดยเฉพาะสองภาษาที่
จะเปรียบเทียบกันนี้ ถ้าเขียนโค้ด VB.Net อย่างถูกต้องดี รหัส MSIL ที่ได้
ก็แทบจะเหมือนกันเลย ดังนั้น performance ของงานที่ได้ ก็จะไม่แตกต่างกัน
นี่เป็นการยกระดับงาน Visual Basic เป็นอย่างมาก แล้วการที่ VB.Net ใช้
Base Class Library ของ .Net framework ร่วมกันกับ C# ก็ทำให้ VB.Net
programmer ถือเป็น first-class citizen ไปแล้ว
การเขียนโค้ด VB.Net อย่างถูกต้องดี เช่นมีการใช้ Option Strict On
หรือมีการใช้ DirectCast แทนที่จะใช้ CType เป็นต้น.
รายละเอียดการเปรียบเทียบสองภาษา ในข้อความนี้
รวบรวมประมวลมาจากแหล่งข้อมูลต่างๆ หลายแห่ง
ซึ่งอาจจะต้องมีการพูดถึงศัพท์หรือเทคนิคลึกๆ บ้างเพื่อ
ให้ได้ความสมบูรณ์นะครับ
ดูข้อดีของ Visual Basic .Net
- รองรับ Optional argument ซึ่งสำคัญมากที่คุณต้องการใช้งานร่วมกับ
ActiveX component หรือการเขียนโค้ดชนกับพวก Office
- ทำตัวไม่ซีเรียสได้ คือยอมรับการทำ late-binding ได้
ถ้าไม่กำหนด Option Strict On การเขียนโค้ดพวกนี้ใช้กับพวก ActiveX
อีกนั่นเอง (ผมแนะนำให้หลีกเลี่ยงการเขียนโค้ดแบบ late-binding ใน .Net)
- รองรับการทำ named indexer (การสร้าง property ที่มี argument)
- มีคำสั่ง VB แบบเดิมๆ เช่น Left, Mid, UCase, ... ให้ใช้ง่ายๆ สำหรับ
ผู้ใช้ VB6 มาก่อน (การเรียกใช้ฟังก์ชันแบบเดิมๆ นี้จะมีผลต่อประสิทธิภาพ
ของโปรแกรม)
- มีประโยค With..End With ให้ใช้
- ความเรียบง่าย เช่นการสร้างประโยค Event
- สามารถกำหนดชื่อเมธอดของการ implements interface ที่ต่างจาก
ที่กำหนดไว้ใน interface ได้ (ผมว่าไม่ค่อยได้ประโยชน์เลย ทำให้ยุ่งยาก
ในการค้นหาเสียมากกว่า)
- มีประโยค Catch...When... ทำให้สามารถทำการ filter exception
ด้วยเงื่อนไขได้ นอกเหนือจากการ filter ด้วยชนิดของ exception เท่านั้น
- Visual Studio .Net จะทำการ compile โค้ดในลักษณะ background
ซึ่งช่วยเป็นข้อดีในโปรเจ็กต์ขนาดเล็ก แต่ถ้าโปรเจ็กต์ขนาดใหญ่มหึมา
จะกลับเป็นข้อเสียอย่างมาก (มีฝรั่งหลายคนบ่นว่าต้องถึงกับต้องยอม
เปลี่ยนจาก VB.Net มาเป็น C# เลย ในโปรเจ็กต์ที่มีไฟล์มีคลาสเป็นพันๆ)
ข้อดีของ C# .Net
- รองรับ XML documentation คล้ายๆ javadoc คือเอาคอมเม้นต์
ในโค้ดมาแปลงเป็นเอกสาร technical manual ได้เลย
แต่ใน VB.Net เวอร์ชั่น 2005 (Whidbey) ก็จะรองรับในคุณสมบัตินี้ด้วย
- สามารถทำ operator overloading ได้ (VB.Net 2005 ก็จะทำได้เช่นกัน)
- รองรับ unsigned datatype (VB.Net 2005 ก็จะทำได้เช่นกัน)
- มีประโยค using เพื่อใช้จัดการกับ resource ที่เป็นแบบ unmanaged
- รองรับ unsafe code
สังเกตได้ว่า อะไรที่ใน C# มี ซึ่งเป็นสิ่งที่ซับซ้อน
ใน VB.Net เวอร์ชันถัดไป ก็จะมีด้วย แต่มักจะถูกนำมาแสดงในรูปแบบ
ที่ง่ายต่อความเข้าใจ แต่อะไรที่ VB.Net มี มักจะไม่ถูกนำไปเพิ่มให้
กับ C# เช่นรูปแบบการสร้าง event ที่เรียบง่าย อย่างประโยค Handles
หรือคีย์เวิร์ด My ที่จะมีใน VB.Net Whidbey (คิดว่าใน C# อาจจะไม่มี)
หรือ Optional argument (ใน C# แก้ปัญหานี้ด้วยการทำ overloading
แต่ก็จะไม่สามารถใช้งานร่วมกับ ActiveX component แบบเดิมได้อยู่ดี)
ถ้าขนาดของโปรเจ็กต์ที่คุณคิดว่าจะต้องทำในอนาคต
ใหญ่มากๆ ก็ควรจะเลือก C# ไปเสียแต่แรกเลย เว้นแต่จะมีวิธีแก้ปัญหา
IDE ที่ช้ามากๆ เมื่อมีไฟล์จำนวนมากของ VB.Net ได้
เขาว่าภาษา VB.Net เป็น 4GL (ภาษา Generation ที่สี่)
แต่ภาษา C# ถูกวางเป็น 3GL กว่าๆ คือสูงกว่า 3GL เช่น C++ แต่ไม่ถึง 4GL
ถ้าเอาความอย่างที่ Microsoft วาง position ไว้
ภาษา VB .Net เป็น task-oriented
ภาษา C# .Net เป็น code-focused
ถ้าเอามาสร้าง application ทางธุรกิจ ภาษา VB.Net จะเป็นตัวเลือกที่ยอดเยี่ยม
อย่างปฏิเสธไม่ได้ เนื่องจากแทนที่โปรแกรมเมอร์จะไม่ต้องคำนึงถึง
เรื่องลึกๆ ที่เรียนกันในวิชาของพวก computer science กันบ่อยๆ
จึงเรียกว่ามี productivity ดี เพราะเอาเวลามาสร้างงานเลย
แต่นั่นก็เป็นอีกเหตุผลหนึ่งว่า ถ้าใช้ C# ศัพท์แสงในเนื้อภาษา
จะเป็นศัพท์แบบที่ใช้ในวงการ computer science
เช่น abstract, static เป็นต้น ซึ่งจะจำเป็นถ้าต้องมีการใช้เครื่องมือ
อย่างพวก Rational Rose หรือ Modeling tools อื่นๆ
สิ่งที่รวบรวมมารวมกับความคิดเห็นเพิ่มเติมบางอย่างนี้เข้าไป
มีทั้งด้าน รูปแบบภาษา การใช้งานจริง และแฟกเตอร์อื่นๆ
อาจจะมีข้อผิดพลาดบ้าง ถ้ามีก็ช่วยบอกเพื่อปรับปรุงเพิ่มเติมต่อไปนะครับ.
credit : www.greatfriends.biz By.surrealist
Date :
2010-10-16 16:53:51
By :
EvoLutionGT
ถูกครับ เลือกเอาภาษานึง แล้วก็เอาให้เก่งไปเลยครับ
Date :
2010-10-20 13:55:01
By :
noptalent
ในชีวิตนี้อยากเก่ง C# จัง ช่วยแนะนำหนังสือหรือ เนื้อหาดีๆให้ทีสิครับ
Date :
2010-10-20 14:15:37
By :
exclusiveM
vb เห็นเค้าลือกันว่าเป้นภาษาที่ใช้มากที่สุดในโลก แต่พักหลังๆมา หลายคนเริ่มเปลี่ยนใจมากใช้ c# กันซะแล้ว
เพาะ syntex อ่านง่ายสบายตากว่า vb
C#หรือvb ทำงานได้เหมือนกันทุกอย่าง
Date :
2010-10-20 15:47:11
By :
nooknoname
สำหรับคนที่เริ่มเขียนใหม่ ยังไม่รู้ว่าจะเลือกตัวไหนระหว่าง C# และ VB.Net
แนะนำ C# ครับ เหตุผลคือ
1. C# มี syntex คล้าย Java,C++ ประมาณว่าถ้าเก่ง C# อีก 2 ภาษาก็ไม่ใช่เรื'องยากแล้ว
2. อ้างอิงจาก Wiki อัตตราส่วน คนที่เขียน C# มีมากกว่า VB และมีแนวโน้มว่าอัตตราส่วน
จะมากขึ้นๆ เรื่อย ประโยชน์คือ ชุมนุม Online ต่างๆ ที่เขาเขียน Code มาแจก เช่น Codeproject
ส่วนใหญ่เป็น C# ประมาณว่าหา code พรีง่าย, Post ถามมีคนตอบเยอะ ประมาณนั้น
Adoption and community support
Both C# and VB.NET have high adoption rates, and very active developer communities and Microsoft fully supports both communities. Most .NET Framework developers use C# as their primary language.[7] C# has an advantage in terms of the level of community activity on the Internet and there are more books available for C#.
Examples of community and industry adoption include:
A 2007 Forrester Research poll revealed that 59% of .NET developers used only VB.NET to create software.[8]
Visual Basic Express is the most popular download of all the Visual Studio Express downloads.[9]
An original C# language designer, Scott Wiltamuth, stated in a March 2010 blog that the "most reliable numbers we have... show roughly equal adoption" for VB.NET and C#.[10]
According to a survey conducted by Visual Studio Magazine "41 percent said they used C#, 34 percent programmed in VB.NET, while 25 percent responded with 'other.'"[9]
Stephen Wiley, marketing product manager at Apress has reported "C# titles outsell VB.NET title books handily, by somewhere between a 2–1 and 3–1 margin."[9]
MSDN Blogs, the blogging site for Microsoft employees, has 27,500 posts that discuss C#, while only 8,880 mention VB.Net (as of November 15, 2007)
Google Groups, a Usenet search engine, returns 36,900 hits for "VB .Net", and 65,700 for C#
Telerik Survey 2008 suggested that C# (63%) had surpassed VB.NET (34%) as the primary programming language.[7]
Telerik Survey 2009 suggested that C# (69%) further strengthens its dominance over VB.NET (30%) as the primary programming language.[7]
TIOBE Programming Community Index for July 2010 show that C# finally surpassed Visual Basic[11]
Date :
2010-10-21 09:52:37
By :
superpheak
สำหรับผม ถ้าโปรแกรมที่เราทำไปใช้กับ windows ก็ vb.net ดีกว่าครับ
แต่ถ้าใช้ linux ก็ต้องหาอื่นๆ (โดยส่วนตัวชอบ Java) พวก JSP PHP หรือ Java Swing ต่าง ๆ ครับ
Date :
2010-12-24 13:58:39
By :
zero1150kfc
ขอเพิ่มเติมคุณ Nio 8 นิดหนึ่งครับ
ไม่ว่าจะเป็น C# หรือ VB มันจัดอยู่ในระดับ 3GL เท่านั้นครับ สำหรับภาษาที่เป็น 4GL ตัวอย่างได้แก่ Progress , Sybase , Oracle
ซึ่งภาษาพวกนี้บางตัวก็ตายไปแล้ว บางตัวก็ยังเป็นที่รู้จักอยู่ บางตัวก็ Down Grade ตัวเองไปยุ่งกับ GUI ทำให้ตกตลาสไป
ระหว่าง 3GL กับ 4GL มันต่างกันอย่างไรหรือครับ นำเสนอสัก 2 ประการนะครับ
- ประการที่ 1 4GL มักเป็นภาษาที่มี Database เป้นของตัวเอง เช่น Progress ตัวอย่างที่เป็นรู้จักคือ Oracle
- ประการที่ 2 4GL Code น้อยมากครับ ยกตัวอย่าง คุณจะ List ข้อมูลในฐานข้อมูล
ถ้าเป็น C# หรือ VB อย่างน้อยก็ต้อง Code มากกว่า 5 Line แต่สำหรับ 4GL บรรทัดเดียวจบ
เช่นใช้ Progress แสดงรายการข้อมูลลูกค้าทั้งหมด
"For each DB_Customer with 5 Col"
เขียนเท่านี้จบ Output ที่ได้ตัว Complier จะจัดการเอง
เปรียบเทียบพอเป็น ไอเดียครับ
ผมเคยนับตัวอักษรที่ Code เล่นๆ นะครับ
ระบบ Payroll ใช้ 4 GL :Progress นับได้ 250,000 ตัวอักษร วิ่งบนเครื่อง IBM Risc 6000
ระบบ Payroll ใช้ 4 GL :Informix นับได้ 950,000 ตัวอักษร วิ่งบนเครื่อง SUN Solaris
ระบบ Payroll ใช้ VB6 นับได้มากกว่า 3 ล้านตัวอักษร วิ่งบน LAN (SQL-Server Database)
ไม่ได้หมายความว่า Code กว่าจะไม่ดีนะครับ มันขึ้นอยู่กับ Algoritym เงื่อนไขของระบบและข้อจำกัด
ของตัวโปรแกรมกับสภาพแวดล้อมที่ทำงาน
มาถึง คำตอบของกระทู้นะครับ
- ส่วนตัวผมชื่นชอบ VB เพราะใช้ ภาษาเบสิกมาตั้งแต่ พศ.2526 จนปัจจุบันยัง Develop WEB อยู่บางครั้ง
- แต่สำหรับงานแบบ Utility มีการ เขียน Interface Hardware หรืองาน Apply ด้าน วิศวกรรมโหดๆ ก็ต้องใช้ C#
เช่น งาน Interface กับเครื่องจักร งาน ด้าน Network Control , Robot Control
สำหรับงาน Database ผมว่าพอๆ กัน ที่หรือก็แล้วแต่ใจรักนะครับ....เอาใจช่วย Programmer ทุกท่านครับ
Date :
2016-10-11 14:08:00
By :
ผู้เฒ่า..กรรมกรหลังคีย์บอร์ด
ผมรักที่จะเขียนโปรแกรมจึงลองศึกษามาหลาย ๆ ภาษา จนมีโอกาศได้รู้จักกับ VB CODE ตั่งแต่ได้เริ่มลองเขียนก็ทำให้รู้ว่านี่แหละ
ที่เราตามหา(แต่ก็ยังศึกษาการเขียนภาษาอื่นเพิ่มเติม...แอบปันใจนิดนึง)แต่ก็ไม่พ้น VB CODE อยู่ดี
ข้อเสียของภาษานี้หรอผมมองว่าแทบจะไม่มีเลยเพราะผมไม่เคยเจอปัญหามั้ง
ข้อดีมีมากมายจนบรรยายไม่หมด คุณต้องลองเองเพราะอธิบายเป็นคำพูดไปคงไม่หมดอธิบายข้ามวันข้ามคืนเลยทีเดียว
สรุป : คือเราชอบหรือไม่ชอบ ไม่จำเป็นต้องไปมองข้อดีข้อเสียของมัน
[font=Verdana]-----[/font]ถ้ารู้ว่าชอบและเจอข้อเสียก็หาทางแก้ไขมันชะมันก็จะเป็นอะไรที่ท้าทายว่า---เอ้ยเราก็สามารถทำได้นะเว้ย
[font=Verdana]-----[/font]แต่ถ้าเราไม่ชอบเลยพอเจอปัญหานิด ๆ หน่อย ๆ เราก็ท้อแล้ว----เอ้ยเรามาได้แค่นี้เองหรอ ทำไมมันยากจังเลยว่ะ
ดังนั้นขอให้ ชอบในการเขียนโปรแกรมครับ ทุกภาษาจะเป็นเรื่องที่ง่ายถ้าเรารักมัน
Date :
2016-10-11 17:47:18
By :
parinya-t
จริงฯแล้วกระทู้นี้มันมีประโยชน์ อย่างน้อยฯ กระทู้ที่ #124887 คงใช้อ้างอิงได้
พวกเด็กเมื่อวานซืน อ้าปากก็เห็นลิ้นไก่
เล่าสู่กันฟัง จาก #NO1 - #NO 16
--- จับประเด็นได้ว่า ภาษา VB มักจะโดนดูถูก
--- ก็ว่ากันไป สำหรับผมคิดว่า
Quote: ไอ้พวกผิวเผินในภาษา อทิเช่น C++/C#
--- ไม่เคยเจอคนจริง (ที่รู้จริงและเชี่ยวชาญทุกภาษาอย่างลึกซื้ง)
@ผู้เฒ่า..กรรมกรหลังคีย์บอร์ด
เล่าไปเล่ามา นับ พ.ศ. 2526
--- คุณคิดว่าผมเป็นรุ่นพี่/รุ่นน้องของคุณล่ะ?
---
Code (VB.NET)
Dim dicSortColNormal As New Dictionary(Of SByte, String) From {{0, "engine"}, {1, "browser"}, {2, "platform"}, {3, "version"}, {4, "grade"}}
Dim dicSortColExt As New System.Collections.Specialized.HybridDictionary() From {{0, "engine"}, {1, "browser"}, {2, "platform"}, {3, "version"}, {4, "grade"}}
ยุคใหม่ ข้อมูลหลักล้านระเบียน เล่นกันบน Memory/etc..
Code (VB.NET)
If dicSortCol.ContainsKey(iSortCol) Then
Person = If(sSortDir = "desc", Person.AsQueryable.OrderBy({dicSortCol(iSortCol) & " desc"}), Person.AsQueryable.OrderBy({dicSortCol(iSortCol) & " asc"}))
End If
'...
'...
'...
ปล. อันนี้ผมยังไม่ได้พูดถึง Business/การเมือง Programming +55555
Date :
2016-10-12 16:09:44
By :
หน้าฮี
Load balance : Server 05