ทำไม VB จึงเป็นที่นิยม [ปิด]


28

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

อย่างไรก็ตามฉันยังคงเห็น (แอปพลิเคชันเชิงพาณิชย์ส่วนใหญ่จาก "ร้านค้า MS" ที่สร้างขึ้นใน VB ฉันสามารถแก้ไขได้ในเรื่องนี้ แต่ VB ก็ยังคงเป็นที่นิยมมากกว่าที่ควรจะเป็น

ทุกคนสามารถช่วยตอบคำถามเหล่านี้ (หรือทั้งหมด):

  • ฉันขาดอะไรบางอย่างกับ VB หรือไม่? ง่ายต่อการเรียนรู้หรือ "เป็นมิตร" มากกว่า C # หรือไม่ มีคุณสมบัติที่ฉันไม่รู้หรือไม่?
  • ทำไม VB / VB.net จึงใช้บ่อยในปัจจุบันโดยเฉพาะในโครงการเว็บ?

4
คุณจะรู้ได้อย่างไรว่าเว็บไซต์ของ Microsoft ในเชิงพาณิชย์ใดที่สร้างขึ้นด้วย?
samjudson

30
"ทำไม VB / VB.net จึงถูกใช้บ่อยในวันนี้" มันเหมือนกับถามว่า "ทำไมล่อ / รถบรรทุกจึงใช้บ่อยในการขนส่งในวันนี้"
Daniel Daranas

2
เพียงเพื่อลูกหลานฉันยืน (เจื่อน) แก้ไข VB มีชุมชนของผู้ใช้ที่ภักดีมากซึ่งบอกว่าน่ากลัวมาก

5
คำถามนี้ควรถูกลบ

25
อย่าลบคำถามนี้ มันไม่ดีและมีอคติและเป็นอัตนัย แต่มักจะเกิดขึ้นและสามารถใช้เป็นข้อมูลอ้างอิง
Konrad Rudolph

คำตอบ:


47

VB สามารถใช้เพื่อสร้าง GUI (ออกเสียงเหนอะหนะ) เพื่อติดตามที่อยู่ IP นี้มักจะถูกนำมาใช้ในการแก้ปัญหาอาชญากรรม



4
ว้าว. เพียงแค่ ว้าว. นั่นทำให้วันของฉันยอดเยี่ยมมาก

1
โอ้วว้าว ...

2
ฉันจะไม่ดู CSI แบบเดียวกันอีกเลย
Robert Harvey

3
ซูมเข้า ....... ok เพิ่ม

42

ฉันคิดว่ามันขึ้นอยู่กับว่าคุณมาจากไหน เมื่อเริ่มต้นในฐานะโปรแกรมเมอร์ฉันคิดว่า VB อาจอ่านง่ายกว่า C # เนื่องจากมันใช้คำมากกว่าสัญลักษณ์ซึ่งทำให้ง่ายสำหรับคนทั่วไป

ฉันเป็นโปรแกรมเมอร์ VB เป็นเวลาหลายปีและเมื่อ. NET มาฉันยังคงทำงานใน VB.NET ในช่วงสองสามปีแรก (ไม่ได้เห็นจุดที่มี C #) ตอนนี้ฉันมี C # ไม่กี่ปีข้างหลังฉันและบางครั้งฉันพบว่ารหัส VB.NET ใช้เวลานานกว่าเล็กน้อยสำหรับฉันในการ "ถอดรหัส" ที่ไม่ใช่รหัส C # อาจเป็นเพราะมันใช้คำมากกว่าสัญลักษณ์สำหรับสิ่งก่อสร้าง ...


5
คุณกำลังอธิบายสถานการณ์ของฉันเช่นกัน

6
เหมือนกันที่นี่ - รหัส VB.NET เต็มไปด้วย "สัญญาณรบกวน" เมื่อคุณดูจากมุมมองไวยากรณ์ของ C-style ไม่มีความผิดใด ๆ กับนักพัฒนา VB แค่รู้สึกเมื่อคุณเปลี่ยนจาก C # เป็น VB

2
ตกลงฉันไม่สามารถยืน VB.NET ได้ - ซินแทกซ์เป็นเหมือนเรื่องราว ... และใช่ฉันต้องใช้มันอย่างต่อเนื่องเป็นเวลาหลายเดือนมันทำให้ฉันบ้าฉันชอบไวยากรณ์ C #
Dal

2
โปรแกรมเมอร์ C # ไม่ใช่คนธรรมดาเหรอ?
ขวา

@ ไรอันโฟล โปรแกรมเมอร์ VB.net ก็ไม่ปกติเหมือนกัน โปรแกรมเมอร์ VB.net ยอดเยี่ยมกว่าคนทั่วไปและสำหรับ C # ... ไม่มีความคิดเห็น = D กฎ VB.net !!!!!!!
เพนกวินไม่ระบุชื่อ

27

ด้านล่างฉันเพิ่งคัดลอกคำตอบของฉันไปที่หัวข้ออื่น :

ฉันพัฒนาทั้ง VB และ C # เป็นประจำการทำเงินของฉันส่วนใหญ่เกี่ยวข้องกับ C # โดยส่วนตัวฉันชอบ VB สำหรับงานส่วนใหญ่ (แต่ไม่ทั้งหมด ... lambdas!) ฉันไม่สามารถบอกถึงข้อได้เปรียบที่หนักแน่นใด ๆ นอกเหนือจากที่จอนระบุไว้ ที่จริงแล้ว Herfried ได้รวบรวมบางส่วนบนเว็บไซต์ของเขา(ในเยอรมัน!) แต่พวกเขาค่อนข้างเทคนิค

สิ่งที่ทำให้ฉันเกี่ยวกับภาษา C ทั้งหมดจริงๆคือไวยากรณ์ที่โง่ นี่เป็นเรื่องทางวัฒนธรรมล้วนๆ แต่ในฐานะคนที่ทำงานด้านอาชีพของเขาส่วนใหญ่ใน C ++ และมีความเชี่ยวชาญในเรื่องนี้มากฉันยังคงเกลียดไวยากรณ์ และไม่ใช่แค่นิสัยแปลก ๆ น่ารัก ๆ ของ C ++ ไม่แพคเกจทั้งหมด ทำไมต้องจัดฟัน เหตุใดจึงใช้เครื่องหมายอัฒภาค (อาจเป็นการตัดสินใจที่โง่ที่สุดในประวัติศาสตร์การเขียนโปรแกรมทั้งหมด) ทำไมไวยากรณ์การส่งของ C-style โง่? ทำไมไม่มีคำหลักสำหรับการประกาศตัวแปร (อันที่จริงนี่คือการตัดสินใจที่โง่ที่สุด)?

มีหลายสิ่งหลายอย่างที่ทำให้ฉันเศร้าและโกรธ VB ไม่ใช่นักบุญภาษาของมันมีข้อเสียอย่างมาก แต่ไม่มีอะไรเทียบกับที่ฉันพูดไว้ข้างต้น

ฉันตระหนักดีว่าข้อความเหล่านี้ส่วนใหญ่ต้องการเหตุผล แต่ฉันหยิบยกว่านี่เป็นเพียงเพราะเราคุ้นเคยกับมันมาก นอกจากนี้ที่นี่ไม่ใช่สถานที่ที่เหมาะสม พอเพียงที่จะบอกว่าไวยากรณ์ของ C # ในขณะที่เป็นข้อได้เปรียบหลักเหนือ VB ก็เป็นข้อเสียเปรียบหลักเช่นกัน

ฉันไม่ชอบ VB เนื่องจากMyเนมสเปซฉันไม่ชอบเพราะตัวอักษร XML ฉันไม่ชอบเพราะการพิมพ์ที่อ่อนแอฉันไม่ชอบเพราะพารามิเตอร์ตัวเลือกหรือเพราะดีกว่ามากswitchคำแถลง ไม่ฉันชอบเพราะใช้ไวยากรณ์


ที่กล่าวว่าฉันต้องยอมรับว่า VB กลายเป็นกิดขวางโดยไวยากรณ์ของมันมากขึ้นเรื่อย ๆ Hype ล่าสุดดูเหมือนว่าจะเป็นการสืบค้นของ Linq ที่ถูกสกัดด้วยฟังก์ชั่นแลมบ์ดาและฉันก็ยอมรับว่าสิ่งนี้ทำให้หลายสิ่งง่ายขึ้น น่าเสียดายที่ไวยากรณ์ของ VB สำหรับลูกแกะนั้นยากเกินกว่าที่จะแข่งขันกับ C # ได้ ลองพิจารณาว่าการโทรไปที่Parallel.Forหน้าตาเป็นอย่างไรใน VB - เปรียบเทียบกับ C # ซึ่งดูเป็นธรรมชาติ IMHO ทีมออกแบบ VB ได้ดำเนินไปในทิศทางที่ผิดที่นี่


วิธีตอบข้อกล่าวหาของคุณ:

สำหรับฉันแล้ว Visual Basic ดูเหมือนจะเงอะงะน่าเกลียดผิดพลาดและอ่านยาก

คุณมีสิทธิ์ที่จะคิด แต่อย่างที่ Marc ได้กล่าวไว้ด้านล่างคุณจะพบว่าเป็นการยากที่จะโต้แย้งเรื่องนี้ แน่นอนผมสามารถยกจำนวนของ C องค์ประกอบไวยากรณ์ที่มีอคติมากขึ้นผิดพลาดได้ง่ายกว่าสิ่งที่มีอยู่ใน VB ในความเป็นจริงแล้วไวยากรณ์ของ VB ได้รับการพัฒนาขึ้นเพื่อป้องกันมิให้มีการจัดทำอย่างชัดเจน

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

รู้ภาษาดีหมายถึงการรู้จักรูปแบบในรหัส รหัสดีเขียนจะโดย virtuel ของการปฏิบัติปรากฏสง่างามในขณะที่ไม่ดี (ช้าผิดพลาดได้ง่าย) รหัสจะปรากฏที่น่าเกลียด มันง่ายอย่างที่คิด


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


4
Blake: ใช่คะแนนเต็มสำหรับ Ruby ในที่สุดภาษาที่ทำถูกต้อง Python ก็ทำคะแนนได้สูงเช่นกัน ยังฉันไม่พอใจบางส่วนโดยไวยากรณ์ที่มีอยู่ทั้งหมด
Konrad Rudolph

2
Ruby sucks: P ... ตอนนี้ฉันมีวิธีการที่ ... เหตุผลที่แท้จริงสำหรับความแตกต่างของไวยากรณ์ majoy ระหว่างคำหลักที่ใช้วงเล็บปีกกามาลงเพื่อความง่ายในการเขียน parser ผมเคยเป็น VB ขนาดใหญ่ (ขั้นพื้นฐานทั่วไป) แฟน แต่ตั้งแต่ผมได้ย้ายไป C # ฉันคิดว่ามันง่ายมากและรวดเร็วในการทำงาน.
แมทธิว Whited

4
ทำไมต้องจัดฟัน เพราะพวกเขาแบ่งเขตสายตาของรหัสถ้าใช้อย่างถูกต้อง ใช่ฉันรู้ว่าการเยื้องใน VB ก็ทำได้เช่นกัน แต่วงเล็บปีกกาทำเช่นนี้ด้วย IMO ที่ชัดเจนยิ่งขึ้น อัฒภาคทำสิ่งต่าง ๆ ได้ง่ายขึ้นสำหรับคอมไพเลอร์ (เพียงขอให้ทีม VB คอมไพเลอร์เกี่ยวกับเรื่องนี้) ฉันพบว่าการหล่อด้วยภาษา C # ใช้งานง่ายและกะทัดรัด และมีเป็นคำหลักประกาศตัวแปร:var
โรเบิร์ตฮาร์วีย์

1
@ Robert Harvey: 1) VB ใช้คีย์เวิร์ดเพื่อแสดงถึงการบล็อกไม่ใช่การเยื้อง มากสำหรับความคมชัด 2) เกี่ยวกับการคัดเลือกนักแสดง C ++ เลือกที่จะคัดค้านการคัดเลือกนักแสดงสไตล์ C มานานแล้วเพราะมันไม่เด่นชัดมากเกินไป ( ไม่ใช่เรื่องที่ดีนักนักแสดงควรโดดเด่นเนื่องจากแนะนำซีแมนติกส์ที่เปลี่ยนแปลงและจุดอ่อนของการใช้งานประเภท) 3) ไม่ฉันหมายถึงคำแนะนำเกี่ยวกับการสร้างประโยคก่อนการประกาศทุกครั้ง var int xอยู่ในใจ ข้อความและบล็อกอื่น ๆ ทั้งหมดได้รับการแนะนำโดยคำหลักเฉพาะทำไมไม่ประกาศตัวแปรและวิธีการ? เหม่. ไม่สอดคล้องและน่าเกลียด
Konrad Rudolph

4
@ Konrad: ฉันจะยอมรับมันใช้เวลาเล็กน้อยรับใช้ในตอนแรก ส่วนหนึ่งของความแตกต่างทางปรัชญาอาจเป็นเพราะฉันไม่คิดว่าภาษาการเขียนโปรแกรมของฉันเป็นตัวแปรของภาษาอังกฤษเหมือนที่ฉันเคยทำเมื่อฉันใช้โปรแกรมใน VB การย้ายไปที่ C # ได้ทำให้ภาษาการเขียนโปรแกรมที่ฉันใช้เป็นสัญลักษณ์มากกว่า (และรวบรัด) โดยไม่ทึบเกินไป สัญลักษณ์ดังกล่าวทำให้ฉันมีอิสระทางจิตที่จะคิดเกี่ยวกับสิ่งต่าง ๆ เช่นการวางแนวของวัตถุการส่งผ่านข้อความและ lambdas
Robert Harvey

15

สำหรับฉันแล้ว Visual Basic ดูเหมือนจะเงอะงะน่าเกลียดผิดพลาดและอ่านยาก

สำหรับฉันแล้วดูเหมือนว่าภาษาอังกฤษเงอะงะน่าเกลียดผิดพลาดและอ่านยากโดยเฉพาะอย่างยิ่งคนที่มีไวยากรณ์ไม่ดีการสะกดคำไม่ดีไม่สนใจการใช้อักษรตัวใหญ่และเครื่องหมายวรรคตอนและไม่มีความคิดในการจัดระเบียบความคิดและจิตใจ

ไม่ใช่เพียงแค่ว่า Visual Basic นั้นยากต่อการอ่านหรืองุ่มง่ามเนื่องจากไวยากรณ์ของภาษา แต่โดยทั่วไปแล้วเพราะโปรแกรมเมอร์ไม่เก่งในการแสดงความคิดเห็นของตนเอง:

If blah = 10 Then If stuff = "foo" Then t = 1 + k: s = 42: dostuff21

ใช่มันแย่มาก แต่มันก็ไม่ยากที่จะเขียนโค้ดที่น่ากลัวในภาษาอื่นเช่นกัน เมื่อเขียนอย่างถูกต้องจะทำให้รู้สึกถึงแม้ว่ารหัสจะเขียนใน VB:

If SelectedType = 10 And UserName = "Foo" Then
    CurrentUsers = CurrentUsers + 1
    UserConnectionID = 42
    PerformUserOperation
End If

อย่างน้อยก็สามารถอ่านและเข้าใจได้ง่ายขึ้น มันยังเป็นพื้นฐาน มันลงมาถึงความสามารถของโปรแกรมเมอร์ในการแสดงเจตนาของเขา / เธออย่างชัดเจนโดยการจัดรูปแบบโค้ดในรูปแบบที่อ่านง่ายโดยใช้ตัวระบุชื่อที่มีชื่อเสียงและให้ความสนใจกับการเขียนโค้ดที่เข้าใจได้

ที่กล่าวว่าฉันไม่ได้สัมผัส Visual Basic มากตั้งแต่ VB3 วัน (เช่นตัวอย่างด้วยไวยากรณ์ "เก่า") แต่เพียงเพราะภาษาสามารถถูกทารุณกรรมไม่ได้หมายความว่ามันไม่สามารถใช้อย่างถูกต้องในการเขียนรหัสที่แข็งแกร่งพอสมควร . แน่นอนว่าอาจมีข้อบกพร่องบางอย่าง แต่วิธีการที่ออกแบบมาเพื่อแก้ไขปัญหาเหล่านั้นยังแสดงให้เห็นถึงทักษะของโปรแกรมเมอร์คนหนึ่งมากกว่าอีกคนหนึ่ง

(การฉีดพ่นOn Error Resume Nextโดยไม่คำนึงถึงเป็นการคำนึงถึงวิธีการที่ไม่ดีนักในการหลีกเลี่ยงข้อบกพร่องของการขาดข้อยกเว้นใน VB ย้อนกลับไปในช่วงก่อนวัน. NET)


13

การโต้แย้งส่วนใหญ่ของคุณกับ VB นั้นใช้ได้กับ VB-Classic (ลิงก์ที่สอง) เท่านั้นหรือขึ้นอยู่กับข้อโต้แย้งที่จางหรือล้าสมัย

  • แม้แต่ใน VBC คุณจะไม่ใช้ GoSub ... กลับมา ฯลฯ
  • มีอะไรผิดปกติกับstatic? C ++ รองรับสิ่งนี้ด้วย
  • VB10 แนะนำความต่อเนื่องของสายโดยนัย (คุณไม่จำเป็นต้องใช้เซมิโคลนซ้ำซ้อนเช่น C #)
  • ฟังก์ชันการส่งต่างกันมีอยู่ใน C ++ และ C # ด้วย (object)(expr)-Cast-ไวยากรณ์ของC # และobject as typeมีความสับสนและไม่สอดคล้องกันมากยิ่งขึ้น
  • มีอะไรไม่ดีเกี่ยวกับwith? คุณสามารถสร้างโครงสร้างต้นไม้แบบซ้อนกันในลักษณะที่เข้าใจได้ซึ่งไม่สามารถทำได้ใน C #
  • การจัดการเหตุการณ์ใน VB นั้นงดงามกว่าใน C # มาก คุณสามารถแนะนำและเหตุการณ์จับโดยคำหลักเดียว ( WithEvents) โดยไม่ต้องเริ่มต้นที่ได้รับมอบหมาย, eventhandler-procs ฯลฯ ซึ่งทำให้ GUI เขียนโปรแกรมใน VB มากขึ้น confortable และคุณไม่จำเป็นต้องสร้างเหตุการณ์รหัสโดยนักออกแบบ
  • พารามิเตอร์ทางเลือกได้รับการแนะนำใน C # ใหม่ - ดังนั้นพวกเขาจึงดูเหมือนจะดี
  • VB.NET มีทั้งโอเปอเรเตอร์เข้มงวดและบูลีนลัด
  • คุณทำการตรวจสอบข้อผิดพลาดทางไวยากรณ์ในเวลาคอมไพล์ยกเว้นว่าคุณเรียกใช้ VB เช่นภาษาสคริปต์
  • End If}จะเป็นประโยชน์มากกว่าเพียงแค่ เมื่อมีโครงสร้างประโยคที่ซับซ้อนวงเล็บปีกกาทั้งหมดจะสับสนในขณะที่คอนกรีตEnd ...ช่วยคุณในการพิจารณาว่าบล็อกใดที่ไม่ได้ถูกปิด
  • XML Literals - สคริปต์ XML ตอนนี้เป็นส่วนหนึ่งของรหัสสนับสนุนอย่างเต็มที่จากระบบ Intellisense

สรุปมีเพียงความแตกต่างระหว่าง VB.NET และ C # เพียงเล็กน้อยเท่านั้นนอกเหนือจากไวยากรณ์ EG: การออกแบบ GUI นั้นมีประสิทธิภาพมากขึ้นใน VB เนื่องจากระบบเหตุการณ์ที่ดีขึ้นและ IDE ที่ดีกว่าในขณะที่เช่นอัลกอริทึมสามารถแสดงได้ดีขึ้นใน C # เพราะไวยากรณ์เป็นเรื่องที่กระชับ

ส่วนที่เหลือเป็นเพียงคำถามของสไตล์ส่วนตัวของคุณ โปรแกรมเมอร์ C-Style รู้สึกสะดวกสบายกับ C #, VB (หรือบางที Pascal?) - โปรแกรมเมอร์สไตล์ใช้ VB

แต่การอ่าน VB-Syntax ที่เน้นคำและชัดเจนอาจง่ายต่อการอ่านสำหรับผู้เริ่มต้นมากกว่าสัญลักษณ์ทั้งหมดใน C เปรียบเทียบ:

If (a < 15) Xor (b = 2) And Not Condition Then

ไปยัง

if ((a < 15) ^ (b == 2) && !Condition())

นี่ไม่ได้หมายความว่าภาษาหนึ่งดีกว่าอีกภาษาหนึ่ง

แก้ไข: -----------------------------------------

ในการโต้แย้ง VB จะเกิดข้อผิดพลาดได้ง่าย เมื่อคุณใช้Option Strict Onมันเข้มงวดเท่า C # แต่ไม่อนุญาตให้เราทำผิดพลาด:

// VB would initialize with zero (C/C++ doesn't)
int countZeros;
// No confusion with loop bounds with For x = 1 To Length
for (int i = 1; i <= length; i++) {
    // Never confusing == with = 
    if (data[i] = 0) 
        countZeros++;
}

1
C # จะให้ข้อผิดพลาดในการรวบรวมสำหรับการไม่เริ่มต้น countZeros (ในขอบเขตท้องถิ่น) และสำหรับการกำหนดค่าให้กับ data [i] ในคำสั่ง if ฉันรู้ว่าคุณอ้างอิง C / C ++ ในความคิดเห็นของคุณ แต่ผมเชื่อว่า OP ถูกเปรียบเทียบ VB C # :)

1
สำหรับความคิดของฉัน VB10 เต้นครั้งใหญ่ # 10!
Shimmy

ฉันชอบทุกภาษา: LISP, C, VB, PHP คุณตั้งชื่อมัน
systemovich

+1 และฉันจะเพิ่มคำสั่ง Switch ของ VB นั้นไม่ไร้ประโยชน์เหมือน C #
Joel Brown

12

ในอดีตสภาพแวดล้อมการพัฒนา VB เป็นวิธีที่รวดเร็วและมีประสิทธิภาพในการสร้างแอปพลิเคชันบางประเภท (เช่นแอป GUI) นั่นนำไปสู่การเป็นทางเลือกที่นิยมมาก ฉันคิดว่า VB เป็นภาษาที่ใช้มากที่สุดในช่วงรุ่งเรือง (เช่น VB6)

ด้วยฐานติดตั้งแบบนั้นมันแทบจะไม่น่าแปลกใจเลยที่ยังมีงานอีกมากเกิดขึ้น


2
1 afaics VB6 และโดยเฉพาะอย่างยิ่ง VS IDE ให้ไว้ (มาก) อุปสรรคต่ำที่รายการซึ่งสร้างรุ่น coders ใหม่กับทุกปัญหาและความเป็นไปในนั้น

7

ทุกอย่างเริ่มต้นก่อนที่จะมี C #

ย้อนกลับไปในปี 1999 เรามี Visual Studio 5/6 หากคุณเป็นผู้จำหน่ายซอฟต์แวร์อิสระหรือองค์กรที่ใช้ Windows และต้องการแอปพลิเคชันที่สามารถเขียนได้เช่นติดตามเวลาของพนักงานที่ใช้ในโครงการคุณมีตัวเลือกน้อยดังนี้

  1. แบบฟอร์มใน Visual Basic
  2. MFC, ATL หรือ Win32 ใน Visual C ++
  3. แบบฟอร์มใน Access 97/2000
  4. เว็บไซต์ ASP
  5. Java applet

ในเวลานั้นเราเพิ่งจะเกิดฟองสบู่ Dot-Com ดังนั้นใครก็ตามที่ทำได้ดีกับ (4) หรือ (5) ก็ออกไปเจรจากับตัวเลือกหุ้นในจุดที่น่าตื่นตาตื่นใจดอทคอม

(3) มีปัญหาเกี่ยวกับการล็อคและความสามารถในการปรับขนาดโดยรวม แต่ฉันเห็นโซลูชัน Access-driven จำนวนมากซึ่งจะใช้การสนับสนุนฟังก์ชันตามที่จำเป็น

นั่นทำให้เราด้วย VB และ VC ++:

เครื่องมือแก้ไขแบบฟอร์มใน VB นั้นในเวลานั้นยอดเยี่ยมสำหรับผลผลิต คุณสามารถลากวางองค์ประกอบของคุณ - ไม่เพียง แต่ปุ่มป้ายกำกับและกล่องข้อความ แต่กล่องเครื่องมือ 'ตัวควบคุม OLE' เต็มรูปแบบของส่วนประกอบที่นำมาใช้ใหม่เช่นกริดฉลาดแผ่นงาน Excel หรืออินสแตนซ์ IE การวางสายเสร็จแล้วเบื้องหลังทุกอย่างเป็นไปตามวัตถุและคุณเพียงดับเบิลคลิกสิ่งต่าง ๆ เพื่อเพิ่มตัวจัดการเหตุการณ์ นี่ยากมากใน Visual c ++ ในฐานะสมาชิกของทีมสนับสนุนนักพัฒนา Visual Studio ในเวลานั้นฉันสามารถจำได้ว่าการโทรสนับสนุน Visual Basic นั้นส่วนใหญ่เกี่ยวกับองค์ประกอบที่ดีที่สุดที่จะใช้หรือวิธีการเพิ่มประสิทธิภาพแอปพลิเคชันของพวกเขาในบางวิธี มันแทบจะไม่เคย 'ฉันจะสร้างแอพพลิเคชั่นด้วยคุณสมบัติส่วนต่อประสานกับผู้ใช้ X, Y และ Z'

การสร้าง UI ที่หลากหลายใน Visual C ++ เป็นความท้าทายที่แตกต่าง แม้ว่าจะมีการสนับสนุนตัวแก้ไข Visual สำหรับกล่องโต้ตอบและรูปแบบ SDI / MDI แต่ก็มีข้อ จำกัด การสนับสนุนสำหรับการฝังตัวควบคุม OLE (ActiveX) ลงใน MFC หรือ Win32 เป็นงานศิลปะสีดำแม้ว่า ATL จะง่ายขึ้นเล็กน้อย การเดินสายสิ่งต่าง ๆ อย่างง่ายเช่นปรับขนาดกิจกรรมหรือวาดรูปเจ้าของนั้นเจ็บปวดมากให้คะแนนการเชื่อมต่อที่จำเป็นสำหรับเหตุการณ์ที่กำหนดเองในส่วนประกอบ

ใช่ VC ++ มีความเร็วในการดำเนินการความสามารถในการดีบักและเฟรมเวิร์ก / ไลบรารี่ / UI ที่ยืดหยุ่น แต่การสนับสนุน IDE ไม่สามารถครอบคลุมได้ทั้งหมด สายสนับสนุนเหตุการณ์ที่ไม่เกิดขึ้น 2 ครั้ง

IIRC ผู้จัดทำแอปพลิเคชันที่มาพร้อมกับ VB สามารถจัดเก็บแอปของคุณรันไทม์ VB และตัวควบคุมทั่วไปล่าสุด DLLs และจัดหาตัวติดตั้ง EXE แบบสแตนด์อโลนให้กับคุณซึ่งคุณสามารถใส่ลงในซีดีและไปหาลูกค้าได้ ไม่มี 'สิ่งนี้' ซึ่งคุณได้ติดตั้ง msvcrtXX.dll และ mfcxx.dll? 'ซึ่งรบกวนผู้พัฒนา MFC

ดังนั้นด้วยเหตุผลของเวลาที่ออกสู่ตลาดและส่วนติดต่อผู้ใช้ที่หลากหลาย VB ได้รับการติดตามที่ใหญ่มาก

เมื่อ Visual J ++ และ Visual Interdev เข้าชมใน VS6 เป็นที่ชัดเจนว่า Visual Basic IDE ชนะการต่อสู้มากกว่าหนึ่งใน Visual C ++ ซึ่งเป็น IMHO ที่ยุติธรรม ไม่แปลกใจเลยที่ Visual Studio .NET นั้นมีตัวแก้ไขรูปแบบ VB-like สำหรับภาษาCOOL C # ใหม่

Java / C / C ++ เหมือนภาษาใหม่ควบคู่ไปกับการออกแบบ UI ที่คน VB ชื่นชอบตลอดเวลาทำให้เส้นทางการโยกย้ายใหม่สำหรับคน C ++ ที่ทำด้วย MFC / ATL / Win32 สำหรับ VB 3/4/5/6 คนที่ไม่ชอบความเข้ากันได้แบบย้อนหลัง 100% ใน VB.net สิ่งนี้นำเสนอโอกาสในการเรียนรู้ภาษาใหม่ในสภาพแวดล้อมที่คุ้นเคย


เหตุผลที่ VB เป็นผลิตภัณฑ์ที่ครอบคลุมเช่นนั้นน่าจะมีบางอย่างเกี่ยวกับต้นกำเนิดของ Microsoft โดย Basic เป็นผลิตภัณฑ์สำหรับนักพัฒนาหลักของพวกเขา แต่ตอนนี้ฉันยังไม่มีการอ้างอิงใด ๆ


6

อย่างไรก็ตามน่าเกลียดภาษาใดก็ตามอาจเป็นสาเหตุของการเกาะติดมันมักจะต้มลงไป: มันแพงมากที่จะคัดลอกรหัสฐานขนาดใหญ่และความจริงที่ว่านักพัฒนารู้ภาษาแล้วทำให้ถูกกว่าการใช้ภาษาอื่น


6

VB.NET นั้นง่ายต่อการเรียนรู้คุณพูดถูกและง่ายกว่า C # โดยรวมในความคิดของฉัน เป็นจุดแรกที่ว่าทำไม VB จึงเป็นที่นิยม อีกสิ่งหนึ่งและที่สำคัญที่สุดคือฉันคิดว่ามีนักพัฒนาจำนวนมากที่ทำงานร่วมกับ VB 6 และ verison รุ่นเก่าของภาษานี้และมันง่ายกว่าสำหรับพวกเขาในการพัฒนาแอปพลิเคชันด้วย VB.net มากกว่าการเรียนรู้ภาษาใหม่


6

ดังที่คนอื่น ๆ ได้กล่าวไว้การตัดสินใจเกี่ยวกับสุนทรียภาพของคุณในเรื่องของภาษานั้นขึ้นอยู่กับสิ่งที่คุณเคยรู้จักมาก่อน เป็นเวลากว่าทศวรรษที่ผ่านมาดูเหมือนว่าจะเป็นการประกวดแบบ C-look-เหมือนกันโดยมีเครื่องหมายปีกกาสำหรับ "บล็อก", "->" สำหรับการอ้อม (perl, php), วงเล็บสำหรับอาร์กิวเมนต์การเรียกใช้ฟังก์ชัน, // สำหรับ ความคิดเห็นและเครื่องหมายอัฒภาคที่ปลายแต่ละด้านของบรรทัด บางคนถึงกับคิดว่าต้องขอบคุณ 'penéeที่ไม่เหมือนใคร' ถ้าคุณรู้จักภาษาคุณก็รู้ทุกอย่างซึ่งไร้สาระจริงๆ แต่นี่เป็นการปลูกฝังความคิดในหมู่คน C ++ / Java ซึ่งเป็นความงามทางไวยากรณ์ที่ถูกต้องเพียงอย่างเดียวและสิ่งอื่นใดที่พยายามโคลน COBOL

ไม่กี่ปีที่ผ่านมาฉันเปลี่ยนเป็นทับทิมและตอนนี้หลามและฉันไม่สามารถทนอัฒภาคน่าเกลียดเครื่องหมายปีกกาและอักขระขยะที่ไม่มีความหมายได้อีกต่อไป ซอร์สโค้ดมีไว้เพื่อให้มนุษย์อ่านได้ เมื่อฉันลองทำ visual studio ฉันเลือก VB มากกว่า C # ฉันสงสัยว่าโปรแกรมเมอร์บางคนเลือก C # เพียงเพื่อ "ดูจริงจัง" ด้วยไวยากรณ์เหมือนจาวา แต่มาคุณลักษณะที่เหมือนกันมากอยู่ที่นั่น ... ทำให้ตาของคุณพักผ่อน


4

ถ้าคุณพูดถึง. NET มันเป็นเรื่องง่าย ๆ ที่ฉันสามารถนึกถึง:

เครื่องมือแก้ไขของ VB.NET ใน Visual Studio นั้นดีกว่าในการตรวจจับข้อผิดพลาดทางไวยากรณ์ได้ดีกว่า C #

แม้ว่าตัวแก้ไขของ C # จะได้รับการปรับปรุงอย่างมากใน VS2008 SP1 แต่ก็ยังมีข้อผิดพลาดทางไวยากรณ์บางประการที่ตัวแก้ไขไม่ทำงานจนกว่าคุณจะพยายามรวบรวมโปรแกรม


การรวบรวมพื้นหลังนั้นเป็นสิ่งที่ทำให้การแก้ไขโครงการ VB ขนาดใหญ่ใน VS2005 ช้ามาก ในกรณีใด ๆ ว่าเป็นสิ่งที่ ReSharper สำหรับ;)
ลูคัส

มันไม่ได้เป็นเพียงการรวบรวมพื้นหลังเครื่องมือการจัดรูปแบบอัตโนมัติและการล้างโค้ดจะแก้ไขสิ่งต่าง ๆ มากมายก่อนที่คุณจะย้ายออกจากบล็อกเพื่อเริ่มการรวบรวม นี่คือประหยัดเวลามากใน vb เมื่อเทียบกับ c #
Bill

4

ความนิยมของ VB ส่วนมากเกิดขึ้นในช่วงเวลาที่เครื่องมือของ VB นั้นเป็นมิตรมากกว่าภาษาอื่น ๆ VB "คลาสสิค" นำเสนอวิธีที่ง่ายในการสร้างแอปพลิเคชัน Windows โดยไม่ต้องเรียนรู้ความกล้าของ Win32 API หรือรบกวนการจัดการหน่วยความจำด้วยตนเอง อุปสรรคในการเข้าสู่โปรแกรมเมอร์เริ่มต้นนั้นต่ำกว่ามากเมื่อใช้ VB มากกว่า C ++ ดังนั้นผู้คนจำนวนมากจึงตัดฟันด้วย VB

วันนี้ฉันคิดว่า VB หนึ่งข้อได้เปรียบกว่า C # คือความคุ้นเคยสำหรับผู้ที่ทำงานกับ VB ตลอดหลายปีที่ผ่านมา ข้อดีอีกอย่างคือรหัส VB ​​นั้นอ่านง่ายเพราะมีแนวโน้มที่จะใช้คำหลักแทนสัญลักษณ์เครื่องหมายวรรคตอน ในฐานะคนที่ทำงานใน VB, Java, C, C # และ Python ฉันพบว่า VB เป็นภาษาที่ง่ายที่สุดในการข้ามกลับเข้าไปเมื่อตรวจสอบรหัสที่ฉันเขียนเมื่อหลายปีก่อน ไวยากรณ์เป็น verbose มากขึ้นซึ่งมักจะทำให้ง่ายต่อการอ่านรหัสและ Visual Studio ทำงานได้อย่างยอดเยี่ยมในการจัดรูปแบบรหัส VB ​​เพื่อล้างการจัดรูปแบบในขณะที่คุณพิมพ์เพื่อให้รหัสนั้นได้รับการจัดรูปแบบอย่างสม่ำเสมอ

จากบันทึกด้านข้างฉันพบว่า Python อ่านและตรวจสอบได้ง่ายมากด้วยเหตุผลที่คล้ายคลึงกัน ใน Python การจัดรูปแบบของรหัสถูกบังคับใช้โดยล่ามมากกว่า IDE แต่ผลลัพธ์สุดท้ายจะเหมือนกัน Python ช่วยเพิ่มคีย์เวิร์ดให้กับเครื่องหมายวรรคตอนแม้ว่าจะน้อยกว่า VB ก็ตาม


3

มันจะยากที่จะยืนยันว่ามันเป็น "ข้อผิดพลาดได้ง่าย" มากกว่าหรือน้อยกว่าภาษาอื่น ๆ ฉันยังสงสัยในจุดที่ว่า "เว็บการค้า MS ส่วนใหญ่"; จากสิ่งที่ฉันได้เห็น C # นั้นเป็นผู้นำในการพัฒนา. NET (โดยที่. NET เป็นเครื่องมือสำคัญใน MS stack สำหรับสิ่งที่ไม่มีไดรเวอร์อุปกรณ์ ฯลฯ )


3

ข้อดีอย่างหนึ่งของ VB.NET คือเกิน C # (ซึ่งจะหายไปกับ C # 4) เป็นค่าเริ่มต้นและพารามิเตอร์ที่กำหนดชื่อซึ่งเป็นสิ่งที่ดีมากที่จะมีเมื่อใช้ VSTO


และสำหรับเรื่องนั้น "ไดนามิก" - ให้บางสิ่งบางอย่างเทียบเคียงกับ VBs ที่มีอยู่ตอนปลาย / ส่งผูกพัน
Marc Gravell

1
ข้อได้เปรียบที่เรียกว่านี้เป็นปัญหาสำหรับฉันเสมอ - การอ่านของฉันในที่นี้คือ C # มีการโหลดมากเกินไปซึ่งเป็นวิธีที่ปลอดภัยกว่าในการบรรลุผลในทางปฏิบัติที่เหมือนกัน

2
ข้อเสียของการโอเวอร์โหลดคือพวกเขามีความยุ่งยากและสับสนมากกว่าเมื่อคุณ jsut ต้องการตั้งค่าเริ่มต้นเล็กน้อย คุณสามารถจบลงด้วยกลุ่มคอมเพล็กซ์ของโอเวอร์โหลดซึ่งคอมไพเลอร์ในการเรียกใช้เมธอดซ้อนแทนการแก้ไขโดยตรงกับเมธอดโดยคอมไพเลอร์
Matthew Whited

3

VB / VB.NET เป็นของประเภท RAD (การพัฒนาแอปพลิเคชันอย่างรวดเร็ว) คุณสามารถพัฒนาแอพพลิเคชั่นด้วยการควบคุมการลากจากกล่องเครื่องมือและรหัสน้อย


คุณสามารถพูดแบบเดียวกันกับ ASP.net + C # combo ได้ไหม?

ใช่ langauges ที่ใช้ Visual Studio เป็นส่วนใหญ่

ตอนอายุ VB (ไม่ใช่. net) ไม่มี C # เป็นต้นดังนั้น VB เป็นสิ่งที่ยอดเยี่ยมในเวลานั้น ผู้ใช้ VB ต่อมาย้ายไปยัง VB.NET VB <> VB.NET ต่อไป

3

ฉันคิดว่าคุณต้องแยกความแตกต่างระหว่าง VB คลาสสิกและ VB.NET

ฉันรู้สึกว่า VB.NET ไม่ได้รับความนิยมมาก แต่ Visual Basic "Classic" ยังคงเป็น 1 เหตุผลก็คือมันง่ายมากในการสร้างแอป Windows เปรียบเทียบสิ่งนี้กับแอพ Windows ใน C ++ / Mfc ซึ่งเกือบจะเป็นทางเลือกเดียวในเวลานี้

ด้วยเหตุผลเดียวกัน Delphi ได้รับความนิยมอย่างมากทุกครั้ง


ฉันยอมรับว่า VB.net ไม่ได้รับความนิยมเท่ากับ VB แบบคลาสสิก ผู้พัฒนาบางคนที่ไม่สามารถโยกย้ายฐานรหัสของพวกเขาไปยัง VB.net อาจเปลี่ยนเป็น C # แทน
JBRWilkinson

3

VB นั้นละเอียดมากและง่ายที่คุณจะคุ้นเคยเมื่อเทียบกับ C # ซึ่งคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ สำหรับโปรแกรมเมอร์มือใหม่มันเป็นจุดเริ่มต้นที่ดีที่สุด


3

หากต้องการตั้งชื่อไม่กี่:

  • สะดวกในการใช้
  • ชื่อที่คุ้นเคย (พื้นฐานคือหนึ่งในภาษาโปรแกรมคอมพิวเตอร์ที่ได้รับความนิยมเป็นอันดับแรก)
  • อย่าประมาทการตลาดของ Microsoft

3

ฉันคิดว่าเหตุผลส่วนหนึ่งเป็นเพราะโปรแกรมเมอร์เก่าที่เข้าสู่. NET ที่ฉันได้ทำมีความคุ้นเคยกับ VB อยู่แล้วเพราะสคริปต์ VB เป็นภาษา ASP คลาสสิคที่ใช้กันมากที่สุด ฉันรู้สึกว่าใช้เวลาเขียนน้อยลงใน VB ใน. NET เพราะฉันรู้วิธีการพูด VB แล้ว VB ก็น้อย crybaby กว่า C # ฉันสามารถอ่าน / เขียนได้ทั้งคู่ แต่ฉันชอบ VB เพราะมันเป็นเรื่องง่ายที่จะหาเพื่อนด้วยถ้าคุณเป็นโปรแกรมเมอร์คนใหม่


2

ฉันทำงานในสภาพแวดล้อมที่เราใช้ทั้งสองอย่าง เราเปลี่ยนเป็น C # แทน ASP คลาสสิกและ VB ในความคิดของฉันไม่มีตัวแบ่งข้อตกลงระหว่างภาษา สำหรับโครงการส่วนใหญ่คุณสามารถทำงานเดียวกันกับทั้งสองภาษา ตอนนี้ฉันแชร์มุมมองของคุณเกี่ยวกับข้อผิดพลาดได้ง่ายและฉันยังพบว่า VB จะรก (ไม่มีเหตุผล)

อย่างที่คนอื่นพูดถึง VB นั้นง่ายมากและในอดีตคุณสามารถสร้างโครงการได้รวดเร็วมาก สิ่งนี้อาศัยอยู่ในการพัฒนาเว็บ (ซึ่งพัฒนาอย่างรวดเร็ว) แต่ฉันคิดว่าเมื่อผู้คนตระหนักว่า C # นั้นพัฒนาได้อย่างรวดเร็ว VB จะจางหายไป อีกเหตุผลที่ฉันคิดว่ามันจะจางหายไปคือทุกอย่างที่คุณเขียนโค้ดใน (CSS, JavaScript) เมื่อสร้างแอปพลิเคชันบนเว็บดูเหมือน C # มากกว่า VB ดังนั้นจึงเหมาะสมที่จะใช้ C # แม้แต่สำหรับผู้เริ่มต้น


2

ฉันเองชอบกิจกรรมที่แนบมาใน vb.net ด้วยคำหลัก 'handles' ... IDE / Visual Studio / ก็ตอบสนองได้ดีกว่าเมื่อจัดการกับ VB และจัดการโดยอัตโนมัติที่สุดของ end-ifs และ like ... แน่นอนว่า C # นั้นสะอาดและสุภาพมากกว่าเดิม (IMHO ฉันได้ทำงานกับทั้งสองมาแล้ว)


ฉันชอบที่จะสมัครรับกิจกรรมด้วยตัวเองไม่ใช่สิ่งที่อยู่เบื้องหลังฉากที่น่าอัศจรรย์ทั้งหมดที่เกิดขึ้นกับ "ด้ามจับ" และนักออกแบบ VS
ลูคัส

2

ในกรอบ 4.0 นั้นมีเพียงไม่กี่สิ่งที่ VB ขาดเทียบกับ C # และสิ่งที่ตรงกันข้ามก็เป็นจริงเช่นกัน กล่าวคือ:

  1. สิ่งที่น่าสังเกตมากที่สุดคือ VB.NET ไม่มีYieldคำหลัก แต่จะมาถึงเร็ว ๆ นี้กับ VB.NET ด้วยเฟรมเวิร์ก async ใหม่
  2. ไม่มีunsafeคำหลัก ฉันไม่เคยพบว่าจำเป็น แต่ก็มีบางคนที่มี
  3. ไม่มีสตริงหลายบรรทัด สตริงหลายบรรทัดสามารถทำได้โดยใช้ + (หรือตัวดำเนินการดั้งเดิม &) ข้ามบรรทัด หรือพวกเขาสามารถทำได้โดยใช้ XML Dim s = <s>My string... multiple lines...</s>.Valueไวยากรณ์ตัวอักษร: มันไม่ได้สวย แต่ถ้าคุณไม่จู้จี้จุกจิกและต้องการสตริงที่มีหลายบรรทัด และคุณสามารถทำการแก้ไขสตริงด้วยมันโดยใช้<%= myVar %>ไวยากรณ์ที่ดี
  4. dynamicมีตัวแปรที่ไม่มีขอบเขตเทียบเท่าเป็น ตัวแปรแบบไดนามิกอยู่ใน VB มาเป็นเวลานานด้วยOption Compare Offแต่นั่นคือการกำหนดขอบเขตไฟล์ดังนั้นจึงไม่ดีเท่าdynamicเพราะdynamicจำกัด ขอบเขตเฉพาะตัวแปรที่ประกาศด้วยวิธีนั้น
  5. VB ขาดไวยากรณ์แลมบ์ดาสั้น ๆ แลมบ์ดาอยู่ที่นั่น แต่คุณต้องใช้Function(x)หรือSub(x)หรือ

คุณสมบัติบางอย่าง VB.NET มี C # ที่ไม่:

  1. ตัวอักษร XML ซึ่งมีประโยชน์สำหรับทุกสิ่งไม่ใช่แค่ XML
  2. ตัวพิมพ์เล็ก - เล็กในภาษาเป็นแมวของแมว ไม่ใช่ภาษาอื่น ๆ ที่อนุญาตให้ใช้งานได้ แต่ความแตกต่างของความเร็วในการเข้ารหัสคือไม่ต้องกดปุ่ม Shift เมื่อคุณพิมพ์และมีรหัสของคุณเพียงจัดรูปแบบอัตโนมัติตามที่คุณต้องการ
  3. ส่วนSelectคำสั่งที่ไม่จำเป็นมักจะถูกตัดออกจากคำสั่ง Linq
  4. Nothingคำหลักที่เป็นประโยชน์มากขึ้นกว่าnullในการที่ทุกอย่าง (ประเภทค่าแม้) สามารถตั้งค่าNothingและคุณจะได้เริ่มต้น ไม่จำเป็นต้องใช้defaultคำหลัก
  5. VB.NET ถูกรวบรวมอย่างต่อเนื่องใน Visual Studio เพื่อให้คุณเห็นข้อผิดพลาดทันที ไม่กดปุ่ม CTRL-SHIFT-B ตลอดทั้งวันเหมือนใน C #

ร้านค้าของฉันใช้ MVC3 กับมีดโกนโดยใช้ VB.NET และเมื่อคุณได้รับอคติ (ส่วนใหญ่ไม่มีมูลความจริง) มันเป็นภาษาที่ดีมากที่จะใช้ มันไม่ได้ verbose มากกว่า C # เป็นสิทธิเรียกร้องจำนวนมาก (ยกเว้นในกรณีของ lambdas) และมันค่อนข้างขนานกับฟีเจอร์สำหรับฟีเจอร์กับ C # ฉันพบว่าคนส่วนใหญ่ที่เกลียดชังไม่ได้เข้ารหัสใน VB.NET ที่ทันสมัยเป็นระยะเวลานาน


สำหรับฉันแล้ว VB.NET นั้น verbose มากเกินไป คุณต้องพิมพ์รหัสสำเร็จรูปจำนวนมากด้วยตนเองและ ReSharper ไม่ได้ช่วยจริงๆ ฉันได้รับการเข้ารหัสใน C # / VB.NET ใน paraller เป็นเวลา 3 ปีแล้ว
Hedin

VB เป็น verbose แนวนอนแน่นอนเนื่องจากคำหลักที่ยาวขึ้น แม้ว่าคุณจะไม่พิมพ์บ่อยนักเพราะ IDE ใส่ไว้ในตัวคุณ แต่ IMHO C # มักจะ verbose ในแนวตั้งเนื่องจากเครื่องหมายปีกกา ข้อดีอื่น ๆ ของ VB: หลีกเลี่ยงการโต้วาทีรูปแบบรั้งเนื่องจากมีเพียงหนึ่งรูปแบบใน VB; (ลิ้นเข้าสู่แก้ม) หลีกเลี่ยงการพัฒนานิ้วก้อยขวาที่กระวนกระวายใจเนื่องจากการพิมพ์เซมิโคลอนและวงเล็บปีกกาแบบไม่มีที่สิ้นสุด
MarkJ

1
@ MarkJ: ฉันคิดว่ามันน่าสนใจที่ผู้เสนอ C # วิจารณ์AndAlso[ไม่อดทนต่อเมื่อพูดว่ามันสั้นกว่า "double-ampersand"] แต่ไม่สนใจความจริงที่ว่ามีIf-Then/Else/EndIfสามบรรทัดบวกกับข้อความควบคุมในขณะที่ C # ที่เทียบเท่าจะใช้เวลาอย่างน้อยสี่ และอาจหกขึ้นอยู่กับการประชุมรั้งยกเว้นหนึ่งเขียน} else {เป็นบรรทัดเดียว
supercat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.