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 công cụ lập trình thời đại 2

Các công cụ lập trình thời đại
Trên số trước tôi đã giới thiệu một số bộ công cụ lập trình (CCLT) thời đại của các Nhà sản xuất Borland, Microsoft và IBM. Theo cách phân loại nà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.

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.

Loading...

Đăng nhận xét

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