Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Những câu hỏi thường gặp với C# (FAQ C#)

  1. #1
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Smile Những câu hỏi thường gặp với C# (FAQ C#)

    Frequently Asked Questions (FAQ)

    Muốn dùng Visual Studio .NET thì cần OS và thíết bị nào?
    Bạn nên có CPU Pentium III, 500MHz trở lên, với 256 MB RAM và ít nhất 10GB Harddisk. Về OS bạn nên dùng Windows 2000 (Professional hay Server) hay Windows XP. Lý do chính là các versions Windows nầy hỗ trợ Unicode và có Internet Information Server (IIS) hỗ trợ ASPX để ta dùng cho ASP.NET.

    Tôi nên dùng version Visual Studio .NET nào?
    Từ tháng Bảy, 2001 có Visual Studio.NET Beta 2. Version nầy có nhiều thay đổi so với Beta 1 (11/2000). Nó có đầy đủ các chức năng và tương đối vững chãi. Ngày 23-Oct-2001, Microsoft phát hành Visual Studio.NET Release Candidate trong một DVD, khoảng 2GB. Version nầy có ít chức năng hơn Beta 2 và có lẽ ít bugs hơn. Nhưng nó có một "time bomb" (trái bom nổ chậm), tức là nó sẽ hết hạn ngày 28-Feb-2001.

    Visual Studio.NET Beta 2 hiện nay có Service Pak 2, nó cho phép ta dùng Visual Studio.NET Beta 2 sau ngày 31-July-2001, tức là không có time-bomb. Nếu VS.NET version của bạn bị giới hạn về thời gian nói trên, từ trong VS.NET bạn có thể download Service Pak 2 để cài đặt bằng cách dùng IDE Menu Command Help | Check for Updates.

    Microsoft đã lăn-xê Visual Studio.NET vào ngày thứ tư 13-Feb-2002 tại VSLive! ở San Francisco, Mỹ. Có ba versions: Professional, Enterprise và Enterprise Architect. Cách cài đặt giống và đơn giãn hơn trước:
    o Trước hết uninstall Visual Studio.NET Beta và .NET Framework Beta
    o Kế đó là cài đặt Windows Update Components tử CD cuối của bộ VS.NET, trong đó có .NET Framework.
    o Sau cùng là cài đặt chính Visual Studio.NET

    Dĩ nhiên nếu có phương tiện thì bạn nên dùng version chính thức mới nhất.

    Xin cho biết sự liên hệ giữa .NET Framework và Visual Studio .NET?
    .NET Framework là phần chính của .NET. Nó gồm có Common Language Runtime (CLR) và tất cả mọi Libraries. Bạn có thể viết program trong VB.NET hay C# bằng Notepad rồi compile bằng command line và chạy trên .NET Framework. Tuy nhiên, Visual Studio.NET cho ta một IDE rất hùng mạnh và đầy đủ để drag-drop các controls khi ta design và viết code, debug rất nhanh. Đại khái Visual Studio.NET giống như VB6 IDE nhưng nó có thêm rất nhiều chức năng như inbuilt-editor tự động pretty code, ta có thể edit XML và IntellSense rất thông minh.

    Nhìn từ quan điểm deployment and package thì .NET Framework giống như VB6-Runtime. Thông thường chỉ cần copy các exe, dll và data files cần thiết vào destination folders của một computer có cài sẵn .NET Framework là ta có thể chạy program được. Hoàn toàn không cần phải register gì cả. Trong tương lai, có thể Microsoft sẽ làm .NET Framework như một component của MSWindows.

    ASP.NET khác với ASP như thế nào?
    ASP.NET đối với lập trình trên Webserver cũng giống như VB6 đối với lập trình cho desktop. ASP.NET là hậu thân của ASP, tức là ta có thể dùng nó để lập trình trên Webserver thay gì dùng cgi-perl hay php.

    Về System Architecture thì ASP.NET nằm trên .NET Framework nên nó tận dụng tất cả những chức năng Đối tượng, Cross Language Inheritance ..v.v.

    ASP.NET có một số đặc điểm sau đây:
    1. Mỗi program ASP.NET gồm có hai phần: phần Visual thì giống như trang HTML, còn phần code thì nằm riêng để handle Events và giống hệt như code để dùng cho desktop application.

    2. Bạn có thể viết ASP.NET bằng VB.NET hay C#, cả hai đều được compiled at run time, chớ không phải là Script như trong ASP.

    3. ASP.NET dùng ADO.NET là một loại Disconnected Cached Database, nên rất thích hợp cho Internet.

    4. ASP.NET quản lý chuyện data state persistence (còn nhớ trạng thái của data trong form) một cách tự động cho bạn.

    5. ASP.NET có nhiều Server controls cho bạn dùng (giống giống như Design time controls của Visual InterDev) và develop thêm bằng cách thừa kế.

    6. ASP.NET dùng XML rất nhiều, nhất là cho ADO.NET.

    7. Visual Studio.NET cho bạn một IDE giống như Visual InterDev đối với ASP, nhưng hiệu năng hơn bội phần.

    8. ASP.NET cho phép bạn develop Web Services. Người khác dùng một Web Service của bạn bằng cách gọi một Function từ URL của bạn để lấy kết quả.

    Tôi nên học VB.NET hay C#?
    Về mặt kỹ thuật thì VB.NET và C# tương đương nhau về chức năng, không phải như VC++, tuy khó học nhưng hùng mạnh hơn VB6 nhiều. Lý do là cả hai ngôn ngữ lập trình VB.NET và C# đều phải được compiled ra Microsoft Intermediate Language (MIL).

    Nếu bạn đã từng dùng VC++ hay Java thì đã quen với các ý niệm về Đối Tượng (Object Oriented) của .NET. Syntax của C# rất giống với VC++ và Java nên bạn sẽ học nhanh lắm vì các kiến thức trước đây về VC++ hay Java đều có thể mang qua C# đầy đủ.

    Nếu bạn đã từng dùng VB6 thì sẽ quen thuộc với syntax của VB.NET và nhất là Visual Studio .NET IDE (Intergrated Development Environment). Bạn phải học thêm để biết tường tận về lập trình theo hướng Đối Tượng (Object Oriented) của .NET, nhưng điều ấy không khó lắm, vì dầu sao bạn cũng đã từng dùng Object và viết Class trong VB6.

    Có điều, đa số các code có sẵn cho .NET là C# nên dầu sao bạn cũng nên làm quen với C#. Vì cách gọi các methods của Classes giữa VB.NET và C# y hệt nhau, nên việc porting code từ C# qua VB.NET hay ngược lại là chuyện nhỏ.

  2. #2
    Ngày gia nhập
    01 2007
    Bài viết
    412

    Mặc định C# có phải là Java killer không?

    C# có phải là Java killer không?

    C# v/s JAVA. Cần nhắc lại là Java là một ngôn ngữ lập trình tân tiến, được thiết kế ngay từ đầu để dùng cho Internet, hỗ trợ Unicode, với nguyên tắc "Write Once, Run Everywhere". Java đến từ C++, nhưng đơn giản hơn, nhất là không có pointers. Nó được compiled ra "byte code" để có thể chạy trên bất cứ computer nào hỗ trợ "Java Virtual Machine", một dạng code intepreter. Do đó nó là platform independent, lôi cuốn những tổ chức và cá nhân ghét Microsoft. Trên thực tế, Java không thích hợp cho desktop application và Java Applet bị coi là quá chậm khi chạy trong WebBrowsers. Dầu vậy, vì Microsoft không cung cấp phương tiện hoàn hảo cho Web Development nên Java đã chiếm một vị thế vững vàng trong Enterprise/E-Commerce WebDevelopment.

    ASP là một giải pháp tạm thời của Microsoft cho WebServer Application nên nó có nhiều khuyết điểm.
    Dù Microsoft không nhìn nhận, nhưng C# là hậu tự của Java, tức là nó ngồi trên vai của người khổng lồ Java, cũng giống như trước đây Java ngồi trên vai người khổng lồ C++ . Nhớ là Java chào đời năm 1995, còn C# được thiết kế năm 1998.

    C# giữ tất cả các ưu điểm của Java và thêm nhiều sáng kiến như:
    1. Dùng Common Language Runtime (CLR) để hỗ trợ nhiều ngôn ngữ lập trình (cho phép cross-language inheritance), có Just-In-Time compiler, garbage collector (automatic memory management) và Security check. Framework của CLR cung cấp đầy đủ mọi Classes ta cần từ Thread, Stream, Serialization, Remoting cho đến Encryption.

    2. Trong C# mọi data đều là Object, khoảng cách giữa value type và reference type được nối lại. Properties, Methods và Events là căn bản, tức là chúng được Framework hỗ trợ tự nhiên. Thí dụ như ta có thể viết o.Value++ thay vì o.SetValue(o.GetValue()+1) .

    3. C# dùng "Attributes" để dặn compiler chứa các tin tức về components mà lúc run-time CLR đọc được.

    4. Webservices rất đơn giản và hiệu năng.

    5. Hỗ trợ XML tuyệt đối.

    Nói chung cái gì Java làm hay thì C# làm hay hơn, thí dụ như Event Handling và Remoting.

    CHIẾN LƯỢC
    Trong khi Sun phát minh ra Java vì sự tình cờ thì tạo ra .NET, trong đó có C#, là cả một chiến lược của Microsoft. Trong tương lai tất cả applications của Microsoft đều được ported qua .NET. Mới đây Microsoft release 6 CDs cho 6800 IT professionals ở
    một week-long conference. Các CDs nầy chứa Microsoft XML-based blueprint - software for .NET Framework, VisualStudio.NET, technology preview for .NET Alerts, .NET Speech và Commerce Server 2002, software development kits cho .NET My Services và .NET Compact Framework. Lúc ấy, Microsoft cũng phát hành Microsoft XML Core Services (MSXML 4.0) và SQLXML 2.0 (một upgrade của SQL Server 2000).

    Sự lấn áp của Java đối với Microsoft VB6/VC++/ASP trong mấy năm trước có lẽ cũng giống như Netscape đối với Internet Explorer. Theo thống kê Microsoft chiếm 42% Server Market (và đang tăng lên) với trên 90% desktop market. Nếu không còn nhiều Platforms trong Market thì đặc tính Platform Independence không còn quan trọng nữa.

    Ngoài ra, .NET Framework với CLR powerful hơn JVM nhiều. Và ngay cả đặc tính "Write Once, Run Everywhere", thật ra chỉ là lý thuyết nên nhiều khi người ta vẫn phải test JVM mới với Java program của mình, nên có câu "Write Once, Debug EveryWhere".

    Ta phải nhớ rằng Bill Gates xuất thân là một programmer nên ông ta hiểu programmer hơn ai hết. Viển tượng của Bill Gates khủng khiếp và ông dám nói, dám làm.

    Một khi đã nhất quyết rồi thì dù thất bại bao nhiêu lần, rốt cuộc ông ta cũng phải thắng. Như MSWord thắng WordPerfect, MSWindows thắng McIntosh, VisualStudio thắng Borland, WindowsNT thắng Unix, IE thắng Netscape, ngay cả vụ kiện AntiTrust của 18 tiểu bang ở Mỹ rốt cuộc không ai làm gì được.

    CÒN CHÚNG TA THÌ SAO?
    Nếu là C++/Java programmers thì dọn nhà qua C# rất đơn giản. VB6 programmers thì có thể viết VB.NET, cũng đầy đủ các chức năng như C#, chớ không phải yếu kém như VB6 so với VC++. VB6 và C programmers phải làm quen với kỹ thuật Object Oriented, nhưng việc ấy không khó.
    Muốn hưởng phúc lợi của Unicode cho tiếng Việt, XML, Internet Web Services và nhất là thật sự RAP (Rapid Application Programming) thì khó bỏ qua VisualStudio.NET.

    Trong .NET (C#, VB.NET) tiếng Việt Unicode là tự nhiên vì tất cả text đều được chứa dưới dạng UTF-8.
    Có một khuyết điểm của .NET là ta có thể dissassemble Intermediate Language Code ngược lại ra C# hay VB.NET. Do đó, hầu như tất cả đều sẽ là nguồn mở.

    Để kết luận, C# không kill được Java đâu, nhưng nếu ta theo đạo C#/VB.NET thì không mất mát gì mà lại có tương lai lắm.

    Những bài về VB.NET ở đây có thích hợp cho tôi là người mới học lập trình không?
    Các bài víết về VB.NET trong trang nầy nhắm vào những lập trình viên đã có kinh nghiệm, nhất là những người đã biết qua Visual Basic 6 khá nhiều. Nếu bạn là người mới học lập trình thì cũng có thể đọc được, nhưng nếu muốn có một kiến thức căn bản về lập trình thì nên học qua các bài trong trang Học VB6 từ xa. Các bài học ấy sẽ giúp bạn hiễu các bài về VB.NET nầy dễ dàng hơn.

    Công ty tôi muốn port codes VB5 và VB6 qua VB.NET xin cố vấn
    VB.NET hỗ trợ Object Oriented hoàn toàn nên rất khác với VB5 và VB6. Do đó nếu Codes có sẵn gồm có ba phần: User Interface (tức là các Forms), Business Rules/Logic và Data Access thì bạn nên program lại hoàn toàn phần User Interface với Visual Studio.NET, port Business Rules/Logic qua VB.NET và dịch thoáng phần Data Access.

    Có lẽ cũng nên port các Classes của VB6 qua VB.NET. Có một số vấn đề cần lưu ý:
    1. VB5 và VB6 programmers sẽ học VB.NET rất nhanh.

    2. Lập trình trong .NET không chú trọng nhiều về coding nhưng nặng về cách dùng khoảng 5,000 classes của .NET Framework. Do đó, khi quen với VB.NET thì triển khai application rất nhanh so với VB6. Lập trình cách nầy sinh ra rất ít bugs nên code maintenance sẽ khỏe lắm.

    3. ADO.NET thay thế ADO. Mới nhìn thoáng qua chúng có vẽ tương tự. Nhưng ADO.NET dùng cached database gọi là Dataset thay cho Recordset. Ta làm việc với Dataset thẳng trong bộ nhớ xem một table như một array of records và không connect với database. Hơn nữa, Dataset là một dạng của XML nên ta có sẵn nhiều dụng cụ của XML như XPath, Document Object Model (DOM), XSL để sử dụng khi làm việc với Dataset.

    4. Vì WebWindows và WebForm của .NET rất tương tự nên nếu thiết kế application cho desktop lẫn Internet/Intranet thì có thể dùng nhiều code chung và tiết kiệm rất nhiều.

    Nói tóm lại, công tác lập trình lại một application bằng VB.NET để thay thế VB5/VB6 sẽ cần rất ít thì giờ và công sức hơn bạn tưởng.


    Nguồn: vovisoft.com

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn