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

nguyenquyetnd993

Thành viên chính thức
Tham gia
31/5/19
Bài viết
53
Được thích
11
Chào mọi người!

Hiện em có 1 bài toán đã xong phần tính toán, bây giờ e muốn viết 1 chương trình cho nó.
VD:bài toán có những số liệu cơ bản ban đầu phải có, tạo các Ô để điền số liệu cần vào để chạy và cho ra kết quả luônđược không ạ?
anh/ chị nào có thể hỗ trợ hoặc đưa ra hướng đi giúp em được không ạ.
em cảm ơn!
 
Hướng đi của bạn là học ngôn ngữ C# và cách làm GUI trên C# đấy bạn.
Không muốn học C# phức tạp thì học VBA trên Excel, Word luôn, làm GUI cũng được.
2 cái chọn 1, hay chọn cả 2 "nuôn" :)
 
Hướng đi của bạn là học ngôn ngữ C# và cách làm GUI trên C# đấy bạn.
Không muốn học C# phức tạp thì học VBA trên Excel, Word luôn, làm GUI cũng được.
2 cái chọn 1, hay chọn cả 2 "nuôn" :)
cảm ơn anh đã quan tâm.
em muốn viếtbàng C# cho nó chạ như 1 phần mềm được không anh
 
Lý do tại sao không hỏi ở mấy diễn đàn về Xi Xáp mà lại mò vào đây?
 
Còn gì tuyệt hơn C#, bao nhiêu tinh túy, sức mạnh từ cả C++ và Java, Microsoft gom hết và nhào nặn lên C#. Năm 2004, tôi có download được 1 cuốn Reference C# (không nhớ rõ tên sách) dày cộp. Tuy không đủ trình độ để đọc hết, nhưng tôi tình cờ phát hiện ra rằng Microsoft đã tập hợp 1 đội ngũ kỹ sư từ rất nhiều hãng CNTT lớn nhất bấy giờ (HP, IBM, XEROX, ORACLE, SUN... tôi nhớ mang máng là có hầu hết mấy anh này) kể cả những hãng cạnh tranh lẫn nhau (cả với Microsoft) để tạo ra 1 anh C# phù hợp nhất cho hầu hết mọi lập trình viên. Những người đó sẽ thống nhất việc C# sẽ cần có những gì và sử dụng như thế nào.

C# lúc mới ra đời thực sự phức tạp, tuy nhiên vì được cải tiến không ngừng nghỉ nên việc sử dụng C# cũng ngày càng dễ dàng hơn. Hiện tại C# đã ra tới version 8.0 (tôi thì mới rờ tới 5.0).

Ưu điểm mà tôi thích nhất với C# là chỉ cần một bộ cài đặt gọn nhẹ gồm NetFramework cỡ gần 50MB, cùng với em SharpDevelope gần 30MB. Thử hỏi đào đâu ra trên đời một bộ cài đặt IDE nhẹ như lông hồng đến thế? Còn muốn bờ rồ hơn thì bạn có thể dùng em Visual Studio với bản Express miễn phí. Tuy nhiên Visual Studio không phù hợp với những máy có trên 4 năm tuổi đời.

Một ưu điểm của C# trong các phiên bản gần đây là nó làm sẵn rất nhiều thứ cho bạn. Bạn chả cần phải viết hàm search, hàm sort, compare, hàm đảo thứ tự, hàm chuyển đổi dữ liệu, cả đống hàm dựng sẵn.... những thứ mà bạn sẽ phải tự viết trong phần lớn các ngôn ngữ khác, C# làm sẵn tất cả. Việc của bạn giống như lắp ghép 1 đống linh kiện lại thành sản phẩm thay vì phải nghiên cứu tạo ra từng cái linh kiện một để tạo nên sản phẩm. Hiển nhiên sẽ có mấy bác giáo điều làm thế mất cơ bản nhưng cơ bản cũng chả mấy ai nhớ đến mấy cái thuật toán sort, đảo....

Nhược điểm ấn tượng nhất với tôi về C# là sự tuyệt đối hóa "lập trình hướng đối tượng". Mọi thứ trong C# đều sẽ phải là đối tượng. Nếu quen viết VB, VBA, C++... thì có khi thấy bất mãn với cái sự tuyệt đối hóa kỳ cục đó.

Thôi thì nếu có để ý C#, thì cứ ra nhà sách lượn vài vòng, tham khảo vài quyển C# rồi về thực hành thử. Lập trình Windows Form trên C# thực sự là đơn giản lắm chứ không lằng nhằng như cái thời C# mươi năm trước đâu.
 
Cái gì cũng có cái giá của nó, được này mất kia.
Các lựa chọn khác là Java, Python, Delphi, VB. Net.
C/C++ thì kg khuyên chủ thớt theo.
Các ngôn ngữ mới bây giờ thì tui hông biết, hằng hà sa số.
Cần tinh hơn cần đa.
 
Lần chỉnh sửa cuối:
Con người nhiều khi tham lam, muốn mọi cái nhất.

Muốn vợ sau khi đi làm về là tạt qua chợ, đón con, về nhà là lao vào bếp, giặt, chăm 2 con nhỏ, và chăm chồng nằm chơi game (anh chơi game khát nước quá, cho anh cốc nước cam ...), giải quyết mọi đối nội đối ngoại v...v. Khi đêm xuống thì vợ phải tươi mới như cô đồng nghiệp chưa chồng, chưa con ... Bó tay. :D
 
Sao hổng ai thèm nhắc đến R cho mình được dịp làm tàng nhỉ. :(:(:(
 
...Cần tinh hơn cần đa.
Khổ ở chỗ người ta không nổi tiếng như Tee-Kew-En, lúc đi xin việc cần đa hơn cần tinh.

...
Một ưu điểm của C# trong các phiên bản gần đây là nó làm sẵn rất nhiều thứ cho bạn. Bạn chả cần phải viết hàm search, hàm sort, compare, hàm đảo thứ tự, hàm chuyển đổi dữ liệu, cả đống hàm dựng sẵn.... những thứ mà bạn sẽ phải tự viết trong phần lớn các ngôn ngữ khác, C# làm sẵn tất cả. Việc của bạn giống như lắp ghép 1 đống linh kiện lại thành sản phẩm thay vì phải nghiên cứu tạo ra từng cái linh kiện một để tạo nên sản phẩm. Hiển nhiên sẽ có mấy bác giáo điều làm thế mất cơ bản nhưng cơ bản cũng chả mấy ai nhớ đến mấy cái thuật toán sort, đảo....

Nhược điểm ấn tượng nhất với tôi về C# là sự tuyệt đối hóa "lập trình hướng đối tượng". Mọi thứ trong C# đều sẽ phải là đối tượng. Nếu quen viết VB, VBA, C++... thì có khi thấy bất mãn với cái sự tuyệt đối hóa kỳ cục đó.
...
Ưu điểm thì cũng chẳng hẳn ưu: bi giờ thì framework nào cũng có đủ hết. Xi xáp chẳng có bao nhiêu ưu điểm so với Java. Nhất là đi vào Webform thì đồ trên net cả đống, PHP+JavaScript mới thực sự có ưu thế.
Nhược điểm thì cũng chẳng hẳn nhược: trừ phi làm project rất lớn, cái căn bản "lập trình hướng đối tượng" không quan trọng lắm. Hầu hết dân viết code mì ăn liền đều viết code chả thấy cái class nào, và nếu có thì class theo kiểu static.
Túm lại, nếu code Winform thì chỉ cần học cái đống class của .NET là đủ rồi.
Cũng tương tự như VBA, chủ yếu chỉ cần biết sự khác biệt/liên hệ giữa mảng và range; Xi Xáp cho Winform chỉ cần biết sự khác biệt/liên hệ giữa DataSource và DataView thôi
 
Khổ ở chỗ người ta không nổi tiếng như Tee-Kew-En, lúc đi xin việc cần đa hơn cần tinh.


Ưu điểm thì cũng chẳng hẳn ưu: bi giờ thì framework nào cũng có đủ hết. Xi xáp chẳng có bao nhiêu ưu điểm so với Java. Nhất là đi vào Webform thì đồ trên net cả đống, PHP+JavaScript mới thực sự có ưu thế.
Nhược điểm thì cũng chẳng hẳn nhược: trừ phi làm project rất lớn, cái căn bản "lập trình hướng đối tượng" không quan trọng lắm. Hầu hết dân viết code mì ăn liền đều viết code chả thấy cái class nào, và nếu có thì class theo kiểu static.
Túm lại, nếu code Winform thì chỉ cần học cái đống class của .NET là đủ rồi.
Cũng tương tự như VBA, chủ yếu chỉ cần biết sự khác biệt/liên hệ giữa mảng và range; Xi Xáp cho Winform chỉ cần biết sự khác biệt/liên hệ giữa DataSource và DataView thôi
Webform thực tế là thoái trào từ khoảng 10 năm trước rồi chú ạ. Chỉ có mấy anh Việt Nam có cái văn hóa "duy trì truyền thống" thì cố lê lết công nghệ cũ rích ấy thêm vài năm. Nhưng thực tế cái đó gần như tuyệt chủng rồi! Nó đã được thay thế bằng mẫu hình MVC.

Nếu như ai tìm hiểu C# 15 năm trước để lập trình Windows Form thì chắc sởn da gà vì cả mớ code phải học. Nào là code tạo ra form, rồi tạo ra từng cái textbox, checkbox, button... Rồi phải viết code cho sự kiện rồi lại thêm công đoạn gán code vô sự kiện... Nhưng đó là chuyện của hơn 15 năm về trước. Còn bây giờ viết code form chả khác gì lập trình trên VBA, Delphi hay bất cứ IDE với ngôn ngữ nào khác. Vẽ form xong, vẽ control xong, IDE tự sinh code tạo ra chúng (có thể liên tưởng như cách sinh ra Macro trong VBA). Kích chuột vô mấy cái vừa vẽ xong, IDE cũng tự sinh ra template và người lập trình điền nốt code cho những ý tưởng còn lại.

Tương tự với các object có cấu trúc như list, collection, array, hash... lúc ra đời thì cũng cơ bản như các ngôn ngữ lập trình khác (chỉ trang bị những phương thức, thuộc tính cơ bản nghèo nàn) nhưng cứ theo mỗi version ra đời, Microsoft lại bổ sung thêm những thuộc tính và phương thức mới giải phóng đi công việc làm cho người lập trình. Ví dụ tôi muốn sắp xếp thì có ngay em Sort, tôi muốn tìm kiếm thì có ngay em Search (hay Find hay gì gì đó), tôi muốn biến đổi từ collection sang array... cũng có sẵn luôn. Phải nói là rất rất nhiều thứ làm sẵn cứ như thể Microsoft biết tương lai là chúng ta sẽ cần dùng đến gì.

Còn về Webform, đúng là thứ gây ác cảm về về ASP.NET. Tuy nhiên nếu vì định kiến về ASP.NET rồi ghét bỏ cả C# thì quả là hiểu biết cũ kỹ, hạn hẹp. Thực tế không cần Webform thì chúng ta vẫn có thể lập trình Web bằng cách xuất trực tiếp các thẻ HTML dưới dạng text trong các response tương tự như PHP, PYTHON, PEARL, ASP Classic...

Microsoft cũng chả bao lưu luyến những cái truyền thống lập trình dở hơi và Webform đã được loại bỏ không thương tiếc và thay bằng MVC và nhiều thứ khác nữa.

Với MVC, khi ra đời để tống tiễn Webform thì nó cũng khá là khó xài. Tôi may mắn được tiếp cận với MVC 4.0 khi nó mới ra đời năm 2012 với chính tài liệu Microsoft. Tôi thấy may vì được học một phiên phản đã có nhiều cải tiến mà ngay khi đọc được tôi cảm giác như là nó sinh ra để giải tỏa bao nhiêu phiền toái viết code.
C#:
var AcDB_=Database.Open("DBAX");
var targetType_=AcDB_.QuerySingle("SELECT DisplayName FROM Objects WHERE [Name]=?",table_);
Với MVC4.0, chỉ có 2 dòng code thôi là tôi đã có thể thao tác trong CSDL. Database chỉnh là Object MVC dựng sẵn đại diện cho CSDL và chứa hầu hết công cụ cần có. Nếu lập trình C# bản cỗ lỗ hay các ngôn ngữ khác thì bạn sẽ phải khai báo ra cả đống đối tượng cùng nhiều dòng code chỉ để kết nối vào CSDL.

Và tôi tin là C# sẽ không dừng lại ở version 8.0. Với hầu bao dồi dào của anh Microsoft cùng sự cầu thị với nhu cầu của người lập trình, C# càng ngày tiến hóa hơn và sẽ mang tới nhiều điều thú vị hơn. Trong khi đó các ngôn ngữ lập trình cổ điển khác do thiếu đầu tư đều có dấu hiệu chững lại hoặc bị các ngôn ngữ mới mẻ hơn lấn lướt (trừ anh PHP, Java và Javascript).

Không phải vô cớ mà trẻ con được kể chuyện "vịt hóa thiên nga", nhất là với tốc độ biến đổi của CNTT hiện nay còn nhanh hơn mấy mươi năm trước vài lần thì có những cái suy nghĩ chỉ đúng trong một khoảng thời gian chứ không phải vĩnh viễn.
 
Lần chỉnh sửa cuối:
.... Vẽ form xong, vẽ control xong, IDE tự sinh code tạo ra chúng (có thể liên tưởng như cách sinh ra Macro trong VBA). Kích chuột vô mấy cái vừa vẽ xong, IDE cũng tự sinh ra template và người lập trình điền nốt code cho những ý tưởng còn lại.

Tương tự với các object có cấu trúc như list, collection, array, hash... lúc ra đời thì cũng cơ bản như các ngôn ngữ lập trình khác (chỉ trang bị những phương thức, thuộc tính cơ bản nghèo nàn) nhưng cứ theo mỗi version ra đời, Microsoft lại bổ sung thêm những thuộc tính và phương thức mới giải phóng đi công việc làm cho người lập trình. Ví dụ tôi muốn sắp xếp thì có ngay em Sort, tôi muốn tìm kiếm thì có ngay em Search (hay Find hay gì gì đó), tôi muốn biến đổi từ collection sang array... cũng có sẵn luôn. Phải nói là rất rất nhiều thứ làm sẵn cứ như thể Microsoft biết tương lai là chúng ta sẽ cần dùng đến gì.
...
Trong chỗ này đâu có chỗ nào nói về inheritance và reusable classes.
Theo chiều hướng phát triển dài dài của .NET thì hôm nay tôi bắt đầu viết một cái class (hoặc nhóm classes) hoành tráng, mất cả tháng mới xong. Để rồi tháng sau, MS ra đúng cái class còn xịn hơn.
Bởi vậy, như tôi đã nói bài trước, đâu có cần viết code "hướng đối tượng".
 
Trong chỗ này đâu có chỗ nào nói về inheritance và reusable classes.
Theo chiều hướng phát triển dài dài của .NET thì hôm nay tôi bắt đầu viết một cái class (hoặc nhóm classes) hoành tráng, mất cả tháng mới xong. Để rồi tháng sau, MS ra đúng cái class còn xịn hơn.
Bởi vậy, như tôi đã nói bài trước, đâu có cần viết code "hướng đối tượng".
Theo đúng hướng chủ đề của topic là tạo ra ứng dụng trên windows, đố chú VetMini viết ra 1 cái WindowForm (yêu cầu có ít nhất 1 form tự tạo xuất hiện) mà không tạo ra bất cứ 1 cái class nào đó.
 
Lần chỉnh sửa cuối:
2 ông nói đều đúng và đều không hiểu nhau, kaka

Riêng chủ thớt nếu thích VB.net thì liên hệ mình giúp, kaka
 
Lần chỉnh sửa cuối:
Theo đúng hướng chủ đề của topic là tạo ra ứng dụng trên windows, đố chú VetMini viết ra 1 cái WindowForm (yêu cầu có ít nhất 1 form tự tạo xuất hiện) mà không tạo ra bất cứ 1 cái class nào đó.
Đừng thách thức tôi mệt lắm. Tôi không phải là cốt đờ.
Đối với tôi, một cái class đơn lẻ thì chỉ là một nhóm code.
Một cái nhóm code thuộc loại hướng đối tượng thì phải hội đủ điều kiện của hướng đối tượng (có thể miễn giảm khả năng đa hình).

2 ông nói đều đúng và đều không hiểu nhau, kaka
2 ông nào? ở đây tới 4 ông lận, không kể chủ thớt.
Phép đếm chưa nên hồn mà cũng bày đặt nhào vào.
 
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++)
 
Web KT

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

Back
Top Bottom