Welcome to diepit.tk---> Hãy cùng khám phá---> Để-> Cùng nhau thành công & Cùng nhau tận hưởng

Các bộ công cụ lập trình thời đại

I. Thảo luận
Lập trình là một lĩnh vực quan trọng trong thế giới Công nghệ thông tin. Mặc dù lĩnh vực này chỉ thuộc về một số ít người trên thế giới - theo nghĩa nào đó là thuộc về các lập trình viên, nhưng Lập trình có vai trò và tính chất quyết định đối với sự phát triển của Công nghệ thông tin nói chung và Phần mềm nói riêng. Bất kỳ sự đột phá nào trong ứng dụng CNTT đều có dấu ấn của công nghệ lập trình, bởi vì Lập trình chính là quá trình cốt lõi tạo ra các sản phẩm phần mềm.
Trước những năm 1990 người ta cho rằng ngôn ngữ lập trình quyết định kết quả lập trình. Chẳng hạn, trong một tình huống cụ thể nào đó, chương trình viết bằng C++ thì tốt hơn Pascal, viết bằng Pascal thì tốt hơn Fortran… Khi các công cụ lập trình còn thô sơ và các yêu cầu phần mềm chưa cao thì nhận định này là khá chính xác.
Sau đó người ta cho rằng công nghệ lập trình mới ảnh hưởng lớn nhất đến sản phẩm cuối cùng, sự thống trị trong thập kỷ 90 của lập trình hướng đối tượng và RAD (viết tắt của Rapid Application Development nghĩa là Công cụ phát triển ứng dụng nhanh, thường gọi là lập trình trực quan hay Visual Programming) đã cho thấy tư duy của người lập trình bị ảnh hưởng bởi nền tảng phát triển phần mềm. Không ai phê phán Delphi - phiên bản phát triển từ ngôn ngữ Pascal là kém hơn Java hay Visual C++. Tuy mới có 1/20 thời gian của thế kỷ 21 trôi qua nhưng từ đầu thế kỷ đến nay Công nghệ thông tin đã có những bước phát triển mạnh mẽ trong đó có Công nghệ phần mềm. Nhu cầu sử dụng phần mềm và yêu cầu đối với phần mềm đột nhiên tăng vọt khiến nhiều nhà phát triển phần mềm phải xem lại cách làm việc của mình. Đó chính là cơ sở cho sự phát triển rộng rãi trên toàn thế giới của ngành Công nghiệp phần mềm hiện nay. Người ta không chỉ quan tâm đến công nghệ lập trình mà còn quan tâm đến quy trình phát triển phần mềm.
Các công ty bắt đầu chuẩn hóa và đưa ra quy trình công nghệ phần mềm của mình - ở đó việc lựa chọn bộ công cụ lập trình có vai trò rất quan trọng. Các bộ công cụ lập trình hiện nay có xu hướng thống nhất và tương tác với nhau chặt chẽ. Ý tưởng này đã từng xuất hiện trong thập kỷ trước, tiêu biểu như CORBA của Sun hay Delphi - C++ Builder Project Union của Borland, tuy nhiên khi đó chúng chưa được ưa chuộng. Khi Visual Studio.NET của Microsoft ra đời năm 2002, người ta nhận thấy rằng các công cụ lập trình nên đi với nhau thành “bộ”. Đến thời điểm hiện nay giải pháp về công cụ lập trình của các nhà phát triển luôn được nhắc đến như “bộ công cụ”. Một ví dụ về ý nghĩ của 2 lập trình viên qua 3 giai đoạn này như sau:

II. Bộ công cụ lập trình - một sự phân loại
Hiện nay có rất nhiều ngôn ngữ lập trình (NNLT) và rất nhiều công cụ lập trình (CCLT). Một CCLT có thể gắn liền với một NNLT hoặc không - đây là điều mà một số ít người không có kinh nghiệm không hề biết.
Tôi và bạn bè đã từng có tham vọng phân loại các NNLT và CCLT cho rành rọt, rõ ràng để có được cái nhìn tổng quan và hệ thống về lịch sử các NNLT và CCLT. Tuy nhiên việc đó quá khó khăn do thời gian và trình độ của chúng tôi có hạn. Hơn nữa tìm ra một cách để phân loại xem ra đã khó chứ chưa đến lúc thực hiện phân loại.
Ta có thể phân loại theo NNLT: Dòng C có Visual C++, C++ Builder… Dòng Pascal có Borland Pascal, Delphi…
Hay theo phạm vi sử dụng: Dòng lập trình hệ thống có Microsoft Assembly, Borland C… Dòng lập trình trực quan có Visual Basic, Jbuilder… Dòng lập trình mạng có Java, ASP, PHP… Hay theo phong cách lập trình: Dòng cổ điển có Pascal, Fortran… Dòng hướng đối tượng có C++, SmallTalk, Java…
Hay theo nơi ứng dụng: Dòng trên Windows có Visual Studio, Delphi… Dòng trên Linux có Kylix, QT… Dòng trên web có ASP, JSP…v.v…
Nếu mục đích đầu tiên của việc phân loại này là có được cái nhìn lịch sử, thì một mục đích khác cũng quan trọng không kém đó là thông qua việc phân loại có được cái nhìn về công nghệ thời đại và xu hướng phát triển trong tương lai. Chính vì lẽ đó, trong bài viết này tôi muốn giới thiệu với các bạn một số bộ công cụ lập trình thời đại - thông qua phép phân loại chưa trọn vẹn là nhà sản xuất công cụ lập trình hy vọng bạn sẽ có được cái nhìn tương đối về các CCLT hiện nay.
III. Vai trò của các công cụ lập trình cổ điển
Do mục đích phục vụ giảng dạy và học tập, các công cụ lập trình cổ điển đến nay vẫn còn tồn tại. Có những công cụ đã tồn tại hơn 20 năm nhưng vẫn còn được sử dụng rộng rãi và thậm chí là công cụ trong các sự kiện CNTT lớn. Chẳng hạn Turbo Pascal 7.0 ra đời năm 1984 đến nay vẫn là công cụ thi học sinh giỏi Tin học mọi cấp tại Việt Nam. Turbo Assembler và Microsoft Assembler từ thập kỷ 80 đến nay không có phiên bản mới nào nhưng chúng vẫn là các trình biên dịch thông dụng trên thế giới cho ngôn ngữ Assembly trên nền DOS/Windows. Điều tương tự cũng xảy ra với Turbo C++ 3.0 ra đời năm 1984 nhưng đến nay vẫn là công cụ thực hành của những người mới học lập trình C và C++.
Đối với các ngôn ngữ “kinh viện” như vậy ngày nay cũng xuất hiện thêm nhiều CCLT (thường gọi là Trình biên dịch nhưng không chính xác) được cho là tốt hơn, chẳng hạn Pascal có Free Pascal, C có GCC… nhưng thực chất TP, TC, TA… không dễ bị thay thế. Đặc biệt là ở Việt Nam, chúng ta vẫn có thói quen sử dụng các công cụ quá lạc hậu. Tại trường đại học B.K.H.N, các thầy cô yêu cầu sinh viên thực hành bằng Turbo Pascal 5.0 và 5.5 chứ không phải 7.0 . Các kỳ thi Olympic Tin học và Tin học trẻ cho phép thí sinh lập trình C sử dụng Turbo C 2.0 chứ không phải 3.0 . Chú ý là sự khác biệt về tính năng giữa các phiên bản tôi đưa ra là rất lớn, Turbo C 2.0 và TP 5.5 soạn chương trình rất tệ.
Những điều này được lý giải như thế nào? Có lẽ là do tính cố hữu trong quan niệm của con người. Cho dù lý giải đúng hay sai thì các công cụ lập trình cổ điển cũng đáng để chúng ta quan tâm, vì chúng vẫn còn tồn tại phổ biển quanh ta. Tôi sẽ trình bày chung chung với các công cụ lập trình thời đại.
IV. Một số bộ CCLT thời đại qua các nhà sản xuất
SOFTWARE CORPORATION

Trước đây công ty có cái tên “rất rộng” là Borland International, khi ra đời Delphi họ đổi thành Inprise, sau đó có lẽ “làm ăn xuống” với cái tên này nên họ đổi trở lại về cái tên Borland nhưng “hẹp hơn” - chỉ trong lĩnh vực phần mềm: Borland Software Corporation. Quả thực sau khi đổi về tên cũ, với các sản phẩm mới đặc biệt là JBuilder cái tên Borland lại tiếp tục vinh dự được thế giới biết đến như 1 trong 2 nhà sản xuất công cụ lập trình và trình biên dịch hàng đầu thế giới, cùng chia sẻ danh hiệu này với Borland là Microsoft.
1. Các công cụ cổ điển họ “Turbo”, “Borland”
Như đã nói Turbo Assembler 5.0, Turbo Pascal 7.0, Turbo C++ 3.0 hiện nay vẫn rất thông dụng tại Việt Nam. Trên website của Borland vẫn cho download các trình biên dịch này, điều đó cho thấy trên thế giới chúng vẫn được sử dụng.
TASM, TP chỉ yêu cầu tối thiểu 2 tệp tin là có biên dịch được. Bộ cài TC 3.0 có phần nặng hơn. Các kỳ thi lập trình Pascal tại Việt Nam và trên thế giới đang có xu hướng sử dụng Free Pascal (FP) thay cho TP. Sự khác biệt lớn nhất của FP là cho phép lập trình với bộ nhớ không giới hạn, trong khi TP có giới hạn bộ nhớ 64KB, các bạn chưa từng dùng FP có thể hiểu rằng: FP cho ta khai báo bao nhiêu biến cũng được. Điều đó dẫn đến tư duy lập trình trên FP có nhiều khác biệt với TP - với dữ liệu không hạn chế có thể giúp bạn thực hiện những giải thuật rất ngắn gọn, nhưng cũng có thể làm bạn chủ quan và giải bài toán một cách không sâu sắc. Tuy FP có một số khác biệt và hạn chế trong việc sử dụng so với TP đã quá quen thuộc với các bạn lập trình Pascal, nhưng các bạn lập trình Pascal nên chuyển sang sử dụng FP. Các kỳ thi lập trình quốc tế đều đã dùng FP, ở Mỹ còn cấm dùng cả Pascal để lập trình. Các công cụ này bạn có thể download tại website của tạp chí: http://www.thnt.com.vn/download.php.
Một thời gian người ta cũng biết đến Borland Pascal (BP) và Borland C++ (BC) như hai công cụ khá mạnh, bằng chứng là có rất nhiều sách viết về chúng, nhiều sách đã dịch sang tiếng Việt. BP được phát triển từ Turbo Pascal for Windows, phiên bản BP 7.0 được quảng cáo là rất mạnh, có khả năng viết các ứng dụng trên Windows nhanh chóng và đẹp mắt. Borland đưa ra vài chương trình ví dụ (trong thư mục EXAMPLES) hay bằng BP, trong đó có trò chơi Cờ vua gây kinh ngạc cho nhiều người. Cả BP và BC đều xếp vào các công cụ dòng “nửa vời”, chúng có thể viết các ứng dụng trên Windows nhưng không phải theo phong cách trực quan - cách lập trình này gọi là WindowsPlatform. Các lập trình viên ngôn ngữ C rất thích cách lập trình này còn Pascal thì không, nhưng BC không phải sự lựa chọn của họ. BC thua Visual C++ về danh tiếng và cộng đồng cùng phát triển.
Vai trò của BP và BC chính là vai trò chuyển tiếp - nhờ những công cụ này mà Borland đã phát triển chúng thành các công cụ mạnh sau này, tạo nên bộ Borland Developer Studio.
2. Borland Developer Studio
Cái tên Borland Developer Studio (BDS) mới xuất hiện trong 1-2 năm gần đây. Microsoft rất sáng tạo khi dùng khái niệm Studio cho bộ CCLT của họ, gần đây các công ty đua nhau bắt chước dùng khái niệm Studio (Sun, Oracle, Borland…), coi như thừa hưởng danh tiếng của Microsoft.
BDS của Borland bao gồm: Delphi 2006, C++ Builder 2006 và C# Builder 2006. Trong một số chiến dịch quảng cáo khác, Borland chỉ nhắc đến Delphi và C# Builder.
Nhớ lại năm 1998 Borland tung ra phiên bản C++ Builder và Delphi 5.0 gây chấn động giới phần mềm. Delphi là một CCLT nhưng đôi khi được coi là một NNLT, ngôn ngữ Delphi phát triển từ ngôn ngữ Object Pascal (Pascal hướng đối tượng) với khả năng lập trình hướng đối tượng không thua kém Java, mặc dù không đa dạng như C++. Người sáng tạo ra Delphi đã nhận thấy C++ quá phức tạp, cần phải bỏ bớt tính năng đi, chỉ để lại những tính năng hữu ích nhất, và ông ta đã thành công. Sau này ông ta bỏ Borland chuyển sang Microsoft, tại đó ông lại gây ngạc nhiên cho giới lập trình khi tạo ra C#. Những người lập trình kinh nghiệm nhận thấy rõ C# có tinh thần rất giống với Delphi
Trước năm 2000 rất nhiều công ty phần mềm trên thế giới có yêu cầu với lập trình viên là “Sử dụng thành thạo Delphi hoặc C++ Builder”. Cả Delphi và C++ Builder đều là các công cụ thiết kế trực quan, bạn nào chưa biết có thể hình dung chúng giống như Visual Basic nhưng dùng ngôn ngữ Pascal và C++ để viết mã lệnh. Một dự án phần mềm có thể được phân rẽ để sử dụng Delphi hoặc C++ Builder, nói cách khác 2 công cụ này có thể coi như một, như vậy một dự án có thể kết hợp nhiều sức mạnh hơn. Khi đó Linux đang rất phát triển và các nhà sản xuất phần mềm còn hồ hởi bởi khả năng viết các ứng dụng một lần và biên dịch để chạy trên cả Windows và Linux, Delphi gọi đó là COM. Không có gì phải bàn cãi về sức mạnh của 2 công cụ này và hầu hết các nhà phát triển phần mềm khẳng định chúng mạnh hơn Visual Basic hay Visual J++ của Microsoft (còn Visual C++ phải xem xét lại). Borland cũng đưa thêm một công cụ là Kylix cho phép phát triển các ứng dụng trên Linux, Kylix kết hợp khả năng của C++ và Delphi. Trước đây chúng tôi đã từng phát triển cả các ứng dụng web trên Linux bằng Kylix 3.
Cặp bài trùng này chỉ phát triển thêm một số phiên bản không ấn tượng cho lắm là Delphi 7.0, 8.0, C++ Builder 6.0, C++ Builder X và im hơi lặng tiếng đến tận cuối năm vừa rồi. Mặc dù BDS bao gồm cả C++ Builder 2006 nhưng hầu hết các Developer Network (hiểu là Mạng các nhà phát triển phần mềm) đều nhắc đến sự kết hợp của Delphi và C#. Rất có thể C# Builder đã thay thế được C++ Builder, giới lập trình có thêm một cặp bài trùng mới.

Bộ công cụ này có những đặc điểm mới vượt xa hơn cả những tính năng thường thấy của một bộ CCLT. Ngoài khả năng tạo các ứng dụng trên nền Windows và.NET, các ứng dụng chạy phía Server và các khả năng vốn có, bộ BDS 2006 có những tính năng liên quan đến Quản lý và Phân tích dự án phần mềm: Thiết kế biểu đồ UML, Sinh tài liệu và nhất là Design Patterns. Đối với nhiều người Design Patterns còn là mới mẻ nhưng trên thế giới nó đã quá thông dụng, đó là một sản phẩm thuộc công nghệ lập trình hướng đối tượng, cho phép một phần mềm được thiết kế dựa trên các mẫu có sẵn đã được thu thập và chuẩn hóa. Thử sử dụng tôi thấy tính năng này không chỉ cho phép ta lấy Design Patterns trong kho có sẵn mà còn cho phép ta tổ chức lại hay thêm các Design Patterns của mình vào.
Một tài liệu được tạo ra như dưới đây có thể khiến nhiều nhà phát triển phần mềm thích thú và lựa chọn lại công cụ cho mình.
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. Sơ đồ này như sau:

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!

Loading...

Đăng nhận xét

Cảm ơn các bạn đã ghé thăm blog của diepcothanh