3. JBuilder
Không có một chút hồ đồ nào khi nhận định rằng JBuilder là công cụ xây dựng ứng dụng Java hàng đầu thế giới từ trước đến nay, trải qua mỗi giai đoạn, JBuilder đều có những phiên bản vượt mặt các công ty khác, kể cả Microsoft.
Phạm vi ứng dụng của Java có lẽ là rộng lớn nhất trong các NNLT. Tuy nhiên tác giả của Java - hãng Sun không đủ khả năng xây dựng một công cụ phát triển bao chứa và kết hợp đủ các khả năng của Java. Borland đã làm được điều này. Đặc biệt hơn, Borland tự xây dựng các máy ảo Java - cơ sở để các chương trình Java thực thi được. Điều này coi như đã vượt mặt Sun vì đáng lẽ các nền tảng công nghệ phải là do Sun xây dựng. Trong lúc Sun đang xấu hổ khắc phục các máy ảo JDK 1.X đầy lỗi thì Borland đã đưa ra JDK 5.0.
Đặc trưng của JBuilder cũng như các công cụ khác của Borland là có nhiều phiên bản dành cho nhiều hệ điều hành: Windows, Linux, Solaris… Trong khi các công cụ của Microsoft chỉ chạy trên Windows. JBuilder có khả năng xây dựng các loại ứng dụng Java một cách trực quan và chuyên nghiệp nhất, theo các công nghệ và mô hình mà Sun đưa ra như J2EE, RMI,… Một công cụ khác cũng cho phép thiết kế Java trực quan là Visual J++ tôi sẽ đề cập đến dưới đây. Nếu bạn có ý định học Java thì bạn nên dùng JBuilder, ngoài thị trường có thể dễ dàng tìm thấy phiên bản 8.0 hoặc JBuilder X hoàn toàn đủ để bạn xây dựng các ứng dụng Java. Khi nói về Sun tôi sẽ nhắc đến phạm vi ứng dụng của Java chi tiết hơn.
Trang chủ Borland.com không có thông tin về các phiên bản trước đây của các công cụ này. Để xem chi tiết bạn phải vào website của Borland ở nước khác, chẳng hạn Borland.pl, mặc dù tiếng Polska hơi khó “đoán” một chút nhưng các thông số thì bằng tiếng Anh, bạn chọn mục Ceny góc bên phải để xem danh mục sản phẩm, tuy nhiên danh mục này cũng có đôi chút nhầm lẫn không quan trọng lắm.
CORPORATION
Không phải nhắc nhiều đến Microsoft, họ hoàn toàn thống trị thế giới trong lĩnh vực phần mềm - từ hệ điều hành đến phần mềm ứng dụng và công cụ lập trình.
Trước khi Windows 95 ra đời Microsoft chủ yếu được biết đến thông qua hệ điều hành MSDOS và Win3.X. Microsoft cũng có một số trình biên dịch như Microsoft Assembler (MASM), Microsoft C… nhưng không gây được tiếng vang lớn.
Hiện nay MASM mặc dù khá nặng nề nhưng vẫn được sử dụng cho việc biên dịch các chương trình Assembly. Một số khác thích dùng TASM của Borland hơn vì TASM rất “nhẹ” (theo mọi nghĩa), tuy nhiên họ phải trả giá cho việc ứng dụng biên dịch bằng TASM sẽ không chạy được trong một số trường hợp đặc biệt. Các chuyên gia - trong đó có Peter Norton (sáng lập Symantec với họ sản phẩm Norton) trong cuốn sách “Cẩm nang lập trình” khuyến cáo không nên dùng TASM mà nên dùng MASM. Theo quan sát của tôi, đa số học sinh, sinh viên và các kỹ sư hiện nay vấn dùng TASM mà không có vấn đề gì trong thời gian đầu, đến khi thực hiện các chương trình quan trọng hơn, họ chuyển sang biên dịch bằng MASM cho an toàn.
Microsoft chỉ thực sự gây tiếng vang trong giới phát triển phần mềm khi đưa ra bộ công cụ Visual Studio.
1. Visual Studio
Visual Studio (VS) được coi là bộ công cụ lập trình thông dụng nhất thế giới. Mặc dù các công cụ VS và ứng dụng xây dựng bởi VS chỉ chạy trên Windows nhưng nhờ sự bành trướng của Windows - đặc biệt là trong thế giới phần mềm không có bản quyền, VS trở nên phổ biến và ngày càng phổ biến nhờ cộng đồng đông đảo sử dụng VS.
VS bao gồm Visual Basic (VB), Visual C++ (VC), Visual J++ (VJ), Visual Foxpro (VF), Visual Source Safe (VSS)… và một số công cụ khác. Bộ VS hầu như không có tương tác với nhau giữa các thành phần nhỏ, các nhà phát triển chỉ chọn VB hoặc VC hoặc VF… làm công cụ phát triển chứ không chọn giống như BDS. Phiên bản từ năm 1998 đến nay vẫn còn sử dụng rộng rãi là VS 6.X, thường là 6.0, đôi khi cũng gặp VS 6.3 với những thay đối không đáng kể.
Visual Basic cho phép phát triển các ứng dụng trên Windows rất nhanh chóng, đặc biệt là các ứng dụng cơ sở dữ liệu. VB có phương pháp thiết kế rất đơn giản, lập trình viên không cần can thiệp quá sâu vào các quá trình mã nguồn khác. Tuy nhiên điều này cũng gây ra những hạn chế cho VB khi viết các ứng dụng can thiệp sâu vào hệ thống, các ứng dụng đa luồng và ứng dụng mạng. Những điểm này lại có đầy đủ ở VC.
Visual C++ chính là CCLT đáng tự hào nhất của Microsoft. Người ta kiểm tra và thống kê thấy phần lớn các phần mềm được viết bằng VC, các trò chơi lớn, ứng dụng văn phòng, kế toán… VC vừa có sức mạnh của ngôn ngữ C++ vừa có môi trường xây dựng rất hoàn hảo. VC có thể tạo ra nhiều kiểu ứng dụng: Console (chạy trên DOS chẳng hạn), MFC (giống như các ứng dụng VB) và đặc biệt là WindowsPlatform - hầu hết các chương trình yêu cầu tối ưu mã lệnh (như AntiVirus, Games đồ hoạ cao…) đều sử dụng cách xây dựng này - không sử dụng các đối tượng cung cấp sẵn của Microsoft mà chỉ sử dụng các hàm của Windows, nghĩa là ngay cả một nút lện hay Form bạn cũng phải viết lệnh tạo ra nó chứ không phải kéo - thả như MFC.
Foxpro là một hệ quản trị cơ sở dữ liệu phát triển từ dBase. Đôi khi người ta cũng gọi là ngôn ngữ Foxpro (nhưng như vậy không chính xác). Visual Foxpro là CCLT tốt nhất cho Foxpro, điều này là đương nhiên vì Microsoft đã mua và độc quyền phát triển Foxpro.
2. Visual Studio.NET
Visual Studio.NET là một sự phát triển mới của VS trên nền tảng mới mà Microsoft gọi là.NET Framework. Các ứng dụng viết bởi VS.NET tuy cũng là các file trông có vẻ thông thường nhưng chúng không chạy được nếu hệ điều hành không có.NET Framework vì các file EXE do VS.NET xây dựng không giống các file EXE trước đây, các file EXE của.NET có định dạng khác, còn chứa cả Meta Data và các mã lệnh đặc biệt. Đương nhiên định dạng mới này có nhiều điểm mạnh hơn. Trong VS.NET không có VJ++.NET và VF.NET (phiên bản mới của VF là 7.0) nhưng Microsoft đưa thêm Visual J#.NET và Visual C#.NET. VJ#.NET không có ý nghĩa lập trình trong VS.NET nhưng VC#.NET thì lại hoàn toàn khác.
Như đã nói ở trên tác giả của ngôn ngữ C# chính là tác giả của Delphi. Ông ta đã làm cho C# giống như một bản sao tiên tiến của Java. Tất cả các chương trình Java chỉ cần sửa duy nhất lệnh import thành using là được một chương trình C#, C# khắc phục một số vấn đề phức tạp ở Java như các vấn đề về gọi phương thức, xử lý ngoại lệ… Nhiều chuyên gia cho rằng C# ra đời có thể xóa sổ Java, họ cũng có lý khi đưa ra nhận định này, là vì Sun càng ngày càng không quan tâm đến Java, hơn nữa lập trình viên nào cũng biết Java chạy chậm như rùa bò. VC#.NET là một CCLT cho NNLT C#. C# còn nhiều ứng dụng khác nữa. Vì C# dùng cho nền.NET nên đôi khi người ta lẫn lộn và dùng chung các khái niệm C#, C#.NET, Visual C#, Visual C#.NET.
Lập trình C# tại Việt Nam đang được coi là thời thượng. Tuy nhiên trên thế giới người ta không quan tâm đến việc sử dụng VC#.NET hay VB.NET, vì chúng nằm trong một giải pháp hợp nhất của Microsoft: Visual Studio.NET. Trước đây VB và VC có phong cách khác nhau hoàn toàn, nhưng VB.NET và VC++.NET lại rất giống nhau. VB.NET không giống VB nữa, khác nhiều về cú lệnh và cả cách tổ chức chương trình. Nhờ sự thống nhất trong bộ VS.NET như vậy mà một phần mềm có thể phân rẽ thành nhiều đơn vị NNLT và CCLT khác nhau. Tuy Borland đưa ra ý tưởng này trước nhưng Microsoft lại tạo nên hoàn thiện trước tiên. Ngày nay nhiều hãng đã theo giải pháp của Microsoft, tạo ra sự kết hợp hài hòa giữa các CCLT.
ASP và ASP.NET cũng là hai ngôn ngữ được nhắc đến nhiều. ASP.NET (hay ASPX) là ngôn ngữ phát triển từ ASP. ASP là ngôn ngữ kịch bản chạy phía Server cho phép xây dựng các trang web động. Tuy được coi là không mạnh như PHP và JSP nhưng hiện nay cũng có khá nhiều website sử dụng ASP. ASP.NET khắc phục một số điểm yếu của ASP, có khả năng làm việc với môi trường.NET, tương tác với các NNLT và CCLT khác. Mặc dù ASP.NET được Microsoft quảng bá rất mạnh về sức mạnh của nó tuy nhiên đến nay đó mới chỉ là danh tiếng. Trong các ngôn ngữ kịch bản chạy phía Server, PHP mới là số 1 thế giới.
3. MSDN Library
MicroSoft Developer Network (MSDN) Library thường gọi ngắn gọn (nhưng không chính xác) là MSDN, là bộ thư viện phát triển các ứng dụng của Microsoft. MSDN Library là người bạn quen thuộc của các lập trình viên Visual Studio (.NET) trên toàn thế giới. MSDN giống như một cuốn từ điển tra cứu đa dạng về các vấn đề lập trình với VS. Bạn có thể tra cứu mọi vấn đề trong VS, học một công nghệ của Microsoft hay lấy các chương trình ví dụ hữu ích. Bộ MSDN cũ bao gồm 2 CD, bộ.NET mới bao gồm 7 CD bạn có thể tìm thấy tại các dịch vụ.
4. Visual Studio 2005 và SQL Server 2005
SQL Server được biết đến như hệ quản trị cơ sở dữ liệu Server và Client tốt nhất song thực tế điều này phải xem xét lại. Sự cạnh tranh của Oracle khiến Microsoft rất khó chịu và nhiều vụ việc kiện cáo đã từng diễn ra giữa 2 công ty này.
Tuy nhiên các ứng dụng xây dựng bởi VS hay VS.NET đều sử dụng SQL Server nên không sai khi nói rằng đây là một trong các cơ sở dữ liệu mạnh nhất thế giới. Hiện có 2 phiên bản thông dụng là SQL Server 2000 và 2003.
Mới đây Microsoft đồng loạt cho ra đời VS 2005 và SQL Server 2005, thật ngạc nhiên khi Microsoft đặt tên là Visual Studio 2005 mà không phải là VS.NET 2005, đương nhiên chúng ta hiểu rằng đây là một phiên bản phát triển từ VS.NET. Việc đặt tên công cụ gắn với một năm nào đó có thể làm nó sớm bị lãng quên, chúng ta cùng chờ xem Visual Studio 2005 có đem lại ảnh hưởng nào lớn với thế giới phần mềm không.
IBM CORPORATION
IBM hiếm khi được biết đến như một nhà sản xuất CCLT , tuy nhiên ai cũng biết rằng họ đã tiên phong trong nhiều lĩnh vực CNTT từ thửa sơ khai, khi giám đốc của Microsoft hay Borland còn đang là những thiếu niên ham chơi hơn ham học.
Trình biên dich hoàn thiện đầu tiên trên thế giới chính là do nhóm kỹ sư của IBM dẫn đầu bởi John Backus thiết kế cho Fortran năm 1957. Điều này đã thúc đẩy sự phát triển của nhiều trình biên dịch khác - ngay năm 1960, ngôn ngữ Cobol đã sớm có được trình biên dịch trên nhiều loại kiến trúc. Thời gian gần đây IBM đã chuyển sang hoạt động trên nhiều lĩnh vực khác không có thiên hướng về phần mềm như kinh doanh Server, Workstations, Laptop… nhưng IBM vẫn có những sản phẩm phần mềm nổi tiếng trong nhiều lĩnh vực nhưng ít người biết đến (đặc biệt là ở Việt Nam).
1. Lotus Domino Designer
Một số đối tác làm ăn của IBM tại Việt Nam đang sử dụng công cụ này để phát triển phần mềm. Một phiên bản hẹp hơn của Lotus Domino là Lotus Note. Lotus Note giúp các nhà phát triển xây dựng các ứng dụng quản lý trên web rất nhanh chóng. Một số Ủy ban nhân dân tại nước ta đã quản lý công văn, giấy tờ bằng phần mềm dựa trên công nghệ của Lotus Domino.
Lotus Domino cũng có một tính năng thú vị là cho phép một chương trình được viết bằng mã lệnh của nhiều NNLT khác nhau, trong đó có cả Python hay ADA. Thực chất ứng dụng chính của Lotus Domino là để xây dựng các hệ thống làm việc, quản lý từ xa bằng các trang web động, nhưng khác với ASP hay PHP chỉ có ngôn ngữ, Lotus Domino có sẵn quy trình công nghệ để xây dựng phần mềm
2. Rational Rose
Khi làm việc ở mức độ chuyên nghiệp, một phần mềm sẽ được phân tích theo đúng quy trình phát triển mà người quản lý đã lựa chọn. Người phân tích phải chỉ ra được các module cụ thể, quan hệ giữa các thành phần, tiến độ thực hiện… thông qua các công cụ chuẩn như ngôn ngữ mô hình hóa UML chẳng hạn. Có thể hiểu thay vì cảm nhận các tính năng của phần mềm theo cảm tính, người ta phải chỉ rõ được để cả tập thể có thể hiểu và khi tiến hành xây dựng dự án không gặp phải khó khăn. Rational Rose là công cụ trợ giúp cho quá trình phân tích dự án phần mềm của các chuyên gia. Hiện nay Rational Rose được sử dụng rộng rãi trên thế giới, còn ở Việt Nam việc phân tích phần mềm hầu như cũng chưa thực hiện được chứ chưa nói đến sử dụng Rational Rose.
(Kỳ sau: Giới thiệu Sun, Oracle, MacroMedia và các công cụ mã nguồn mở)
V. Kết luận
Như các bạn đã thấy các CCLT rất đa dạng. Đặc biệt là có nhiều CCLT lại là thần tượng của con người. Đối với những người chuẩn bị bước vào thế giới lập trình, họ thường tự hỏi: “Mình chọn ngôn ngữ/công cụ nào là “xịn” nhất đây?”. Khi chọn được rồi họ có thể tự nghĩ: “Vậy là ta sẽ làm được những gì mình muốn mà công nghệ “xịn” này cung cấp!”. Thực tế điều đó chỉ đúng một phần, một phần rất nhỏ.
Giai đoạn đầu tiên của phần mềm là ý tưởng, sau đó ý tưởng phải được giải quyết bằng tư duy của các khoa học khác (thường không phải là Tin học). Tiếp theo cách giải quyết này được mô hình hóa thành quy trình phần mềm. Cuối cùng lập trình viên thể hiện cách giải quyết vấn đề bằng CCLT để có sản phẩm phần mềm.
Vậy CCLT chỉ là một trong các yếu tố (không lớn) tham gia tạo thành phần mềm. Nếu bạn có dự định đến với thế giới lập trình, việc sử dụng thành thạo các CCLT là chưa đủ, bạn phải có một số chuyên môn nhất định cho lĩnh vực phần mềm mà bạn sẽ tham gia và quan trọng nhất đối với bất kỳ lập trình viên nào đó là phải có một tư duy làm việc tốt để biến các đối tượng không thuộc Tin học thành các đối tượng Tin học.
Các bạn học sinh hãy học Toán và các môn học khác nữa thật tốt nhé, chỉ học mỗi một ngôn ngữ hiện đại như ASP, PHP hay Java… không giúp bạn theo được nghề Lập trình đâu! Chúc các bạn năm mới thành công trong Công nghệ thông tin và Lập trình!