Đây là danh sách các ngôn ngữ lập trình (NNLT), từ những ngôn ngữ (NN) đã có cách đây hàng chục năm đến những NN mới xuất hiện gần đây, chủ yếu là các NN tổng quát. Các NN được nhóm theo các tính năng tương đồng. Vì giá trị lịch sử, có một số NN “chết” hay ít được sử dụng hiện diện trong danh sách. Danh sách này có thể chưa đầy đủ.
NGÔN NGỮ MÁY dùng các số 0 và 1 để “ra lệnh” cho bộ xử lý. Tập lệnh chỉ tương thích trong cùng họ CPU và rất khó lập trình.
NGÔN NGỮ ASSEMBLY gần giống như NN máy nhưng có ưu điểm là tập lệnh dễ đọc . Nói chung mỗi lệnh trong Assembly (như MOV A,B) tương ứng với một lệnh mã máy (như 11001001). Chương trình Assembly được biên dịch trước khi thực thi. Nếu cần tốc độ và kích thước chương trình thật nhỏ, Assembly là giải pháp.
C đạt được sự thỏa hiệp giữa việc viết code hiệu quả của Assembly và sự tiện lợi và khả năng chạy trên nhiền nền tảng của NNLT cấp cao có cấu trúc. NN hơn 20 năm tuổi này hiện vẫn được tin dùng trong lĩnh vực lập trình hệ thống. Có các công cụ thương mại và miễn phí cho gần như mọi HĐH.
C++ là NN được dùng nhiều nhất hiện nay, đa số phần mềm thương mại được viết bằng C++. Tên của NN có lý do: C++ bao gồm tất cả ưu điểm của C và bổ sung thêm các tính năng hướng đối tượng. Có các công cụ thương mại và miễn phí cho gần như mọi HĐH.
C# [phát âm 'C sharp“] là lời đáp của Microsoft đối với Java. Do không đạt được thỏa thuận với Sun về vấn đề bản quyền, Microsoft đã tạo ra NN với các tính năng tương tự nhưng chỉ chạy trên nền Windows.
JAVA là phiên bản C++ được thiết kế lại hợp lý hơn, có khả năng chạy trên nhiều nền tảng; tuy nhiên tốc độ không nhanh bằng C++. Có các công cụ miễn phí và thương mại hỗ trợ cho hầu hết các HĐH hiện nay. Tuy Microsoft đã gỡ bỏ hỗ trợ Java khỏi cài đặt mặc định của các phiên bản Windows mới, nhưng việc bổ sung rất dễ dàng.
PASCAL được thiết kế chủ yếu dùng để dạy lập trình, tuy nhiên nó đã trở nên phổ biến bên ngoài lớp học. Pascal yêu cầu tính cấu trúc khá nghiêm ngặt. Có các công cụ thương mại và miễn phí cho DOS, Windows, Mac, OS/2 và các HĐH họ Unix. Trình soạn thảo website BBEdit được viết bằng Pascal.
DELPHI là phiên bản hướng đối tượng của Pascal được hãng Borland phát triển cho công cụ phát triển ứng dụng nhanh có cùng tên. Môi trường Delphi được thiết kế để cạnh tranh với Visual Basic của Microsoft, hỗ trợ xây dựng giao diện nhanh bằng cách kéo thả các đối tượng và gắn các hàm chức năng. Khả năng thao tác CSDL là một ưu điểm khác của NN. Borland, có các công cụ thương mại cho Windows và Linux.
BASIC ['Beginner’s All-purpose Symbolic Instruction Code“] là NNLT đầu tiên dùng cho máy vi tính thời kỳ đầu. Các phiên bản hiện đại của BASIC có tính cấu trúc hơn. Có các công cụ thương mại và miễn phí cho DOS, Windows, Mac và các HĐH họ Unix.
VISUAL BASIC [phiên bản của Basic cho môi trường đồ hoạ] là NN đa năng của Microsoft. Nó bao gồm BASIC, NN macro của Microsoft Office (VBA – Visual Basic for Application), và công cụ phát triển ứng dụng nhanh. Tiếc là ứng dụng VB chỉ có thể chạy trên Windows và bạn bị lệ thuộc vào những chính sách thay đổi của Microsoft. (Chương trình viết bằng VB 6 hay các phiên bản trước sẽ không hoàn toàn tương thích với VB.NET)
ADA phần lớn dựa trên Pascal, đây là một dự án của Bộ Quốc Phòng Mỹ. ADA có nhiều điểm mạnh, như cơ chế kiểm soát lỗi, dễ bảo trì và sửa đổi chương trình. Phiên bản hiện thời có cả các tính năng hướng đối tượng.
ICON là NN thủ tục cấp cao. Xử lý văn bản là một trong những điểm mạnh của nó. Có các phiên bản cho Windows, HĐH họ Unix và các môi trường Java; các phiên bản cũ hơn hỗ trợ các HĐH khác.
SMALLTALK môi trường phát triển hướng đối tượng và đồ hoạ của Smalltalk chính là nguồn cảm hứng cho Steve Jobs và Bill Gates ‘phát minh“ giao diện Mac OS và Windows.
RUBY hợp một số tính năng tốt nhất của nhiều NN khác. Đây là NN hướng đối tượng thuần túy như Smalltalk, nhưng có cú pháp trong sáng hơn. Nó có khả năng xử lý văn bản mạnh tương tự như Perl nhưng có tính cấu trúc hơn và ổn định hơn.
PERL thường được xem đồng nghĩa với “CGI Scripting”. Thực tế, Perl “lớn tuổi” hơn web. Nó ‘dính“ vào công việc lập trình web do khả năng xử lý văn bản mạnh, rất linh động, khả năng chạy trên nhiều nền tảng và miễn phí.
TCL (phát âm ‘tickle“) có thể tương tác tốt với các công cụ dùng văn bản như trình soạn thảo, trình biên dịch… dùng trên các HĐH họ Unix, và với phần mở rộng TK nó có thể truy cập tới các giao diện đồ hoạ như Windows, Mac OS và X-Windows, đóng vai trò kết dính các thành phần lại với nhau để hoàn thành các công việc phức tạp. Phương pháp mô-đun này là nền tảng của Unix
PYTHON là NN nguồn mở, hướng đối tượng, tương tác và miễn phí. Ban đầu được phát triển cho Unix, sau đó ‘bành trướng“ sang mọi HĐH từ DOS đến Mac OS, OS/2, Windows và các HĐH họ Unix. Trong danh sách người dùng của nó có NASA và RedHat Linux.
PIKE cũng là NN nguồn mở, miễn phí được phát triển cho nhu cầu cá nhân, và hiện được công ty Roxen Internet Software của Thuỵ Điển phát triển dùng cho máy chủ web trên nền Roxen. Đây là NN hướng đối tượng đầy đủ, có cú pháp tương tự C, và có thể mở rộng để tận dụng các mô-đun và thư viện C đã biên dịch để tăng tốc độ. Nó có thể dùng cho các HĐH họ Unix và Windows.
PHP (Hypertext Pre-Processor) là NN mới nổi lên được cộng đồng nguồn mở ưa chuộng và là mô-đun phổ biến nhất trên các hệ thống Apache (web server). Giống như CFML, mã lệnh nằm ngay trong trang web. Nó có thể dễ dàng truy cập tới các tài nguyên hệ thống và nhiều CSDL. Nó miễn phí và tính khả chuyển đối với các HĐH họ Unix và Windows.
MACROMEDIA COLDFUSION có mã lệnh CFML (Cold Fusion Markup Language) được nhúng trong trang web rất giống với thẻ lệnh HTML chuẩn. Rất mạnh, có các công cụ để truy cập nhiều CSDL và rất dễ học. Hạn chế chính của nó là giá cả, tuy nhiên có phiên bản rút gọn miễn phí. Chạy trên Windows và các HĐH họ Unix.
ACTIVE SERVER PAGES (ASP) được hỗ trợ miễn phí với máy chủ web của Microsoft (IIS). Thực sự nó không là NNLT, mà được gọi, theo Microsoft, là ‘môi trường lập kịch bản phía máy chủ“.Nó dùng VBScript hay JScript để lập trình. Chỉ chạy trên Windows NT/2K. Microsoft đã thay NN này bằng ASP.NET, tuy có tên tương tự nhưng không phải là bản nâng cấp.
JAVASERVER PAGES (JSP) là NN đầy hứa hẹn. Nó dùng Java, có phần mềm máy chủ nguồn mở và miễn phí (Tomcat). Có thể chạy trên hầu hết các máy chủ web, gồm Apache, iPlanet và cả Microsoft IIS.
LISP ['LISt Processing“] là NNLT ‘có thể lập trình“, được xây dựng dựa trên khái niệm đệ quy và có khả năng thích ứng cao với các đặc tả không tường minh. Nó có khả năng giải quyết những vấn đề mà các NN khác không thể, đó là lý do NN hơn 40 năm tuổi này vẫn tồn tại. Yahoo Store dùng Lisp.
PROLOG [“PROgramming in Logic”] được thiết kế cho các bài toán luận lý, ví dụ như “A bao hàm B, A đúng, suy ra B đúng” – một công việc khá khó khăn đối với một NN thủ tục.
COBOL [“Common Business-Oriented Language”] có tuổi đời bằng với điện toán thương mại, bị buộc tội không đúng về vụ Y2K, và dù thường được dự đoán đến hồi cáo chung nhưng nó vẫn tồn tại nhờ tính hữu dụng trong các ứng dụng xử lý dữ liệu và lập báo cáo kinh doanh truyền thống. Hiện có phiên bản với các tính năng hướng đối tượng và môi trường phát triển tích hợp cho Linux và Windows.
FORTRAN [“FORmula TRANslation”] là NN xưa nhất vẫn còn dùng. Nó xuất sắc trong công việc
đầu tiên mà máy tính được tin cậy: xử lý các con số. Theo đúng nghĩa đen, đây là NN đưa con người lên mặt trăng (dùng trong các dự án không gian), một số tính năng của NN đã được các NN khác hiện đại hơn “mượn”.
dBase [“DataBASE”] là NN lệnh cho chương trình quản lý CSDL mang tính đột phá của Ashton-Tate. Khi chương trình phát triển, NN cũng phát triển và nó trở thành công cụ phát triển. Tới thời kỳ xuất hiện nhiều công cụ và trình biên dịch cạnh tranh, nó chuyển thành chuẩn.
Foxpro là một nhánh phát triển của dBase dưới sự “bảo hộ” của Microsoft. Thực ra nó là công cụ phát triển hơn là NN. Tuy có lời đồn đại về sự cáo chung, nhưng NN vẫn phát triển. Hiện Foxpro có tính đối tượng đầy đủ và có công cụ phát triển mạnh (Visual Foxpro).
Erlang [“Ericsson LNAGuage”] thoạt đầu được hãng điện tử Ericsson phát triển để dùng riêng nhưng sau đó đưa ra bên ngoài như là phần mềm nguồn mở. Là NN cấp thấp xét theo việc nó cho phép lập trình điều khiển những thứ mà thường do HĐH kiểm soát, như quản lý bộ nhớ, xử lý đồng thời, nạp những thay đổi vào chương trình khi đang chạy… rất hữu ích trong việc lập trình các thiết bị di động. Erlang được dùng trong nhiều hệ thống viễn thông lớn của Ericsson.
HASKELL là NN chức năng, nó được dùng để mô tả vấn đề cần tính toán chứ không phải cách thức tính toán.
Còn 1 ngôn ngữ không kém phần quan trọng đó là ngôn ngữ AutoIt (dùng rất nhiều trong kỹ thuật hooking hệ thống và hack soft).NGÔN NGỮ LẬP TRÌNH
Ngôn ngữ lập trình web
Với sự phổ biến của intemet, nhu cầu thiết lập trang web cũng trở nên thịnh hành. Không chỉ các công ty có nhu cầu giao dịch trên Net mới thiết lập website mà nhiều người dùng cá nhân cũng rất thích tạo trang web cá nhân để đưa lên Net. Để cho trang web sinh động, hấp dẫn, bạn phải tạo tính động cho trang web của mình như khả năng thay đổi nội dung hiển thị tương tác với người dùng... dạng như chương trình ứng dụng web chạy trên Net.
Những ứng dụng lớn, nghiêm túc trên web như các ứng dụng thương mại điện tử đòi hỏi nhiều công cụ phần mềm và lập trình rất phức tạp. Nhưng không phải tất cả các trang web động đều yêu cầu đến mức như vậy. Đa phần các trang web động và ứng dụng thông thường trên Net được thiết kế với ngôn ngữ kịch bản (script) đơn giản và có thể lập trình nhanh chóng.
Khi bạn tạo một trang web động thì đoạn mã tạo nên những thay đổi trên trang web hoặc thực thi ở máy khách (client), hoặc thực thi ở máy chủ (server). Mã kịch bản chạy trên máy khách có ưu điểm là giảm bớt tải cho máy chủ, nhưng có khuyết điểm là bạn không thể bảo mật đoạn mã chương trình của mình và cũng không thể thực hiện các tác vụ với hệ thống file hay cơ sở dữ liệu. Với mã kịch bản chạy trên máy chủ, nhờ mã lệnh thực thi ở máy chủ trước khi trang HTML gửi tới trình duyệt ở máy khách nên mã nguồn được giấu kín. Môi trường thực thi trên máy chủ cho phép thực hiện các tác vụ truy cập cơ sở dữ liệu và hệ thống file. Do trang HTML gửi tới máy khách thường ở dạng mã HTML đơn giản nên không bị lệ thuộc vào trình duyệt và phiên bản của trình duyệt (một khó khăn đối với mã lệnh thực thi ở môi trường trình duyệt trên máy khách). Tuy nhiên việc thực thi lệnh trên máy chủ cũng có vấn đề về hiệu suất do mỗi trang động đều phải được
phân giải trước khi gửi tới máy khách.
phân giải trước khi gửi tới máy khách.
Nếu thiết kế website tận dụng ưu điểm của cả hai giải pháp này, bạn có thể vừa bảo mật mã nguồn xử lý quan trọng vừa đảm bảo hiệu suất cho website. Trong khi ngôn ngữ kịch bản chạy trên môi trường máy khách hầu như chỉ có Javascript và Vbscript thì có khá nhiều lựa chọn với môi trường máy chủ. Bài viết này giới thiệu cho bạn thông tin tổng hợp về các ngôn ngữ kịch bản chạy trên môi trường máy chủ.
CGI
Ngôn ngữ kịch bản chạy trên môi trường máy chủ nói chung có thể phân thành hai loại cơ bản: Com mon Gateway Interface (CGI, chương trình trả về mã HTML) và ngôn ngữ đánh dấu nhúng trong trang HTML.
Những thế hệ máy chủ web (web server hay HTTP server) đầu tiên không tích hợp sẵn mô đun xử lý tạo nội dung động mà dùng các giao tiếp (interface) để gọi các chương trình khác bên ngoài xử lý yêu cầu tạo nội dung động lúc thực thi. Chuẩn giao tiếp đầu tiên được dùng để tạo nội dung web động là CGI. CGI không phải là một ngôn ngữ cụ thể mà là giao thức liên lạc giữa máy chủ web và một chương trình ứng dụng bên ngoài. Nhiều người thường gắn liền CGI với Perl do phần lớn kịch bản CGI thường được viết bằng ngôn ngữ này, nhưng nói chung CGI có thể viết bằng bất kỳ ngôn ngữ nào để được gọi như một chương trình chạy độc lập từ web server, chẳng hạn như Python, Tcl, C/C + + và cả Java.
Phương pháp CGI có những hạn chế về hiệu suất. Chương trình CGI chạy bên ngoài web server và mỗi khi có yêu cầu một trang web động thì đều phải khởi tạo tiến trình mới. Việc khởi tạo các tiến trình mới làm hao tốn tài nguyên hệ thống và chậm tốc độ đáp ứng. Để giải quyết hạn chế của CGI, các phần mềm máy chủ web thế hệ sau tích hợp sẵn khả năng xử lý tạo nội dung web động. Cũng có nhiều mô đun bổ sung cung cấp các hàm API tương tác trực tiếp với web server.
Perl
Perl (Practical Extraction and Report Language) là ngôn ngữ kịch bản mã nguồn mở có cú pháp tương tự như C. Perl chạy ở chế độ nền phía server tạo nội dung web theo cách thức ẩn đối với người xem. Năm 1987, lrry Wall xây dựng và phát triển Perl như là phiên bản cải tiến của awk với mục đích thực hiện tự động một số tác vụ quản trị hệ thống Unix (awk là một chương trình xử lý văn bản của Unix) . Sau đó Perl được phát triền dần và phổ biến với nhiều dạng ửng dụng. Perl có tính đối tượng, nhờ vậy việc bổ sung thư viện mới rất dễ dàng. Nó thích hợp cho cả ứng dụng web phức tạp lẫn các tác vụ xử lý dữ liệu đơn giản.
Đã có thời tất cả những việc tạo trang web động có lập trình đều dùng Perl, trước khi có những công nghệ khác như ASP, JSP, PHP... và hiện Perl vẫn là một trong những ngôn ngữ được dùng phổ biến nhất để viết các ứng dụng web.
Hầu hết các máy chủ web hiện nay đều hỗ trợ Perl. Apache có hỗ trợ miễn phí tích hợp trình dịch Perl mod-perl. Điều này không chỉ giúp tăng tốc mã lệnh Perl mà còn cải thiện hiệu suất nhờ mod-perl lưu lại các mã lệnh biên dịch trong bộ nhớ. Mod_perl kết hợp với một số công nghệ khác cho phép xây dựng các website cao cấp, nổi bật nhất là hai công nghệ HTML::Embperl và HTML::Mason.
Cá c giải pháp thương mại của Activestate và Binary Evolution cũng giúp tăng tốc Perl theo cách thức tương tự như mod-perl. PerlEx của ActiveState tăng tốc chương trình CGI/PERL cho IIS trong khi sản phẩm của Binary Evolution dùng cho Netscape, Apache, và IIS trên cả nền Windows và Unix.
Có rất nhiều tài liệu trên Net về Perl cũng như nhiều thư viện chương trình tiện ích miễn phí. Bạn có thể tìm thấy những mô đun viết sẵn ở website CPAN (Comprehensive Perl Archive Network - www.cpan.org). Ngôn ngữ Perl hiện đang phát triển đi xa hơn thiết kế ban đầu của nó.
ASP
Công nghệ Microsoft Active Server pages (ASP) đi cùng với Microsoft Intemet Information Server (IIS). ASP hỗ trợ nhiều ngôn ngữ kịch bản như PerlScript, JScript và VBScript. PerlScript dựa trên ngôn ngữ Perl, JScript dựa trên ngôn ngữ JavaScript, nhưng ngôn ngữ mặc định của ASP là VBScript, một ngôn ngữ kịch bản dễ học, là tập con của ngôn ngữ Visual Basic - một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Công nghệ ASP cho phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động.
Ưu điểm nổi bật nhất của ASP là khả năng dùng thành phần COM và ADO (Activex Data Object), nhưng cũng chính khả năng này làm cho chương trình ASP phức tạp và khó viết hơn. Khi cần phát triển, bạn có thể tạo thành phần COM riêng. Microsoft khuyến cáo xây dựng thành phần COM để xử lý mức luận lý. Thành phần COM có thể phát triển bằng Visual Basic, Visual C++ hay Java.
Tuy nhiên, với môi trường máy chủ dùng chung, thường các công ty cung cấp dịch vụ máy chủ giới hạn chỉ cho phép bạn dùng VBScript.
Trở ngại lớn nhất của ASP là chỉ dùng trên IIS chạy trên máy chủ Win32. Có một số sản phẩm của các hãng thứ ba cho phép ASP chạy trên môi trường và máy chủ web khác như các sản phẩm thương mại InstantASP của Halcyon, Chili!Soft của Chili!Soft và sản phẩm miễn phí OpenASP của ActiveScripting.org. Có hai phiên bản Perl cho ASP: phiên bản Unix (Apache::ASP) dùng với Apache và phiên bản Windows PerlScript của hãng ActiveState.
Việc cài đặt môi trường máy chủ hỗ trợ ASP rất đơn giản, IIS mặc định hỗ trợ sẵn ASP. Personal Web Server cung cấp môi trường chạy ASP cho Windows 95, 98. Công cụ Visual Interdev rất mạnh, giúp tạo trang ASP đơn giản và nhanh chóng. Có rất nhiều website, sách và mã nguồn miễn phí cho ASP. Đây là một lợi thế.
ASP.NET (ASP+) là bước phát triển mới của công nghệ ASP dùng với nền tảng NET. Ngôn ngữ chính dùng để phát triển trang ASP.NET (.aspx) là VB.NET, C#. Ngoài ra ASP.NET còn hỗ trợ nhiều ngôn ngữ khác như JScript.NET, Smalltalk.NET, Cobol.NET, Perl.NET...
JSP
Java Server Pages (JSP) là sự mở rộng của công nghệ JavaServlet, một thành phần trong chuẩn J2EE của Sun. Với JavaServlet, bạn phải xử lý đầu vào HTTP và đầu ra HTML trong lớp Java, bạn cần có kiến thức lập trình để xây dựng các ứng dụng phức tạp. Với JSP bạn có thể tách riêng lớp hiển thị HTML ra khỏi lớp Java xử lý nghiệp vụ phức tạp. Điều này có nghĩa là người phát triển có kinh nghiệm ngôn ngữ kịch bản, hay thậm chí người thiết kế web có thể viết mã lệnh hiển thị đơn giản, trong khi người phát triển có kiến thức về Java tập trung viết JavaServlet hay JavaBean đề giải quyết nghiệp vụ phức tạp.
Tương tự ASP, JSP cũng thực hiện phép trộn nội dung HTML tĩnh với mã lệnh kịch bản thực thi ở môi trường server để tạo ra kết quả động. JSP dùng ngôn ngữ kịch bản mặc định là Java; tuy nhiên theo đặc tả kỹ thuật thì cũng có thể dùng các ngôn ngữ khác. JSP có ưu điểm so với ASP là sau lần thực thi đầu tiên thì mã biên dịch (Servlet) của trang JSP được lưu lại trong bộ nhớ của máy chủ web và sẵn sàng đáp ứng cho các yêu cầu truy cập sau đó (trang ASP/VBSCRIPT hay Asp/jscript phải được dịch lại với mỗi yêu cầu). Lợi thế của JSP là sử dụng được toàn bộ sức mạnh của ngôn ngữ Java với các tính năng khả chuyển, chạy được trên nhiều nền tảng hệ thống và máy chủ web, mã lệnh hướng đối tượng, bảo mật an toàn...
Hiện chưa có nhiều dịch vụ đặt web hỗ trợ JSP. Tuy Java miễn phí nhưng các công
cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS.
cụ phát triển Java và phần mềm máy chủ Java khá đắt. Các công cụ phát triển trang JSP tốt là Borland Jbuilder, IBM WebSphere Studio. Một số phần mềm máy chủ Java hỗ trợ JSP miễn phí như Tomcat, JONAS.
Server-side JavaScript (SSJS) là sự mở rộng của JavaScript, ngôn ngữ kịch bản phổ biến chạy ở trình duyệt máy khách có cú pháp giống như C, mặc dù có tên gọi tương tự nhưng nó không phải là Java. SSJS có các tính năng tích hợp hỗ trợ cơ sở dữ liệu và email, quản lý phiên làm việc và khả năng liên tác với các lớp Java dùng công nghệ Livewire của Netscape. SSJS chỉ chạy trên máy chủ web Netscape.
PHP
Năm 1995 , Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp lại cùng
đoạn mã khi tạo các trang home (vì vậy PHP được viết tắt từ Personal Home Page). Ban đầu, tác giả chỉ có ý định tạo bộ phân giải đơn giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C. Dự án này đã được phát triển thành ngôn ngữ kịch bản mã nguồn mở PHP - Hypertext Preprocessor được cài đặt cho khoảng 20% máy chủ web trên Internet, theo số liệu khảo sát của công ty Netcraft.
đoạn mã khi tạo các trang home (vì vậy PHP được viết tắt từ Personal Home Page). Ban đầu, tác giả chỉ có ý định tạo bộ phân giải đơn giản để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C. Dự án này đã được phát triển thành ngôn ngữ kịch bản mã nguồn mở PHP - Hypertext Preprocessor được cài đặt cho khoảng 20% máy chủ web trên Internet, theo số liệu khảo sát của công ty Netcraft.
PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm đặc biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy mà các ứng dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính là điểm mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể giao tiếp với nhiều hệ CSDL như Sybase, Oracle, Informix, Postgres và cả Microsoft SQL. Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng khác như IMAP, SNMP, LDAP, XML... PHP chạy trên hầu hết các nền tảng hệ thống. Trình máy chủ phân giải mã lệnh PHP có thể tải về miễn phí từ trang web chính thức của PHP. Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí. Với máy tính cấu hình vừa phải chạy Linux, cài đặt Apache, PHP và MYSQL, bạn sẽ có máy chủ có thể phục vụ được nhiều ứng dụng web tương đối. Toàn bộ chi phí hầu như chỉ là thời gian bạn bỏ ra để cài đặt các phần mềm. PHP được xem là một thay thế cho Perl. PHP không thể làm được nhiều như Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng. Nhiều nhà phát triển dùng kết hợp cả hai: Perl dùng cho những tác vụ chạy bên dưới còn PHP dùng cho việc xử lý bề mặt. Komodo của Active State Corp là công cụ miễn phí dùng để phát triển trang PHP.
ColdFusion
Đây là ngôn ngữ kịch bản do hãng Allaire phát triể n, hiện đã được Macromedia mua lại. Coldfusion được thiết kế ngay từ đầu chuyên dành cho nền tảng ứng dụng web, nó không bị ràng buộc bởi các mô hình công nghệ trước đây trong việc tìm giải pháp thích hợp cho những vấn đề mà các nhà phát triển web gặp phải. CFML (Cold Fusion Markup Language) là ngôn ngữ rất mạnh và dễ học, dùng tập thẻ lệnh tương tự như thẻ lệnh HTML. Một điểm đặc biệt là mỗi trang Colfusion có thể dùng như một thẻ lệnh: ví dụ bạn có file list.cfm thì một trang khác có thể dùng nó như thẻ Coldfusion cũng có tập hàm API mạnh và có một số chức năng hay như mảng, cấu trúc, xử lý lỗi...
Công cụ phát triển Coldfusion Studio là một trong những công cụ phát triến tốt nhất. Công cụ thiết kế web Macromedia Dreamweaver hỗ trợ tạo tự động mã lệnh CFML và cả JSP. Phần mềm máy chủ Coldfusion không miễn phí, do vậy tăng phí dịch vụ web.
Các ngôn ngữ như ASP, Coldfusion, JSP và PHP được quan tâm rất nhiều, nhưng các ngôn ngữ giới thiệu dưới đây cũng được dùng để phát triển một số ứng dụng chuyên biệt và được dùng cho số lượng không nhỏ website.
Tcl hay Tcl/Tk (Tool Command Language/Toolkit)
Theo John Ousterhout, cha đẻ của ngôn ngữ Tcl, thoạt đầu nó được tạo như là ngôn ngữ lệnh kết nối các chương trình ứng dụng đánh giá sinh viên ở đại học Berkerley. Tcl không được thiết kế để xây dựng các chương trình tính toán lớn và phức tạp. Chương trình Tcl - được gọi là script - thực hiện phân luồng dữ liệu từ một chương trình này đến chương trình khác. Các chương trình lớn và chạy nhanh thực hiện phần công việc nặng nhọc, chương trình Tcl gắn các chương trình lớn này lại với nhau. Tcl là ngôn ngữ hướng đối tượng.
Điểm mạnh nhất của Tcl là khả năng điều khiển, liên kết các thiết bị hay chương trình ứng dụng. Hai đặc tính chủ chốt của ngôn ngữ: khả năng nhúng và mở rộng. Phương tiện mở rộng mà Tcl cung cấp (giao diện lập trình) có thể dùng để tạo các tính năng mới trong ngôn ngữ bằng chương trình C, C++ hay Java. Rất nhiều mô đun mở rộng cho Tcl được viết và cung cấp miễn phí trên internet, công cụ GUI hỗ trợ thiết kế giao diện Toolkit (Tk) là một ví dụ điển hình. Các ngôn ngữ khác như Perl, Python cũng dùng Tk. Một điểm mạnh khác của Tcl là khả năng kiểm soát văn bản nhập vào chính khả năng này làm cho Tcl được dùng phổ biến để tạo các trang và hình ảnh lúc thực thi trên web. Với khả năng này, có thể Tcl càng phổ biến hơn trong tương lai nhờ XML (Extensible Markup Language), ngôn ngữ cho phép thể hiện dữ liệu dưới dạng văn bản. Công cụ miễn phí Tclpro của Scriptics cung cấp môi trường phát triển Tcl. Một số mô đun miễn phí tích hợp Tcl với Apache như mod_tcl, Neowebscript.
Python
Được phát triển từ năm 1990, Python là ngôn ngữ có tính đối tượng cao, khả chuyển, cú pháp đơn giản và mã nguồn mở. Python có thể mở rộng về mặt hệ thống bằng cách bổ sung thêm mô đun mới viết bằng ngôn ngữ biên dịch như C hay C++. Mô đun bổ sung có thể định nghĩa hàm mới và biến mới cũng như các kiểu đối tượng mới. Python đặc biệt thích hợp cho lập trình tính toán khoa học.
Python chưa phổ biến như PHP, ASP hay Perl, và hiện phần lớn dịch vụ web chưa hỗ trợ ngôn ngữ này. Apache có mô đun miễn phí mod-python hỗ trợ Python. Một chọn lựa khác là Zope - máy chủ ứng dụng Python có mã nguồn mở của Digital Creations.
Chọn ngôn ngữ cho website của bạn
Có nhiều yếu tố bạn nên cân nhắc trước khi quyết định chọn ngôn ngữ kịch bản cho website của mình như: Nhân sự bảo trì website, kỹ năng của họ và tài nguyên hiện có? Dịch vụ đặt máy chủ và hỗ trợ của dịch vụ? Hệ thống cơ sở dữ liệu sẽ sử dụng? Nền tảng hệ thống (Windows, Unix...)? Tuy PHP có vẻ như là ngôn ngữ thật hấp dẫn (mã nguồn mở, chạy trên nhiều hệ điều hành), nhưng nó không phải là lựa chọn thích hợp nếu bạn không có chuyên gia thành thạo Unix, Perl và C. Ngay cả nếu bạn có chuyên gia trong tay nhưng không có gì đảm bảo sẽ giữ được họ làm việc với công ty, trong khi việc tìm người thay thế rất khó khăn do khan hiếm chuyên gia về lĩnh vực này.
Nói chung, các ngôn ngữ kịch bản đều đơn giản, dễ học, dễ sử dụng và có nhiều
tính năng gần như tương tự nhau. Thảo chương viên Visual Basic sẽ thấy mã lệnh
ASP đơn giản. Người phát triển mã HTML sẽ thấy quen thuộc với Coldfusion. Những người lập trình C hay Perl thì sẽ thấy nhiều điểm tương đồng trong PHP. Chọn ngôn ngữ mà bạn nắm vững thường là giải pháp tốt nhất.
tính năng gần như tương tự nhau. Thảo chương viên Visual Basic sẽ thấy mã lệnh
ASP đơn giản. Người phát triển mã HTML sẽ thấy quen thuộc với Coldfusion. Những người lập trình C hay Perl thì sẽ thấy nhiều điểm tương đồng trong PHP. Chọn ngôn ngữ mà bạn nắm vững thường là giải pháp tốt nhất.
tham khảo:
No Comment to " GIỚI THIỆU VỀ CÁC NGÔN NGỮ LẬP TRÌNH "