Lập trình với ngôn ngữ C# (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Chủ topic hỏi rõ
Lập trình với ngôn ngữ C#

Vậy nhắn chủ topic: muốn lập C# thì hãy học và đọc C#, nhanh thì dùng visual studio, cơ bản thì đọc từ C, C++, C# cơ bản (ban đầu thì C chắc thôi, đọc từ C++)
Ít khi tôi đồng quan điểm với Tee-Kew-En. Nhưng riêng điểm này thì tôi tin rằng y nói đúng. Nên quên C/C++ đi.
Muốn học lập trình kiếm tiền thì đừng nghĩ đến C. Hầu hết kỹ năng trong C liên quan đến con trỏ; mà lập trình ứng dụng bây giờ không cần biết tới con trỏ.

Dễ sa đà vào "programming language war" quá.
Các bạn giải trí với bài báo này chút:
Nghe đến cái cụm từ "bảo đảm lương cao" là nóng lạnh rồi.
Người viết bài này có đang học và/hoặc đang lương cao cực khủng hôn?
 
Lâu lâu bắt chước thiên hạ, "quần thần" (*) chút mờ.

(*) gú gồ từ khoá "đại điểm quần thần"
 
Cái Web server mà diễn đàn này đang chạy trên nó, là nginx đó các bạn, và nó được viết hoàn toàn = pure C (100% C), không hề có C++ đấy các bạn. Của 1 nhóm coder người Nga.
Về tốc độ, độ chịu tải, bảo mật... nginx nhiều điểm vượt trội hơn Apache viết trên nền Java đó. Apache cũng cực kỳ nổi tiếng.
Cái hệ điều hành Windows, cái Office: Excel, Word, Access, VBA, ADO/DAO... tất tần tật, cái trình duyệt IE, Edge, Chrome, Firefox, Opera... mà các đang dùng để "bà 8"ở đây cũng được viết = C/C++, cụ thể là Visual C++ của MS.
Core, nhân của .NET Framework, JRE/JDK cũng phải viết = C/C++. Linux, MacOS cũng phải viết core, kernel = C/C++
Hầu như mọi thứ bạn thấy, đang chạy trên nó đều phải qua C/C++.
Tui không khuyên chủ thớt theo học C/C++, vì nói thật là nó quá khó để theo học, phải trường kỳ, kiên nhẫn, và phải đào sâu xuống dưới.
Muốn mì ăn liền, nhanh, drag-drop, IDE sinh code sẵn, mau có cái app để dùng, khoe... thì cứ C#, Delphi, VB.NET, Java Swing... mà chơi.
 
Lần chỉnh sửa cuối:
Nghe đến cái cụm từ "bảo đảm lương cao" là nóng lạnh rồi.
Người viết bài này có đang học và/hoặc đang lương cao cực khủng hôn?
Thì cho người đọc "sốc" mà.

Nhiều khi trong 5, 10 phút quảng cáo trên TV thấy 3, 4 loại thuốc khác nhau cùng chữa 1 bệnh, vd. đau khớp. Và quảng cáo nào cũng khẳng định thuốc mình là số 1 (cũng chả thấy nói rõ số 1 trong huyện hay trong tỉnh hay trên thế giới). Và quảng cáo nào cũng nói là được các chuyên gia khuyến cáo dùng. Nhưng nghĩ lại cũng thấy dễ hiểu thôi. Cho ông VetMini một phong bì thì ông VetMini khuyến cáo dùng thuốc A. Cho ông batman1 một phong bì thì ông batman1 khuyến cáo dùng thuốc B. Mà không cho ông nào phong bì thì vẫn có thể quảng cáo là "được các chuyên gia khuyến cáo dùng". :D
 
Cái Web server mà diễn đàn này đang chạy trên nó, là nginx đó các bạn, và nó được viết hoàn toàn = pure C (100% C), không hề có C++ đấy các bạn. Của 1 nhóm coder người Nga.
...
Nếu không code theo tinh thần hướng đối tượng thì C++ chỉ còn cái reference (*) và cái vụ hàm name mangling (hàm chồng) không có trong C thôi.
Và nếu tự tin viết được macro thay thế các class trong STL thì chả cần C++

(*) nếu không viết class thì tôi ghét cái vụ reference lắm. Hàm chồng thì được.
 
Nếu không code theo tinh thần hướng đối tượng thì C++ chỉ còn cái reference (*) và cái vụ hàm name mangling (hàm chồng) không có trong C thôi.
Và nếu tự tin viết được macro thay thế các class trong STL thì chả cần C++

(*) nếu không viết class thì tôi ghét cái vụ reference lắm. Hàm chồng thì được.
Con người thích làm mọi thứ rối lên, rồi lại tự gỡ, tự dẫm chân vào mình - nên càng ngày càng rối lên hơn-- đến lúc này người ta lại thích mọi thứ đơn giản và sạch (simple & pure)
 
Con người thích làm mọi thứ rối lên, rồi lại tự gỡ, tự dẫm chân vào mình - nên càng ngày càng rối lên hơn-- đến lúc này người ta lại thích mọi thứ đơn giản và sạch (simple & pure)
Đúng vậy, hết xi bạc, xi i nốc rồi bây giờ qua xi sáp.

Chú: thường thường thì người ta nói "pure and simple" chứ không "simple and pure"; trừ phi muốn chơi chữ !
 
Bản thân Windows kernel, tới Win 10 giờ, vẫn được viết thuần (pure) 100% C đó các bác, kg hề có C++.
Nói về code C/C++ thì MS coder code siêu lắm, nhất là kernel team.
Kernel Linux, Unix cũng vậy
 
Lần chỉnh sửa cuối:
Nếu tôi đếm không nhầm thì thế giới hiện tại có khoảng 600 ngôn ngữ lập trình khác nhau từ nguồn này. Và thật ngạc nhiên là anh Brazil - một nước chả có tên tuổi mấy về khoa học cũng góp vào một ngôn ngữ cũng thuộc loại có vai vế là Lua (nếu so với 600 anh).

Và nước ta mỗi năm giành được không biết bao nhiêu cái huy quốc tế về toán và lập trình, đồng thời cũng chen chân trong thị trường outsource... Tuy nhiên hơi hụt hẫng là Việt Nam chả góp được ngôn ngữ nào trong 600 ngôn ngữ trên. Nếu có thì chắc mấy ông nhà báo moi ra để cho chúng ta sung sướng tự hào rồi. Nếu chia đều số ngôn ngữ ấy ra cho khoảng 7 tỷ dân, thì với 100 triệu người gốc Việt trên toàn thế giới lẽ ra chúng ta cũng phải được sở hữu cỡ 8 -9 ngôn ngữ ấy chứ nhưng rất tiếc là chả có cái nào. Nếu có chắc là để tự hào sung sướng với nhau chứ không cho bọn người ngoài chấm mút ké.

Dù không tạo ra ngôn ngữ nào để chen chân trong danh sách ngôn ngữ lập trình đã nêu, nhưng bù lại có vẻ chúng ta không thiếu những nhà phê bình (phê bình theo đúng nghĩa đen) các ngôn ngữ được tạo bởi những bộ óc xuất sắc từ các hãng công nghệ hàng đầu.

Có lẽ các anh Tây lắm tiền nhiều của, thừa thời gian nên cứ cắm đầu cắm cổ chế ra cái này cái nọ quá ư phức tạp. Giá mà họ tư duy thông thái, khôn ngoan được như dân ta thì hay biết mấy phải không quý vị?:whistling:
 
Lần chỉnh sửa cuối:
Kkkk, đứng trên vai người khổng lồ, đi tắt đón đầu, chính sách tài tình sáng tối của đỏn ta, nên nó phải vậy đó bác à :p
Coder VN ta về mãng OS, compiler thì công nhận yếu thiệt, mặc dù ở ĐH cũng đã có dạy về HĐH và trình biên dịch, nhưng chỉ là cỡi ngựa xem hoa. Code ứng dụng, gia công, mì ăn liền thì coder VN ta tốt.
Mà nói chi đâu xa, ông đàn anh "nước nạ" đấy, hơn tỷ dân, mà có cái OS hay language, compiler nào đâu. Toàn xài đồ của bọn tư bản giãy hoài éo chịu chết, đứng bên bờ vực hoài éo chịu té, của bọn đế quốc Mẽo thực dân đó thì sao. Ngay cả cái Android OS cho đt "heo quay" cũng viết không xong :P
 
Lần chỉnh sửa cuối:
Hì hì, lúc đầu là C#, giờ VB.NET cũng muốn luôn "nà nàm thao" hả chủ thớt.
Tui thì không khuyên chủ thớt học VB.NET nhen. Cứ C# mà học, học từ cơ bản tới nâng cao, chậm mà chắc, không có nôn nóng, nóng vội làm app nhen.
Xe nào cũng là xe, chạy được hết, nhưng chạy tốt hay không,đi xa được hay không, uống xăng hay không... thì các xe khác nhau à nhen.
Muốn học để viết app chạy multi-platform Mac, iOS, Android, Win32/64 thì học Delphi (RAD Studio XEx trở lên). Liên hệ bác @kieu manh, bác @Nguyễn Duy Tuân, bạn @thuyyeu99...
Còn muốn debug, fix bug các kiểu, mọi ngôn ngữ thì quăng app không cần source qua cho ông Tee Kew En :p Còn muốn optimize cho tốc độ thì phải có source, và phải có phí, rẽ thôi, 2 3 lon bia à :)
 
Lần chỉnh sửa cuối:
Biết nhiều ngôn ngữ lập trình là tốt để tham khảo nhiều nguồn tư liệu học hỏi về hướng giải quyết các vấn đề trong app mình làm. Còn làm ứng dụng thì tùy vào loại ứng dụng hoặc module mà chọn ngôn ngữ cho phù hợp, nhưng phải cực chuyên sâu ngôn ngữ chính đó mới làm được cái gì ra hồn. Để tạo giao diện nhanh thì các công cụ lập trình như Delphi, .NET đều làm rất nhanh và dễ. Còn dùng các hàm có công năng siêu mạnh và phải xuất hiện nhiều lần trong các lệnh gọi, có tính then chốt về tốc độ thì dùng C, Delphi hay ngôn ngữ bậc thấp hơn để làm. Nhiều phần mềm người ta vẫn dùng nhiều thư viện khác nhau từ nhiều ngôn ngữ đã biên dịch dll và declare vào nhau đó thôi.

Hì hì, lúc đầu là C#, giờ VB.NET cũng muốn luôn "nà nàm thao" hả chủ thớt.
Tui thì không khuyên chủ thớt học VB.NET nhen. Cứ C# mà học, học từ cơ bản tới nâng cao, chậm mà chắc, không có nôn nóng, nóng vội làm app nhen.
Xe nào cũng là xe, chạy được hết, nhưng chạy tốt hay không,đi xa được hay không, uống xăng hay không... thì các xe khác nhau à nhen.
Muốn học để viết app chạy multi-platform Mac, iOS, Android, Win32/64 thì học Delphi (RAD Studio XEx trở lên). Liên hệ bác @kieu manh, bác @Nguyễn Duy Tuân, bạn @thuyyeu99...
Còn muốn debug, fix bug các kiểu, mọi ngôn ngữ thì quăng app không cần source qua cho ông Tee Kew En :p Còn muốn optimize cho tốc độ thì phải có source, và phải có phí, rẽ thôi, 23 lon bia à :)

Trước em làm Delphi7 sau đó cày thêm C# mang tính thăm dò, sau đó về với Delphi như một bà vợ cả (Từ khi Delphi 2009 hỗ trợ unicode) :)
 
Lần chỉnh sửa cuối:
Mà nói chi đâu xa, ông đàn anh "nước nạ" đấy, hơn tỷ dân, mà có cái OS hay language, compiler nào đâu. Toàn xài đồ của bọn tư bản giãy hoài éo chịu chết, đứng bên bờ vực hoài éo chịu té, của bọn đế quốc Mẽo thực dân đó thì sao. Ngay cả cái Android OS cho đt "heo quay" cũng viết không xong :p
Tôi đoán thế nào cũng có bác đưa ra lý luận so sánh thế này. Nhà tôi cũng có cô em tính hay ghanh ghét, có lần để lý giải cho cái tật đó cô ấy phát biểu 1 câu chấn động "Chó còn ghen tỵ huống chi là người". Nghe xong ai cũng bật cười nhưng rồi chột dạ khi nghe cô ấy hạ cấp bản thân để so với chó.

Những nhà nghiên cứu Tây khi qua xứ ta ngày xưa có nêu nhận xét là người Việt lanh lợi dễ tiếp thu cái mới nhưng cũng rất nhanh thỏa mãn. Tôi thấy nhiều cô chú về kiến thức lập trình cũ rất uyên thâm tới mức họ khẳng khái vạch "những nhược điểm mà họ thấy" dẫu rằng những ngôn ngữ mới ra này là sự kế thừa và phát triển từ những ngôn ngữ lập trình cũ do những kỹ sư lập trình tài năng của các hãng công nghệ tạo ra.

Thế thì phải đặt ra câu hỏi:
Tại sao những cái ngôn ngữ lập trình cũ đã tuyệt vời rồi, đã thỏa mãn rồi... việc gì phải bỏ công, bỏ sức để nặn ra cái ngôn ngữ lập trình mới làm chi nữa? Hay là bọn Tây thừa tiền rửng mỡ?

Tôi từng có thời gian học C++. Vì hệ trung cấp nên kiến thức cũng chỉ cơ bản ở mức số, chuỗi, mảng và mấy cái mệnh đề logic thôi. Nhưng tôi lại may mắn phải lòng em trình hướng đối tượng. Và trong đó có cái khái niệm overload đặc biệt là overload toán tử để lại cho tôi nhiều ấn tượng nhất.

Nạp chồng hàm thì không quá xa lạ nhưng nạp chồng toán tử thì lại vô cùng đặc biệt và hình như là đặc sản của C++ thời đó.

Các bạn lập trình thì thường xuyên làm việc với toán tử =, +, -, *, /, [], >, < .v.v. Thế thì với hướng đối tượng trong C++ bạn có thể phát triển riêng các toán tử cho các lớp đối tượng của bạn.

Để cho dễ hiểu tôi đưa một ví dụ. Vì kiểu Long giới hạn phép tính chỉ đến 2,147,483,647 nên tôi sẽ tạo ra một kiểu số mới hay lớp số mới có khả năng tính toán vượt giới hạn trên tên là Big.

PHP:
Dim A As Big
Dim B As Big
Dim C As Big

A = 2147483647
B = 2147483647

C = A + B

Hiển nhiên đây là tôi mượn VB để minh họa code chứ VB không có khả năng thế đâu còn dùng đúng kiểu VB thì sẽ có đoạn mã đại loại sau:

PHP:
Dim A As Big
Dim B As Big
Dim C As Big

A.Assign(2147483647)
B.Assign(2147483647)

C.Assign(Sum(A.Value, B.Value))
Các bạn thấy đấy, với nạp chồng toán tử, bạn sẽ tạo ra những phép toán rất tự nhiên và thân thuộc thay vì phải dùng tới hàm như kiểu Assign hay Sum.

C# kế thừa nguyên lý nạp chồng toán tử của C++ cái mà tôi cho là một trong những tinh túy của C++

Năm 2006, khi tìm hiểu về cách C# dùng CSDL vì bất mãn với cách viết code lằng nhằng và kỳ cục của C#, tôi bắt tay viết ra 1 cái lớp tương tác với CSDL sao cho tạo ra cảm giác thân thuộc như hồi còn làm với VB6. Và lần này tôi lại dùng đến cơ chế chồng toán tử. Sản phẩm của tôi có thể minh họa dưới dạng VB như sau:
PHP:
Dim db As Database 'Lớp dữ liệu tự tạo của tôi
db.Connect ("chuoi thong so ke noi")

Debug.Print db["student"].Count 'Xuất ra tổng số sv trong bảng
Debug.Pring db["student"][0].Name,  db["student"][0].Birthday ' Xuất ra tên và ngày sinh của sinh viên đầu tiên.
Ở đây tôi đã nạp chồng toán tử [] để lấy bảng dữ liệu và tiếp đó là lấy dòng dữ liệu.

Hiện giờ thì Microsoft đã tạo ra những lớp mới nhằm tạo thuận lợi cho việc tương tác với CSDL rồi nên các bạn sẽ chả phải như tôi hùng hục đi tạo ra 1 cái tương tự như Ado nữa đâu. Tóm lại:

C# do Microsoft tạo ra nên có tính tương tích với Windows rất cao.
C# cũng có thể dùng viết HĐH ngoài Windows, MONO là một phiên của C# chạy trên cả UNIX và Mac OS. (thông tin 3 năm trước).
C# lập trình cho các thiết bị di động chảy cả Android và IOS với nền tảng Xamarin (thông tin 3 năm trước).
C# quá nhỏ gọn và thích hợp cho cả những máy cấu hình thấp. Chỉ với NetFrameWork dung lượng 40-50MB thực chất đã tích hợp cả công cụ biên dịch cơ bản cho C# và nếu thích mò mẫm thì chỉ cần notepad là đã lập trình C# trên các máy có tuổi đời 15 năm.
C# có một cộng đồng trao đổi lớn nhất nếu xét về lập trình Windows. Gần như mọi thắc mắc liên quan tới C# đều có đáp án trên internet.
C# có nguồn tài liệu khổng lồ dưới dạng web lẫn pdf.

C# cũng sẽ còn giãy chết thêm ít nhất 20 năm nữa.

Bản thân tôi dù vài năm mới viết ra một chương trình con cỏn nhưng với C# thì tôi đã viết được cả ứng dụng server/client, addin Excel, thiết bị dcom, robot (chương trình thay người tương tác) nên cảm giác C# thực sự rất dễ sử dụng.
 
Lần chỉnh sửa cuối:
Hì hì, lúc đầu là C#, giờ VB.NET cũng muốn luôn "nà nàm thao" hả chủ thớt.
Tui thì không khuyên chủ thớt học VB.NET nhen. Cứ C# mà học, học từ cơ bản tới nâng cao, chậm mà chắc, không có nôn nóng, nóng vội làm app nhen.
Xe nào cũng là xe, chạy được hết, nhưng chạy tốt hay không,đi xa được hay không, uống xăng hay không... thì các xe khác nhau à nhen.
Muốn học để viết app chạy multi-platform Mac, iOS, Android, Win32/64 thì học Delphi (RAD Studio XEx trở lên). Liên hệ bác @kieu manh, bác @Nguyễn Duy Tuân, bạn @thuyyeu99...
Còn muốn debug, fix bug các kiểu, mọi ngôn ngữ thì quăng app không cần source qua cho ông Tee Kew En :p Còn muốn optimize cho tốc độ thì phải có source, và phải có phí, rẽ thôi, 2 3 lon bia à :)
cảm ơn bác, bác trên có ý tốt muốn giúp em nên em nói thế chứ em chưa nhờ giúp ạ.
 
... Và thật ngạc nhiên là anh Brazil - một nước chả có tên tuổi mấy về khoa học cũng góp vào một ngôn ngữ cũng thuộc loại có vai vế là Lua (nếu so với 600 anh).
....
Có lẽ bạn quên rằng Brazil là nước đứng đầu của nhóm tiếng La tinh. Tuy tiếng Bồ đào nha hơi khác tiếng Tây ban nha nhưng nó vẫn được liệt vào nhóm La tinh.
Trên diện kinh tế, tổng sản lượng Brazil đứng hạng 8 (hoặc 9, tuỳ theo muốn đo theo cân lượng nào)
Trên lĩnh vực khoa học, sở dĩ ta không thấy tên tuổi họ nhiều là vì họ viết tài liệu trên tiếng mẹ (Bồ đào nha) và các thư viện, các học viện trên thế giới (chủ yếu là Mẽo) chỉ dịch một số bài của họ ra tiếng Anh.
(Ngoài ra, vì ở cạnh ngay anh lớn cho nên Brazil, cũng như Mexico bị chịu hiện tượng xuất não.)
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom