VnTim™ ^-^ 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.
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!
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!
Sau đây tôi xin tiếp tục giới thiệu với các bạn một số Nhà sản xuất khổng lồ khác là Sun, Oracle, MacroMedia và một số công cụ mã nguồn mở. Những cái tên này dường như rất quen thuộc với mọi người, nhưng những công cụ của họ nói riêng và lĩnh vực hoạt động của họ nói chung chưa được biết đến nhiều ở Việt Nam.
Cũng xin nói thêm rằng việc gọi một chương trình phần mềm là Công cụ lập trình chỉ có tính tương đối, có thể vừa đúng vừa sai. Một người quen dùng Paint hay Notepad hỗ trợ cho việc lập trình, anh ta có thể gọi đó là CCLT. Nhưng chúng ta hiểu với nhau rằng CCLT là những “thứ” hỗ trợ ta trong quá trình tạo nên sản phẩm phần mềm, từ các khâu thiết kế - lập trình - kiểm thử và thường có sự gắn kết với các ngôn ngữ lập trình (NNLT) cụ thể. Sẽ là không thật chính xác khi nói C++ là một CCLT nhưng với các ngôn ngữ hiện đại ngày nay người ta vẫn nói: “Java là một công cụ lập trình mạng”, “C# là một công cụ lập trình mạnh hơn Java”, “PHP – công cụ phát triển ứng dụng web mã nguồn mở”,…v.v… Chính vì lẽ đó, phần giới thiệu sắp tới của tôi sẽ có một số khác biệt so với kỳ trước: Khi nói đến Sun tôi sẽ tập trung vào NNLT Java, Oracle thì là các hệ quản trị cơ sở dữ liệu còn Adobe thì đơn thuần là các công cụ thiết kế. Nhiều người cho rằng MacroMedia Dreamweaver (một công cụ xây dựng các trang web) không phải là một CCLT mà là một công cụ thiết kế đơn thuần, nhưng thực tế đó lại là công cụ chính cho những ai lập trình web với PHP, ASP,… thậm chí với cả JSP và ASP.NET. Tính tương đối “vừa đúng vừa sai” đã xuất hiện.
.: SUN MICROSYSTEMS :.
Sau nhiều năm nghiên cứu, vào ngày 23/5/1995 Sun chính thức công bố Java – như một hiện tượng mới ra đời trong thế giới CNTT. Java chỉ là cách gọi chung cho nhiều thực thể, có thể là ngôn ngữ kịch bản (JavaScript), là trình duyệt Web (HotJava), là Web Server (Jeeves), là giao diện lập trình ứng dụng (Java Beans), là chip máy tính (PicoJava), là là hệ điều hành (JavaOS) hay là hạ tầng đa phương tiện…
Theo Hava-Soft, một công ty con của Sun Microsystems, Java là môi trường lập trình hướng đối tượng, đa luồng, đa mục đích và thích hợp nhất dùng để tạo các trình con (hay applet), các ứng dụng cho Internet và các mạng phân tán phức tạp khác, không phụ thuộc vào hệ điều hành cụ thể.
Java không chỉ là một công cụ phát triển phần mềm như các NNLT khác (C++, Delphi…) mà còn là công cụ để tích hợp phần mềm vào các thiết bị phần cứng. Người ta dùng Java để lập các ứng dụng non-Internet, chẳng hạn các trình kế toán và trò chơi. Java có thể được dùng làm ngữ trình đa năng (universal) để dựng các "thiết bị Internet". Các unit này cho phép truy cập Internet với giá thấp và được đóng gói như các trò chơi Sega, Nintendo... Thay vì phải có máy tính và phần mềm đắt tiền, chỉ cần "thiết bị Internet" , một hộp với tính năng "cắm và bật", có thể dùng TV gia đình của bạn truy cập Internet.
Bạn có thể tìm thêm thông tin về Java và các ứng dụng của nó dễ dàng từ nhiều nguồn tin trên Internet và sách vở. Java được coi là tương lai của Internet và ứng dụng trên các thiết bị cầm tay (như Pocket PC, điện thoại di động…), xin bật mí với bạn lương của các nhà phát triển và lập trình viên Java luôn rất cao dù ở Nhật, Mỹ… hay Việt Nam ta.
. Tuy sáng tạo ra Java nhưng đến nay Sun thường bị phê phán là thiếu quan tâm đến Java. Sun thiết kế hai công cụ để phát triển Java là Sun Java Studio Creator và Sun Java Studio Enterprise, tuy chúng cũng khá mạnh và miễn phí nhưng đó không phải là sự lựa chọn của các nhà phát triển Java trên thế giới. Sun Java Studio hầu như chỉ được biết đến trong giới học lập trình Java, nó khá giống với công cụ Eclipse cũng dành cho Java, Eclipse thường được trao đổi trên các diễn đàn Java nên khá thông dụng với các bạn mới học (như JavaVietNam.org chẳng hạn). Nếu thử sử dụng ai cũng sẽ thấy chúng thật nặng nề, chậm chạp nhưng lại không có nhiều tính năng như Visual J++ hay Borland JBuilder.
Tuy nhiên Java Studio Enterprise lại hỗ trợ xây dựng các dự án UML với Java trong một môi trường rất dễ sử dụng và… đẹp mắt như dưới đây:
JBuilder của Borland mới là công cụ số 1 để phát triển Java như đã nói ở kỳ trước. Visual J++ của Microsoft cũng mạnh nhưng ngặt một nỗi - ứng dụng Java viết bằng Visual J++ chỉ chạy trên Windows (!) - điều này là đi ngược lại tinh thần của Java, trong trường hợp viết ứng dụng chỉ để chạy trên Windows thì chẳng ai dùng Java, do đó Visual J++ đã không thể tồn tại và phát triển cao hơn. Sun là tác giả của Java do đó phải đưa ra các nền thực thi Java. Trước đây ai cũng biết và sử dụng nền JDK 1.x tưởng như nó rất tốt, tuy nhiên tham gia vào các diễn đàn Java quốc tế mới biết đó là các phiên bản chứa khá nhiều lỗi mà Sun không thể khắc phục được. Hiện nay sau nhiều năm trì trệ Sun đã đưa ra một nền mới là J2SE 1.4 SDK được coi là ổn định nhưng chạy lại rất chậm, nhiều nhà phát triển Java hy vọng tốc độ của Java sẽ được cải thiện trong thời gian tới.
Hiện nay Sun đang phát triển một CCLT chạy trên nhiều hệ điều hành cho nhiều loại NNLT là Sun Studio. Phiên bản mới nhất là Sun Studio 11 bao gồm các tính năng của một môi trường tích hợp hoàn chỉnh cho các ngôn ngữ C, C++, Fortran, Java biên dịch cho các hệ điều hành Solaris, Linux, Windows. Công cụ này có khả năng tương tác, phối hợp với các công cụ thông dụng khác như Visual C++, GCC,OpenMP hay Fortran 2003. Tôi đã thử dùng Sun Studio 11 với Fortran 2003 cho một số bài toán mô phỏng Hoá học đơn giản, xin nói thêm rằng ngôn ngữ Fortran là ngôn ngữ được dùng rộng rãi nhất trong “giới Hoá Tin” – hay những người ứng dụng CNTT vào Hoá học.
.: ORACLE :.
Không hiểu vì lý do gì mà rất nhiều người khi được hỏi “CSDL nào là mạnh nhất?” sẽ trả lời ngắn gọn là “Oracle”, cho dù họ chưa hề sử dụng Oracle! Đặc biệt là ở Việt Nam, điều kiện kinh tế và phạm vi ứng dụng phần mềm chưa cho phép sử dụng Oracle. Các nhóm sử dụng Oracle như chúng tôi hầu hết đều mang tính chất nghiên cứu hoặc đơn thuần là một sở thích. Phải chăng tiếng tăm của Oracle trên thế giới đã chiếm được vị trí quán quân trong tư tưởng của cả những người chưa từng tiếp xúc với Oracle? Sự thật Oracle ra sao?
Trước hết, Oracle không chỉ là một Hệ quản trị CSDL như SQL Server hay Access, nó là cả một bộ phần mềm khổng lồ có khả năng xây dựng các ứng dụng phần mềm và trang bị các giải pháp kỹ thuật thông tin cho người dùng cuối. Oracle bao gồm thành phần quan trọng nhất chính là Hệ quản trị CSDL Oracle với nhiều phiên bản khác nhau, đi kèm với nó là môi trường thiết kế các cơ sở dữ liệu (như Designer 2000) và các công cụ phát triển (như Developer 2000). Khi có một bộ Oracle trong tay, các nhà phát triển có thể xây dựng các ứng dụng trên nhiều hệ điều hành với công cụ có sẵn trông giống như Visual Basic hay Delphi vậy, tuy nhiên các công cụ đó bị Microsoft hay Borland hoàn toàn đè bẹp. Visual Studio hay Borland Studio đều có khả năng làm việc với CSDL Oracle ngay từ thuở bình minh CNTT thế giới.
Oracle đi tiên phong trong lĩnh vực CSDL, Larry Ellison là người sáng lập Oracle cách đây gần 30 năm, đến năm 1979 Oracle đưa ra sản phẩm thương mại đầu tiên là SQL RDMS, sau đó năm 1983 là CSDL VAX-mode. Một số sản phẩm đi trước thời đại của Oracle có thể kể đến như năm 1993 – CSDL cho mô hình Khách/Chủ, năm 1995 với CSDL RDBMS 64 bit đầu tiên trên thế giới , năm 1997 với CSDL cho nền Web, năm 1999 đoán được xu thế thời đại Oracle hỗ trợ ngay XML – nay đã phát triển như vũ bão.
Hệ quản trị CSDL mới nhất của Oracle là phiên bản Oracle 10g ra đời năm 2003, đến nay phiên bản 10g đã có một số sự phát triển mới và được giới thiệu nhiều lần tại Việt Nam. 10g là hệ CSDL đầu tiên được xây dựng nhắm vào công nghệ tính toán lưới (Grid Computing), cho phép giảm chi phí CNTT bằng cách tự động hóa việc quản lý, chia sẻ tính toán giữa các Server. Oracle hiện nay có nhiều sản phẩm công nghệ khác như Oracle Application Server 10g, Oracle Collaboration Suite, Oracle Enterprise Management 10g... đặc biệt là sản phẩm ứng dụng Oracle E-Business Suite nhắm vào các doanh nghiệp phục vụ cho việc điều hành, quản lý các hoạt động nghiệp vụ một cách tự động, mang lại hiệu quả cao.
Các Hệ quản trị CSDL của Oracle có tính an toàn và bảo mật cao, nhất quán và toàn vẹn dữ liệu, cho phép người sử dụng truy nhập tới CSDL phân tán như một khối thống nhất. Cách tổ chức mô hình dữ liệu phân tán là điểm mạnh nhất của Oracle so với các CSDL khác - không chỉ được coi là hơn mà Oracle được coi là vượt xa ngay cả Hệ quản trị CSDL nổi tiếng Microsoft SQL Server. Không có gì phải bàn cãi – Oracle là Hệ quản trị CSDL ưu việt nhất hiện nay. Bạn có thể tìm thấy các phiên bản Oracle 8i hay 9i tại các quầy CD tại Việt Nam, còn tài liệu Oracle cũng có rất nhiều, tuy nhiên sách tiếng Việt chưa có cuốn nào thuyết phục chúng tôi lắm.
.: MACROMEDIA :.
MacroMedia là một cái tên rất nổi tiếng trên thế giới với sản phẩm Flash, như Sun với Java vậy. MacroMedia có các bộ công cụ thiết kế tuyệt vời như Dreamweaver, Flash, Firework, Director, HomeSite… trong số này công cụ Dreamweaver là công cụ hỗ trợ thiết kế và và lập trình web rất nhanh chóng và thông dụng, được nhiều lập trình viên biết đến.
Tại Việt Nam các công ty chuyên thiết kế website thường sử dụng Dreamweaver MX 2004 hoặc phiên bản mới nhất là Dreamweaver 8 nhờ tính năng hỗ trợ sử dụng CSS, XML, UML và hơn hết đó là một môi trường thiết kế + lập trình nhanh chóng, chuyên nghiệp, đẹp mắt và hiệu quả, vượt xa Microsoft FrontPage. Không có công cụ thiết kế web nào có thể dễ dàng đưa các hình ảnh và video vào web tiện như Dreamweaver. Khi viết mã HTML hoặc PHP, ASP… Dreamweaver giúp lập trình viên nhanh chóng viết mã, FrontPage 2003 cũng có thêm các tính năng này nhưng còn kém xa Dreamweaver. Điều đáng chú ý là với sự phát triển mạnh mẽ của ngôn ngữ PHP trên thế giới và Việt Nam mà không có công cụ nào của PHP được chấp nhận rộng rãi, Dreamweaver trở thành công cụ phát triển chính cho ngôn ngữ PHP.
Về khía cạnh lập trình, MacroMedia đã đưa ra ngôn ngữ kịch bản ActionScript dùng cho Flash - một chuẩn đồ hoạ thông dụng trên web ngày nay. ActionScript là một sự mở rộng của JavaScript nhưng có cú pháp mềm dẻo hơn và mạnh hơn hẳn trong việc xử lý sự kiện và điều khiển hoạt hình. Ngôn ngữ kịch bản này là một sự đóng góp khá lớn của MacroMedia với lĩnh vực lập trình hoạt hình.
Bộ công cụ đáng tự hào nhất hiện nay của MacroMedia là Studio 8, kết hợp tính năng của hầu hết các công cụ trước đây.
Cũng xin nói thêm rằng việc gọi một chương trình phần mềm là Công cụ lập trình chỉ có tính tương đối, có thể vừa đúng vừa sai. Một người quen dùng Paint hay Notepad hỗ trợ cho việc lập trình, anh ta có thể gọi đó là CCLT. Nhưng chúng ta hiểu với nhau rằng CCLT là những “thứ” hỗ trợ ta trong quá trình tạo nên sản phẩm phần mềm, từ các khâu thiết kế - lập trình - kiểm thử và thường có sự gắn kết với các ngôn ngữ lập trình (NNLT) cụ thể. Sẽ là không thật chính xác khi nói C++ là một CCLT nhưng với các ngôn ngữ hiện đại ngày nay người ta vẫn nói: “Java là một công cụ lập trình mạng”, “C# là một công cụ lập trình mạnh hơn Java”, “PHP – công cụ phát triển ứng dụng web mã nguồn mở”,…v.v… Chính vì lẽ đó, phần giới thiệu sắp tới của tôi sẽ có một số khác biệt so với kỳ trước: Khi nói đến Sun tôi sẽ tập trung vào NNLT Java, Oracle thì là các hệ quản trị cơ sở dữ liệu còn Adobe thì đơn thuần là các công cụ thiết kế. Nhiều người cho rằng MacroMedia Dreamweaver (một công cụ xây dựng các trang web) không phải là một CCLT mà là một công cụ thiết kế đơn thuần, nhưng thực tế đó lại là công cụ chính cho những ai lập trình web với PHP, ASP,… thậm chí với cả JSP và ASP.NET. Tính tương đối “vừa đúng vừa sai” đã xuất hiện.
.: SUN MICROSYSTEMS :.
Sau nhiều năm nghiên cứu, vào ngày 23/5/1995 Sun chính thức công bố Java – như một hiện tượng mới ra đời trong thế giới CNTT. Java chỉ là cách gọi chung cho nhiều thực thể, có thể là ngôn ngữ kịch bản (JavaScript), là trình duyệt Web (HotJava), là Web Server (Jeeves), là giao diện lập trình ứng dụng (Java Beans), là chip máy tính (PicoJava), là là hệ điều hành (JavaOS) hay là hạ tầng đa phương tiện…
Theo Hava-Soft, một công ty con của Sun Microsystems, Java là môi trường lập trình hướng đối tượng, đa luồng, đa mục đích và thích hợp nhất dùng để tạo các trình con (hay applet), các ứng dụng cho Internet và các mạng phân tán phức tạp khác, không phụ thuộc vào hệ điều hành cụ thể.
Java không chỉ là một công cụ phát triển phần mềm như các NNLT khác (C++, Delphi…) mà còn là công cụ để tích hợp phần mềm vào các thiết bị phần cứng. Người ta dùng Java để lập các ứng dụng non-Internet, chẳng hạn các trình kế toán và trò chơi. Java có thể được dùng làm ngữ trình đa năng (universal) để dựng các "thiết bị Internet". Các unit này cho phép truy cập Internet với giá thấp và được đóng gói như các trò chơi Sega, Nintendo... Thay vì phải có máy tính và phần mềm đắt tiền, chỉ cần "thiết bị Internet" , một hộp với tính năng "cắm và bật", có thể dùng TV gia đình của bạn truy cập Internet.
Bạn có thể tìm thêm thông tin về Java và các ứng dụng của nó dễ dàng từ nhiều nguồn tin trên Internet và sách vở. Java được coi là tương lai của Internet và ứng dụng trên các thiết bị cầm tay (như Pocket PC, điện thoại di động…), xin bật mí với bạn lương của các nhà phát triển và lập trình viên Java luôn rất cao dù ở Nhật, Mỹ… hay Việt Nam ta.
. Tuy sáng tạo ra Java nhưng đến nay Sun thường bị phê phán là thiếu quan tâm đến Java. Sun thiết kế hai công cụ để phát triển Java là Sun Java Studio Creator và Sun Java Studio Enterprise, tuy chúng cũng khá mạnh và miễn phí nhưng đó không phải là sự lựa chọn của các nhà phát triển Java trên thế giới. Sun Java Studio hầu như chỉ được biết đến trong giới học lập trình Java, nó khá giống với công cụ Eclipse cũng dành cho Java, Eclipse thường được trao đổi trên các diễn đàn Java nên khá thông dụng với các bạn mới học (như JavaVietNam.org chẳng hạn). Nếu thử sử dụng ai cũng sẽ thấy chúng thật nặng nề, chậm chạp nhưng lại không có nhiều tính năng như Visual J++ hay Borland JBuilder.
Tuy nhiên Java Studio Enterprise lại hỗ trợ xây dựng các dự án UML với Java trong một môi trường rất dễ sử dụng và… đẹp mắt như dưới đây:
JBuilder của Borland mới là công cụ số 1 để phát triển Java như đã nói ở kỳ trước. Visual J++ của Microsoft cũng mạnh nhưng ngặt một nỗi - ứng dụng Java viết bằng Visual J++ chỉ chạy trên Windows (!) - điều này là đi ngược lại tinh thần của Java, trong trường hợp viết ứng dụng chỉ để chạy trên Windows thì chẳng ai dùng Java, do đó Visual J++ đã không thể tồn tại và phát triển cao hơn. Sun là tác giả của Java do đó phải đưa ra các nền thực thi Java. Trước đây ai cũng biết và sử dụng nền JDK 1.x tưởng như nó rất tốt, tuy nhiên tham gia vào các diễn đàn Java quốc tế mới biết đó là các phiên bản chứa khá nhiều lỗi mà Sun không thể khắc phục được. Hiện nay sau nhiều năm trì trệ Sun đã đưa ra một nền mới là J2SE 1.4 SDK được coi là ổn định nhưng chạy lại rất chậm, nhiều nhà phát triển Java hy vọng tốc độ của Java sẽ được cải thiện trong thời gian tới.
Hiện nay Sun đang phát triển một CCLT chạy trên nhiều hệ điều hành cho nhiều loại NNLT là Sun Studio. Phiên bản mới nhất là Sun Studio 11 bao gồm các tính năng của một môi trường tích hợp hoàn chỉnh cho các ngôn ngữ C, C++, Fortran, Java biên dịch cho các hệ điều hành Solaris, Linux, Windows. Công cụ này có khả năng tương tác, phối hợp với các công cụ thông dụng khác như Visual C++, GCC,OpenMP hay Fortran 2003. Tôi đã thử dùng Sun Studio 11 với Fortran 2003 cho một số bài toán mô phỏng Hoá học đơn giản, xin nói thêm rằng ngôn ngữ Fortran là ngôn ngữ được dùng rộng rãi nhất trong “giới Hoá Tin” – hay những người ứng dụng CNTT vào Hoá học.
.: ORACLE :.
Không hiểu vì lý do gì mà rất nhiều người khi được hỏi “CSDL nào là mạnh nhất?” sẽ trả lời ngắn gọn là “Oracle”, cho dù họ chưa hề sử dụng Oracle! Đặc biệt là ở Việt Nam, điều kiện kinh tế và phạm vi ứng dụng phần mềm chưa cho phép sử dụng Oracle. Các nhóm sử dụng Oracle như chúng tôi hầu hết đều mang tính chất nghiên cứu hoặc đơn thuần là một sở thích. Phải chăng tiếng tăm của Oracle trên thế giới đã chiếm được vị trí quán quân trong tư tưởng của cả những người chưa từng tiếp xúc với Oracle? Sự thật Oracle ra sao?
Trước hết, Oracle không chỉ là một Hệ quản trị CSDL như SQL Server hay Access, nó là cả một bộ phần mềm khổng lồ có khả năng xây dựng các ứng dụng phần mềm và trang bị các giải pháp kỹ thuật thông tin cho người dùng cuối. Oracle bao gồm thành phần quan trọng nhất chính là Hệ quản trị CSDL Oracle với nhiều phiên bản khác nhau, đi kèm với nó là môi trường thiết kế các cơ sở dữ liệu (như Designer 2000) và các công cụ phát triển (như Developer 2000). Khi có một bộ Oracle trong tay, các nhà phát triển có thể xây dựng các ứng dụng trên nhiều hệ điều hành với công cụ có sẵn trông giống như Visual Basic hay Delphi vậy, tuy nhiên các công cụ đó bị Microsoft hay Borland hoàn toàn đè bẹp. Visual Studio hay Borland Studio đều có khả năng làm việc với CSDL Oracle ngay từ thuở bình minh CNTT thế giới.
Oracle đi tiên phong trong lĩnh vực CSDL, Larry Ellison là người sáng lập Oracle cách đây gần 30 năm, đến năm 1979 Oracle đưa ra sản phẩm thương mại đầu tiên là SQL RDMS, sau đó năm 1983 là CSDL VAX-mode. Một số sản phẩm đi trước thời đại của Oracle có thể kể đến như năm 1993 – CSDL cho mô hình Khách/Chủ, năm 1995 với CSDL RDBMS 64 bit đầu tiên trên thế giới , năm 1997 với CSDL cho nền Web, năm 1999 đoán được xu thế thời đại Oracle hỗ trợ ngay XML – nay đã phát triển như vũ bão.
Hệ quản trị CSDL mới nhất của Oracle là phiên bản Oracle 10g ra đời năm 2003, đến nay phiên bản 10g đã có một số sự phát triển mới và được giới thiệu nhiều lần tại Việt Nam. 10g là hệ CSDL đầu tiên được xây dựng nhắm vào công nghệ tính toán lưới (Grid Computing), cho phép giảm chi phí CNTT bằng cách tự động hóa việc quản lý, chia sẻ tính toán giữa các Server. Oracle hiện nay có nhiều sản phẩm công nghệ khác như Oracle Application Server 10g, Oracle Collaboration Suite, Oracle Enterprise Management 10g... đặc biệt là sản phẩm ứng dụng Oracle E-Business Suite nhắm vào các doanh nghiệp phục vụ cho việc điều hành, quản lý các hoạt động nghiệp vụ một cách tự động, mang lại hiệu quả cao.
Các Hệ quản trị CSDL của Oracle có tính an toàn và bảo mật cao, nhất quán và toàn vẹn dữ liệu, cho phép người sử dụng truy nhập tới CSDL phân tán như một khối thống nhất. Cách tổ chức mô hình dữ liệu phân tán là điểm mạnh nhất của Oracle so với các CSDL khác - không chỉ được coi là hơn mà Oracle được coi là vượt xa ngay cả Hệ quản trị CSDL nổi tiếng Microsoft SQL Server. Không có gì phải bàn cãi – Oracle là Hệ quản trị CSDL ưu việt nhất hiện nay. Bạn có thể tìm thấy các phiên bản Oracle 8i hay 9i tại các quầy CD tại Việt Nam, còn tài liệu Oracle cũng có rất nhiều, tuy nhiên sách tiếng Việt chưa có cuốn nào thuyết phục chúng tôi lắm.
.: MACROMEDIA :.
MacroMedia là một cái tên rất nổi tiếng trên thế giới với sản phẩm Flash, như Sun với Java vậy. MacroMedia có các bộ công cụ thiết kế tuyệt vời như Dreamweaver, Flash, Firework, Director, HomeSite… trong số này công cụ Dreamweaver là công cụ hỗ trợ thiết kế và và lập trình web rất nhanh chóng và thông dụng, được nhiều lập trình viên biết đến.
Tại Việt Nam các công ty chuyên thiết kế website thường sử dụng Dreamweaver MX 2004 hoặc phiên bản mới nhất là Dreamweaver 8 nhờ tính năng hỗ trợ sử dụng CSS, XML, UML và hơn hết đó là một môi trường thiết kế + lập trình nhanh chóng, chuyên nghiệp, đẹp mắt và hiệu quả, vượt xa Microsoft FrontPage. Không có công cụ thiết kế web nào có thể dễ dàng đưa các hình ảnh và video vào web tiện như Dreamweaver. Khi viết mã HTML hoặc PHP, ASP… Dreamweaver giúp lập trình viên nhanh chóng viết mã, FrontPage 2003 cũng có thêm các tính năng này nhưng còn kém xa Dreamweaver. Điều đáng chú ý là với sự phát triển mạnh mẽ của ngôn ngữ PHP trên thế giới và Việt Nam mà không có công cụ nào của PHP được chấp nhận rộng rãi, Dreamweaver trở thành công cụ phát triển chính cho ngôn ngữ PHP.
Về khía cạnh lập trình, MacroMedia đã đưa ra ngôn ngữ kịch bản ActionScript dùng cho Flash - một chuẩn đồ hoạ thông dụng trên web ngày nay. ActionScript là một sự mở rộng của JavaScript nhưng có cú pháp mềm dẻo hơn và mạnh hơn hẳn trong việc xử lý sự kiện và điều khiển hoạt hình. Ngôn ngữ kịch bản này là một sự đóng góp khá lớn của MacroMedia với lĩnh vực lập trình hoạt hình.
Bộ công cụ đáng tự hào nhất hiện nay của MacroMedia là Studio 8, kết hợp tính năng của hầu hết các công cụ trước đây.
Adobe và Macromedia công bố sát nhập tháng 4/2005 và được Bộ tư pháp Mỹ phê chuẩn hợp đồng ngày 2/12/2005. Các bạn hẳn đã biết đến Người khổng lồ Adobe với Photoshop và PDF. Thực chất việc sát nhập hồi năm ngoái là một cuộc mua bán, Adobe đã mua đứt MacroMedia với giá 3,8 tỉ USD. Hai ngày sau khi chính thức sát nhập, Adobe tung ra 3 bộ phần mềm mới toanh kết hợp những công nghệ xuất sắc nhất của cả hai hãng, nhắm đến đối tượng khách hàng truyền thống của Adobe là giới thiết kế đồ họa, thiết kế web và dựng băng video.
Hình vẽ bên cạnh là “bộ công cụ của sự sát nhập” năm 2005. Năm nay Adobe sẽ cho các phần mềm video của mình bắt tay với Flash, thậm chí tích hợp cả định dạng PDF vào Flash. MacroMedia từ nay chỉ còn là tên một dòng sản phẩm chứ không còn là MacroMedia Incorporated nữa.
.: MỘT SỐ CÔNG CỤ MÃ NGUỒN MỞ :.
Trong mục này tôi muốn giới thiệu với các bạn ngôn ngữ kịch bản chạy phía Server - PHP. PHP là một NNLT mã nguồn mở, theo nghĩa bạn không phải mua trình biên dịch của PHP. Một số nhân vật nổi tiếng trên thế giới cùng nhau viết trình biên dịch PHP, và cũng qua đó đưa ra cú pháp cho ngôn ngữ PHP. Thực chất PHP là một công cụ phát triển web theo kiểu “mì ăn liền”, không khai thác vào các tầng sâu như Java (high-end/back-end), chính vì lẽ đó PHP rất dễ sử dụng và phổ biến rộng rãi.
Số website sử dụng PHP ngày nay khoảng gần 30 triệu. Không ai dám khẳng định PHP mạnh hơn các NNLT khác nhưng PHP thông dụng bởi sự phổ biến của các hệ thống mở như SPIP, Moodle, Nuke… Yahoo và Google – hai trong ba website lớn nhất thế giới (cùng với microsoft.com) sử dụng PHP và Python chứ không phải ASP hay JSP.
Cộng đồng sử dụng PHP tạo ra những sản phấm rất hữu ích như: SPIP - công cụ phát hành trang web, báo chí; Moodle - hệ thống hỗ trợ giảng dạy và đào tạo; PHP Nuke – xây dựng hệ thống portal và thương mại điện tử… Tuy nhiên trình biên dịch “mở” của PHP đã từng gặp phải rất nhiều lỗi. Nhiều người vẫn tranh cãi về tác dụng/tác hại của mã nguồn mở, có người cho rằng cái gì là miễn phí, là làm việc tự do thì sẽ không có chất lượng tốt, PHP cũng vậy. Đứng ở góc độ phát triển phần mềm chúng ta không cần thiết phải đưa ra những đánh giá tốt/xấu cho CCLT, cái chúng ta cần là hiệu quả công việc cuối cùng.
Một số công cụ hỗ trợ xây dựng web bằng PHP gồm có:
Zend Studio (http://www.zend.com)
Phiên bản mới nhất: 5.1. Công cụ này khá mạnh, dễ sử dụng nhưng lại không hỗ trợ nhiều cho thiết kế các trang HTML. Vùng soạn thảo của Zend Studio khá giống.NET Studio với tính năng Code Folding.
CodeCharge Studio (http://www.yessoftware.com) Phiên bản mới nhất: 3.0. Công cụ này đang được các nhà phát triển PHP và các ngôn ngữ lập trình web khác quan tâm. Tuy chương trình nhỏ gọn nhưng có rất nhiều tính năng hữu ích, gần tương đương với các môi trường chuyên nghiệp như Visual Basic, Dreamweaver hay FrontPage. Đặc biệt là việc xây dựng sẵn các thành phần hữu ích như lịch, báo cáo, lưới… Khả năng hỗ trợ đa ngôn ngữ và xây dựng liên kết CSDL trực quan cũng là một điểm mạnh của CodeCharge. CodeCharge có thể làm vừa lòng bất kỳ nhà phát triển PHP khó tính nào nếu họ cảm thấy Dreamweaver chưa đủ với PHP.
Do thời gian có hạn nên tôi không thể trình bày hết những điều… muốn trình bày với các bạn. Việc nghiên cứu sâu sắc và trực tiếp sử dụng các NNLT và CCLT vào thực tế trong nhiều năm qua đã đem lại cho tôi những chân lý rất thú vị - và có lẽ cũng sẽ đem lại những điều thú vị với bạn. Hy vọng trong thời gian tới có điều kiện được trình bày với các bạn về các công cụ phát triển trên Unix/Linux, đó là một thế giới mới - có thể là hoàn toàn xa lạ với những tay lập trình kỳ cựu nhất trên Windows - và cũng là một thế giới thú vị. Sớm hay muộn các lập trình viên cũng phải bắt tay vào làm việc trên Linux nhiều hơn.
Mong nhận được những đóng góp, phê bình của bạn về loạt bài viết này. Mọi ý kiến xin gửi về địa chỉ email: datdm@vnschool.net.
Hình vẽ bên cạnh là “bộ công cụ của sự sát nhập” năm 2005. Năm nay Adobe sẽ cho các phần mềm video của mình bắt tay với Flash, thậm chí tích hợp cả định dạng PDF vào Flash. MacroMedia từ nay chỉ còn là tên một dòng sản phẩm chứ không còn là MacroMedia Incorporated nữa.
.: MỘT SỐ CÔNG CỤ MÃ NGUỒN MỞ :.
Trong mục này tôi muốn giới thiệu với các bạn ngôn ngữ kịch bản chạy phía Server - PHP. PHP là một NNLT mã nguồn mở, theo nghĩa bạn không phải mua trình biên dịch của PHP. Một số nhân vật nổi tiếng trên thế giới cùng nhau viết trình biên dịch PHP, và cũng qua đó đưa ra cú pháp cho ngôn ngữ PHP. Thực chất PHP là một công cụ phát triển web theo kiểu “mì ăn liền”, không khai thác vào các tầng sâu như Java (high-end/back-end), chính vì lẽ đó PHP rất dễ sử dụng và phổ biến rộng rãi.
Số website sử dụng PHP ngày nay khoảng gần 30 triệu. Không ai dám khẳng định PHP mạnh hơn các NNLT khác nhưng PHP thông dụng bởi sự phổ biến của các hệ thống mở như SPIP, Moodle, Nuke… Yahoo và Google – hai trong ba website lớn nhất thế giới (cùng với microsoft.com) sử dụng PHP và Python chứ không phải ASP hay JSP.
Cộng đồng sử dụng PHP tạo ra những sản phấm rất hữu ích như: SPIP - công cụ phát hành trang web, báo chí; Moodle - hệ thống hỗ trợ giảng dạy và đào tạo; PHP Nuke – xây dựng hệ thống portal và thương mại điện tử… Tuy nhiên trình biên dịch “mở” của PHP đã từng gặp phải rất nhiều lỗi. Nhiều người vẫn tranh cãi về tác dụng/tác hại của mã nguồn mở, có người cho rằng cái gì là miễn phí, là làm việc tự do thì sẽ không có chất lượng tốt, PHP cũng vậy. Đứng ở góc độ phát triển phần mềm chúng ta không cần thiết phải đưa ra những đánh giá tốt/xấu cho CCLT, cái chúng ta cần là hiệu quả công việc cuối cùng.
Một số công cụ hỗ trợ xây dựng web bằng PHP gồm có:
Zend Studio (http://www.zend.com)
Phiên bản mới nhất: 5.1. Công cụ này khá mạnh, dễ sử dụng nhưng lại không hỗ trợ nhiều cho thiết kế các trang HTML. Vùng soạn thảo của Zend Studio khá giống.NET Studio với tính năng Code Folding.
CodeCharge Studio (http://www.yessoftware.com) Phiên bản mới nhất: 3.0. Công cụ này đang được các nhà phát triển PHP và các ngôn ngữ lập trình web khác quan tâm. Tuy chương trình nhỏ gọn nhưng có rất nhiều tính năng hữu ích, gần tương đương với các môi trường chuyên nghiệp như Visual Basic, Dreamweaver hay FrontPage. Đặc biệt là việc xây dựng sẵn các thành phần hữu ích như lịch, báo cáo, lưới… Khả năng hỗ trợ đa ngôn ngữ và xây dựng liên kết CSDL trực quan cũng là một điểm mạnh của CodeCharge. CodeCharge có thể làm vừa lòng bất kỳ nhà phát triển PHP khó tính nào nếu họ cảm thấy Dreamweaver chưa đủ với PHP.
Do thời gian có hạn nên tôi không thể trình bày hết những điều… muốn trình bày với các bạn. Việc nghiên cứu sâu sắc và trực tiếp sử dụng các NNLT và CCLT vào thực tế trong nhiều năm qua đã đem lại cho tôi những chân lý rất thú vị - và có lẽ cũng sẽ đem lại những điều thú vị với bạn. Hy vọng trong thời gian tới có điều kiện được trình bày với các bạn về các công cụ phát triển trên Unix/Linux, đó là một thế giới mới - có thể là hoàn toàn xa lạ với những tay lập trình kỳ cựu nhất trên Windows - và cũng là một thế giới thú vị. Sớm hay muộn các lập trình viên cũng phải bắt tay vào làm việc trên Linux nhiều hơn.
Mong nhận được những đóng góp, phê bình của bạn về loạt bài viết này. Mọi ý kiến xin gửi về địa chỉ email: datdm@vnschool.net.
Không có nhận xét nào:
Đăng nhận xét