C#, ai không học sẽ phải hối hận !!!!!

.NET server bây giờ không thiếu bạn à!
Giữa Windows và Linux thì cái nào phổ dụng hơn ?! Nếu chúng ta hỏi 100 người câu hỏi chung là: bạn thích dùng HĐH nào hơn?! Thì mình nghĩ rằng khoảng trên 80 người sẽ trả lời là thích dùng Windows hơn! Vậy tại sao Windows Server lại không phát triển được chứ ! Thực tế là nó đang phát triển với tốc độ khá nhanh!
 
Bởi vì 100 người đó là người dùng desktop. Còn trên thực tế, cứ lấy ví dụ đơn giản, web server chẳng hạn, anh thấy có được bao nhiêu forum sử dụng forum viết = ASP hoặc ASP.NET?? HAO sử dụng server Linux, DDTH cũng Linux, google cũng sử dụng Linux, đến 1 số server của chính Microsoft cũng là server Linux. IBM sử dụng bản Unix sửa đổi của riêng họ (1 số trong số đó là Linux), Novell chuyển hẳn sang làm Linux với Novell Enterprise Linux & SuSE Linux, Sun có Solaris - cũng là 1 *nix.
 
Theo khảo sát của NetCraft (http://news.netcraft.com/archives/web_server_survey.html) thì số lượng web server sử dụng Apache chiếm 69.32%, Microsoft là 20.45%, Sun là 3.02%. Trong suốt quá trình phát triển của Apache, thị phần Apache chỉ có tăng chứ chưa giảm còn Microsoft IIS thì bắt đầu từ tháng 4-2002 bắt đầu giảm từ mức gần 35% xuống còn 20.45% vào thời điểm hiện tại.
 
Chỉnh sửa lần cuối:
Ngoài ra C# và ASP.NET 0 phải do M$ làm ra để đấu với PHP mà là đấu với Java trong mấy cái business/enterprise application .
 
^.^ Xem ra mình và các bạn đã có xu hướng tranh luận về việc C# dùng để viết ASP.NET chứ không phải dùng để thiết kế phần mềm nữa rồi.
Đúng là M$ tạo ra C# để đấu với Java của Sun MicroSystem. Mình không phủ nhận việc hầu hết các forum hiện nay đều dùng PHP cả. Cái mà mình muốn nói ở đây là: thật là tuyệt nếu như học một ngôn ngữ (ở đây là C# - Sê Thăng) có thể làm được 2 việc. Đó là: thiết kế phần mềm và làm web động (ở đây là ASP.NET). Cái mà mọi người cần bây giờ và sắp tới là chất lượng chứ không phải là số lượng
 
Có ai dám nói chất lượng của PHP ko tốt?? Thêm vào đó nữa, chất lượng của ngôn ngữ lập trình phụ thuộc rất nhiều vào môi trường phát triển & môi trường chạy. Riêng về mặt server, Linux vẫn tiếp tục tăng còn Windows vẫn tiếp tục giảm, khi quyết định dùng ASP.NET hay PHP thì còn phải xét đến độ bảo mật của môi trường nó chạy trên (trong trường hợp nì là Windows so với *BSD, Linux, Solaris, Unix,...), tính năng, độ ổn định & chi phí. Đối với người chuyên về lập trình thì học 1 ngôn ngữ lập trình mới ko khó, thậm chí chỉ mất khoảng 1 tuần để có thể học & làm được 1 chương trình tương đối = ngôn ngữ mới học nhưng ko phải học xong rùi bỏ đấy, mà còn phải ứng dụng nữa.
 
^.^
Bây giờ mình và Hiếu lại tranh luận về việc ASP.NET và PHP, cái nào tốt hơn mất rồi! Windows server không được dùng nhiều không có nghĩa là nó bảo mật kém, tính năng ít, độ ổn định không cao hay chi phí lớn. Mình không hề nói PHP chất lượng kém bởi vì nếu nó kém thì đã chẳng có ma nào dùng.
Khi chúng ta quyết định học một ngôn ngữ, tất nhiên là chúng ta không phải học để biết mà chúng ta học để có thể thiết kế ra những sản phẩm có ích cho đời. Windows Server không có thị trường lớn như Linux, Unix..... một phần là do có nhiều nước trên thế giới tẩy chay những sản phẩm của M$. Điều đó cũng không có nghĩa là những gì của M$ làm ra là không ra gì. Mình thì cái gì tốt, ngôn ngữ gì tốt thì mình học thôi, không cần biết thằng nào làm ra nó ^.^
M$ có bị nhiều người ghét không? M$ có bị nhiều công ty khắp thế giới ghét không? Câu trả lời là có, thậm chí là rất nhiều. M$ là chúa độc quyền mà.
Mình thì không yêu cũng chẳng ghét M$. Mình chỉ yêu C#, ngôn ngữ lập trình của M$ thôi. Thay vì tranh luận xem ASP.NET và PHP nên học, nên dùng cái nào, chúng ta hãy cùng nhau trao đổi về việc làm thế nào để học tốt chúng, làm thế nào để phát huy hết sức mạnh của chúng để phục vụ đắc lực cho công việc của chúng ta.
Mình rất vui khi được trao đổi, học tập cùng các bạn về ngôn ngữ lập trình C#, ngôn ngữ đã, đang và sẽ rất phổ biến này.
Hiếu thích dùng PHP và Linux, còn mình thì thích dùng ASP.NET và Windows. Thật tiếc là chúng ta không có cùng sở thích để có thể trao đổi cùng nhau. Nhưng dù sao Phong cũng rất vui khi được trao đổi cùng Hiếu về những vấn đề chung.
 
Đồ của MS luôn luôn dễ học, dễ dùng, giúp nhẹ gánh cho lập trình viên rất nhiều --> dùng thích :D Kiểu java ngồi viết lên & xử lý mỗi cái GUI thôi cũng đủ mất thời gian rồi.
 
Windows server không được dùng nhiều không có nghĩa là nó bảo mật kém, tính năng ít, độ ổn định không cao hay chi phí lớn
Hẹ, thế bác nghĩ vì seo Linux lại có được thị phần lớn hơn mặc dù bảo mật ko hơn, ổn định ko hơn, chi phí cũng ko rẻ hơn & tính năng cũng ko nhiều hơn?? Đã thế lại ko có được support như Windows??
Khi chúng ta quyết định học một ngôn ngữ, tất nhiên là chúng ta không phải học để biết mà chúng ta học để có thể thiết kế ra những sản phẩm có ích cho đời. Windows Server không có thị trường lớn như Linux, Unix..... một phần là do có nhiều nước trên thế giới tẩy chay những sản phẩm của M$. Điều đó cũng không có nghĩa là những gì của M$ làm ra là không ra gì. Mình thì cái gì tốt, ngôn ngữ gì tốt thì mình học thôi, không cần biết thằng nào làm ra nó
Hẹ, chẳng có nước nèo tẩy chay MS cả, chỉ có Microsoft tẩy chay Linux thì đúng hơn, phần lớn chương trình phổ dụng cho Linux đều có bản chạy trên Windows, còn thử hỏi có được mấy chương trình cho Windows có bản chạy được trên Linux??

Hẹ, còn PHP & ASP.NET, như đã nói ở trên, học để làm chứ ko phải học để chơi hoặc học rùi bỏ đấy. Càng ngày càng ít server sử dụng Windows thì càng ngày càng ít có cơ hội ứng dụng ASP.NET.
Đồ của MS luôn luôn dễ học, dễ dùng, giúp nhẹ gánh cho lập trình viên rất nhiều --> dùng thích Kiểu java ngồi viết lên & xử lý mỗi cái GUI thôi cũng đủ mất thời gian rồi.
Java cũng có chương trình giúp thiết kế GUI.
 
Hẹ, mình thì chẳng thích dùng Linux tí nào, đơn giản là vì giao diện của Linux khiến mình không thích. Cái khổ ở đây là rất nhiều chương trình phần mềm chạy trên Windows được nhưng lại không thể chạy trên Linux được. Chương trình duyệt web thì hiển thị Tiếng Việt như Tiếng Ả Rập, còn cả bộ StarOffice cài sẵn thì làm mình rất khó chịu khi dùng. Có phải vì Linux là hệ điều hành mã nguồn mở, dùng những chương trình mã nguồn mở nên chất lượng các chương trình phần mềm thua xa như ở Windows hay không?!
Mình học C# mục đích chính là thiết kế phần mềm chứ không phải là làm ASP.NET. Cho dù sau này có ít server hỗ trợ ASP.NET đi chăng nữa thì cũng chẳng ảnh hưởng gì đến lập trình viên C# cả. (mình đang nói đến phương diện sản xuất phần mềm).
 
Hẹ, mình thì chẳng thích dùng Linux tí nào, đơn giản là vì giao diện của Linux khiến mình không thích.
Cụ thể là giao diện nèo?? Muốn giống Windows ấy hử?? FVWM95 giống hệt Win 95. Muốn giống Win XP thì có XPde. Còn muốn khác thì có KDE (vào diễn đàn tin học box đồ họa thấy chúng nó bàn luận về bộ icons & giao diện của KDE sẽ thấy). Còn muốn đơn giản mà hiệu quả thì có GNOME, muốn nhỏ & nhẹ có Fluxbox & các WM khác phát triển từ Blackbox.
Cái khổ ở đây là rất nhiều chương trình phần mềm chạy trên Windows được nhưng lại không thể chạy trên Linux được
Cái đó là do lập trình viên Windows thui. Còn trên thực tế, chẳng có chương trình nèo của Windows mà ko có chương trình tương ứng trên Linux cả, cùng lém thì dùng Wine. CrossOver Office hoặc Cedega mà chạy.
Chương trình duyệt web thì hiển thị Tiếng Việt như Tiếng Ả Rập
Cái đó là do users ko biết cách sử dụng thui. Phần lớn distros hiện tại đều có font tiếng Việt kèm theo. Chỉ có 1 số distros dành cho experienced users như Slackware hay Debian thì mới phải tự cài font.
còn cả bộ StarOffice cài sẵn thì làm mình rất khó chịu khi dùng
Tất cả các Linux distros hiện giờ chỉ có duy nhất 1 mình Sun Java Desktop là đi kèm StarOffice mặc định, còn lại đều đi với OpenOffice. Cái chuyện StarOffice dùng khó chịu là chuyện của năm 1998 rùi. Bi giờ ngoài ra còn có thêm KOffice, Gnumeric, AbiWord,...
Có phải vì Linux là hệ điều hành mã nguồn mở, dùng những chương trình mã nguồn mở nên chất lượng các chương trình phần mềm thua xa như ở Windows hay không?!
Chương trình nèo thua xa ở Windows về chất lượng?? Nói riêng về cái OS, thì riêng về độ ổn định & bảo mật, trước giờ chỉ thấy có người nói Linux bảo mật hơn & ổn định hơn Windows, chứ chưa nghe thấy ngược lại bao giờ.
Mình học C# mục đích chính là thiết kế phần mềm chứ không phải là làm ASP.NET. Cho dù sau này có ít server hỗ trợ ASP.NET đi chăng nữa thì cũng chẳng ảnh hưởng gì đến lập trình viên C# cả. (mình đang nói đến phương diện sản xuất phần mềm).
Ngay trên việc làm phần mềm, C# nhược điểm là chỉ hỗ trợ Windows. Mặc dù bi giờ có Mono nhưng cũng khác nhau rất nhiều. .NET vẫn khó có khả năng vượt qua được C/C++.
 
He he ....... Mình không thích dùng Linux và sẽ chẳng bao giờ dùng nó đâu bạn à. Cho dù sau này giao diện của nó có làm giống Windows đến mức độ nào đi chăng nữa tì tùy.
Kiến thức về Linux tất nhiên là Phong không thể bằng Hiếu được, nhưng những kiến thức về Windows thì lại khác đấy.
.NET trong đó có C# mới ra đời. Nó cần có thời gian để phát triển và hoàn thiện. Có thể bây giờ nó không bằng C (ngôn ngữ ra đời 1972) hay C++ (ngôn ngữ ra đời vào đầu năm 1980) thì chỉ vài năm nữa thôi cục diện sẽ rất khác đấy. Mình sẽ không tranh luận về việc giữa Linux và Windows hay giữa PHP và ASP.NET nữa mà sẽ chỉ trao đổi về việc làm thế nào để học tốt C# cùng với các bạn thôi.
 
He he ....... Mình không thích dùng Linux và sẽ chẳng bao giờ dùng nó đâu bạn à. Cho dù sau này giao diện của nó có làm giống Windows đến mức độ nào đi chăng nữa tì tùy.
Có ai nói bác phải dùng đâu?? Vấn đề là chỉ ra những rì bác nói hoàn toàn ko đúng sự thật (may ra thì đúng với thời điểm Linux mới ra đời được vài năm).
Có thể bây giờ nó không bằng C (ngôn ngữ ra đời 1972) hay C++ (ngôn ngữ ra đời vào đầu năm 1980) thì chỉ vài năm nữa thôi cục diện sẽ rất khác đấy
Chờ xem. :)) Ít nhất thì có 1 chỗ mà .NET ko bao giờ có thể vượt mặt được C/C++ được là lập trình hệ thống (OS, drivers) đơn giản bởi vì lập trình hệ thống với .NET là ko thể.
 
Tranh luận thế này là chẳng đi đến đâu cả vì đơn giản là tất cả chúng ta đang nhầm sang một vấn đề khác. Mỗi ngôn ngữ, nền tảng có điểm mạnh điểm yếu riêng và nó không tương đương để có thể so sánh. Tốt nhất là theo ý thích và nhận thức của riêng mỗi người, ai thấy cái này hay hơn, tốt hơn thì đi theo, còn ai không thích thì chọn cái khác.
 
Ở đây đang nói đến chuyện .NET có bao giờ vượt mặt được C/C++ hay ko, học .NET rùi sau nì có nhiều cơ hội để vận dụng hay ko, giữa C/C++ & .NET thì học cái nèo lợi hơn. Chứ chưa ai bàn đến chuyện cái nèo tốt hơn cái nèo cả.
 
Ai hay đọc bài trên vnexpress thì sẽ thấy có 1 bài nói về sự quay trở lại của C++.
Nói về web server, hiện tại MS đang dùng Apache, mail thì dùng QMail chứ không dùng IIS và Exchange. Để thấy được các phần mềm của MS phù hợp cho doanh nghiệp có tầm vóc ntn.
To Luu Van Phong: CNTT thì lập trình không phải là tất cả. Và cuộc sống thì không chỉ có CNTT, không chỉ có lập trình và C#. Chú không cần thiết phải quảng cáo, cũng chẳng cần thiết phải "ai không học sẽ phải hối hận". Còn có rất nhiều thứ khác phải học, mà trong đó có việc học suy nghĩ trước khi nói.
 
Chỉnh sửa lần cuối:
Đinh Quốc Trung đã viết:
Ai hay đọc bài trên vnexpress thì sẽ thấy có 1 bài nói về sự quay trở lại của C++.
Nói về web server, hiện tại MS đang dùng Apache, mail thì dùng QMail chứ không dùng IIS và Exchange. Để thấy được các phần mềm của MS phù hợp cho doanh nghiệp có tầm vóc ntn.
To Luu Van Phong: CNTT thì lập trình không phải là tất cả. Và cuộc sống thì không chỉ có CNTT, không chỉ có lập trình và C#. Chú không cần thiết phải quảng cáo, cũng chẳng cần thiết phải "ai không học sẽ phải hối hận". Còn có rất nhiều thứ khác phải học, mà trong đó có việc học suy nghĩ trước khi nói.

:) mình không phải dân IT, xen ngang nói bừa vài câu thôi.

Đối với dân lập trình, ai KHÔNG học THUẬT TOÁN chắc chắn sẽ HỐI HẬN :D

Khi biết thuật toán, dù ngôn ngữ có "đơn giản" như assembler, hay "phức tạp" như C++ cũng đều làm được hết.

Nếu chỉ biết 1 ngôn ngữ, mà không vững thuật toán, sẽ trở thành nô lệ của ngôn ngữ đó.

Anyway, chủ đề này nên dành lại cho những ai thích học C# vào tham gia, thảo luận những vấn đề liên quan đến nó, thay vì tranh luận xem nó có tốt hơn hay không, tốt hơn cái gì.

Hiếu nếu muốn giữ ý kiến về việc PHP tốt hơn ASP, *nix tốt hơn Windows, có thể mở topic khác mà.

Topic này (theo bài đầu tiên), thuần túy giới thiệu về C#, tuy có hơi mang tính "quảng cáo" một chút. Nếu cần thì có thể "đổi tên" bài viết, cho hợp lý hơn.

Mời các bạn yêu thích C# vào thảo luận tiếp, (và mời bạn nào không thích C# ... ra ngoài chơi ở chỗ nào mình yêu thích :D )
 
Đặng Trần Hiếu đã viết:
Ở đây đang nói đến chuyện .NET có bao giờ vượt mặt được C/C++ hay ko, học .NET rùi sau nì có nhiều cơ hội để vận dụng hay ko, giữa C/C++ & .NET thì học cái nèo lợi hơn. Chứ chưa ai bàn đến chuyện cái nèo tốt hơn cái nèo cả.

Hẹ hẹ, chú Hiếu nói thế quá bằng nói chuyện M3 bao giờ vượt mặt được dylan :)). Dylan thời nay có thể nhiều, tiện đi lại, dễ sử dụng, rẻ tiền. M3 tuy ít, khó sử dụng, đắt bằng vài chục cái dylan, lấy được bằng lái cũng phải học mệt nghỉ nhưng nó lại là trao lưu của giới trẻ tương lai :D. C# thực chất là một ngôn ngữ được đúc kết, tập hợp hầu hết các tinh hoa của cả C++ lẫn Java. Không phải bỗng dưng mà M$ đổ hàng tấn tiền vào đó và đặt rất nhiều kỳ vọng vào tương lai của .NET. Nếu chú so sánh Java với c# thì nghe còn tạm chấp nhận chứ so C++ với C# thì đúng là hơi khập khiễng thật. Anh ko biết chú đã tìm hiểu sơ qua tí gì về C# và .NET chưa chứ C# thực sự là kết quả của sự giao phối giữa C++ và Java. Cú pháp của nó về cơ bản là 90% giống Java chỉ sửa lại chút ngôn từ cho khỏi bị đụng hàng. Còn compilation thì lại cơ bản giống C++. Bên cạnh đó, sự tập trung cao độ vào phát triển và cải tiến cấu trúc ngôn ngữ hướng đối tượng OPP đã thực sự khiến C#/ASP.NET trở nên ưu việt, tiên tiến hơn hẳn so với các ngôn ngữ khác trong việc phát triển những ứng dụng quy mô lớn. Vậy tính ưu việt của C# và .NET là gì. Có thể compiling của nó không được optimized và rườm rà hơn C++ một tẹo, và có thể nó không cho phép programmer can thiệp quá sâu vào cấu trúc hệ thống như C++ hay machine language, nhưng bù lại một phần mềm thay vì mất vài năm để xây dựng thì nay có thể rút xuống còn vài tháng. Lập trình với C# sẽ dễ như soạn thảo văn bản và việc phổ cập programming trở nên dễ dàng như xóa mù chữ. "lập trình" sẽ không còn là 1 cụm từ cao xa nữa mà sẽ đơn giản tựa như đánh vần. Những thằng programmer "copy and paste" hay những thằng hacker "download and run" sẽ trở thành tầng lớp lưu manh vô học thời đại mới thay vì khệnh khạng như bây giờ. Đấy chính là cái đích mà MS và đ/c Bill đã đang và sẽ hướng tới, rất đơn giản và thiết thực. Nhìn lại lịch sử, nếu như ở thế kỷ 19 nước Anh và chế độ tư bản thực dân cùng với vai trò tiên phong trong cuộc cách mạng khoa học kỹ thuật của nó đã mở ra một trang mới cho sự phát triển của nhân loại bằng việc giải phóng lao động, tự động hóa và công nghiệp hóa everything, dần thay thế lao động chân tay bằng lao động trí tuệ thì nay ở thế kỷ 21 MS dưới sự lãnh đạo của đ/c Bill vĩ đại với cuộc cách mạng .NET, đang hứa hẹn mở ra một trang sử mới, giải phóng sức lực programming biến những chú programmer bảo thủ, đầu to kính dày không khác gì những chú nông dân chân đất mắt toét chỉ biết vác trâu cày ruộng mà chê máy cày là ẫm ĩ và tốn kém. Tuy rằng MS độc tài, tàn ác và hợm hĩnh không thua gì bọn tư bản thực dân thuở trước nhưng thế cũng không có nghĩa là Linux với open source hay Lê nin với CSCN có thể thay đổi được trào lưu lịch sử. Nếu chú để ý có thể thấy những thằng gạo cội như Redhat miệng tuy vẫn hô hào open source nhưng cách làm ăn của nó thì chả khác gì MS là mấy....

Trở lại vấn đề C# và .NET thì có thể thấy rõ rằng .NET có những ưu điểm và tiến bộ nổi trội so với các nền tảng phát triển khác ở mấy điểm sau:

+ Tạo ra một môi trường phát triển có độ tương thích đa cấu trúc rất cao. Bản thân nó có vô vàn công cụ, thư viện và dịch vụ giúp cho người dùng có thể tổng hợp, phát triển và xây dựng các ứng dụng dựa trên nhiều nền tảng ngôn ngữ, dữ liệu, cấu trúc và áp dụng cho dủ mọi hệ thống, đối tượng và mục đích khác nhau.
+ Nâng cao, chú trọng nhiều hơn tới vấn đề chuẩn hóa và đơn giản hóa các công đoạn của SDLC bằng việc cung cấp nhiều ứng dụng, công cụ giúp người dùng có thể dễ dàng keep track, maintain và debug các ứng dụng sau này.
+ Nâng cao tính kế thừa và khả năng đa hình của các đối tượng (object), giúp việc tổ chức phân công nhiệm vụ giữa các nhóm thiết kế, xây dựng, áp dụng và tập huấn (trainning) trở nên dễ dàng và thuận tiện hơn ở những ứng dụng cớ lớn.
+ Làm giảm chi phí, độ phức tạp và thời gian phát triển các ứng dụng cỡ lớn từ đó nâng cao hiệu quả kinh tế của các sản phẩm và giảm các chi phí duy trì và bảo dưỡng sản phẩm trong tương lai.
+ Một ưu điểm nữa cũng không thể không nói đến là tuy MS không bao giờ tiết lộ mã nguồn các sản phẩm của mình nhưng những tài liệu, giao diện, hướng dẫn phục vụ mục đích học tập và phát triển của nó luôn luôn rất hệ thống, visual, dễ đọc và thân thiện vì MS luôn ý thức được rằng đối tượng sử dụng của họ bao gồm cả tầng lớp không chuyên...

Sơ sơ như vậy, có gì các đ/c bổ xung tiếp....
 
Đặng Trần Hiếu đã viết:
Có ai nói bác phải dùng đâu?? Vấn đề là chỉ ra những rì bác nói hoàn toàn ko đúng sự thật (may ra thì đúng với thời điểm Linux mới ra đời được vài năm).

Chờ xem. :)) Ít nhất thì có 1 chỗ mà .NET ko bao giờ có thể vượt mặt được C/C++ được là lập trình hệ thống (OS, drivers) đơn giản bởi vì lập trình hệ thống với .NET là ko thể.

How about these instructions:
000000000000000000010000001001010000000000000101010000000010101000010001000000000000000000000011000000000100010000010000001000000010000010100101111111111111111100001000000100000000000000000001

chú Hiếu cứ dịch thử sang C++ thì sẽ thấy rõ cái ngôn ngữ theo kiểu trên nó tân tiến hơn C++ cỡ nào :)). Và anh cũng đố chú viết được cái C++ program nào thực hiện cùng 1 việc mà khi compile ra nó nhỏ hơn hay giống y xì được như vậy :p
 
Chỉnh sửa lần cuối:
Mọi người nhớ là M$ đã mời người thiết kế nền tảng của Java để thiết kế cho .NET nhé.

Không có chuyện .NET vượt mặt C/C++. Hai cái đi về hai hướng khác hẳn nhau. Nhưng có điều chắc chắn là không ai
10001000001000010111110011101000
10001000011001010110000011101000
vào thời đại này cả. Ý của anh Minh chắc là ý khác.
 
Back
Bên trên