PDA

View Full Version : Visual Basic .Net -> V.S. <- C#



cuteboy_vn
15-03-2004, 15:26
Mình muốn biết xem những bạn học .Net trong diễn đàn này dùng VB.Net hay là C#. Mình dùng VB.Net nhưng bây giờ đang học thêm C#.

xinthaem
15-03-2004, 18:48
Mi`nh thi` cu~ng moi' bat dau` ho.c .NET, mi`nh cho.n ca? 2 luon vi` c'ach viet cu~ng khong kha'c nhau may', dang ti'nh la`m them cai' ASP.NET luon cho biet' ve` Web 1 chu't hi`hi`...

novavn
16-03-2004, 00:41
Mình cũng chọn cả hai cái luôn, cả hai ngôn ngữ này gần giống nhau, phải nói là giống như anh em song sinh. Chỉ có cách viết là khác nhau nhưng mà mỗi ngôn ngữ có một điểm thuận lợi riêng. Cả hai cái đều hay cả!

novavn
16-03-2004, 01:09
Vậy thử xem lại mình đi! hic hic

cuteboy_vn
16-03-2004, 04:45
hình như hai cái ngôn ngữ này học hoài không hết đấy. Mình đã đọc và tìm hiểu hai quyển sách về VB.Net và C# rồi mà vẫn chưa cover hết được.

thanhtungo
16-03-2004, 17:51
Mình muốn biết xem những bạn học .Net trong diễn đàn này dùng VB.Net hay là C#. Mình dùng VB.Net nhưng bây giờ đang học thêm C#.
Theo mình thì bạn nên học C# vì C# là ngôn ngữ chủ lực của dotNET đấy.

novavn
16-03-2004, 18:27
Này này, ông Búa về nhà trau dồi kiến thức đi nhé, đừng lên đây châm chọc người khác!

White Rose
16-03-2004, 20:59
Tớ chọn C# làm ngôn ngữ chính cho mình.
Thực tế thì nếu sử dụng thành thạo một ngôn ngữ trong .NET thì đọc hiểu những ngôn ngữ <> không quá khó (đọc hiểu chứ không phải là dùng). Theo tớ thì việc học nhiều ngôn ngữ không phải là ý kiến sáng suốt, trừ phi điều đó là do công việc đòi hỏi.
Ngừoi ta bảo "trăm hay không = quen tay" mà ;-)

basic_delphi
17-03-2004, 00:16
Mỗi ngôn ngữ có một cái hay riêng, chẳng hạn như nên tạo Interface với VB còn tạo operator với C#. Em chọn cả đôi, chắc là không sao chứ?

zhiivn
17-03-2004, 23:49
Hi!
C# và VB.NET nên xài cái nào àh? Mình cũng không biết nữa vì hai cái na ná như nhau. Cùng một chương trình mình cũng có thể viết bằng hai cái mà không có trở ngại nào! Nhưng có lẽ mình vẫn thích C# hơn.

daem0n
17-03-2004, 23:55
Mình chọn C# (Vì mình thích cách viết syntax của nó hơn) nhưng nói chung đã rành một cái thì cái kia cũng dễ dàng (cùng một framework mà, các namespaces cũng giống nhau nữa)

Cyber
18-03-2004, 02:42
Hê hê C# vẫn thích hơn. Nhớ thằng C++ quá

ich_liebe_dich
19-03-2004, 19:38
Khẹc, mấy bồ ơi , C# chắc hay hơn java nhẩy ? em chưa học nên không biết. Đừng mắng em lạc đề nhé . À , em hỏi tý , cái thằng C# có tạo gia diện đẹp đuợc như VB không vây?

novavn
19-03-2004, 20:26
Bạn ui, C# vẫn chưa sáng ngang với Java được đâu. C# là một sự kết hợp giữa C++ và VB đó, nên bạn có thể thiết kế giao diện dễ dàng như VB vậy!

KEM_WALL
20-03-2004, 03:01
thiết kế giao diện dễ dàng như VB vậy!

[hơn :)

ich_liebe_dich
20-03-2004, 05:52
Thế thì học C sharp hay Java đây ?

cuteboy_vn
20-03-2004, 18:20
theo ý kiến riêng của mình thì bạn nên học C# đi, còn nếu bạn là fan của Java thì cứ học nốt cả hai, sau này microsoft với sun cái nào thắng mình cũng có đất dụng võ...

[look towards 5 years later...
HELLO LADIES & GENTLEMEN, WE HORNOURLY ANNOUNCE THE WINNER OF THE 21st CENTURY IT WINNER....

:punk: <--- Microsoft
:bawling: <--- Sun

hổng biết chừng ngược lại cũng nên .......................]

cuteboy_vn
20-03-2004, 18:23
oops, sorry nha. đang nói về VB.NET với C# lại nhảy thêm Java. Thôi kệ cứ chơi đấu tay ba. (Nói trước là VB.NET với C# không hợp lại với nhau để đánh Java đâu à).

cuteboy_vn
27-03-2004, 07:43
xem ra ở đây hầu hết đều dùng C#, vậy xem ra mình đã chọn đúng đường để mà ....lết!!!

nofear
28-03-2004, 00:31
VB hay C# đều được vì chả khác gì nhau. Tuy nhiên C# có một số features mà VB không support. Nếu ai đã master C++ hay Java rồi thì cứ học C# tội gì chuyển wa VB làm wái gì. Ai thích "đơn giản" thì chọn VB :D.

Cận
28-03-2004, 19:56
boy thấy học C# là đã nhứt, VB đúng nghĩa của nó ( chỉ là basic thôi ), code dài, lại rất mệt, nói chung ai học từ C mà lên thì học C#, còn từ pascal lên thì chọn VB.NET :)

daem0n
29-03-2004, 20:51
Pascal mà lên thì không ai chọn VB hết, người ta sẽ chọn Delphi.

uyhung
31-03-2004, 12:37
C# hay VB a !
VB.NET hay Dephi la cai quai gi !
Toi cuc ki ghet VB .Toi chang thich cu phap cua no,ro rang VB sinh ra mot loai ma rat kho quan li trong cac du an lon , no chi thich hop cho cac ung dung nho.
Cai hay duy nhat cua VB la thiet ke giao dien nhanh , nhung VisualC#.NET
dau kem gi .Mat khac VisualC#.NET thua huong cu phap cua C++ , thuan tuy huong doi tuong ,trong sang nhu Java ->ta co the lap trinh thoa mai voi phong cach mot ngon ngu cap cao , vua co the de dang ha cap xuong su dung pointer de tha ho quay pha he thong .Va hien nhien VisualC#.NET chay nhanh hon ,hieu qua hon VB nho thua huong nguyen ven cu phap linh dong, manh me cua tien boi C++.
Con Dephi ay a , toi cung chua ghet , chi nghe ten Pascan la toi da muon bo chay.
Voi cac ung dung tren Window ,ket hop VisualC#.NET voi MFC cua VisualC++ la tot nhat .Viet chu yeu bang VisualC#.NET, song nhung modunl can tinh toan lon va doi hoi toc do xu li nhanh nhat thi hay su dung C++ de xen vao(ha cap tu C#.NET xuong hoac su dung truc tiep ma C++).
Chay duoi dat thi hay ket hop C++ va VisualC#.NET , chay tren troi thi hay su dung JAVA.
Noi tom lai:TREN DOI NAY CHI CO BA NGUOI BAN HIEU TA : C++, JAVA VA VisualC#.NET.

uyhung
31-03-2004, 13:02
C# hay VB a !
VB.NET hay Dephi la cai quai gi !
Toi cuc ki ghet VB .Toi chang thich cu phap cua no,ro rang VB sinh ra mot loai ma rat kho quan li trong cac du an lon , no chi thich hop cho cac ung dung nho.
Cai hay duy nhat cua VB la thiet ke giao dien nhanh , nhung VisualC#.NET
dau kem gi .Mat khac VisualC#.NET thua huong cu phap cua C++ , thuan tuy huong doi tuong ,trong sang nhu Java ->ta co the lap trinh thoa mai voi phong cach mot ngon ngu cap cao , vua co the de dang ha cap xuong su dung pointer de tha ho quay pha he thong .Va hien nhien VisualC#.NET chay nhanh hon ,hieu qua hon VB nho thua huong nguyen ven cu phap linh dong, manh me cua tien boi C++.
Con Dephi ay a , toi cung chua ghet , chi nghe ten Pascan la toi da muon bo chay.
Voi cac ung dung tren Window ,ket hop VisualC#.NET voi MFC cua VisualC++ la tot nhat .Viet chu yeu bang VisualC#.NET, song nhung modunl can tinh toan lon va doi hoi toc do xu li nhanh nhat thi hay su dung C++ de xen vao(ha cap tu C#.NET xuong hoac su dung truc tiep ma C++).
Chay duoi dat thi hay ket hop C++ va VisualC#.NET , chay tren troi thi hay su dung JAVA.
Noi tom lai:TREN DOI NAY CHI CO BA NGUOI BAN HIEU TA : C++, JAVA VA VisualC#.NET.

--------------------------------------------------------------------------------
Được

daem0n
31-03-2004, 19:13
C# hay VB a !
VB.NET hay Dephi la cai quai gi !
Toi cuc ki ghet VB .Toi chang thich cu phap cua no,ro rang VB sinh ra mot loai ma rat kho quan li trong cac du an lon , no chi thich hop cho cac ung dung nho.
Cai hay duy nhat cua VB la thiet ke giao dien nhanh , nhung VisualC#.NET
dau kem gi .Mat khac VisualC#.NET thua huong cu phap cua C++ , thuan tuy huong doi tuong ,trong sang nhu Java ->ta co the lap trinh thoa mai voi phong cach mot ngon ngu cap cao , vua co the de dang ha cap xuong su dung pointer de tha ho quay pha he thong .Va hien nhien VisualC#.NET chay nhanh hon ,hieu qua hon VB nho thua huong nguyen ven cu phap linh dong, manh me cua tien boi C++.
Con Dephi ay a , toi cung chua ghet , chi nghe ten Pascan la toi da muon bo chay.
Voi cac ung dung tren Window ,ket hop VisualC#.NET voi MFC cua VisualC++ la tot nhat .Viet chu yeu bang VisualC#.NET, song nhung modunl can tinh toan lon va doi hoi toc do xu li nhanh nhat thi hay su dung C++ de xen vao(ha cap tu C#.NET xuong hoac su dung truc tiep ma C++).
Chay duoi dat thi hay ket hop C++ va VisualC#.NET , chay tren troi thi hay su dung JAVA.
Noi tom lai:TREN DOI NAY CHI CO BA NGUOI BAN HIEU TA : C++, JAVA VA VisualC#.NET.

--------------------------------------------------------------------------------
Được
hihihihihihihihi, chú này viết bài đọc mắc cười quá. Chú chắc là cực đoan lắm hả? Đầu óc thoáng một chút thì sẽ dễ sống hơn đó chú à.

KEM_WALL
31-03-2004, 19:55
bạn nghĩ rằng khi viết chương trình gồm module đơn giản = c# và module phức tạp = C++ thì tốc độ tăng lên ư ... hình như bạn nhầm, vì trong 1 project C#, ref tới 1 module COM (=c++) thì tốc độ kô những kô tăng lên mà còn giảm thậm tệ ...

nếu ưu tiên tốc độ thì tốt nhất nên viết hết = C++ (mà giờ đây, khi C# sắp ra bản framework 2.0 thì chưa biết chắc ah ..)

còn nếu ưu tiên việc dễ lập trình, vd kô đụng tới mấy cái mfc, thì bạn nên chọn c#. và nên hạn chế việc sử dụng ngôn ngữ chéo như thế. nếu nói viết = vb + C++ thì tốc độ có thể tăng lên, chứ .net thì ngược lại đó...

huongduong
31-03-2004, 19:57
Tui thì chọn VB.Net.Hì hì chỉ đơn giản là vì tui chưa được tiếp xúc tẹo nào với C#

KEM_WALL
31-03-2004, 20:05
ngôn ngữ VB.net cũng rất thích hợp cho ai mới biết lập trình vì rất gần với tiếng Anh.
nhưng tội 1 nỗi, viết hơi dài . cách viết của C tuyệt nhất, hơn hẳng vb và pascal

White Rose
01-04-2004, 00:55
Ý kiến riêng:
tớ thích và chọn sử dụng C#.

Quan điểm riêng:
Dùng ngôn ngữ nào mà chả được, miễn sao mục tiêu ban đầu đề ra được thoả mãn. Với khách hàng thì họ quan tâm gì đến cái nào nhanh hơn cái nào, cái nào dễ làm, khó làm... Học chỉ quan tâm là yêu cầu của mình có được thoả mãn hay không.

quaitieutu
01-04-2004, 02:40
post bài riêng : nhắc bạn uyhung lần một về việc post bài có dấu.bài của bạn có thể bị del nếu sau 3 ngày vẫn chưa edit lại ( Thông cảm nha: nội qui thôi ) Thân

uyhung
03-04-2004, 19:24
Toi chang biet VB co gi hay ho ma cac coder van su dung ?
Toi chi thich ba ngon ngu thuoc ho C la C++,JAVA va VisualC#.NET.
Co ai cho toi biet thu xem VB co gi so sanh duoc voi VisualC#.NET hay khong ?
Theo toi chang co li do gi ma chung ta phai dan do chon lua giua VB voi VisualC#.NET,cu the :
1.VisualC#.NET thua huong cu phap manh me ,linh dong cua tien boi C++vi the chac chan no co toc do thuc thi va hieu qua vuot troi VB.
2.VB sinh ra mot loai ma rat kho kiem soat duoc, dac biet trong cac project lon .Vi the VB chi danh cho cac chuong trinh nho.
3.Diem hay nhat cua VB do la thiet ke giao dien nhanh , nhung VisualC#.NET con vuot troi nho dung chung mot IDE trong .NET.
4.Voi VisualC#.NET , ta thoa mai ha cap de su dung pointer ma can thiep truc tiep tren he thong.
5.VisualC#.NET thuan tuy huong doi tuong , cu phap trong sang nhu JAVA.
6.VisualC#.NET dich thuc la ngon ngu danh cho cac coder chuyen nghiep.VB chi la ngon ngu tre con , hs cap 2 hoc van du suc.Neu ta chon VB chi vi no don gian thi toi nghi ta khong nen la mot coder, doi nghe di thoi.
Chay tren troi hay chon Java, chay duoi dat hay chon VisualC#.NET ket hop voi MFC cua VC++.

14all
03-04-2004, 21:14
Sao lại so sánh C# với VB; 1 cái .NET còn 1 cái cho Win32; Sao không so sánh giữa VB.NET và C# đi. Nếu nói cú pháp trong sáng thì phải là Pascal chứ không phải C :)
Ông "không biết VB có gì hay ho" thì đừng nên đưa ra tuyên ngôn như thế :(

daem0n
04-04-2004, 00:04
2.VB sinh ra mot loai ma rat kho kiem soat duoc, dac biet trong cac project lon .Vi the VB chi danh cho cac chuong trinh nho.
Theo ông thì chương trình ra sao là lớn mà chương trình nào là nhỏ? VB sinh ra mã rất khó kiểm soát là sao (tui không rành về mã mà trình chương trình dịch VB tạo ra nên không biết) nhưng VB.NET thì cũng dịch ra MSIL như C# thôi à. Thiết nghĩ nếu như ông chỉ đọc được những điều đó ở trong sách vở hay đâu đó thì cũng đừng tỏ vẻ là mình biết hết chứ! Ông có chắc hiểu hết điều mình nói hay không?

KEM_WALL
04-04-2004, 11:55
tui không còn xài vb nữa, vì .net ngon hơn. nhưng nghe giọng điệu của bạn tui không thể im lặng được. thứ nhất, quyền chọn ngôn ngữ là của user, không phải là của bạn. bạn không có quyền nói người này chọn ngôn ngữ này là pro, còn chọn ngôn ngữ kia là newbie !
theo cách nói của bạn thì bạn chọn C# và chê bai VB vì vb là ngôn ngữ "học sinh cấp 2 cũng học được". chẳng lẽ bạn học lập trình chỉ để khoe mẽ, để được mọi người gọi là programmer "pro" vì đã học được những ngôn ngữ "cao siêu" chứ không phải những ngôn ngữ popular như vb ?
tôi biết tôi không có quyền cấm bạn xài ngôn ngữ nào, và vì tôi cũng yêu thích C#. nhưng bạn nên nghĩ lại cách bạn chê bai 1 ngôn ngữ. cách bạn nói khác nào chê bai các coder vb, khác nào nói họ là "sử dụng ngôn ngữ trẻ con" ...
vài góp ý chân thành thôi ...

cuteboy_vn
04-04-2004, 12:34
chắc vì nhiều người nghĩ Visual "Basic" là basic đó mờ. điệu này bác bill nhà ta nên đổi tên cho vb thì có lý lắm nhỉ.
Nhưng thật tình mờ nói thì lúc trước tui cũng học vb.net. giờ mới học thêm c# và thấy nó rất hay, cấu trúc syntax đều rất ngắn gọn và hấp dẫn. thui thì cứ học cả hai cho xong. Theo trên thực tế cho thấy microsoft đầu tư vào C# nhìu hơn VB.net một chút ấy mà...

Robin the Champ
04-04-2004, 16:09
Khi phát triển .Net, ý tưởng của MS là cung cấp cho người dùng tùy chọn sử dụng ngôn ngữ khác nhau mà ko phải băn khoăn về tốc độ hay việc phải học cách sử dụng API mới.

C# va VB.Net đều chạy trên .Net framework nên nếu xét về tốc độ thì ko khác biệt. Bạn có thể "chế" ra một ngôn ngữ mới, miễn là nó ".Net compatible" là có thể sử dụng .Net framework được gòi ... Qua đó có thể thấy dùng ngôn ngữ này hay ngôn ngữ kia ko mang nhiều ý nghĩa trên .Net, điều quan trọng là bạn nắm chắc .Net framework, còn dùng ngôn ngữ khác nhau chỉ là: different ways to describe solution for the same problem ...

cuteboy_vn
06-04-2004, 10:22
thank you, chờ mãi cuối cũng cũng có một câu thật hay: different ways to describe solution for the same problem

jcoder
07-04-2004, 08:31
Toi da lap trinh duoc bon nam roi, truoc day toi lap trinh C++/JAVA nay toi dang kham pha VisualC#.NET va toi rat thich nngon ngu nay.Qua that ban uyhung noi hoi kho nghe, song cung rat dung voi quan diem cua toi.Qua that , toi dong y voi ban ay hoan toan, va toi cung tin chac VisualC#.NET SE BOP CHET VB.NET KHONG SOM THI MUON.Truoc day toi cung co da co lan thu tim hieu VB va thay ghet cu phap cua no ngay .
Qua that VB khong co gi ca ngoai tinh don gian.

cuteboy_vn
07-04-2004, 10:26
trùi! vb .net bị bóp chết ngắt thì hằng hà vô số lập trình viên phải đến hồi đi xin trợ cấp chánh phủ (chắc tính luôn phần tui!!!) hichic.
Theo mình biết thì một số chuyên gia cũng đã đánh giá vb .net rất cao. nếu bạn đã ghét VB như vậy thì giờ thử tìm hiểu VB .Net xem sao.có thể bạn sẽ thay đổi cách nhìn đó!!!

daem0n
07-04-2004, 11:20
Toi da lap trinh duoc bon nam roi, truoc day toi lap trinh C++/JAVA nay toi dang kham pha VisualC#.NET va toi rat thich nngon ngu nay.Qua that ban uyhung noi hoi kho nghe, song cung rat dung voi quan diem cua toi.Qua that , toi dong y voi ban ay hoan toan, va toi cung tin chac VisualC#.NET SE BOP CHET VB.NET KHONG SOM THI MUON.Truoc day toi cung co da co lan thu tim hieu VB va thay ghet cu phap cua no ngay .
Qua that VB khong co gi ca ngoai tinh don gian.
Phong cách viết và lời lẽ y hệt của uyhung! Thêm một cái giống nữa là gõ tiếng Việt không dấu! Không lẽ bạn có số năm kinh nghiệm lập trình nhiều như vậy mà lại gõ không được tiếng Việt ư? Vài lời thôi, tôi nghỉ nếu bạn thật sự là một lập trình viên (không lâu nhưng cũng đủ dài để bạn hiểu về công việc của mình) thì bạn sẽ không phát biểu "ẩu" như vậy. Bạn nói VB không làm được gì, vậy bạn đã dùng các ngôn ngữ khác làm được cái gì rồi? Bạn có thấy chương trình diệt trojan, boot yahoo, ... viết bằng VB chưa?

14all
07-04-2004, 18:55
"VisualC#.NET SE BOP CHET VB.NET KHONG SOM THI MUON..." :)
Không biết bạn căn cứ vào đâu mà nói thế chứ tôi thấy VB là ngôn ngữ do chính MS tạo ra và hỗ trợ nó rất mạnh. Một điểm dễ thấy là mọi VD trong bộ MSDN đều bằng VB.NET trước rồi mới đến C# :)

KEM_WALL
08-04-2004, 22:16
ha ha, nó ở trước vì chữ b trước chữ c thui muh , hi ha hi ha :lol:

KEM_WALL
08-04-2004, 22:18
có thể sau này C# sẽ có nhiều programer hơn. nhưng chưa chắc vb.net chết, vì khi nào không còn người mới học lập trình nữa thôi. vì họ thường chọn vb.net hơn. chỉ là cú pháp giống tiếng anh hơn ...

cuteboy_vn
09-04-2004, 13:04
microsoft đẻ ra vb.net mà để nó chít thì coi như microsoft chít luôn! Tui cũng muốn chờ xem ngày tàn của gã khổng lồ đó ra sao.

KegNet
09-04-2004, 21:44
Nhin chung thì đối với nhà lập trình chuyên nghiệp thì dùng ngôn ngữ nào cũng được cả , chủ yếu là giải pháp cho từng loại ngôn ngữ ,
Chăng hạn nói về tốc độ thì C# nhanh hơn 10% nhưng xét về khía cạnh giao diện thì vb nhỉnh hơn mọt tý , còn nếu viêt web thi nên chọn C#, Nói chung thì ngôn ngữ nào cũng giông nhau cả , vì vậy việc biêt một ngôn ngữ này sau khi đã học ngôn ngữ kia thì rât nhanh . theo mình thì nêu lập trình VB6 quen thì nên chon VB con nếu từ C++,java thì nên chọn C#
Ngôn ngữ chủ lực của mình là C#.

khongthemyeu
09-04-2004, 22:39
Thú vị thật, mấy anh lời qua tiếng lại dư quá.
Em thì chưa có kinh ngiệm lắm, song theo so thích của em thì em chỉ thích VC#.net, còn VB ấy à -em hổng thích đâu.

Violon
11-04-2004, 04:12
mình sẽ chọn cả 2 ngôn ngữ, vì dù sao thì biết cả 2 cũng hay. Mình đang học C# đấy, nhưng có lẽ trong tương lai cũng sẽ tìm hiểu thêm về Visual Basic.NET

KEM_WALL
11-04-2004, 04:28
Nhin chung thì đối với nhà lập trình chuyên nghiệp thì dùng ngôn ngữ nào cũng được cả , chủ yếu là giải pháp cho từng loại ngôn ngữ ,
Chăng hạn nói về tốc độ thì C# nhanh hơn 10% nhưng xét về khía cạnh giao diện thì vb nhỉnh hơn mọt tý , còn nếu viêt web thi nên chọn C#, Nói chung thì ngôn ngữ nào cũng giông nhau cả , vì vậy việc biêt một ngôn ngữ này sau khi đã học ngôn ngữ kia thì rât nhanh . theo mình thì nêu lập trình VB6 quen thì nên chon VB con nếu từ C++,java thì nên chọn C#
Ngôn ngữ chủ lực của mình là C#.

hic, nói bao nhiêu lần mọi người mới hiểu đây ... vb.net == C#. điểm khác biệt duy nhất là cái ngôn ngữ để viết chương trình thôi. ai bảo bạn C# nhanh hơn 10% ?!?!? rối thiết kế giao diện, ai nói bạn basic tốt hơn ?? cả 2 cái cùng là 1, m$ cho 2 ngôn ngữ viết thôi ... sad

cuteboy_vn
11-04-2004, 04:55
thôi thôi, xin các bác. đề tài này nói qua nói lại rốt cuộc cũng mỗi người một ý. vậy thôi cứ để vb.net là vb.net còn c# là c#. chỉ điểm khác nhau của chúng là hai ngôn ngữ khác nhau thui, còn những cái khác để mặc... hichic

White Rose
11-04-2004, 07:01
hic, nói bao nhiêu lần mọi người mới hiểu đây ... vb.net == C#. điểm khác biệt duy nhất là cái ngôn ngữ để viết chương trình thôi. ai bảo bạn C# nhanh hơn 10% ?!?!? rối thiết kế giao diện, ai nói bạn basic tốt hơn ?? cả 2 cái cùng là 1, m$ cho 2 ngôn ngữ viết thôi ... sad

:-) Bản thân 2 ngôn ngữ đã khác nhau thì làm sao mà == được :p

Code do C# dịch có phần nhanh hơn VB.NET (theo chủ quan) đơn giản vì nó thuộc họ ngôn ngữ C, họ ngôn ngữ có hiệu suất biên dịch tốt nhất trong các ngôn ngữ cấp cao tính đến thời điểm này. VB.NET cũng "vay mượn" một số cú pháp để "tăng tốc" như toán tử ++, --, +=, ...
C# có những lợi thế nhất định như được support các đặc tính mới (XML comment). Những thứ này không hề được build-in trong VB.NET hay trong các ngôn ngữ khác.
Dù sao thì cũng không nên quá "lăn tăn" về vấn đề ngôn ngữ. Lựa chọn ngôn ngữ nào bạn cảm thấy dễ nắm bắt nhất (nếu chả thấy cái nào dễ hơn thì theo tớ cứ C# mà táng :D). Nó sẽ làm được mọi thứ mà những ngôn ngữ khác làm được :-).

caigido
12-04-2004, 06:22
KegNet nhận xét rất chính xác, tùy vào mục đích mà chọn ngôn ngữ, không phải vì "chơi sang" mà Microsot đưa ra những ngôn ngữ ==, nếu viết web (ASP.NET) thì nên dùng c#, bởi ASP.NET được viết hoàn toàn bằng c# mà...etc.

White Rose
15-04-2004, 05:46
:D Cái này trích trong cuốn .NET e-Business Architecture


Language Choice
A great debate is currently raging over which .NET language to use on future development projects: Visual
C# .NET or Visual Basic .NET. This is an important question, but it does not have easy answers.
The decision of which language to use should be the result of carefully weighing development staff
strengths and weaknesses, along with current market trends. It is still too early in the life cycle of these
languages, and the .NET platform in general, to reach a substantive conclusion about which of these two
languages will dominate in the marketplace. However, the following thoughts provide insights which may
help with this decision.
Although the languages are named after C/C++ and Visual Basic, neither Visual C# .NET nor Visual
Basic .NET bears much resemblance to their predecessors. C# bears more resemblance to Java than it
does to C or C++. VB.NET has changed so much (primarily in order to support OOP concepts) that it
requires a significant shift in mindset for current Visual Basic programmers to make the transition. If VB
programmers make the assumption that VB.NET programs should be implemented similar to Visual Basic
6.0 programs, they will make serious programming errors.
Part of the popularity of Visual Basic 6.0 is its simplicity. Business managers have been able to put
together simple applications to meet their needs with little or no help from IT departments. Taking
advantage of the significant strides made with the release of VB.NET will require a fairly significant learning
curve. It is not certain that the business managers who used VB 6.0 so successfully will be able to use
VB.NET in a similar fashion.
There is a substantial base of VB programmers that need an upgrade path into the .NET world.
Conservative estimates state that there are over three million Visual Basic programmers today. If a
significant part of the VB world moves to VB.NET, there will be a large base of support for VB.NET
programming, regardless of its stature as a language.
Microsoft has used Visual C# .NET as their programming language of choice for constructing parts of
the .NET infrastructure. The C# compiler is likely better optimized because of the heavy focus on this new
language at Microsoft. However, consider that C and C++ were used to write most of the existing
Windows infrastructure and programs, yet VB became the language of choice for business applications,
not C or C++. Growing acceptance at Redmond, however, makes the future of the C# language more
certain.
There are a few advanced functions in C# that are not available in VB.NET. Operator overloading,
unsigned integers, and XML documentation support are a few of the more notable. Although these
features may be released in a future version of VB.NET, they are three examples of functionality that C#
provides today that VB.NET does not.
Tip: Regardless of the language in which we decide to implement our .NET applications, becoming a .NET
developer should be our goal. A ".NET developer" will focus heavily on mastering the .NET Framework base
classes, and will thus be able to jump from Visual Basic .NET to Visual C# .NET and back with little difficulty.
Much of the challenge in coming up to speed on .NET is learning how to effectively apply the wide variety of
functionality found in the base classes. Proficiency with the .NET platform as a whole is often times more
valuable to companies and projects than focusing deeply on a single .NET language.

uyhung
15-04-2004, 18:27
Oh, các bạn phản ứng với mình dữ quá !
Thôi thì cho tôi gửi lời xin lỗi các VB coder ha . Chả là ngay từ khi làm quen với VB lần đầu tiên tôi đã thấy "dị ứng " với nó ngay (cả Pascanl hay Dephi gì đó nữa), cho nên tôi nói hơi quá lời đấy thôi .
Nhưng, nói gì thì nói, tôi vẫn nhất quán một quan điểm : bộ ba VC ++ MFC ,JAVA, VisualC#.NET là sự lựa chọn xuyên suốt

cuteboy_vn
20-04-2004, 10:08
"sáng suốt" you mean?
btw, microsoft đã có nói ~ features có trong C# mà ko có trong VB.net sẽ được bổ sung vào version kế tiếp của VB.net

FrzzMan
27-04-2004, 00:24
Tui dùng C#.NET đơn giản là tui không muốn lộn xộn với PHP, không rõ VB.NET có gì hay hơn so với VB6, nhưng cùng khai thác .NET Framework thì chắc cũng như nhau cả thôi...

LinhDanhThue
28-04-2004, 15:41
Tui thấy cái nào tui chơi cũng được cả !
Tuy vậy, tui cũng là thành viên ko thể thiếu của lữ đoàn C#, tuy nhiên vì là lính dánh thuê nên có lúc phải qua mặt trận VB.Net nhưng ở mặt trận nay tôi chiến đấu ko máu lửa như ở C#

Chính vì vậy, tui đi đến quyết định là nếu là lính đánh thuê chuyên nghiệp thì nên chọn C#. Nếu ai có thắt mắt xin reply cho tôi

--------------------------------------------------
Cuộc chiến VB.Net >< C# đang di vào hồi kết
C# luôn đi trước một bước

Nhận đánh thuê theo nhu cầu trên tất cả các mặt trận

dtt_vn
11-05-2004, 02:30
Vb.Net cũng giống như C# thôi. Có điều bạn hãy coi chừng bộ thông dịch của thằng VB.Net Theo tôi biết thì C# biên dịch trực tiếp (như C++) Nhưng có sử dụng .Net FW. Còn VB thì thông dịch. Suốt đời công nhân vẫn chỉ là công nhân. Nếu có so sánh, bạn sẽ thấy hệ thống chạy chậm rõ khi chạy kiểm chứng CT có cùng tính năng nhưng viết bằng VB.Net và C#. Hãy thử đi.

Có bạn chi rằng không thích lộn xộn với PHP. Có lẽ đúng. Nhưng mà, PHP có cú pháp tương tự như C, bạn chỉ cần tìm một quyển sách liệt kê các hàm là xong. Hãy thử so sánh giá Host của .Net và PHP :D Một trời một vực

Làm cái gì chỉ nên chọn một thôi. Đừng có tham quá, quen tật, sau này khó quen con gái lắm đấy. Lúc trước tôi cũng có hứng với VB, nhưng bây giờ đã chuyển sang C# và thề là không bao giờ viết Web = ASP và JSP (Only PHP) :D

White Rose
21-05-2004, 17:36
Vb.Net cũng giống như C# thôi. Có điều bạn hãy coi chừng bộ thông dịch của thằng VB.Net Theo tôi biết thì C# biên dịch trực tiếp (như C++) Nhưng có sử dụng .Net FW. Còn VB thì thông dịch. Suốt đời công nhân vẫn chỉ là công nhân. Nếu có so sánh, bạn sẽ thấy hệ thống chạy chậm rõ khi chạy kiểm chứng CT có cùng tính năng nhưng viết bằng VB.Net và C#. Hãy thử đi.

Có một chút ý kiến là VB.NET, C#.NET, C++.NET đều biên dịch chứ chả có thằng nào thông dịch cả. Các chương trình biên dịch = C#.NET và C++.NET có hiệu suất nhỉnh hơn là do optimize của compiler và kiến trúc của language giúp compile tốt.


Có bạn chi rằng không thích lộn xộn với PHP. Có lẽ đúng. Nhưng mà, PHP có cú pháp tương tự như C, bạn chỉ cần tìm một quyển sách liệt kê các hàm là xong. Hãy thử so sánh giá Host của .Net và PHP :D Một trời một vực
Host .NET cũng có rất nhiều host rẻ không thu kém gì host dành cho PHP (tớ biết ít nhất 2 chỗ <1$/month với cấu hình thừa dùng: 50MB-100MB, 2GB-5GB...). Hơn nữa .NET Framework là miễn phí (chỉ có Windows server mới phải chịu phí licence)
Hiện dự án Mono do Novell tài trợ cũng đang phát triển rất tốt. Xem thêm một bài viết của tớ ở đây về cái này:

http://geneticforum.net/forums/thread.php?threadid=5608

-> Trong tương lai gần ưu thế chạy trên Unix/Linux platform của PHP sẽ không còn.

14all
23-05-2004, 23:56
Bạn dtt_vn nhầm rồi. Cả VB.NET và C# đều biên dịch nhưng là quá trình dịch trong khi chạy (Just In Time - JIT), chính vì vậy nên khi lần đầu nạp chương trình vào bộ nhớ sẽ chậm hơn các ứng dụng dịch trực tiếp ra mã máy trước đây, sau đó thì nhanh tương tự như cache đĩa vậy thôi. Bạn hiểu đặc thù của .NET framework thì sẽ thấy rõ vấn đề này.
Bạn chuyển sang C# và "thề là không bao giờ viết Web = ASP và JSP (Only PHP)" theo tôi là hơi cực đoan vì tổng công trình sư của C# khi trả lời phỏng vấn rằng cái ông tâm đắc nhất trong công nghệ .NET là gì thì bạn có biết Anders trả lời thế nào không: ASP.NET :)

KEM_WALL
24-05-2004, 20:59
wá cực đoan luôn chứ lị, không xài asp thì nghe còn có lý, chứ JSP mà không xài ah ...

chẳng lẽ neo viết web không xài mấy cái rich edit huh ? mà theo walls biết hiện giờ tất cả rich edit for web đều xài jsp

White Rose
25-05-2004, 08:03
chẳng lẽ neo viết web không xài mấy cái rich edit huh ? mà theo walls biết hiện giờ tất cả rich edit for web đều xài jsp
http://www.google.com/search?hl=en&ie=UTF-8&q=rich+text+editor+.NET

KEM_WALL
15-06-2004, 23:59
mấy cái anh search chẳng phải đang dùng jsp hết hay sao ? em đâu có nói gì không phải .

White Rose
19-06-2004, 13:49
mấy cái anh search chẳng phải đang dùng jsp hết hay sao ? em đâu có nói gì không phải .
jsp stand by "Java Server Page", not "JavaScript" (js).

nofear
20-06-2004, 04:54
ặc ặc JSP = Java Server Page technology, là một công nghệ server-side của Sun giống ASP.NET. Có khá nhiều người nhầm JSP với Javascript (js), kể cũng lạ, Java coi bộ không được developer trên DDTH.com ưa chuộng lắm thì phải. Xin lưu ý các bạn là hiện nay các công ty phần mềm tư nhân và nước ngoài tại VN có xu hướng sử dụng Open source để giảm chi phí phần mềm (ngoại trừ thằng nhà nước VDC thì chưa thấy gì cả). hiện tại thì hai cty phần mềm lớn ở TPHCM là PSV và TMA đang có khá nhiều dự án về Java J2EE, còn các dự án .NET thì... tắc; ở PSV các .NET developers chuyển sang làm: QC (quality controller) hoặc QA (quality assurance) <== ặc ặc cơn ác mộng. Theo mình thì trong tương lai cộng đồng Java sẽ phát triển mạnh hơn tại VN (vì là OS mà ==> chiến lược của Bộ CNTT Việt Nam).

KEM_WALL
20-06-2004, 06:52
ah, vậy walls nhầm, cám ơn nhắc nhở nghen :d

aspnet
27-06-2004, 15:22
Mọi người cứ tranh cãi nhau vậy chắc cũng chẳng có hồi kết thúc đâu...

Tóm lại bác nào quen VB.NET thì dùng, bác nào quen C# thì dùng...C# hay VB.NET rốt cục lại đều có thể viết ASP.NET ngon cả, vấn đề mọi người chỉ muốn nói là cú pháp C# ngắn gọn hơn VB.NET???

Vậy bạn cứ siêu VB.NET đi rồi khi đó bạn sẽ thấy viết code VB.NET cũng rất là nhanh, chứ ko giỏi thì dùng C# viết vẫn chậm.

phapbk
27-06-2004, 23:58
Mong duoc cac su phu ve Net chi giao cho minh . Cam on rat nhieu . co gi lien he mail cho minh ,minh cam on nhieu . tttquan@yahoo.com

KEM_WALL
26-10-2004, 15:02
đề tài này bàn cãi nhiều gòi, sao kô để nó đi vào dzĩ vãng nhỉ :D
thiệt ra C# và vb.net chỉ là thói quen người dùng thôi. chắc close thread hen mod :D

daem0n
28-10-2004, 23:00
Close sao được mà close? Sao mọi người không đưa Managed Extension C++ vào thảo luận luôn? Đó cũng là 1 language của .NET mà.

azzu
01-11-2004, 12:06
C# theo mình thì nó rõ ràng hơn là viết bằng vb.net. Còn vb.net thì đôi khi lại ngắn gọn hơn. Hơn nữa vb.net không phân biệt hoa thương nên dễ hơn nếu ai quen làm Vb.
Dù sao mình cũng thích C# hơn

tranvu
02-11-2004, 19:31
VB.NET sao mà ngắn gọn hơn C# được,tuy C# phân biệt chữ hoa, thường nhưng viết C# ngắn hơn nhiều

KEM_WALL
03-11-2004, 17:14
và vì viết phân biệt hoa thường nên việc đặt tên biến còn rất dễ dàng (theo walls, còn có thể khác đối với người khác)
vd : đặt tên biến giống tên class đối với những object chỉ dùng tạm trong func. lúc đó bạn rất dễ dàng nhận được type của object

File file = new File();
return file.Exits("sadas.asdas");

tranvu
03-11-2004, 17:41
Với lại khi kết thúc môt hàm,class hay câu lệnh VB thì phải sử dụng end dài dòng thay vì {} như trong C# quá gọn phải không ,
bởi vậy C# được chọn nhiều hơn rồi.

tinhthl
07-11-2004, 07:24
tui thì chọn cả 2, nhưng mà tui thích C# hơn.

daem0n
07-11-2004, 11:05
Tóm lại là tùy sở thích và sở trường của từng người thôi bạn à.

xxx2007
16-11-2004, 19:49
C # và VB.net là 2 anh em cùng cha mà là gì có chuyện ai bóp chết ai !!! mà chỉ có giúp đở với nhau thôi !!!!

PhuongDLL
24-11-2004, 19:33
Theo ý riêng của cá nhân tôi thì cả hai ngôn ngữ đều tốt .
Chúng ta không nên so sánh giữa các ngôn ngữ với nhau , bởi vì ngôn ngữ đó có mạnh hay không phụ thuộc chính yếu vào khả năng tư duy , khả năng vận dụng của LTV .
Ngôn ngữ chỉ là công cụ mà thôi , còn việc sử dụng công cụ nào là do LTV quyết định, miễn sao "Biết Sử Dụng & Vận Dụng Các Tính Năng" của các công cụ để đạt kết quả là được.
Chút lời góp ý ! Mong các bạn bỏ qua.

kajanitsu
28-11-2004, 18:51
Tui cung the, chi moi nghe noi den C# thoi, chu thuc su chua bao gio nhin thay no, co le vi dung VC++ qua quen rui. Cho hoi chut nghe (dung che do), C# co hay khong, va no dung de lam gi vay?
Kajanitsu

KEM_WALL
30-11-2004, 18:08
http://www.diendantinhoc.com/showthread.htm?p=347835&posted=1#post347835

hãy đọc bài so sánh này đi

BigBug
03-12-2004, 17:30
tớ thấy thay vì công kích nhau, mọi người hãy nên ưu khuyết điểm của từng ngôn ngữ đi. Cái này có cái khó là không phải ai cũng rành cả 2 ngôn ngữ nhưng nó giúp những ai chưa học có thể chọn ngôn ngữ thích hợp với mình.
Tớ đồng ý với uyhung và tranvu <avatar giống nhau thế không biết>. Tớ thích java,C#.
1) Đối với những ai quen với khái niệm khối lệnh thì C# là 1 sự lựa chọn tất nhiên. Bên VB.Net không có khái niệm này. Các khối lệnh cho từng cấu trúc lệnh khác nhau (end if, end for....)
2) Đối với những ai thích sử dụng nhanh các toán tử tăng giảm thì C# ưu điểm hơn. Viết i++ thích hơn Inc i nhiều (thường dùng trong lệnh for)
3) Đối với những ai thích kết thúc lệnh bằng 1 dấu ; thì nên chọn C# hơn. VB.Net không có dấu kết thúc command.
4) Đối với những ai thích tên biến phân biệt hoa thường rõ ràng thì nên chọn C#. Với VB.Net thì tên biến không phân biệt. Sự dễ dãi đó gây khó khăn rất nhiều cho những người viết VB chuyển qua C#.
5) Đối với những ai không thích Studio can thiệp vào quá trình viết code của mình quá nhiều thì nên chọn C#. Visual Studio can thiệp rất nhiều vào cách viết code (auto check) nên BB thấy rất khó chịu.
....có thể còn nữa :D

KEM_WALL
05-12-2004, 08:52
ủa, walls viết 1 bài phân tích gòi, không chịu đọc còn nói gì nữa ... thấy cái link trên kia không (ông sói không chịu sửa ngày update lại gì hết áh...) :)
walls cũng không hề phê phán bất cứ ngôn ngữ nào nhá, và thấy thread này cũng bình thường, chẳng ai công kích ai ah ...

PS: còn về cái so sánh bạn nêu ... thà không so sánh còn hơn ...:)

chimnon
10-12-2004, 16:48
Mình tự học để lập trình, con đường đi của mình là: Foxbase -> FoxPro -> Visual FoxPro -> VB6 -> VB.NET. Trên con đường đó mình thích nhất là VB.NET. Mình nghe nói nhiều về C, C++, C#.NET nhưng chưa có điều kiện để học. Tương lai mình sẽ tìm hiểu thêm về C#.NET và ASP.NET và cũng có thể sử dụng C#.NET và ASP.NET làm chủ lực sau này.
Theo mình nghĩ thì nếu bạn rất thích và rất rành C#.NET thì không cần quan tâm đến VB.NET nữa vì theo mình nghĩ (vì mình chưa xài C#.NET bao giờ) C#.NET chỉ có thể là = hoặc hơn VB.NET chứ không thể thua được. Nhưng VB.NET cũng rất tuyệt không có gì phải chê trách cả (nếu ai viết quen VB.NET rồi chuyển sang C#.NET thì hơi khó chịu và ngược lại)

bis
10-12-2004, 22:33
C# theo tui nó có gì đó hơn hẳn VB.net ..với cách viết mình có thể nhìn thẳng ngay được các cái lớp..còn VB nhìn vào thấy toàn chữ chẳng biết kết thúc ở đâu mà băt đàu từ đâu..hoa cả mắt. OOP của C# vẫn triệt để hơn VB.net ..VB ngôn ngữ gần như là nói sao viết thê (vd : if.. then, dim vidu as interger ) và đacj biết bắt người code viết nhiều. mặc dù cũng như thế nhưng c# 1 dòng vài chữ ..VB dài dòng quá..hihhi túm lại là c# thấy sướng hơn Vb..mặc dù cái nào mà chẳng như nhau giống như java với c# dzây đó

ptduong
11-12-2004, 10:17
Theo minh .NET la ca mot thay doi lon ve cong nghe so voi truoc day. No nham giam bot cong viec cho nguoi lap trinh.
Voi nen .NET Framework lap trinh vien co the lap trinh theo ngon ngu ma minh thuong lam chang han theo cach Java, C++, hay Delphi hay mot ngon ngu moi do minh thich tu tao ra. Minh co doc la tat ca no deu phai thong qua cai goi la IL(intermidiate language) theo MSDN. Chinh vi vay mot Project mot ban co the lap trinh bang C#, ban kia lam bang VB.Net hay bang bat ky ngon ngu nao roi dich theo IL (trong MSDN co noi). Sau do ket hop lai thanh mot Project hoan chinh.
Chinh vi the moi co tai sao NET lai duoc Decompile(dich nguoc tro lai code) de vay.

Con tai sao lai C#, vi nhung nguoi moi lap trinh co the hoc rat nhanh don gian va tuong minh.

Theo minh .NET la ca mot thay doi lon ve cong nghe so voi truoc day. No nham giam bot cong viec cho nguoi lap trinh.
Voi nen .NET Framework lap trinh vien co the lap trinh theo ngon ngu ma minh thuong lam chang han theo cach Java, C++, hay Delphi hay mot ngon ngu moi do minh thich tu tao ra. Minh co doc la tat ca no deu phai thong qua cai goi la IL(intermidiate language) theo MSDN. Chinh vi vay mot Project mot ban co the lap trinh bang C#, ban kia lam bang VB.Net hay bang bat ky ngon ngu nao roi dich theo IL (trong MSDN co noi). Sau do ket hop lai thanh mot Project hoan chinh.
Chinh vi the moi co tai sao NET lai duoc Decompile(dich nguoc tro lai code) de vay.

Con tai sao lai C#, vi nhung nguoi moi lap trinh co the hoc rat nhanh don gian va tuong minh.

tnHuAn
14-12-2004, 21:32
Uy Hung: tui thấy you có vẻ coi thường Delphi...
Nhưng tui nói cho you biết : Delphi thật ra ko kém như VB6 đâu, mà thật chắc nó là 1 sản phẩm rất hay của Borland. Nếu you có rãnh thì coi thêm đi rồi hãy phát biểu
Borland làm trình biên dịch từ trước tới giờ, ko có cái nào mà ko tốt cả...
Vài lời nói, mong mọi người coi qua..
THanks

KEM_WALL
17-12-2004, 21:36
không ai coi thường delphi, nó là 1 ngôn ngữ rất hay đó chứ. nhưng tại box .net mà bạn bắt người ta bàn về delphi thì hình như hơi vô lý :D....

to ptduong: đừng nghĩ là có thể decompile dễ vậy nhá, tại không muốn đề phòng thui, thiếu gì chương trình chống dịch ngược, ngay cả bạn cũng có thể viết 1 cái chơi
to bis: bề ngoài thì C# hơn vb.net (thực ra là do cái họ language C nó ưu việt :D), nhưng nếu bạn đọc kĩ bảng so sánh của walls, bạn sẽ thấy, vb.net chẳng kém cạnh mấy đâu, mà còn có khi hơn nữa là ...

ich_liebe_dich
13-01-2005, 00:53
tôi thì học cả hai , cái nào cũng hay cả. Nếu ko thì MS tạo ra làm gì ?

ich_liebe_dich
13-01-2005, 10:10
các bạn nghĩ sao về C#và VC++ ? Với việc dùng Directx thì cái nào tiện lợi và mạnh hơn ?

tranvu
23-01-2005, 13:17
Đương nhiên là VC++ rùi.C# cũng được nhưng hơi khó.

strike
25-01-2005, 13:45
Tôi chọn C# thôi. Tuy lúc đầu hơi khó học nhưng về sau dùng rất tuyệt và đặc biệt là code sáng sủa.
Tuy nhiên C# vướng phải một điểu rất củ chuối là .Net FrameWork to tổ chảng. Thật là không tiện lợi chút nào nếu muốn phát triển phần mềm Desktop với C#. Chính vì vậy tôi chủ yếu dùng C# để phát triển các ứng dụng web chạy trên server (kể cả website). Còn Client thì dung Delphi là ổn nhất :cool:
Còn VB và VB.Net thì tôi cũng đã một thời gắn bó nhưng giờ đành chia tay thôi, không thể chịu nổi cái cách Coding của nó hic hic Begin với End, quit đi cho rảnh nợ.

KEM_WALL
25-01-2005, 16:42
hì hì :), bạn đừng nghĩ C# vướng cái .net framework
thứ nhất: tất cả mọi .net languages đều "vướng"
thứ 2, các bản windows sau này, sẽ cài mặc định .net framework. giống như VB6 runtimes hồi đó đấy, chạy trên win 95 thì cần chép .dll, nhưng sang mấy cái win như 2000, xp, thì nó cài sẵn gòi

còn về vb. walls sẵn sàng xài nó nếu nó có lợi, không quan trọng cách coding của nó :D. thực tế dẫn chứng luôn, đa số mọi thứ walls viết bằng C#, nhưng khi xài PIAs thì walls lại dùng vb.net. khi viết card send cho bạn, thì lại dùng vb
mỗi thứ có cái lợi riêng của nó, dù rằng có sự chênh lệnh

gib252
11-02-2005, 10:03
Có ai để ý tới cái F# không? Microsoft đang phát triển nó. Chắc hẳn nó phải có cái gì hơn hẳn VB.NET và C#.

daem0n
11-02-2005, 22:39
Hơn hẳn thì chắc chắn là không rồi, vì nếu thực sự như vậy thì MS bỏ quách cái VB.NET, C#, VC++ rồi.

KEM_WALL
22-02-2005, 19:45
nó không hơn hẳn C#, vb.net được :D, vì cùng xài IL mà
nó chỉ là 1 hướng thêm của M$ để hút người xài .net framework

apthap
23-02-2005, 10:14
Tui xem được VB.NET rồi nghe lời xúi giục cua bạn bè nên bây giờ lại chuyển sang C#. Hơn nữa , theo tui biết các code để mình tham khảo toàn cho của C# không thôi a`.

miss_you_hanoi
14-10-2005, 01:29
Visual Basic.NET cũng được nhưng code hơi dài dòng! C# ngắn gọn, súc tích, dễ nhìn, mạch lạc! Không phải tự nhiên C# được nhiều người theo học hơn VB.NET

gianhut
15-10-2005, 18:42
theo mình nghĩ thì ta ko cần so sánh gì về tốc độ của cả 2 ngôn ngữ, vì lên đến nền .NET thì tất cả để được compile ra và chạy trên Framework và dĩ nhiên thì mỗi ngôn ngữ có 1 thế mạnh riêng. PHân biệt chủ yếu ở đây là cách viết code của ngôn ngữ đó thôi. Nếu ai là dân Pascal thì có thể lên Delphi.NET (delphi 8 trở lên chạy trên .NET) và VB.NET. Còn ai là dân C, C++ thì có xu hướng sử dụng C# nhiều hơn.
Còn mình thì hồi bé ti tí học C đầu tiên, rồi đc thầy hướng lên VB (tại ko đủ trình độ học VC++ hehehe). Lên đến .NET thì mình trở về tủi thơ với cấu trúc C#. hehehehe

minhpippi
15-10-2005, 23:29
Tôi cũng sử dụng C# khi bắt đầu ngâm cứu .NET. Ban đầu là bởi vì thích ngôn ngữ "kiểu C++" thôi, tôi ko thích ngôn ngữ Basic, nhìn ko thoáng. Nhưng sau mới thấy là mình đã chọn đúng. C# rất chặt chẽ, hướng đối tượng đầy đủ.

malefly
24-10-2005, 23:08
http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.dotnet.framework. aspnet&tid=fc46bc3c-7289-4382-8136-4b77bc024337

Csharp_TN
25-10-2005, 00:55
Tôi cũng thích C# nhưng mà quả thực VB.NET code samples nhiều hơn C# và dễ tìm hơn , nhiều lúc phải mất công Convert thiệt mệt wa'

hennynguyen
29-12-2005, 04:53
Mấy cha nội này khùng quá, khen cái này chê bai thậm tệ cái kia, chưa chắc đã rành cài mình khen mà đã vội chê cái kia.
Tức quá tui đi hỏi thầy tui (tiến sĩ đó nhe), thì ổng trả lời như sau, 4 ngôn ngữ C#, visual C++, JAVA, VB.NET, đều mạnh ngang nhau, tùy vào đặc thù công việc, sở thích từng người mà chọn. Chẳng có ông nào điên đi lấy VC++, C#, JAVA mà đi lập trình cơ sở dữ liệu (mặc dù được), hoặc lấy VB.NET lập trình game , network . . .

shinichikudo0686
29-12-2005, 21:42
Mình cũng sử dụng C#, đúng là C# có nhiều ưu điểm mạnh hơn VB nhiều. Nhưng nói gì thì nói, vấn đề ngôn ngữ không phải là chuyện quan trọng. Một lập trình viên chuyên nghiệp không quan trọng ở chỗ sử dụng ngôn ngữ nào mà ở chỗ ý tưởng.

G-Style
07-02-2006, 15:14
sao không có VC++, theo thiển ý của tui nó mạnh nhất mới đúng. Tui vẫn trung thành với VC++, mặc xác C# đi.

p4r4n0l4
07-02-2006, 19:12
VB.NET và C# khác nhau không nhiều lắm do đều base trên .NET framework, tôi có đọc trong một cuốn sách, bảo rằng chỉ khác nhau khoảng 5%. Nói chung thì hầu hết những vấn đề tôi gặp phải có thể giải quyết bằng VB.NET hoặc C# bằng những cách chính quy hoặc là thủ thuật. Chỉ có những vấn đề nào động chạm sâu quá đến OS mới phải dùng C++.

tuhack
08-02-2006, 15:47
Thế thì học C sharp hay Java đây ?
Học C#, còn phải hỏi

harzix
08-02-2006, 19:04
To @tuhack:
Học C# còn phải hỏi


Nếu dùng Java viết Server, client dùng .NET thì tuyệt. Học thêm Java thì có nhiều chỗ dùng lắm đó.

.NET hay Java - chọn cái nào hảh???
Mình có thể gợi ý vài cái cho bạn:

- .NET lựa chọn tối ưu nhất khi bạn viết Windows Application: code rỏ ràng, thiết kế UI dễ dàng - đẹp, ...

- Web Application: sử dụng quá tuyệt .NET vì quá dễ và tiện lợi, nhưng khi move wa HĐH *NIX thì phải xem lại.
Java thường đựoc mấy cty outsource sử dụng nhiều nhất (vì được ycầu hay gì gì đó...), thích hợp cho các họ *NIX,các cty nhà nước (giàu mà lỵ!!!).
Nếu ai có ý định dùng Java mà viết ứng dụng giống JBuilder thì chắc tài lắm.
Java thích hợp nhất là để viết Server (vd Oracle, ...) vì nó chạy ở đâu cũng được và không cần giao diện (hoặc đơn giản), .NET thì thua (Mono hả? vứt!).
Nói túm lại nếu ai "prồ" thì dùng Java viết Web Application là tuyệt cú mèo, .NET viết Windows Application là khỏi chê, PC Games thì C++/DirectX là khỏi phải bàn!!! ...
- .NET và Java - không cái nào mạnh hơn cái nào mà phải tùy hoàn cảnh mà sử dụng - người ta yêu cầu Java mà viết .NET sao được!!!

Tóm lại, nghiên cứu cả hai cái .NET và Java (giống nhau cả!!!), cái này chết thì còn cái kia!!!

codingman
21-02-2006, 10:56
Theo tui, dùng C# hay VB còn tùy thuộc vào kiến thức sẵn có của từng người nữa. Nếu ai đã có sẵn nền tảng VB rồi thì nên tiếp tục theo đuổi nó, với C# cũng vậy. Còn nếu ai chưa biết cả hai thì tui nghĩ nên chọn C# là hơn. Vì nếu chúng ta lập trình với C thành thạo, chúng ta cũng có thể lập trình tốt với Java, và một số ngôn ngữ khác vì cấu trúc lệnh của chúng na ná như nhau.

xxx2007
06-04-2006, 02:12
Thương nhau trái ấu cũng tròn, Ghét nhau trái bầu hòn cũng méo ....hix hix

phong_robin
06-04-2006, 12:19
C# và VB.NET cùng là thành viên trong gia đình .NET nhưng hiện tại vẫn đang choảng nhau :D
Nhiều người chọn C# hơn bởi vì đa số dân IT Việt Nam thích các ngôn ngữ họ C

dlhungcuong
15-04-2006, 20:38
minh thấy cái nào cũng khó cả ai có kinh nghiệm chỉ mình với.

nguoivodanh1003
18-04-2006, 12:42
Tui thì thích C# hơn nhưng tui vẫn đọc VB tốt, nên biết cả 2 vì đôi khi cần tìm source tham khảo chỉ biết 1 cái thôi, ví dụ chỉ biết C# nhưng tìm thấy source VB, phải biết VB để dùng lại code, mấy chương trình tranfer chỉ chuyển được 50% thôi phần còn lại là do mình. Tốt nhất giỏi 1 ngôn ngữ, các ngôn ngữ khác nên dùng được như vậy kô sợ chết. :D

nta05vn
05-05-2006, 13:58
Thực ra thì C# và VB.Net là như nhau (Bởi bác Microsoft tạo ra VB.Net từ C# để cho VB hướng đối tương hơn mà) nên học 1 trong 2 cái là như nhau mà thôi

Nhưng thực ra thì C# phổ dụng hơn VB.Net vì C# có cấu trúc giống với C++ và Java. Nên việc nhiều người thích dung C# là phải thôi. (
(Tôi cũng thích dùng C# à!!)

Tienlbhoc
09-09-2007, 19:00
Đúng thế, vb = c#, khác nhau câu lệnh thôi, c# gọn hơn vb mạch lạc hơn, nhưng nên chọn c# vì số người học nhiều, thắc mắc chỗ nào dễ bề hỏi han

TuanDHCN
10-09-2007, 17:05
Tôi đã viết ứng dụng trên WIN32 framework với ngôn ngữ VB6 và sau đó chuyển sang DELPHI (tôi không muốn nói tại sao tôi không dùng VB6 là chính mặc dù nó đã từng là cần câu cơm của tôi). Với .NET tôi quyết định dùng C#. Với tôi, C# nó dễ học, ngôn ngữ linh hoạt, code ngắn và nhanh (nếu bạn coding từ VS2005 trở lên, so sánh C# và VB.NET sẽ thấy sự đầu tư của MS cho hai ngôn ngữ này là khác nhau),.... Tôi chọn C# làm ngôn ngữ "chiến lược" vì tôi tin về sự "hưng thịnh" của nó trong tương lai gần.

Thêm nữa, Anders Hejlsberg là kỹ sư trưởng của Turbo Pascal, Delphi của Borland sau này sang Microsoft là kỹ sư trưởng của Java,phát triển MFC, C#, là người trong nhóm phát triển chính .NET framework. C# là ngôn ngữ mới được phát triển chính bởi Anders Hejlsberg, chắc chắn ông đã có những đúc kết những tinh túy trừ DELPHI,JAVA,C++ vào C#!

Ngôn ngữ nào cũng làm ra sản phẩm cho bạn, nhưng hãy nghĩ đến sự yêu thích của bạn về ngôn ngữ (ở góc độ nào đó nó như một thứ tôn giáo) và xem tính hiệu quả của nó!

phamhungit
12-09-2007, 22:50
cac ban oi,minh dang rat can tai lieu ve lap trinh huong doi tuong bang VB.Net, ban nao co co the chia se duoc k,cam on cac ban

phuonglydesign
18-09-2007, 23:02
Mình đang phân vân chưa biết nên theo cái nào.
Bây giờ thì khoái C# rồi :D

Hudsen
20-09-2007, 10:18
đây là sự so sánh giữa JAVA và .NET:
http://en.wikipedia.org/wiki/Comparison_of_the_Java_and_.NET_platforms
http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

Đọc xong thấy C# đỉnh hơn chút xíu nhưng cũng như mấy anh nói, quan trọng là mình yêu thích cái nào và tùy trường hợp mà sử dụng.
(Cá nhân em chọn cả 2 ^^)

tuongtieudan
22-09-2007, 23:51
Microsoft Sinh ra C# để phục vụ .net mà học C#. C# sẽ đc up date liên tục từ
MS

hongthang1110
23-09-2007, 19:35
Mình thì thấy VB.Net và C# giống nhau tới 90% , cùng trên nền .NET Frameword mà. Nhưng mình thích C# hơn vì mình đã từng học C++ và C# thì phát triển của C++ mà.

lanistk
05-10-2007, 07:29
Tui thấy chọn VB.Net hay C# đều được cả ,tùy mọi người thôi. Nếu bạn đã có căn bản về C/C++ thì C# là lựa chọn tốt nhất,nếu bạn có căn bản về VB thì nên chọn VB.Net(riêng tui chọn C# vì tui thích ngôn ngữ họ C ^^)

Kỳ Nam
21-10-2007, 13:20
Nếu bạn mới bắt đầu lập trình ( tớ chưa từng dùng ngôn ngữ nào khác Pascal cho tới khi dùng .NET )

1/ về feature ( cho tới VS 2008 ) C#3 và VB9 gần giống nhau , trừ 2 điểm khác nhau dễ thấy nhất :
- C# hỗ trợ unsafe code
- VB.NET hỗ trợ Rapid Application Deverlopment RAP : nó giúp những người mới bắt đầu thấy lập trình dễ dàng hơn , nhưng có thể làm những người đã nắm rõ .NET thấy phiền phức và không cần thiết
-> nói chung feature của C# hơn VB.NET chút đỉnh , nhưng chỉ đối với những ai cần unsafe code ( unsafe code 0 là CLS compliant )

2/ về hỗ trợ của VS 2008 : IDE của VB9 hơn hẳn IDE của C#3
- nếu bạn thấy IDE của C#3 có chỗ nào hơn IDE của VB9 , chỉ cho tớ biết cái
- Intellisense của VB9 ngon hơn C#3 , bạn chắc chắn sẽ thấy điều đó khi bạn dùng ( viết ) cả 2 ngôn ngữ
- VB.NET compiler luôn chạy trong background -> bạn có thể thấy được lỗi compile ngay khi bạn viết , còn với C# bạn cần bấm nút compile để có thể thấy lỗi đó . Đây là 1 trong ~ feature lớn nhất của IDE VB.NET , nhưng đối với project cực lớn ( hàng ngàn class , hàng triệu dòng code ) thì IDE VB.NET sẽ bị chậm

3/ về syntax , tùy mỗi người thôi , còn tớ thấy VB.NET hơn C# hoàn toàn

a/ code C-style dài hơn :
- Bạn đừng tưởng với những ký tự như { và } mà code C# ngắn hơn code VB.NET :
-- bạn sẽ cần dùng nhiều comment hơn cho code C# để "làm dài" những {} đó
-- bạn sẽ phải xuống dòng nhiều hơn để có thể "thấy" những {} đó -> code C# trải dài 1 cách 0 cần thiết và sẽ làm giảm khả năng nắm bắt ý nghĩa đoạn code của bạn ( mất nhiều thời gian hơn )
- Mỗi khi chuyển từ C# -> VB.NET mà vẫn duy trì sự "dễ đọc của C#" -> số dòng code sẽ dài hơn khoảng 1/3

b/ code C-style khó đọc hơn , code VB.NET làm cho lập trình viên cảm thấy mình đang viết những câu nói của 1 con người , chớ không phải những "câu" vô nghĩa

-> bạn sẽ thấy thoải mái khi viết VB.NET ; bạn sẽ tập trung hơn nhưng sẽ đau đầu hơn khi viết C#

4/ thực sự thì có nhiều người dùng C# hơn VB.NET


=> đây là những gì tớ thấy sau 3 năm dùng máy tính , 2 năm dùng .NET :
+ tất cả những gì bạn có thể làm với C#3 , 99% bạn có thể làm với VB9 , và bạn sẽ mất ít thời gian hơn rất nhiều
+ tất cả những gì bạn có thể làm với VB9 , 100% bạn có thể làm với C#3 , nhưng bạn sẽ mất nhiều thời gian hơn rất nhiều

Tienlbhoc
21-10-2007, 19:43
nhận xét về bài của Kì Nam:
mục 1: vb.net còn không hỗ trợ nạp chồng toán hạng -> hướng đối tượng yếu
mục 2: chưa dùng vb9 nên chưa biết
mục 3: số dòng ngắn nhưng số ký tự thì tăng nhiều, chả tốt hơn đâu, nhìn code toàn chữ rất khó phân biệt
còn c# hay vb.net tuỳ người dùng, nhưng ngôn ngữ c# là chủ đạo của microsoft

KEM_WALL
21-10-2007, 22:09
Lâu lắm rồi mới quay lại ddth. Cũng rất ít khi post bài nhưng gặp bài này mình nghĩ mình phải comment đôi chút thôi, kẻo gây hiểu lầm cho các bạn mới hơn.


Nếu bạn mới bắt đầu lập trình ( tớ chưa từng dùng ngôn ngữ nào khác Pascal cho tới khi dùng .NET )




1/ về feature ( cho tới VS 2008 ) C#3 và VB9 gần giống nhau , trừ 2 điểm khác nhau dễ thấy nhất :
- C# hỗ trợ unsafe code
- VB.NET hỗ trợ Rapid Application Deverlopment RAP : nó giúp những người mới bắt đầu thấy lập trình dễ dàng hơn , nhưng có thể làm những người đã nắm rõ .NET thấy phiền phức và không cần thiết
-> nói chung feature của C# hơn VB.NET chút đỉnh , nhưng chỉ đối với những ai cần unsafe code ( unsafe code 0 là CLS compliant )

Theo mình, bạn Kỳ Nam nên nghiên cứu thêm một chút về các features của C#, nếu bạn nói rằng C# hơn VB.net chỉ vì unsafe code.. thì có lẽ hơi thiếu rồi đó. Bạn có thể tham khảo thêm bài viết của mình ở đây:
http://www.ddth.com/showthread.php?p=347835&posted=1#post347835



2/ về hỗ trợ của VS 2008 : IDE của VB9 hơn hẳn IDE của C#3
- nếu bạn thấy IDE của C#3 có chỗ nào hơn IDE của VB9 , chỉ cho tớ biết cái
- Intellisense của VB9 ngon hơn C#3 , bạn chắc chắn sẽ thấy điều đó khi bạn dùng ( viết ) cả 2 ngôn ngữ

:ohmy: Mình thật sự rất bất ngờ khi đọc những dòng này..
Vậy bạn có thể chỉ cho mình biết IDE của VB9 hơn hẳn IDE của C#3 chỗ nào không? hic..
Cả cái này nữa Intellisense của VB9 ngon hơn C#3 :emlaugh:



- VB.NET compiler luôn chạy trong background -> bạn có thể thấy được lỗi compile ngay khi bạn viết , còn với C# bạn cần bấm nút compile để có thể thấy lỗi đó . Đây là 1 trong ~ feature lớn nhất của IDE VB.NET , nhưng đối với project cực lớn ( hàng ngàn class , hàng triệu dòng code ) thì IDE VB.NET sẽ bị chậm

:dontgetit Càng đọc càng thấy nguy hiểm cho các bạn mới vào thread, chưa rõ nhiều điều, đọc bài của bạn thì..
Mình nghĩ bạn nên kiểm tra kĩ hết trước khi nói ra một vấn đề nào chứ? Bạn bảo rằng C# cần phải bấm nút compile thì mới hiện ra lỗi ah :dontgetit.
Mình không rõ trong 2 năm dùng .NET của bạn, bạn đã thực sự dùng C# bao nhiêu lần?!?


3/ về syntax , tùy mỗi người thôi , còn tớ thấy VB.NET hơn C# hoàn toàn

Vâng, cái này là tùy bạn, syntax của VB.net cũng rất tốt.


a/ code C-style dài hơn :
- Bạn đừng tưởng với những ký tự như { và } mà code C# ngắn hơn code VB.NET :
-- bạn sẽ cần dùng nhiều comment hơn cho code C# để "làm dài" những {} đó

Mình không hiểu đoạn này? Bạn có thể nói rõ hơn tại sao C# phải dùng nhiều comment hơn không? Với một cú pháp dễ hiểu và chặt chẽ của họ language C, chỉ cần nhìn lướt qua là một bạn lập trình C# bình thường có thể nắm bắt được đoạn code rất nhanh chóng.
Xin nói thêm rằng comment nhiều là một thói quen RẤT tốt. Chẳng có việc gì mà phải tránh comment. Đặc biệt khi các project sau này càng ngày càng lớn, và bạn không phải làm việc một mình.
Chuyện code ngắn code dài không quan trọng, và còn phụ thuộc rất nhiều vào cách viết, tuy nhiên nếu bạn đã nêu ra thì mình có thể khẳng định một điều ngược lại với tuyên bố của bạn. Code C-style hoàn toàn ngắn gọn hơn BASIC-style.


-- bạn sẽ phải xuống dòng nhiều hơn để có thể "thấy" những {} đó -> code C# trải dài 1 cách 0 cần thiết và sẽ làm giảm khả năng nắm bắt ý nghĩa đoạn code của bạn ( mất nhiều thời gian hơn )

:blink: Theo mình, có lẽ bạn bị dị ứng với họ language C (hoặc có lẽ bạn đã học pascal quá lâu). Nếu họ language C không ưu việt, không dễ nắm bắt ý nghĩa đoạn code, thì nó đã bị lãng quên từ lâu rồi. Và chẳng có mấy ngôn ngữ theo C-style như bây giờ.
Còn việc bạn không thể nhận rõ được brackets {} thì mình không dám có ý kiến :no:, đặc biệt khi hầu hết các IDE hiện tại đều hỗ trợ brackets bolding.


- Mỗi khi chuyển từ C# -> VB.NET mà vẫn duy trì sự "dễ đọc của C#" -> số dòng code sẽ dài hơn khoảng 1/3

Mình hoàn toàn không thích kiểu so sánh ngôn ngữ bằng cách "đo" xem cái nào ngắn cái nào dài..
Nhưng bạn có thể trả lời dùm mình sau khi chuyển như thế, số lượng "kí tự" trên mỗi dòng của VB.net và C# là bao nhiêu không?


b/ code C-style khó đọc hơn , code VB.NET làm cho lập trình viên cảm thấy mình đang viết những câu nói của 1 con người , chớ không phải những "câu" vô nghĩa

-> bạn sẽ thấy thoải mái khi viết VB.NET ; bạn sẽ tập trung hơn nhưng sẽ đau đầu hơn khi viết C#

Mình đồng ý việc code BASIC-style gần giống tiếng Anh sẽ giúp những bạn mới học nắm bắt và tiếp thu nhanh hơn. Nhưng việc bạn nói code C# vô nghĩa và đau đầu khi viết thì mình không đồng ý :no:. :bored:


4/ thực sự thì có nhiều người dùng C# hơn VB.NET

Đồng ý.


+ tất cả những gì bạn có thể làm với C#3 , 99% bạn có thể làm với VB9 , và bạn sẽ mất ít thời gian hơn rất nhiều

Làm sao mà bạn có thể tuyên bố những câu "xanh rờn" như thế này chứ :bored:. Bạn bình luận không hề khách quan và có thể làm các bạn mới học nhận định sai lầm hoàn toàn về hai ngôn ngữ anh em này!


+ tất cả những gì bạn có thể làm với VB9 , 100% bạn có thể làm với C#3 , nhưng bạn sẽ mất nhiều thời gian hơn rất nhiều

Bạn tuyên bố 100%, vậy bạn làm thử cho mình 1 cái app nho nhỏ ví dụ về cách xài optional parameters trong C# đi? :bored:

Hãy tham luận một cách khách quan bạn ah, không phải chỉ là đề cao ngôn ngữ mình yêu thích. Và quan trọng nhất, bạn nên tìm hiểu một chút trước khi viết..

Thân ái.

P.S: Cũng hơi buồn khi về thăm lại ddth nhưng lại thấy thiếu vắng đi những gương mặt kì cựu năm xưa.. Mấy anh đi đâu thì cũng nhớ lâu lâu về thăm mái nhà xưa chứ :innocent:

Kỳ Nam
22-10-2007, 10:09
nhận xét về bài của Kì Nam:
mục 1: vb.net còn không hỗ trợ nạp chồng toán hạng -> hướng đối tượng yếu
mục 2: chưa dùng vb9 nên chưa biết
mục 3: số dòng ngắn nhưng số ký tự thì tăng nhiều, chả tốt hơn đâu, nhìn code toàn chữ rất khó phân biệt
còn c# hay vb.net tuỳ người dùng, nhưng ngôn ngữ c# là chủ đạo của microsoft

1/ "nạp chồng toán hạng" là operator overloading phải 0 , vb.net có đàng hoàng


Structure Vector

Public X, Y As Integer

Public Shared Operator +(ByVal Vector1 As Vector, ByVal Vector2 As Vector) As Vector
Dim V As New Vector
V.X = Vector1.X + Vector2.X
V.Y = Vector1.Y + Vector2.Y
Return V
End Operator

End Structure

2/ 0 cần chờ tới vss 2008 , từ vs 2005 IDE vb.net đã hơn c# , sẽ thử gõ ra vài dòng trong pót tiếp theo

Kỳ Nam
22-10-2007, 10:34
Bạn tuyên bố 100%, vậy bạn làm thử cho mình 1 cái app nho nhỏ ví dụ về cách xài optional parameters trong C# đi? :bored:

0 biết người khác sao , tớ ghét optional parameters , 0 bao giờ dùng nó , nó sẽ dễ gây lầm lẫn trong những trường hợp như : bạn có nhiều overload method mà các method đó có ít nhất 1 cái dùng optional parameters , đặc biệt khi thay đổi parameters của 1 trong các overload method đó

còn để chuyển optional parameters từ vb.net sang c# , 0 có gì đáng nói


Function F(ByVal x As Integer, Optional ByVal y As Integer = 0) As Integer
Return x + y
End Function

int F(int x, int y)
{
return x + y;
}
int F(int x)
{
return F(x, 0);
}

Kỳ Nam
22-10-2007, 10:35
Bạn tuyên bố 100%, vậy bạn làm thử cho mình 1 cái app nho nhỏ ví dụ về cách xài optional parameters trong C# đi? :bored:

0 biết người khác sao , tớ ghét optional parameters , 0 bao giờ dùng nó , nó sẽ dễ gây lầm lẫn trong những trường hợp như : bạn có nhiều overload method mà các method đó có ít nhất 1 cái dùng optional parameters , đặc biệt khi thay đổi parameters của 1 trong các overload method đó

còn để chuyển optional parameters từ vb.net sang c# , 0 có gì đáng nói


Function F(ByVal x As Integer, Optional ByVal y As Integer = 0) As Integer
Return x + y
End Function

int F(int x, int y)
{
return x + y;
}
int F(int x)
{
return F(x, 0);
}

Kỳ Nam
22-10-2007, 12:33
về IDE 2008 và syntax của VB.NET và C#

thử gõ lại structure vector ở trên bằng C#


struct Vector
{
public int X;
public int Y;
public static Vector operator +(Vector V1, Vector V2)
{
Vector V = new Vector();
V.X = V1.X + V2.X;
V.Y = V1.Y + V2.Y;
return V;
}
}

b1 , gõ struct Vector , bấm ENTER , bạn sẽ 0 có {} được tự động thêm dô
b2 , gõ { , bấm ENTER , bạn sẽ 0 có } được tự động thêm dô
b3 , gõ } , bạn sẽ phải làm tiếp b4
b4 , đưa con trỏ lên trên 1 dòng để đứng ở chỗ { , bấm ENTER
-> sau 4 bước , bạn chuẩn bị xong structure Vector

trong khi với IDE VB.NET , bạn chỉ cần gõ Structure Vector , bạn đã sẵn sàng để viết code cho Structure Vector , thậm chí nhắm mắt cũng gõ được
nếu nhắm mắt , gõ như dầy : s , TAB , "Vector" , ENTER


sẵn tiện , ngay trong dòng struct Vector còn có chuyện để nói

bạn nói coi struct nó "có nghĩa 0" , bạn thích structure hay struct , nếu lập trình lâu , bạn có thể thấy là những từ ngữ đầy đủ sẽ giúp mình dễ nhớ chương trình hơn
Vì sao .NET class library lại có những tên namespace , class , method rất dài dòng , chớ 0 theo kiểu đặt tên 3 4 ký tự của C-style language

tiếp nữa , bạn thử đưa con trỏ đến chỗ struct và bấm BACKSPACE để xóa chữ t , bạn sẽ thấy gì , chả thấy gì hết
có thể đối với từ khóa struct thì ít ai phải cần nút BACKSPACE hay DELETE , nhưng đối với tên class , bạn có thể sẽ bực mình , VD :

int x;
giờ bạn muốn đổi int thành int64 , bạn sẽ phải xóa hết chữ int , gõ i , intellisense mới hiện ra và bạn có thể lựa int64
nếu bạn nói gõ int64 ngắn ngủn chẳng cần phải chờ tới intellisense , đúng rồi int64 ngắn ngủn , còn hầu hết class khác đều có tên dài hơn nhiều , chẳng hạn bạn lỡ gõ IEnumerable thay vì IEnumerable<T>
cái này sẽ tốn 1 lượng thời gian 0 phải là "0 thể cảm nhận được" , hoặc , so với bạn thì lượng thời gian đó "0 thể cảm nhận được" , còn tớ thấy nó rất khó chịu


tiếp nữa , vẫn dòng public int X , bạn thử xóa 1 ký tự nào đó của type int , chẳng hạn cho nó thành public it X , bạn chẳng thấy IDE báo lỗi , trong khi bạn gõ code , IDE của C# chỉ hiện lỗi syntax chớ 0 hiện lỗi compile , bạn phải bấm nút compile thì lỗi nó mới hiện ra

lại về chuyện hiện lỗi compile của IDE C# , nó dịch tới đâu -> gặp lỗi -> dừng lại ở đó -> bạn sẽ 0 thấy được tất cả các lỗi trong cùng 1 lúc . VD chương trình có 10 class , cả 10 class đều có lỗi , nhưng IDE C# sẽ chỉ hiện lỗi trong class đầu tiên có lỗi mà nó gặp được -> chờ cho bản sửa hết các lỗi đó -> nó mới tiếp tục parse và hiện lỗi của các class khác . có thể cái này 0 quan trọng lắm , nhưng sẽ có lúc bạn thấy bực

quay lại khúc public it X , có thể bạn nghĩ đồ ngu mới gõ sai chữ int thành it , nhưng bạn phải rất tài mới có thể 0 bao giờ gõ sai 1 ký tự nào trong 1 chương trình

xuống chút nữa , lỡ như bạn gõ thành như dầy

struct Vector
{
public int X;

public int Y;
}
có 1 dòng trắng giữa 2 dòng khai báo x, y , giờ để bỏ dòng trắng đó , bạn nghĩ là chỉ cần đơn giản đưa con trỏ lên dòng trắng đó và bấm DELETE , sẽ nhận được như dầy

struct Vector
{
int X;
int Y;
}
mặc dù nếu lỡ bấm DELETE kiểu đó , hoặc bạn thấy code C# nó ra dô lộn xộn , bạn có thể bấm CTRL + K + D để format toàn bộ code , nhưng mọi thứ sẽ dễ chịu hơn với IDE VB.NET , code được format tự động gần như mọi lúc


còn về chuyện C# trải dài -> khó đọc , thử dòm 1 đoạn code C#

private static T[] FindControl<T>(Control Control)
{
List<T> L = new List<T>();
foreach (Control C in Control.Controls)
{
if (C is T)
{
L.Add((T)((object)C));
}
else
{
L.AddRange(FindControl<T>(C));
}
}
return L.ToArray();
}

so với VB.NET

Private Shared Function FindControl(Of T)(ByVal Control As Control) As T()
Dim L As New List(Of T)
For Each C As Control In Control.Controls
If TypeOf C Is T Then
L.Add(CType(CType(C, Object), T))
Else
L.AddRange(FindControl(Of T)(C))
End If
Next
Return L.ToArray
End Function

đoạn code rất đơn giản , nhưng mất nhiều dòng hơn khi viết C# -> nếu đoạn code vì những lý do bắt buộc mà phải chứa nhiều đoạn if , loop lồng nhau -> :blink:

về dạng comment để làm dài {} , VD :


struct Vector{
public int X;
public int Y;
}//end struct Vector hoặc //Vector

nhiều người dùng kiểu đó , có phải đang ráng đi tìm style của code VB 0


mấy thứ trên đây , 1 loại chỉ là vấn đề của IDE , mai mốt có thể VS IDE C# sẽ khá hơn , còn 1 loại là về syntax , nghĩ thử nha

tớ thấy KEM_WALL còn có lời về chuyển code từ C# -> VB.NET , cậu hãy chỉ ra 1 gì đó cụ thể

Kỳ Nam
23-10-2007, 00:11
tình cờ dô web của MONO , mới thấy họ cũng viết code C# dạng VB : ráng giảm bớt những {} và xuống dòng

http://www.mono-project.com/Mono:Runtime

1 đoạn vd


for (int i = 0; i <a.Length; i++) {
if (i < a.LowerBoundary || i >= a.HigherBoundary)
throw new IndexOutOfRangeException ();
a[i] = i;
}

gianhut
23-10-2007, 02:19
Structure Vector

Public X, Y As Integer

Public Shared Operator +(ByVal Vector1 As Vector, ByVal Vector2 As Vector) As Vector
Dim V As New Vector
V.X = Vector1.X + Vector2.X
V.Y = Vector1.Y + Vector2.Y
Return V
End Operator

End Structure



struct Vector
{
public int X;
public int Y;
public static Vector operator +(Vector V1, Vector V2)
{
Vector V = new Vector();
V.X = V1.X + V2.X;
V.Y = V1.Y + V2.Y;
return V;
}
}


code dài hay ngắn, dễ đọc hay khó đọc còn tùy thuộc vào trình độ người viết nữa bạn à. xin viết lại struct Vector như sau:



struct Vector {
public int X, Y;
public static Vector operator +(Vector V1, Vector V2) {
Vector V = new Vector();
V.X = V1.X + V2.X;
V.Y = V1.Y + V2.Y;
return V;
}
}

thật ra cũng chả có gì khác nhau, ch3i ghi lại cái dòng khai báo biến thôi. đừng chơi bẩn như thế, biết khai báo biến trên 1 dòng bên VB thì sao ko bik làm như thế trên C#? thậm chí còn có thể làm như sau

public int X; public int Y;[/b] đấy.

bên VB có làm đc vụ gán dữ liệu hàng loạt cho biến nhìn ngắn gọn dễ đọc thế ko?



int a, b, c, d, e, f, g, h, i, j, k, l, m, n;
a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; g = 7;
h = 8; i = 9; j = 10; k = 11; l = 12; m = 13; n = 14;


và vui lòng xem kĩ trong VB tốn bao nhiêu ký tự để khai báo cái operator +? trong khi trong C# chỉ yêu cầu bạn gõ thêm 1 vài cái enter và up/down arrow. việc xuống dòng hay ko trước khi mở khối "{" là tùy style của mỗi người. cái này có từ thời kim cổ nào rồi, chả ai bắt chước au cả. việc đó có thể dễ dàng chỉnh sửa trong option của VS 2005. khi khai báo cái struct tôi gõ như sau:

struct Vector { [ENTER] [ENTER] } [UP] là con nháy nằm ngay giữa cái khối {} và còn đc tự động indent vào. so với ngần ấy kí tự của VB cái nào cực hơn? chưa kể là gõ sai, tốn bao nhiêu cái BACKSPACE? (ko bất kì ai có thể guarantee mình ko bao giờ gõ sai cả).

còn chuyện code khó đọc hay dễ đọc là khách quan của mỗi ng` thôi. ng` quen với C# thì nhìn vào VB sẽ nhìn thấy 1 bài tập làm văn rối mù, chả rõ ràng gì cả.


[code]struct Vector{
public int X;
public int Y;
}//end struct Vector hoặc //Vector
về cái comment cuối block thì cái đó tùy mỗi người thôi. ko bắt buộc mà. nhưng mà cũng nên làm, tui cũng làm cho dễ nhìn, dễ phân biệt. tuy nhiên trong này có 1 cái } thì comment làm chi. ở ngôn ngữ nào cũng vậy, chỉ cần 1 vài khối if hay là 1 vài khối if hay for là lộn xà ngầu lên cũng vậy thôi. so sánh 2 đoạn code sau xem



if (a == b) {
if ((b == c) && (b != d)) {
if (k == c) {
return "k != d";
}
else { //k!=c
return "k != c";
} //k==c
} //b==c && b!=d
} //a==b


If a = b Then
If (b = c) AND (b <> d) Then
If k = c Then
return "k != d"
Else 'k<>c
return "k != c"
End If 'k=c
End If 'b=c and b<>d
End If 'a=b


hãy so sánh xem khối nào nhìn rối hơn khi mà comment đã là 1 đống chữ mà syntax cũng là chữ nữa? nhưng mà cái IDE đã giúp đỡ 1 phần nào trong việc đó bằng cái hiệu ứng màu cho code rồi. điều duy nhất mà tôi chấm ở VB là cái syntax else thôi. nếu như có thể tôi muốn đc như vầy:



if (expression) {
//code line 1
//code line 2
else:
if (another expression) {
//another code line
}
//else code line 1
}

Kỳ Nam
23-10-2007, 13:20
về đoạn public int X, Y; , xin lỗi , nhầm , tại gõ thử thì thấy hiện màu xanh nên cứ tưởng 0 được , ra là do Y chưa được dùng nên hiện cái warning

còn đoạn

a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; g = 7;
h = 8; i = 9; j = 10; k = 11; l = 12; m = 13; n = 14;
chẳng mấy khi cần

thậm chí nếu cần gán giá trị cho 1 mớ biến cùng 1 lúc -> thường là những biến đó 0 có tên theo thứ tự dễ thấy như dẩy , và tụi nó cũng thuộc những kiểu khác nhau -> gán kiểu đó càng khó đọc

If ... End If , For ... Next dễ nhìn hơn {} rất nhiều mà chẳng cần phải gõ comment

nmd
23-10-2007, 14:01
Đọc bài của Kỳ Nam mình thấy bạn phân biệt đối xử với C# dữ quá. Mình thì thích dùng C# hơn.


b1 , gõ struct Vector , bấm ENTER , bạn sẽ 0 có {} được tự động thêm dô
b2 , gõ { , bấm ENTER , bạn sẽ 0 có } được tự động thêm dô
b3 , gõ } , bạn sẽ phải làm tiếp b4
b4 , đưa con trỏ lên trên 1 dòng để đứng ở chỗ { , bấm ENTER


Trong bước 1 của bạn, mình không thích vụ Enter thì thêm { }. Mình chỉ muốn enter nó làm nhiệm vụ của nó là xuống dòng thôi- đó mới là nhiệm vụ chính của nó. Có lúc làm trong VB.NET, mình đã bực mình vì những chuyện đó. Đó là những gì mình suy nghĩ. Ngoài ra mình cũng thích được có ; ở cuối mỗi statement hơn.

Nói chung, cái này là do thói quen và sở thích của mỗi người thôi. Và mỗi cú pháp của mỗi ngôn ngữ đều có điểm hay, điểm dở. Chúng ta ngồi chê bai chúng thì cũng chẳng giải quyết được vấn đề gì cả.

gianhut
23-10-2007, 17:09
về đoạn public int X, Y; , xin lỗi , nhầm , tại gõ thử thì thấy hiện màu xanh nên cứ tưởng 0 được , ra là do Y chưa được dùng nên hiện cái warning

còn đoạn

a = 1; b = 2; c = 3; d = 4; e = 5; f = 6; g = 7;
h = 8; i = 9; j = 10; k = 11; l = 12; m = 13; n = 14;
chẳng mấy khi cần

thậm chí nếu cần gán giá trị cho 1 mớ biến cùng 1 lúc -> thường là những biến đó 0 có tên theo thứ tự dễ thấy như dẩy , và tụi nó cũng thuộc những kiểu khác nhau -> gán kiểu đó càng khó đọc

If ... End If , For ... Next dễ nhìn hơn {} rất nhiều mà chẳng cần phải gõ comment

chà có cái gì gọi là ko cần fải comment cả. khi mà code lên đến 1 vài trang như sau thì comment là rất wan trọng:



Private Sub cmdDongY_Click(ByVal sender As Object, ByVal e As EventArgs)
If (Me.cboChuDe.SelectedIndex < 0) Then
Me.ep.SetError(Me.cboChuDe, "Vui l" & ChrW(242) & "ng ch" & ChrW(7885) & "n ch" & ChrW(7911) & " " & ChrW(273) & ChrW(7873) & "!")
Me.cboChuDe.Focus
Else
Me.ep.Clear
If Me.txtNDCauHoi.Text.Trim.Equals("") Then
Me.ep.SetError(Me.lblndch, "Vui l" & ChrW(242) & "ng nh" & ChrW(7853) & "p n" & ChrW(7897) & "i dung c" & ChrW(226) & "u h" & ChrW(7887) & "i!")
Me.txtNDCauHoi.Focus
Else
Me.ep.Clear
If (Me.gridDapAn.Rows.Count <= 2) Then
Me.ep.SetError(Me.lblda, "Vui l" & ChrW(242) & "ng nh" & ChrW(7853) & "p " & ChrW(237) & "t nh" & ChrW(7845) & "t 2 " & ChrW(273) & ChrW(225) & "p " & ChrW(225) & "n!")
Else
Dim i As Integer
Me.ep.Clear
i
For i = 0 To (Me.gridDapAn.Rows.Count - 1) - 1
If (Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value Is Nothing) Then
Me.ep.SetError(Me.lblda, "C" & ChrW(243) & " " & ChrW(273) & ChrW(225) & "p " & ChrW(225) & "n ch" & ChrW(432) & "a c" & ChrW(243) & " n" & ChrW(7897) & "i dung!")
Return
End If
Next i
Dim db As New SqlDB(App.CnnString)
db.Open
Dim cmd As New SqlCommand
cmd.CommandText = "spCauHoi"
cmd.Parameters.Add("@kq", SqlDbType.NVarChar)
cmd.Parameters.Item(0).Size = 20
cmd.Parameters.Item(0).Direction = ParameterDirection.Output
cmd.Parameters.Add("@action", SqlDbType.NVarChar)
cmd.Parameters.Item(1).Size = 15
cmd.Parameters.Item(1).Value = "update"
cmd.Parameters.Add("@id_cauhoi", SqlDbType.Int)
cmd.Parameters.Item(2).Value = Me.id_cauhoi
cmd.Parameters.Add("@nd_cauhoi", SqlDbType.NVarChar)
cmd.Parameters.Item(3).Size = &H5DC
cmd.Parameters.Item(3).Value = Me.txtNDCauHoi.Text
cmd.Parameters.Add("@hinhanh", SqlDbType.Image)
cmd.Parameters.Item(4).Value = Me.bHinhAnh
cmd.Parameters.Add("@id_chude", SqlDbType.Int)
cmd.Parameters.Item(5).Size = 4
cmd.Parameters.Item(5).Value = Me.dtChuDe.Rows.Item(Me.cboChuDe.SelectedIndex).It emArray(0)
cmd = db.ExecuteStoreProcedure(cmd)
Dim delQuery As String = ("DELETE FROM tblDapAn WHERE IDCauHoi=" & Me.id_cauhoi.ToString & " AND NOT(IDDapAn IN (")
i
For i = 0 To (Me.gridDapAn.Rows.Count - 1) - 1
If (Not Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value Is Nothing) Then
delQuery = (delQuery & Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value.ToSt ring & ", ")
End If
Next i
delQuery = (delQuery & "0))")
db.ExecuteNonQuery(delQuery)
cmd.CommandText = "spDapAn"
i
For i = 0 To (Me.gridDapAn.Rows.Count - 1) - 1
cmd.Parameters.Clear
cmd.Parameters.Add("@kq", SqlDbType.NVarChar)
cmd.Parameters.Item(0).Size = 20
cmd.Parameters.Item(0).Direction = ParameterDirection.Output
cmd.Parameters.Add("@action", SqlDbType.NVarChar)
cmd.Parameters.Item(1).Size = 15
cmd.Parameters.Item(1).Value = IIf((Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value Is Nothing), "insert", "update")
cmd.Parameters.Add("@id_dapan", SqlDbType.Int)
cmd.Parameters.Item(2).Value = IIf((Not Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value Is Nothing), Me.gridDapAn.Rows.Item(i).Cells.Item(0).Value, 0)
cmd.Parameters.Add("@nd_dapan", SqlDbType.NVarChar)
cmd.Parameters.Item(3).Size = &H5DC
cmd.Parameters.Item(3).Value = Me.gridDapAn.Rows.Item(i).Cells.Item(1).Value
cmd.Parameters.Add("@dung_sai", SqlDbType.Bit)
If (Not Me.gridDapAn.Rows.Item(i).Cells.Item(2).Value Is Nothing) Then
cmd.Parameters.Item(4).Value = IIf(Me.gridDapAn.Rows.Item(i).Cells.Item(2).Value. Equals(True), 1, 0)
Else
cmd.Parameters.Item(4).Value = 0
End If
cmd.Parameters.Add("@id_cauhoi", SqlDbType.Int)
cmd.Parameters.Item(5).Value = Me.id_cauhoi
db.ExecuteStoreProcedure(cmd)
Next i
db.Close
MyBase.DialogResult = DialogResult.OK
MyBase.Close
End If
End If
End If
End Sub



thấy cái đống 3 cái End If 1 lúc ở vài dòng cúi ko? nhìn vô đố biết If nào với If nào. dĩ nhiên mò thì cũng ra, nhưng comment có phải hay hơn? và nhất là đối với lối viết kiểm tra dữ liệu nhập If Else hàng tá như vậy (chả biết ai viết cái này, nhìn cũng khó đọc gớm :D ) thì ko comment là coi như thua.

gianhut
24-10-2007, 06:37
giờ bạn muốn đổi int thành int64 , bạn sẽ phải xóa hết chữ int , gõ i , intellisense mới hiện ra và bạn có thể lựa int64
nếu bạn nói gõ int64 ngắn ngủn chẳng cần phải chờ tới intellisense , đúng rồi int64 ngắn ngủn , còn hầu hết class khác đều có tên dài hơn nhiều , chẳng hạn bạn lỡ gõ IEnumerable thay vì IEnumerable<T>
cái này sẽ tốn 1 lượng thời gian 0 phải là "0 thể cảm nhận được" , hoặc , so với bạn thì lượng thời gian đó "0 thể cảm nhận được" , còn tớ thấy nó rất khó chịu


tôi bắt đầu nghi ngờ về khả năng suy tư và thời gian/kinh nghiệm bạn sử dụng VS .NET rồi đó.

cái thứ nhất, nếu như chuyển từ int sang int64 thì mắc gì phải xóa hết cái int rồi gõ i để nó ra cái list mà ko trực tiếp gõ số 64 vào cho nó tiện?
cái thứ 2: nếu như nói là như thế thì IDE sẽ nhắc cho mình, lỡ quên thì sao? cái đó cũng ok, ko cần phải xóa hết toàn bộ chữ int mà chỉ cần di chuyển con nháy đến cuối chữ int vào gõ [CONTROL] + [SPACE] thì cái list sẽ xổ xuống. và trong quá trình bạn làm so sánh thì chắc chắn bạn đã biết rằng cái list của C# tiện hơn và dễ nhìn hơn cái list của VB nhiều, ko có cái gọi là "Common" và "All". đó là purpose của cái list.


lại về chuyện hiện lỗi compile của IDE C# , nó dịch tới đâu -> gặp lỗi -> dừng lại ở đó -> bạn sẽ 0 thấy được tất cả các lỗi trong cùng 1 lúc . VD chương trình có 10 class , cả 10 class đều có lỗi , nhưng IDE C# sẽ chỉ hiện lỗi trong class đầu tiên có lỗi mà nó gặp được -> chờ cho bản sửa hết các lỗi đó -> nó mới tiếp tục parse và hiện lỗi của các class khác . có thể cái này 0 quan trọng lắm , nhưng sẽ có lúc bạn thấy bực
ai nói với bạn là nó dịch tới đâu gặp lỗi ở chỗ đó rồi dừng thế nhỉ? bạn sử dụng bộ Visual nào dza.? có khi nó dịch hết chương trình còn khiến tôi bực mình hơn khi mà trong solution của mình có 1 cái Install project chọn chế độ kèm theo file install .net framework. lỡ tay bấm F6, nó compile cái project install cho đã mất vài phút, xong rồi quăng 1 đống lỗi lên. :-) .


có 1 dòng trắng giữa 2 dòng khai báo x, y , giờ để bỏ dòng trắng đó , bạn nghĩ là chỉ cần đơn giản đưa con trỏ lên dòng trắng đó và bấm DELETE , sẽ nhận được như dầy

Code:
struct Vector
{
int X;
int Y;
}mặc dù nếu lỡ bấm DELETE kiểu đó , hoặc bạn thấy code C# nó ra dô lộn xộn , bạn có thể bấm CTRL + K + D để format toàn bộ code , nhưng mọi thứ sẽ dễ chịu hơn với IDE VB.NET , code được format tự động gần như mọi lúc

còn cái này là do bạn ko quen thuộc với text editor settings của C# thôi. ko giống như VB, khi bạn gõ tab, mặc định C# dùng khoảng trắng (4 khoảng trắng) vào đó, còn trong VB thì nó quăng ra 1 cái tab character. cho nên bạn chỉ cần delete 1 cái là nguyên cái tab bay mất tiêu, còn trong C# thì phải delete nhiều lần. đây cũng là 1 trong những settings cho phép C-style programmers format code theo phong cách riêng của mình thôi. và điều này cũng hoàn toàn có thể chỉnh sủaw đc trong Tool->Option .



private static T[] FindControl<T>(Control Control) {
List<T> L = new List<T>();

foreach (Control C in Control.Controls)
if (C is T)
L.Add(C as T);
else
L.AddRange(FindControl<T>(C));

return L.ToArray();
}
như thế có đủ ngắn gọn chưa?
hình như bạn ko biết rằng trong C-formatted code thì sau if/else mà chỉ có 1 dòng lệnh thì ko cần mở/đóng khối. áp dụng tương tự cho for, while....
và mình cũng chẳng biết là có cần thiết ko khi mà ép kiểu của C từ control qua object rồi từ object lại chuyển qua T nhưng mà trong C# hoàn toàn ko cần chuyện đó. và ngoài chuyện ép kiểu (T)C này thì ta còn có thể ghi là C As T

Kỳ Nam
24-10-2007, 08:24
private static T[] FindControl<T>(Control Control) {
List<T> L = new List<T>();

foreach (Control C in Control.Controls)
if (C is T)
L.Add(C as T);
else
L.AddRange(FindControl<T>(C));

return L.ToArray();
}
đoạn này sẽ 0 dịch được , chắc cậu chưa từng đổi từ generic type T -> type khác

gianhut
24-10-2007, 10:12
thế à, tớ ko để í. sorry :D . thế nào? có còn bảo ngôn ngữ nào khá hơn hơn ngôn ngữ nào ko nhẩy. lol. à, còn nữa, wên nói. trong C#, khi bạn close 1 khối lệnh bằng "}" thì code sẽ tự động đc format và canh hàng chuẩn xác, trừ khi bạn có lỗi syntax hay lỗi compile (cái này thì ko rõ). vậy thì đừng nói rằng C# chỉ check lỗi khi bấm compile nữa nhá.

KEM_WALL
28-10-2007, 22:42
0 biết người khác sao , tớ ghét optional parameters , 0 bao giờ dùng nó , nó sẽ dễ gây lầm lẫn trong những trường hợp như : bạn có nhiều overload method mà các method đó có ít nhất 1 cái dùng optional parameters , đặc biệt khi thay đổi parameters của 1 trong các overload method đó

còn để chuyển optional parameters từ vb.net sang c# , 0 có gì đáng nói


Function F(ByVal x As Integer, Optional ByVal y As Integer = 0) As Integer
Return x + y
End Function

int F(int x, int y)
{
return x + y;
}
int F(int x)
{
return F(x, 0);
}

Ặc ... Bạn có bao giờ xài COM+ chưa?!?!
:dontgetit
Nếu bạn thật sự nhầm lẫn giữ overloading và optional parameters như vậy thì mình hiểu tại sao bạn lại nói bạn ghét optional parameters như vậy.
bạn có thể search và tập lập trình interop để hiểu tại sao mình nói đó lại là một thế mạnh của VB.net so với C#.:no:

Còn việc bạn so sánh chi ly từng ngôn ngữ kiểu đó mình không tán thành. Bạn có từng so sánh tiếng Đức và tiếng Trung Quốc không? Ngôn ngữ nào ưu việt hơn? Hay là bạn sẽ khen tiếng Trung Quốc vì số kí tự trên 1 dòng nhiều hơn?!?! :bored:

Bạn viết bài trong khi đang mang trong mình ác cảm với dòng họ C (mình không hiểu tại sao). Chính vì thế, bài viết của bạn không có giá trị khách quan và bạn bắt lỗi cứ như là bới lông tìm vết.


bạn nói coi struct nó "có nghĩa 0" , bạn thích structure hay struct , nếu lập trình lâu , bạn có thể thấy là những từ ngữ đầy đủ sẽ giúp mình dễ nhớ chương trình hơn
bạn gõ "chứng minh nhân dân" hay gõ CMND?
bạn gõ windows hay gõ win?
bạn gõ "diễn đàn tin học.com" hay ddth.com?
ngôn ngữ nó có nghĩa hay không là tùy vào người sử dụng nó có biết hay không. Bạn không thể nói tiếng Ả Rập với người Thái vì người Thái sẽ không hiểu. Trong trường hợp này, mình không nói tiếng "C#" với bạn, vì bạn không hề hiểu C#.:noexpress
Đây là bài cuối mình tranh luận về vấn đề này.
Thân ái.

gianhut
28-10-2007, 23:35
hé hé, bạn ấy có vào nữa đâu mà tốn công post chi bài dài vậy KW :D

bienca101
29-10-2007, 12:52
Ý trời, cái thread này dài dễ sợ thiệt.

Theo tui thì không cần phải cãi cọ làm gì. Yếu tố quan trọng nhất là... CON NGƯỜI. Ngôn ngữ chỉ là công cụ thôi. Tranh cãi làm chi cho mệt. Có cái tui viết C# còn nhanh hơn hand-optimized assembly. Có cái C++ chạy rất nhanh, lại có cái Delphi viết chỉ cần 5 phút trong khi .NET mất 3 tiếng.

Close cái thread này được rồi :D

demo123456
03-06-2009, 18:40
Mình chọn C# vì C# là ngôn ngữ lập trình có cấu trúc khá chặt chẽ và dễ hiểu. Quan trọng hơn theo mình là cái j VB có thì C# cũng có.hiii.Tuy nhiên fai theo cảm nhận của từng người nhé.Đừng phản bác ngay nha

Minh Beo
04-06-2009, 10:17
Ngày nay nhiều người dùng C# vì nó là con lai của 5 cha, 3 mẹ trong đó có cả VB cho nên dễ học hơn xưa nhiều. Nhớ ngày trước rất ít người học C vì nó được coi là ngôn ngữ cấp gần thấp (gần Asembly), hồi đó mình học GW Basic, ngôn ngữ phi cấu trúc tiền thân của VB bây giờ. Còn C# được kế thừa từ C++. Vì vậy tuy chúng là các ngôn ngữ hầu như mới hoàn toàn thì xét về nguồn gốc C# vẫn "con ông cháu cha" hơn

ngocongbang123
22-09-2009, 22:46
theo minh nen chon mot ngon ngu thich hop voi minh roi tu kinh nghiem do ma minh huong toi ngon ngu khac vi lap trinh ngon ngu nao cach lap trinh cung vay hieu cach lap trinh thi ngon ngu nao cung lam duoc ........

lastcreate
23-09-2009, 10:59
Không ngôn ngữ nào quá dể không ngôn ngữ nào quá khó, hãy chọn cho minh 1 ngôn ngữ mình yêu thích nhất, phù hợp với mình nhất, học cho giỏi vào, khi đó bạn sẽ hiểu ra một điều rằng : "Bạn đã hoạc tất cả các ngôn ngữ lập trình cao cấp trên thế giới này !" . Tôi ko nói láo đâu, nếu bạn học 1 ngôn ngữ nào đó mất 5-10 năm thì bạn học ngôn ngữ khác chỉ mất 2-5 tháng. :D

quanghien2005k
25-09-2009, 14:59
nếu biết c# thì công nghệ java mình có thể dùng luôn vì cả hai có cách viết gần giống nhau

sinhviencongnghe
31-10-2009, 15:26
Bạn ui, C# vẫn chưa sáng ngang với Java được đâu. C# là một sự kết hợp giữa C++ và VB đó, nên bạn có thể thiết kế giao diện dễ dàng như VB vậy!

Cái nào viết bằng java được mà C# viết không được nhỉ? Cái này hơi căng àh nha

fjknat
02-11-2009, 21:58
C++ muôn năm. Mấy cài hậu sinh này tuy dể nhưng dở

likeTheStorm
30-01-2010, 22:57
2 cái này same same
có tool convert giữa 2 nn này mà, tất nhiên là chtr đơn giản thôi

lastcreate
25-02-2010, 16:45
C++ muôn năm. Mấy cài hậu sinh này tuy dể nhưng dở

Dở ở điểm nào vậy bạn không đủ phức tạp như C++ ag

hah_group
16-12-2010, 17:12
Các bác có ebook về c# asp.net không ,share e với e cũng đang nghiên cứu mảng này

thangvmnn
18-12-2010, 13:46
Các bạn cho giúp mình với mình gặp phải 2 lỗi này lặp lại nhiều lần mà mình ko bít sửa thế nào,mình mới học VB mong các bạn chỉ giúp mình,lỗi này là do code hay do mình cài đặt vậy.

Error 1 'Cls' is not a member of 'System.Windows.Forms.PictureBox'. D:\TAI LIEU NAM CUOI\XLA\BTL\Nhom6_TienVinh_Long_NguyenHanh\Code\L ineArt.NET\MainFrm.vb

Error 2 'hdc' is not a member of 'System.Windows.Forms.PictureBox'. D:\TAI LIEU NAM CUOI\XLA\BTL\Nhom6_TienVinh_Long_NguyenHanh\Code\L ineArt.NET\MainFrm.vb

vietnamb2c
19-12-2010, 08:52
Mình vào đọc thấy có bác nói VB chỉ thích hợp với ứng dụng nhỏ. Nghe nói vậy tủi thân quá. web của mình (http://vietnamb2c.com) viết bằng VB đấy chắc không phát triển được rùi

chet7h45
18-05-2012, 00:33
VB nhỏ khỉ. DotNetNuke viết bằng VB đó. Mình chỉ không thích cú pháp của VB thôi, nhìn dễ bị chóng mặt. Còn muốn so thì chỉ còn có cách, 2 thằng mỗi thằng 1 ngôn ngữ, bấm giờ và viết 1 project nhanh gọn nào đó. Xem thằng nào viết nhanh hơn là xong.

hta1812
21-06-2013, 11:49
C# & vb. net chỉ là ngôn ngữ lập trình thôi, quan trọng là bạn phải hiểu thuật toán, khi bạn hiểu dc rồi thì bạn có thể viết trên bất cứ ngôn ngữ nào cũng dc.

hoangpt88
28-06-2013, 12:57
Mình thấy C# viết đỡ lằng ngoằng và dễ hiểu hơn VB. :)