Tìm kiếm
Similar topics
Latest topics
Đăng nhập với tên thanhvien VIP
28/8/2010, 21:37 by ABC
BẠN CÓ THỂ ĐĂNG KÝ RỒI ĐĂNG NHẬP
HOẶC ĐĂNG NHẬP
VỚI TÊN thanhvienvip
hoặc thanhvien 1
hoặc thanhvien 2
hoặc thanhvien 3
và mật khẩu là 1234567890
để không có dòng quảng cáo trên.
HOẶC ĐĂNG NHẬP
VỚI TÊN thanhvienvip
hoặc thanhvien 1
hoặc thanhvien 2
hoặc thanhvien 3
và mật khẩu là 1234567890
để không có dòng quảng cáo trên.
Comments: 0
HỌC ĐI ĐÔI VỚI HÀNH ?
28/4/2010, 22:40 by Admin
Học đi đôi với hành
“ trăm hay không bằng tay quen”. người lao động xưa đã từng quan niệm rằng lí thuyết hay không bằng thức hành giỏi. điều đó cho thấy người xưa đã đề cao vai trò của thức hành . trong khi đó những kẻ học thức chỉ biết chữ nghĩa thánh hiền, theo lối học từ chương sáo mòn cũ kĩ. …
[ Full reading ]
“ trăm hay không bằng tay quen”. người lao động xưa đã từng quan niệm rằng lí thuyết hay không bằng thức hành giỏi. điều đó cho thấy người xưa đã đề cao vai trò của thức hành . trong khi đó những kẻ học thức chỉ biết chữ nghĩa thánh hiền, theo lối học từ chương sáo mòn cũ kĩ. …
[ Full reading ]
Comments: 2
Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
3 posters
Trang 1 trong tổng số 1 trang
Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Các ngôn ngữ .Net Framework
PHP
Java
Các ngôn ngữ khác
Các ngôn ngữ .Net Framework
PHP
Java
Các ngôn ngữ khác
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
.net thì mạnh mẽ ổn định nhờ bộ Framework.
Jsp thì thường được các hãng điện thoại dinh động như mobifone sử dụng bởi dễ dàng tương tác với các ứng dụng Java chạy trên điện thoại di động.
PHP thì khá linh hoạt và giờ đã có các bộ Framework cho PHP ( zend Framwork,Codelgniter...) tuy nhiên phiên bản ra chóng mặt.
Nói chung phát triển ứng dụng web trên nền PHP,Mysql là dễ dàng nhất, kinh tế nhất .
Jsp thì thường được các hãng điện thoại dinh động như mobifone sử dụng bởi dễ dàng tương tác với các ứng dụng Java chạy trên điện thoại di động.
PHP thì khá linh hoạt và giờ đã có các bộ Framework cho PHP ( zend Framwork,Codelgniter...) tuy nhiên phiên bản ra chóng mặt.
Nói chung phát triển ứng dụng web trên nền PHP,Mysql là dễ dàng nhất, kinh tế nhất .
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
- PHP: Được chạy trên máy chủ Linux hoặc Windows. Với đặc điểm mạnh mẽ, dễ viết, dễ dùng, dễ phát triển. Cặp đôi với PHP là cơ sở dữ liệu MySQL. PHP đã trở thành ngôn ngữ lập trình web phổ biến nhất hiện nay.
- ASP: Chạy trên máy chủ Windows, thường sử dụng cơ sở dữ liệu Access, được Microsoft phát triển nhắm vào các đối tượng ứng dụng văn phòng.
- ASP.NET: Chạy trên máy chủ Windows. Được Microsoft xây dựng trên nền tảng .NET, kết hợp với cơ sở dữ liệu MSSQL Server khiến cho ASP.NET trở nên một địch thủ đáng gờm đối với bất kỳ một ngôn ngữ lập trình web nào.
- JSP, CGI, Python: Chạy trên máy chủ Windows hoặc Linux. Đã từng nổi đình nổi đám một thời. Tuy nhiên hiện nay đã không còn phổ biến.
- ASP: Chạy trên máy chủ Windows, thường sử dụng cơ sở dữ liệu Access, được Microsoft phát triển nhắm vào các đối tượng ứng dụng văn phòng.
- ASP.NET: Chạy trên máy chủ Windows. Được Microsoft xây dựng trên nền tảng .NET, kết hợp với cơ sở dữ liệu MSSQL Server khiến cho ASP.NET trở nên một địch thủ đáng gờm đối với bất kỳ một ngôn ngữ lập trình web nào.
- JSP, CGI, Python: Chạy trên máy chủ Windows hoặc Linux. Đã từng nổi đình nổi đám một thời. Tuy nhiên hiện nay đã không còn phổ biến.
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Nội dung chi tiết khóa học Lập trình web PHP:
1. Giới thiệu ngôn ngữ PHP 8. Xứ lý File, thư mục và truy xuất tài nguyên trên mạng
- Các khái niệm cơ bản: cài đặt, cấu hình, ...
- Biến (Variables).
- Hằng (Constants).
- Kiểu dữ liệu ( Data Types ).
- Chuyển đổi kiểu dữ liệu (Type Conversions).
- Các toán tử (Operators).
- Câu lệnh điều kiện if, switch.
- Vòng lặp ( for, while, do... while, continue, break). - Tạo file.
- Truy xuất dữ liệu với File: Mở, đóng, đọc, ghi, xóa, kiểm tra sự tồn tại của file, thay đổi thuộc tính của file.
- Thao tác với thư mục: Tạo, xóa, kiểm tra, đổi, xác định thư mục hiện hành,.
- Truy xuất tài nguyên trên mạng:
--- Giao thức HTTP.
--- Giao thức FTP.
2. Hàm 9. XML và Web Services
- Giới thiệu hàm.
- Khai báo hàm.
- Giá trị trả về của hàm.
- Sử dụng hàm.
-Tham số truyền: tham trị, tham biến.
- Phạm vi biến: biến toàn cục, biến cục bộ.
A. XML
- Định nghĩa XML, quy tắc trong file XML.
- Các thuật ngữ thường sử dụng.
- Thao tác với SimpleXMLElement.
--- Đọc cấu trúc.
--- Truy xuất thuộc tính và đối tượng con.
--- XPath Query.
--- Chỉnh sửa dữ liệu XML.
- Thao tác với DOM:
--- Đọc và lưu cấu trúc XML.
--- XPath Query.
--- Chỉnh sửa dữ liệu XML.
--- Xóa dữ liệu XML.
B. Web Services
- Khái niệm về Web Services.
- SOAP: giao thức hỗ trợ xây dựng Web Services.
- REST: truy xuất tài nguyên hệ thống dựa trên URI.
3. Mảng
- Tạo mảng, truy xuất phần tử, thêm, xóa phần tử mảng.
- Sử dụng vòng lặp trong mảng: vòng lặp for, while, foreach,....
- Kiểm tra giá trị tồn tại trong mảng.
- Sắp xếp dữ liệu.
- So sánh mảng.
- Trộn mảng.
- Mảng nhiều chiều: khai báo, truy xuất phần tử, duyệt mảng,...
4. Chuỗi 10. Các vấn đề mở rộng
- Định nghĩa chuỗi.
- Mối quan hệ giữa chuỗi và mảng.
- So sánh chuỗi.
- Chuỗi con.
- Các hàm sử dụng trong chuỗi: tìm kiếm, thay thế, so sánh, chiều dài chuỗi, chuyển đổi ký tự hoa thường. A. Biểu thức chính quy (Perl - Compatible Regular Expressions)
--- Giới thiệu.
--- Quy tắc.
--- Tạo biểu thức chính quy.
--- Tìm và thay thế chuỗi dựa trên biểu thức chính quy.
B. Thiết kế khuôn mẫu (Design Pattern)
--- Singleton Pattern.
--- Factory Pattern.
--- Registry Pattern.
--- Proxy Pattern.
C. Mô hình MVC
--- Giới thiệu.
--- Xây dựng mô hình MVC.
D. PHP và AJAX
E. Các kiến thức Bảo mật web căn bản
5. Lập trình Form
- Xử lý dữ liệu trên Form:
---- Phương thức GET.
---- Phương thức POST.
- Đối tượng HTTP HEADER:
---- Redirection.
---- Cookie.
---- Session.
6. Ngôn ngữ SQL - Lập trình CSDL Đồ án Xây dựng website cuối khóa học lập trình web
A. Phân tích thiết kế hệ thống
- Quy trình khảo sát, phân tích thiết kế hệ thống.
- Thiết lập sơ đồ phân tích.
- Tổng quan cơ sở dữ liệu.
- Lược đồ quan hệ CSDL.
B. Ngôn ngữ SQL
- Giới thiệu ngôn ngữ SQL.
- Các toán tử.
- Các kiểu dữ liệu.
- Các câu lệnh truy vấn:
--- Tạo table.
--- Thay đổi cấu trúc.
--- Thêm dữ liệu vào bảng.
--- Chỉnh sửa dữ liệu.
--- Xóa dữ liệu.
- Các câu lệnh hiển thị dữ liệu
--- Select đơn giản.
--- Select có sắp xếp dữ liệu.
--- Select có hàm tính toán.
--- Select có kết bảng.
--- Select phân nhóm.
--- Select tìm kiếm.
C. Lập trình CSDL
- Tạo kết nối cơ sở dữ liệu.
- Lựa chọn CSDL làm việc.
- Thực thi câu lệnh SQL.
- Duyệt Recordset.
- Đếm số dòng Recordset.
- Hiện thị ID mới nhất.
- Thông báo lỗi.
Xây dựng website hoàn chỉnh bao gồm trang Quản trị ( Back- End) và trang Hiển thị (Front - End):
A. Phân tích
- Phân tích thiết kế hệ thống.
- Phân tích, xây dựng cơ sở dữ liệu.
B. Xây dựng trang Quản trị:
- Xây dựng trang đăng nhập: login, logout.
- Quản trị đối tượng: thêm, sửa, xóa, hiển thị.
- Sử dụng các thành phần trên Form.
- Thao tác với Template.
- Quản trị đa ngôn ngữ.
- Thao tác Upload file.
- Thao tác Email.
- Sử dụng What You See What You Get Editor (WYSWYG).
- Xử lý mối quan hệ 1 - nhiều.
- Xử lý mối quan hệ nhiều - nhiều.
- Quản lý module và các chức năng.
- Xây dựng hệ thống phân quyền (ACL) và ngăn cản truy xuất bất hợp lệ.
C. Xây dựng trang hiển thị bên ngoài:
- Xây dựng các khối dữ liệu ở các menu trái, phải, trên, dưới,...
- Xây dựng trang liệt kê: liệt kê tin tức, sản phẩm.
- Trang chi tiết.
- Quản lý bình chọn, quảng cáo, web link.
- Xây dựng chức năng đăng ký thành viên.
- Xây dựng chức năng tìm kiếm.
- Xây dựng giỏ hàng: Liệt kê sản phẩm, tạo giỏ hàng, thêm, sửa, xóa các hạng mục trong giỏ hàng.
- Các khái niệm về Thương mại điện tử: Quản lý đơn hàng, Phương thức thanh toán, Phương thức vận chuyển,...
Và các vấn đề khác,...
D. Đưa website lên hosting
7. Lập trình hướng đối tượng trong PHP (OOP)
- Khai báo lớp: thuộc tính, phương thức.
- Thể hiện của lớp.
- Constructor của lớp.
- Sự thừa kế trong hướng đối tượng.
- Phạm vi sử dụng tài nguyên trong lớp.
- Lớp hằng.
- Lớp tĩnh.
- Lớp trừu tượng ( Abstract Classes).
- Giao diện (Interfaces).
- Quản lý thông báo lỗi (Exceptions).
- Cơ chế tự động Include các file định nghĩa (Lazy Loading).
1. Giới thiệu ngôn ngữ PHP 8. Xứ lý File, thư mục và truy xuất tài nguyên trên mạng
- Các khái niệm cơ bản: cài đặt, cấu hình, ...
- Biến (Variables).
- Hằng (Constants).
- Kiểu dữ liệu ( Data Types ).
- Chuyển đổi kiểu dữ liệu (Type Conversions).
- Các toán tử (Operators).
- Câu lệnh điều kiện if, switch.
- Vòng lặp ( for, while, do... while, continue, break). - Tạo file.
- Truy xuất dữ liệu với File: Mở, đóng, đọc, ghi, xóa, kiểm tra sự tồn tại của file, thay đổi thuộc tính của file.
- Thao tác với thư mục: Tạo, xóa, kiểm tra, đổi, xác định thư mục hiện hành,.
- Truy xuất tài nguyên trên mạng:
--- Giao thức HTTP.
--- Giao thức FTP.
2. Hàm 9. XML và Web Services
- Giới thiệu hàm.
- Khai báo hàm.
- Giá trị trả về của hàm.
- Sử dụng hàm.
-Tham số truyền: tham trị, tham biến.
- Phạm vi biến: biến toàn cục, biến cục bộ.
A. XML
- Định nghĩa XML, quy tắc trong file XML.
- Các thuật ngữ thường sử dụng.
- Thao tác với SimpleXMLElement.
--- Đọc cấu trúc.
--- Truy xuất thuộc tính và đối tượng con.
--- XPath Query.
--- Chỉnh sửa dữ liệu XML.
- Thao tác với DOM:
--- Đọc và lưu cấu trúc XML.
--- XPath Query.
--- Chỉnh sửa dữ liệu XML.
--- Xóa dữ liệu XML.
B. Web Services
- Khái niệm về Web Services.
- SOAP: giao thức hỗ trợ xây dựng Web Services.
- REST: truy xuất tài nguyên hệ thống dựa trên URI.
3. Mảng
- Tạo mảng, truy xuất phần tử, thêm, xóa phần tử mảng.
- Sử dụng vòng lặp trong mảng: vòng lặp for, while, foreach,....
- Kiểm tra giá trị tồn tại trong mảng.
- Sắp xếp dữ liệu.
- So sánh mảng.
- Trộn mảng.
- Mảng nhiều chiều: khai báo, truy xuất phần tử, duyệt mảng,...
4. Chuỗi 10. Các vấn đề mở rộng
- Định nghĩa chuỗi.
- Mối quan hệ giữa chuỗi và mảng.
- So sánh chuỗi.
- Chuỗi con.
- Các hàm sử dụng trong chuỗi: tìm kiếm, thay thế, so sánh, chiều dài chuỗi, chuyển đổi ký tự hoa thường. A. Biểu thức chính quy (Perl - Compatible Regular Expressions)
--- Giới thiệu.
--- Quy tắc.
--- Tạo biểu thức chính quy.
--- Tìm và thay thế chuỗi dựa trên biểu thức chính quy.
B. Thiết kế khuôn mẫu (Design Pattern)
--- Singleton Pattern.
--- Factory Pattern.
--- Registry Pattern.
--- Proxy Pattern.
C. Mô hình MVC
--- Giới thiệu.
--- Xây dựng mô hình MVC.
D. PHP và AJAX
E. Các kiến thức Bảo mật web căn bản
5. Lập trình Form
- Xử lý dữ liệu trên Form:
---- Phương thức GET.
---- Phương thức POST.
- Đối tượng HTTP HEADER:
---- Redirection.
---- Cookie.
---- Session.
6. Ngôn ngữ SQL - Lập trình CSDL Đồ án Xây dựng website cuối khóa học lập trình web
A. Phân tích thiết kế hệ thống
- Quy trình khảo sát, phân tích thiết kế hệ thống.
- Thiết lập sơ đồ phân tích.
- Tổng quan cơ sở dữ liệu.
- Lược đồ quan hệ CSDL.
B. Ngôn ngữ SQL
- Giới thiệu ngôn ngữ SQL.
- Các toán tử.
- Các kiểu dữ liệu.
- Các câu lệnh truy vấn:
--- Tạo table.
--- Thay đổi cấu trúc.
--- Thêm dữ liệu vào bảng.
--- Chỉnh sửa dữ liệu.
--- Xóa dữ liệu.
- Các câu lệnh hiển thị dữ liệu
--- Select đơn giản.
--- Select có sắp xếp dữ liệu.
--- Select có hàm tính toán.
--- Select có kết bảng.
--- Select phân nhóm.
--- Select tìm kiếm.
C. Lập trình CSDL
- Tạo kết nối cơ sở dữ liệu.
- Lựa chọn CSDL làm việc.
- Thực thi câu lệnh SQL.
- Duyệt Recordset.
- Đếm số dòng Recordset.
- Hiện thị ID mới nhất.
- Thông báo lỗi.
Xây dựng website hoàn chỉnh bao gồm trang Quản trị ( Back- End) và trang Hiển thị (Front - End):
A. Phân tích
- Phân tích thiết kế hệ thống.
- Phân tích, xây dựng cơ sở dữ liệu.
B. Xây dựng trang Quản trị:
- Xây dựng trang đăng nhập: login, logout.
- Quản trị đối tượng: thêm, sửa, xóa, hiển thị.
- Sử dụng các thành phần trên Form.
- Thao tác với Template.
- Quản trị đa ngôn ngữ.
- Thao tác Upload file.
- Thao tác Email.
- Sử dụng What You See What You Get Editor (WYSWYG).
- Xử lý mối quan hệ 1 - nhiều.
- Xử lý mối quan hệ nhiều - nhiều.
- Quản lý module và các chức năng.
- Xây dựng hệ thống phân quyền (ACL) và ngăn cản truy xuất bất hợp lệ.
C. Xây dựng trang hiển thị bên ngoài:
- Xây dựng các khối dữ liệu ở các menu trái, phải, trên, dưới,...
- Xây dựng trang liệt kê: liệt kê tin tức, sản phẩm.
- Trang chi tiết.
- Quản lý bình chọn, quảng cáo, web link.
- Xây dựng chức năng đăng ký thành viên.
- Xây dựng chức năng tìm kiếm.
- Xây dựng giỏ hàng: Liệt kê sản phẩm, tạo giỏ hàng, thêm, sửa, xóa các hạng mục trong giỏ hàng.
- Các khái niệm về Thương mại điện tử: Quản lý đơn hàng, Phương thức thanh toán, Phương thức vận chuyển,...
Và các vấn đề khác,...
D. Đưa website lên hosting
7. Lập trình hướng đối tượng trong PHP (OOP)
- Khai báo lớp: thuộc tính, phương thức.
- Thể hiện của lớp.
- Constructor của lớp.
- Sự thừa kế trong hướng đối tượng.
- Phạm vi sử dụng tài nguyên trong lớp.
- Lớp hằng.
- Lớp tĩnh.
- Lớp trừu tượng ( Abstract Classes).
- Giao diện (Interfaces).
- Quản lý thông báo lỗi (Exceptions).
- Cơ chế tự động Include các file định nghĩa (Lazy Loading).
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Sơ lược các loại Ngôn Ngữ Lập trình & Tools
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à Ngôn Ngữ lập trình, mà được gọi, theo Microsof, 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.
Microsoft Visual Studio làm cho mọi thứ trở nên dễ dàng miễn là bạn phát triển ứng dụng trên HĐH của Microsoft và sử dụng các NN cũng của Microsoft!
Borland cung cấp các công cụ phát triển tích hợp đầu tiên với tên “Turbo” và nhiều năm nay “lăng xê” một loạt các công cụ có thể chạy trên nhiều nền tảng. C++ Builder và Delphi là các công cụ mạnh để phát triển nhanh các ứng dụng Windows với C++ và Object Pasccal. Kylix đem các công cụ này sang Linux. JBuilder cung cấp các công cụ tương tự để làm việc với Java (có các phiên bản cho Windows, Mac OS, Linux và Solaris).
Metrowerks CodeWarrior hỗ trợ nhiều nền tảng hơn bất kỳ công cụ phát triển nào (có thể kể một số như Windows, Mac OS, Linux, Solaris, Netware, PalmOS, PlayStation, Nintendo…). Công cụ có thể làm việc với nhiều NN: C, C++, Java và Assembly.
Macromedia Studio MX cung cấp mọi thứ cần thiết để tạo các ứng dụng internet và đa phương tiện, được xem như là giải pháp thay thế cho các công cụ lập trình truyền thống. Bộ công cụ kết hợp Dreamweaver và Flash, với các công cụ đồ hoạ Fireworks và Freehand, và máy chủ ColdFusion. Dreamweaver có thể dùng một mình, cho phép phát triển website có CSDL, lập trình với JSP, PHP, Cold Fusion và ASP. Flash cũng là môi trường lập trình mạnh, dùng để tạo ứng dụng đồ hoạ tương tác. Gần như các công cụ chính đều chạy trên Windows và Mac OS.
IBM VisualAge bành trướng gần như mọi hệ thống, từ máy tính lớn đến máy tính để bàn và thiết bị cầm tay. Các NN bao gồm, C++, Java, Smalltalk, Cobol, PL/I và PRG. VisualAge for Java là một trong các công cụ phát triển Java phổ biến nhất.
NetBeans là môi trường phát triển mô-đun, nguồn mở cho Java, được viết bằng Java. Điều này có nghĩa nó có thể dùng trên bất kỳ hệ thống nào có hỗ trợ Java (hầu hết các HĐH). Nó là cơ sở đề Sun xây dựng Sun One Studio, BEA dùng nó cho một phần của WebLogic.
Sun có các công cụ phát triển hiệu quả trong lĩnh vực của mình. Sun ONE Studio cho Java với cả bản thương mại và miễn phí. Sun ONE Studio Compiler Collection cho các nhà phát triển Unix, dùng C/C++. Với tính toán tốc độ cao, hãng có Forte for Fortran và High-Performance Computing.
Oracle JDeveloper thuộc bộ công cụ Internet Developer Suite. Nó chủ yếu dùng để phát triển các thành phần như servlet cho các ứng dụng web, và kết hợp tốt với CSDL Oracle.
WebGain VisualCafé chuyên hỗ trợ phát triển các ứng dụng phía server dùng Java. Công cụ gồm 2 phần: expert (cho ứng dụng phía client), và enteprise (cho ứng dụng server). Cả hai đều dùng Macromedia Dreamweaver Ultradev để xây dựng khung ứng dụng.
GNU Compiler Collection (GCC) là bộ công cụ miễn phí dùng để biên dịch chương trình chạy trên HĐH bất kỳ thuộc họ Unix. Hỗ trợ các NN: C, C++, Objective C, C, Fortran, Java và Ada. Một số công cụ đã được đưa sang DOS, Windows và PalmOS. Đây là các công cụ được lựa chọn của hầu hết các dự án nguồn mở và bản thân chúng cũng là nguồn mở. GCC không có môi trường phát triển ứng dụng tích hợp.
KDevelop là công cụ phát triển nguồn mở dùng để xây dựng các ứng dụng Linux dùng C++. Mặc dù có tên như vậy nhưng nó hỗ trợ giao diện GNOME cũng như KDE, ngoài các ứng dụng dùng Qt hay không có thành phần đồ họa.
Black Adder là công cụ phát triển mạnh cho các NN Python và Ruby. Có thể chạy trên Linux và Windows. Nó sinh mã để dùng các thành phần đồ họa Qt.
Tntel/KAI cung cấp các công cụ phát triển nhắm đến các hệ thống đa xử lý và các HĐH họ Unix, dùng C/C++ và Fortran. Công cụ KAP cho phép chuyển các ứng dụng xử lý đơn sang kiến trúc đa xử lý.
(st)
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à Ngôn Ngữ lập trình, mà được gọi, theo Microsof, 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.
Microsoft Visual Studio làm cho mọi thứ trở nên dễ dàng miễn là bạn phát triển ứng dụng trên HĐH của Microsoft và sử dụng các NN cũng của Microsoft!
Borland cung cấp các công cụ phát triển tích hợp đầu tiên với tên “Turbo” và nhiều năm nay “lăng xê” một loạt các công cụ có thể chạy trên nhiều nền tảng. C++ Builder và Delphi là các công cụ mạnh để phát triển nhanh các ứng dụng Windows với C++ và Object Pasccal. Kylix đem các công cụ này sang Linux. JBuilder cung cấp các công cụ tương tự để làm việc với Java (có các phiên bản cho Windows, Mac OS, Linux và Solaris).
Metrowerks CodeWarrior hỗ trợ nhiều nền tảng hơn bất kỳ công cụ phát triển nào (có thể kể một số như Windows, Mac OS, Linux, Solaris, Netware, PalmOS, PlayStation, Nintendo…). Công cụ có thể làm việc với nhiều NN: C, C++, Java và Assembly.
Macromedia Studio MX cung cấp mọi thứ cần thiết để tạo các ứng dụng internet và đa phương tiện, được xem như là giải pháp thay thế cho các công cụ lập trình truyền thống. Bộ công cụ kết hợp Dreamweaver và Flash, với các công cụ đồ hoạ Fireworks và Freehand, và máy chủ ColdFusion. Dreamweaver có thể dùng một mình, cho phép phát triển website có CSDL, lập trình với JSP, PHP, Cold Fusion và ASP. Flash cũng là môi trường lập trình mạnh, dùng để tạo ứng dụng đồ hoạ tương tác. Gần như các công cụ chính đều chạy trên Windows và Mac OS.
IBM VisualAge bành trướng gần như mọi hệ thống, từ máy tính lớn đến máy tính để bàn và thiết bị cầm tay. Các NN bao gồm, C++, Java, Smalltalk, Cobol, PL/I và PRG. VisualAge for Java là một trong các công cụ phát triển Java phổ biến nhất.
NetBeans là môi trường phát triển mô-đun, nguồn mở cho Java, được viết bằng Java. Điều này có nghĩa nó có thể dùng trên bất kỳ hệ thống nào có hỗ trợ Java (hầu hết các HĐH). Nó là cơ sở đề Sun xây dựng Sun One Studio, BEA dùng nó cho một phần của WebLogic.
Sun có các công cụ phát triển hiệu quả trong lĩnh vực của mình. Sun ONE Studio cho Java với cả bản thương mại và miễn phí. Sun ONE Studio Compiler Collection cho các nhà phát triển Unix, dùng C/C++. Với tính toán tốc độ cao, hãng có Forte for Fortran và High-Performance Computing.
Oracle JDeveloper thuộc bộ công cụ Internet Developer Suite. Nó chủ yếu dùng để phát triển các thành phần như servlet cho các ứng dụng web, và kết hợp tốt với CSDL Oracle.
WebGain VisualCafé chuyên hỗ trợ phát triển các ứng dụng phía server dùng Java. Công cụ gồm 2 phần: expert (cho ứng dụng phía client), và enteprise (cho ứng dụng server). Cả hai đều dùng Macromedia Dreamweaver Ultradev để xây dựng khung ứng dụng.
GNU Compiler Collection (GCC) là bộ công cụ miễn phí dùng để biên dịch chương trình chạy trên HĐH bất kỳ thuộc họ Unix. Hỗ trợ các NN: C, C++, Objective C, C, Fortran, Java và Ada. Một số công cụ đã được đưa sang DOS, Windows và PalmOS. Đây là các công cụ được lựa chọn của hầu hết các dự án nguồn mở và bản thân chúng cũng là nguồn mở. GCC không có môi trường phát triển ứng dụng tích hợp.
KDevelop là công cụ phát triển nguồn mở dùng để xây dựng các ứng dụng Linux dùng C++. Mặc dù có tên như vậy nhưng nó hỗ trợ giao diện GNOME cũng như KDE, ngoài các ứng dụng dùng Qt hay không có thành phần đồ họa.
Black Adder là công cụ phát triển mạnh cho các NN Python và Ruby. Có thể chạy trên Linux và Windows. Nó sinh mã để dùng các thành phần đồ họa Qt.
Tntel/KAI cung cấp các công cụ phát triển nhắm đến các hệ thống đa xử lý và các HĐH họ Unix, dùng C/C++ và Fortran. Công cụ KAP cho phép chuyển các ứng dụng xử lý đơn sang kiến trúc đa xử lý.
(st)
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
Ngôn ngữ lập trình số 1?
Lượt xem 6500
Đánh giá
1
2
3
4
5
6
7
8
9
10
Có nhiều ngôn ngữ lập trình. Làm thế nào để chọn được ngôn ngữ thích hợp?
Hiện có rất nhiều ngôn ngữ lập trình. Một số ngôn ngữ rất phổ biến, một số ngôn ngữ lại rất hấp dẫn và một số ngôn ngữ khác thì rất mạnh trong các ứng dụng chuyên biệt. Làm thế nào để chọn được ngôn ngữ thích hợp?
Một câu hỏi thường gặp của những người mới bắt đầu lập trình là “Nên học hay nên dùng ngôn ngữ lập trình nào?”. Đây không chỉ là mối băn khoăn của các bạn trẻ chập chững bước vào thế giới “0 và 1” mà còn của cả những người trong nghề muốn củng cố hay nắm bắt cơ hội nghề nghiệp. Không có một qui tắc đơn giản để phân hạng các ngôn ngữ (NN). Mỗi NN đều có những điểm mạnh và điểm yếu. Một NN có thể “sáng chói” trong một số lĩnh vực nhưng trong một số lĩnh vực khác bạn lại phải “đánh vật” với nó. Sự lựa chọn NNLT có thể xem như vấn đề “tín ngưỡng” cá nhân. Tuy vậy, có một số cơ sở giúp bạn đưa ra quyết định đúng đắn.
Phân loại Ngôn ngữ lập trình
Ngôn ngữ lập trình (NNLT) là phương tiện để giao tiếp và ra lệnh cho máy tính thực hiện những công việc cụ thể. Máy tính chỉ có thể hiểu các con số 0 và 1, nhưng con người lại không thành thạo kiểu suy nghĩ với các con số này để ra lệnh cho máy tính. Vì vậy người ta đã phát triển các dạng câu lệnh mà con người có thể đọc hiểu, tập các câu lệnh này được gọi là mã nguồn (source code). Mã nguồn phải tuân thủ một tập các từ vựng, cú pháp và qui tắc do những người thiết kế NN đặt ra. Ví dụ, đoạn mã nguồn mẫu ra lệnh cho máy tính hiển thị dòng chữ “Xin chào.” trên màn hình:
#!/usr/bin/perl
print “Xin chào.”
Mã nguồn được một phần mềm thiết kế đặc biệt có thể hiểu các câu lệnh và dịch thành dạng mã mà máy có thể hiểu và thực thi.
Cấp thấp và cấp cao
Một cách tổng quát, một NNLT có 2 thành phần chính: (1) tập các thành phần cơ bản của NN (lệnh, hàm, thủ tục...) có thể kết hợp thành chương trình, và (2) bộ biên dịch để chuyển mã nguồn thành mã máy.
Những NNLT thế hệ đầu tiên gần gũi với mã máy và thường gắn chặt với nền tảng phần cứng, các thế hệ NNLT mới hơn gần gũi với con người hơn và ít lệ thuộc nền tảng phần cứng hơn. Xét theo khía cạnh này, có thể phân các NNLT thành 3 nhóm.
1. Các NNLT cấp thấp (LLL - Low Level Language), 'hướng đến máy tính“, tương tác trực tiếp với phần cứng. Các NN này có tập lệnh tương ứng với tập lệnh của CPU. Có 2 loại NNLT cấp thấp: NN mã máy dùng các con số và NN Assembly dùng các từ gợi nhớ. Các NNLT cấp thấp nhanh và hiệu quả trong việc tương tác với phần cứng.
2. NNLT cấp cao (HLL - High Level Language), 'hướng đến nhiệm vụ“, có từ vựng giống tiếng Anh giúp dễ dàng trong việc viết chương trình. Các NN này có cú pháp chặt chẽ, có khả năng chạy trên nhiều hệ thống phần cứng khác nhau. Đa phần các phần mềm được phát triển dùng các NN này. Các NNLT quen thuộc trong nhóm này như C, C++, Pascal, Java...
3. NNLT cấp rất cao (VHLL - Very High Level Language), 'hướng đến con người“, được thiết kế để phát triển các ứng dụng chuyên biệt mà không đòi hỏi nhiều kiến thức về lập trình. Các NN này khá mới và vẫn đang tiếp tục phát triển. VHLL tương tự HLL nhưng dễ học và dễ sử dụng hơn. VHLL có nhiều loại, có thể kể 2 loại thông dụng nhất:
- Các NN tương tác (authoring) như NN đánh dấu (HTML, DHTML, XML) và NN mô hình (VRML) dùng để tạo trang web và nội dung đa phương tiện.
- Các NN kịch bản (scripting) như JavaScript dùng để viết các chương trình nhỏ đi kèm các trang web để tạo các hiệu ứng động và tương tác.
Tổng quát và chuyên biệt
Xét ở cấp độ tổng quát, tất cả các NNLT đều tương tự nhau. Chúng đều yêu cầu bạn 'mô tả“vấn đề cần giải quyết và đều đòi hỏi các kỹ năng tương tự. Nếu nắm vững một NN, bạn sẽ có đất để sử dụng những kỹ năng của mình với một NN khác. Nhưng thực tế ứng dụng có những NN thực hiện những kỹ thuật hay giải quyết những dạng vấn đề chuyên biệt dễ hơn những NN khác, và có những NN có khả năng thực hiện nhiều dạng ứng dụng.
Không có lằn ranh rõ ràng giữa các NN chuyên biệt và NN tổng quát. Tuy nhiên có thể phân định một cách đơn giản như sau: Các NN tổng quát được thiết kế để viết các chương trình lớn, có cú pháp phức tạp, thời gian biên dịch dài và phải thực hiện biên dịch trước, và có bộ thư viện riêng. Nói chung các NN tổng quát có thể dùng cho bất kỳ công việc tính toán nào, tuy nhiên thực tế thường mỗi NN thích hợp hơn với một lĩnh vực nhất định nào đó: Fortran thích hợp cho tính toán khoa học; Java dùng cho ứng dụng phân tán không lệ thuộc nền tảng hệ thống; C dùng cho lập trình hệ thống và trình biên dịch; Pascal thích hợp cho việc giảng dạy về lập trình...
Các NN chuyên biệt được thiết kế cho các chương trình nhỏ, cú pháp đơn giản, thường được biên dịch lúc thực thi, và có nhiều tác vụ xây dựng sẵn. Nói chung, các NN chuyên biệt chỉ dùng trong các ứng dụng chuyên biệt: Matlab dùng trong toán học, SQL dùng trong cơ sở dữ liệu, PHP dùng để tạo trang web...
Một số lĩnh vực ứng dụng đặc thù có thể dùng các NN tổng quát nhưng phải bổ sung thêm các hàm thư viện và môi trường đặc biệt. Ví dụ, lập trình đồ hoạ có thể dùng bất kỳ NN tổng quát nào kết hợp với một tập các hàm đồ hoạ.
Mô hình tính toán
Mô hình tính toán của một NNLT tổng quát có ảnh hưởng đến khả năng sử dụng của nó trong một lĩnh vực đặc thù. Có các mô hình tính toán chính: lệnh hay thủ tục (imperative, procedural), khai báo hay phi thủ tục (declarative, non-procedural), hướng đối tượng (object-oriented) và kịch bản (scripting).
Với các NN lệnh, chương trình bao gồm chuỗi lệnh mô tả cách thức thay đổi dữ liệu (trạng thái). Fortran, Cobol, C và Pascal thuộc nhóm này.
Trong khi các NN lệnh chú trọng đến cách thức giải quyết vấn đề, các NN khai báo quan tâm đến vấn đề cần giải quyết, định nghĩa đầu vào và đầu ra của chương trình. Có 2 loại NN khai báo: NNLT chức năng như Lisp và Haskell, và NNLT luận lý như Prolog.
Ở các NNLT hướng đối tượng, toàn bộ thông tin để giải quyết vấn đề (dữ liệu và tác vụ) được nhóm chung lại thành các đối tượng. Các NN hướng đối tượng thuần tuý như Smalltalk và Java chỉ hỗ trợ mô hình này, còn có NN lai như C++ hỗ trợ cả các mô hình khác.
Chọn NNLT
Hiện có rất nhiều NNLT (con số có thể lên đến hàng trăm). Mỗi NNLT đều có những điểm mạnh và điểm yếu. Có một số yếu tố kỹ thuật và cả phi kỹ thuật tác động đến việc chọn NNLT.
Yếu tố kỹ thuật
- Yêu cầu của ứng dụng: có những NN phù hợp với những ứng dụng đặc thù.
- Nền tảng hệ thống: Ứng dụng sẽ chạy trên nền Intel, Sun, HP hay máy chủ IBM? và hệ điều hành Windows, Sun Solaris, Linux hay IBM OS? Không phải tất cả các NNLT đều có thể chạy trên mọi nền tảng hệ thống.
- Phát triển và bảo trì: NN có hỗ trợ phát triển ứng dụng nhanh và dễ bảo trì?
- Công cụ hỗ trợ và tài liệu: Công cụ hỗ trợ thường là một trong những yếu tố then chốt trong việc chọn NN. Các NN có công cụ hỗ trợ và tài liệu tốt thường dễ phổ biến, ví dụ như Visual Basic.
Yếu tố phi kỹ thuật
- Sự phổ biến của NN: Sự phổ biến, theo nghĩa thị phần và số lập trình viên sử dụng NN, có ảnh hưởng đến việc chọn lựa NN. Với một NN phổ biến như C bạn sẽ dễ dàng tìm thấy nhiều nguồn tài liệu và sự trợ giúp hơn là một NN ít được dùng hơn như Ada.
- Kinh tế: NN có được hỗ trợ tốt bởi các tổ chức thương mại hay cộng đồng phát triển phần mềm miễn phí? (Nghĩa là trình biên dịch và môi trường phát triển của NN sẽ được tiếp tục phát triển trong tương lai).
Chọn đúng công cụ cho công việc
Thực sự, khó có thể nói NNLT nào tốt hơn. Với bất kỳ NN nào cũng đều có những chương trình được viết rất tốt hay dở tệ. Chất lượng của chương trình chịu ảnh hưởng bởi chất lượng của lập trình viên nhiều hơn là chất lượng của NN. NNLT khó nhất chính là NN đầu tiên mà bạn học. Có một số NN có thể giúp cho việc viết chương trình dễ hơn đối với một số dạng ứng dụng, và ngược lại. Ví dụ C rất mạnh về lập trình hệ thống nhưng nếu dùng để viết ứng dụng quản lý dữ liệu thì bạn sẽ phải vất vả xây dựng những thứ đã có sẵn trong dBase hay Foxpro.
Việc xác định các yêu cầu và mục đích sẽ giúp bạn chọn được NN thích hợp. Hãy chọn NN phù hợp với công việc, hay tốt hơn, chọn cả hai. Nếu bạn định viết ứng dụng có yêu cầu xử lý giao diện, nên chọn NN có hỗ trợ đồ họa, như Visual Basic chẳng hạn. Bạn có thể đặt câu hỏi 'NN nào thực hiện việc này dễ hơn?“ thay vì 'Làm thế nào để thực hiện việc này với C++?“.
Có thể ứng dụng của bạn có nhiều phần với nhiều yêu cầu khác nhau. Chẳng hạn như chương trình game, có những phần (gồm trí tuệ nhân tạo, luật chơi, giao diện người dùng...) chỉ yêu cầu việc xây dựng và thay đổi dễ dàng, nhưng không yêu cầu tốc độ; nhưng có những phần (như đồ họa) lại đòi hỏi tốc độ.
Một cái áo không bắt buộc dùng chỉ một màu. Trong lập trình cũng vậy, không nhất thiết phải dùng một NN cho toàn bộ chương trình. Có các cách thức cho phép bạn 'nhúng“ gần như bất kỳ NN nào vào một NN khác. Cách này giúp cho bạn khai thác ưu điểm của từng NN. Tuy nhiên nên cẩn thận, có quá nhiều 'màu sắc“ sẽ làm bạn rối trí!
Và một điều nên lưu ý: Không hẳn các NN mới hơn luôn là lựa chọn tốt hơn. C++ mới hơn C, thế nhưng C vẫn tồn tại vì vẫn có ưu thế về tốc độ và kích thước nhỏâ gọn.
Trở lại câu hỏi ban đầu, 'Nên học hay dùng ngôn ngữ lập trình nào?“, có thể bạn tìm thấy lời giải với vấn đề được đặt ngược lại: 'Để làm gì?“.
SỰ LỰA CHỌN CỦA CÁC NHÀ PHÁT TRIỂN
Theo số báo cáo Worldwide IT Benchmark 2003 của META Group, C++ và Java tiếp tục là các NNLT được lựa chọn hàng đầu để phát triển ứng dụng, chiếm tỉ lệ lần lượt là 18% và 16,7%. HTML, JavaScript, ASP và XML cũng là nhóm NNLT quan trọng chiếm vị trí thứ 3 với tỉ lệ 13,6%, năm trước nhóm NNLT này chiếm tỉ lệ 9,7%. Việc dễ lập trình cùng với xu hướng phát triển của web có lẽ là lý do của sự gia tăng này. Tuy rất nổi tiếng với công cụ phát triển mạnh và được nhiều người dùng nhưng vị trí của Visual Basic trong ngành công nghiệp phần mềm khá khiêm tốn, chiếm vị trí thứ 4 với tỉ lệ 9,8%.
Báo cáo cũng cho thấy Windows vẫn duy trì vị trí dẫn đầu trong lựa chọn nền tảng phát triển, chiếm tỉ lệ áp đảo 61,9% (năm 2002, 53,1%). Nền tảng IBM chiếm vị trí thứ 2 với tỉ lệ 18,3%. Vị trí thứ 3 thuộc về Sun Solaris, 9,4%.
Nhìn chung, số liệu của META Group có sự tương đồng (ngoại trừ trường hợp của VB) với số liệu của một trong những công ty phần mềm hàng đầu ở Việt nam, công ty ParagonSolutions (PSV).
NGÔN NGỮ LẬP TRÌNH
Đây là danh sách các NNLT, từ nhữ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.
Microsoft Visual Studio làm cho mọi thứ trở nên dễ dàng miễn là bạn phát triển ứng dụng trên HĐH của Microsoft và sử dụng các NN cũng của Microsoft!
Borland cung cấp các công cụ phát triển tích hợp đầu tiên với tên “Turbo” và nhiều năm nay “lăng xê” một loạt các công cụ có thể chạy trên nhiều nền tảng. C++ Builder và Delphi là các công cụ mạnh để phát triển nhanh các ứng dụng Windows với C++ và Object Pasccal. Kylix đem các công cụ này sang Linux. JBuilder cung cấp các công cụ tương tự để làm việc với Java (có các phiên bản cho Windows, Mac OS, Linux và Solaris).
Metrowerks CodeWarrior hỗ trợ nhiều nền tảng hơn bất kỳ công cụ phát triển nào (có thể kể một số như Windows, Mac OS, Linux, Solaris, Netware, PalmOS, PlayStation, Nintendo...). Công cụ có thể làm việc với nhiều NN: C, C++, Java và Assembly.
Macromedia Studio MX cung cấp mọi thứ cần thiết để tạo các ứng dụng internet và đa phương tiện, được xem như là giải pháp thay thế cho các công cụ lập trình truyền thống. Bộ công cụ kết hợp Dreamweaver và Flash, với các công cụ đồ hoạ Fireworks và Freehand, và máy chủ ColdFusion. Dreamweaver có thể dùng một mình, cho phép phát triển website có CSDL, lập trình với JSP, PHP, Cold Fusion và ASP. Flash cũng là môi trường lập trình mạnh, dùng để tạo ứng dụng đồ hoạ tương tác. Gần như các công cụ chính đều chạy trên Windows và Mac OS.
IBM VisualAge bành trướng gần như mọi hệ thống, từ máy tính lớn đến máy tính để bàn và thiết bị cầm tay. Các NN bao gồm, C++, Java, Smalltalk, Cobol, PL/I và PRG. VisualAge for Java là một trong các công cụ phát triển Java phổ biến nhất.
NetBeans là môi trường phát triển mô-đun, nguồn mở cho Java, được viết bằng Java. Điều này có nghĩa nó có thể dùng trên bất kỳ hệ thống nào có hỗ trợ Java (hầu hết các HĐH). Nó là cơ sở đề Sun xây dựng Sun One Studio, BEA dùng nó cho một phần của WebLogic.
Sun có các công cụ phát triển hiệu quả trong lĩnh vực của mình. Sun ONE Studio cho Java với cả bản thương mại và miễn phí. Sun ONE Studio Compiler Collection cho các nhà phát triển Unix, dùng C/C++. Với tính toán tốc độ cao, hãng có Forte for Fortran và High-Performance Computing.
Oracle JDeveloper thuộc bộ công cụ Internet Developer Suite. Nó chủ yếu dùng để phát triển các thành phần như servlet cho các ứng dụng web, và kết hợp tốt với CSDL Oracle.
WebGain VisualCafé chuyên hỗ trợ phát triển các ứng dụng phía server dùng Java. Công cụ gồm 2 phần: expert (cho ứng dụng phía client), và enteprise (cho ứng dụng server). Cả hai đều dùng Macromedia Dreamweaver Ultradev để xây dựng khung ứng dụng.
GNU Compiler Collection (GCC) là bộ công cụ miễn phí dùng để biên dịch chương trình chạy trên HĐH bất kỳ thuộc họ Unix. Hỗ trợ các NN: C, C++, Objective C, C, Fortran, Java và Ada. Một số công cụ đã được đưa sang DOS, Windows và PalmOS. Đây là các công cụ được lựa chọn của hầu hết các dự án nguồn mở và bản thân chúng cũng là nguồn mở. GCC không có môi trường phát triển ứng dụng tích hợp.
KDevelop là công cụ phát triển nguồn mở dùng để xây dựng các ứng dụng Linux dùng C++. Mặc dù có tên như vậy nhưng nó hỗ trợ giao diện GNOME cũng như KDE, ngoài các ứng dụng dùng Qt hay không có thành phần đồ họa.
Black Adder là công cụ phát triển mạnh cho các NN Python và Ruby. Có thể chạy trên Linux và Windows. Nó sinh mã để dùng các thành phần đồ họa Qt.
Intel/KAI cung cấp các công cụ phát triển nhắm đến các hệ thống đa xử lý và các HĐH họ Unix, dùng C/C++ và Fortran. Công cụ KAP cho phép chuyển các ứng dụng xử lý đơn sang kiến trúc đa xử lý.
Thanh Phong
Lượt xem 6500
Đánh giá
1
2
3
4
5
6
7
8
9
10
Có nhiều ngôn ngữ lập trình. Làm thế nào để chọn được ngôn ngữ thích hợp?
Hiện có rất nhiều ngôn ngữ lập trình. Một số ngôn ngữ rất phổ biến, một số ngôn ngữ lại rất hấp dẫn và một số ngôn ngữ khác thì rất mạnh trong các ứng dụng chuyên biệt. Làm thế nào để chọn được ngôn ngữ thích hợp?
Một câu hỏi thường gặp của những người mới bắt đầu lập trình là “Nên học hay nên dùng ngôn ngữ lập trình nào?”. Đây không chỉ là mối băn khoăn của các bạn trẻ chập chững bước vào thế giới “0 và 1” mà còn của cả những người trong nghề muốn củng cố hay nắm bắt cơ hội nghề nghiệp. Không có một qui tắc đơn giản để phân hạng các ngôn ngữ (NN). Mỗi NN đều có những điểm mạnh và điểm yếu. Một NN có thể “sáng chói” trong một số lĩnh vực nhưng trong một số lĩnh vực khác bạn lại phải “đánh vật” với nó. Sự lựa chọn NNLT có thể xem như vấn đề “tín ngưỡng” cá nhân. Tuy vậy, có một số cơ sở giúp bạn đưa ra quyết định đúng đắn.
Phân loại Ngôn ngữ lập trình
Ngôn ngữ lập trình (NNLT) là phương tiện để giao tiếp và ra lệnh cho máy tính thực hiện những công việc cụ thể. Máy tính chỉ có thể hiểu các con số 0 và 1, nhưng con người lại không thành thạo kiểu suy nghĩ với các con số này để ra lệnh cho máy tính. Vì vậy người ta đã phát triển các dạng câu lệnh mà con người có thể đọc hiểu, tập các câu lệnh này được gọi là mã nguồn (source code). Mã nguồn phải tuân thủ một tập các từ vựng, cú pháp và qui tắc do những người thiết kế NN đặt ra. Ví dụ, đoạn mã nguồn mẫu ra lệnh cho máy tính hiển thị dòng chữ “Xin chào.” trên màn hình:
#!/usr/bin/perl
print “Xin chào.”
Mã nguồn được một phần mềm thiết kế đặc biệt có thể hiểu các câu lệnh và dịch thành dạng mã mà máy có thể hiểu và thực thi.
Cấp thấp và cấp cao
Một cách tổng quát, một NNLT có 2 thành phần chính: (1) tập các thành phần cơ bản của NN (lệnh, hàm, thủ tục...) có thể kết hợp thành chương trình, và (2) bộ biên dịch để chuyển mã nguồn thành mã máy.
Những NNLT thế hệ đầu tiên gần gũi với mã máy và thường gắn chặt với nền tảng phần cứng, các thế hệ NNLT mới hơn gần gũi với con người hơn và ít lệ thuộc nền tảng phần cứng hơn. Xét theo khía cạnh này, có thể phân các NNLT thành 3 nhóm.
1. Các NNLT cấp thấp (LLL - Low Level Language), 'hướng đến máy tính“, tương tác trực tiếp với phần cứng. Các NN này có tập lệnh tương ứng với tập lệnh của CPU. Có 2 loại NNLT cấp thấp: NN mã máy dùng các con số và NN Assembly dùng các từ gợi nhớ. Các NNLT cấp thấp nhanh và hiệu quả trong việc tương tác với phần cứng.
2. NNLT cấp cao (HLL - High Level Language), 'hướng đến nhiệm vụ“, có từ vựng giống tiếng Anh giúp dễ dàng trong việc viết chương trình. Các NN này có cú pháp chặt chẽ, có khả năng chạy trên nhiều hệ thống phần cứng khác nhau. Đa phần các phần mềm được phát triển dùng các NN này. Các NNLT quen thuộc trong nhóm này như C, C++, Pascal, Java...
3. NNLT cấp rất cao (VHLL - Very High Level Language), 'hướng đến con người“, được thiết kế để phát triển các ứng dụng chuyên biệt mà không đòi hỏi nhiều kiến thức về lập trình. Các NN này khá mới và vẫn đang tiếp tục phát triển. VHLL tương tự HLL nhưng dễ học và dễ sử dụng hơn. VHLL có nhiều loại, có thể kể 2 loại thông dụng nhất:
- Các NN tương tác (authoring) như NN đánh dấu (HTML, DHTML, XML) và NN mô hình (VRML) dùng để tạo trang web và nội dung đa phương tiện.
- Các NN kịch bản (scripting) như JavaScript dùng để viết các chương trình nhỏ đi kèm các trang web để tạo các hiệu ứng động và tương tác.
Tổng quát và chuyên biệt
Xét ở cấp độ tổng quát, tất cả các NNLT đều tương tự nhau. Chúng đều yêu cầu bạn 'mô tả“vấn đề cần giải quyết và đều đòi hỏi các kỹ năng tương tự. Nếu nắm vững một NN, bạn sẽ có đất để sử dụng những kỹ năng của mình với một NN khác. Nhưng thực tế ứng dụng có những NN thực hiện những kỹ thuật hay giải quyết những dạng vấn đề chuyên biệt dễ hơn những NN khác, và có những NN có khả năng thực hiện nhiều dạng ứng dụng.
Không có lằn ranh rõ ràng giữa các NN chuyên biệt và NN tổng quát. Tuy nhiên có thể phân định một cách đơn giản như sau: Các NN tổng quát được thiết kế để viết các chương trình lớn, có cú pháp phức tạp, thời gian biên dịch dài và phải thực hiện biên dịch trước, và có bộ thư viện riêng. Nói chung các NN tổng quát có thể dùng cho bất kỳ công việc tính toán nào, tuy nhiên thực tế thường mỗi NN thích hợp hơn với một lĩnh vực nhất định nào đó: Fortran thích hợp cho tính toán khoa học; Java dùng cho ứng dụng phân tán không lệ thuộc nền tảng hệ thống; C dùng cho lập trình hệ thống và trình biên dịch; Pascal thích hợp cho việc giảng dạy về lập trình...
Các NN chuyên biệt được thiết kế cho các chương trình nhỏ, cú pháp đơn giản, thường được biên dịch lúc thực thi, và có nhiều tác vụ xây dựng sẵn. Nói chung, các NN chuyên biệt chỉ dùng trong các ứng dụng chuyên biệt: Matlab dùng trong toán học, SQL dùng trong cơ sở dữ liệu, PHP dùng để tạo trang web...
Một số lĩnh vực ứng dụng đặc thù có thể dùng các NN tổng quát nhưng phải bổ sung thêm các hàm thư viện và môi trường đặc biệt. Ví dụ, lập trình đồ hoạ có thể dùng bất kỳ NN tổng quát nào kết hợp với một tập các hàm đồ hoạ.
Mô hình tính toán
Mô hình tính toán của một NNLT tổng quát có ảnh hưởng đến khả năng sử dụng của nó trong một lĩnh vực đặc thù. Có các mô hình tính toán chính: lệnh hay thủ tục (imperative, procedural), khai báo hay phi thủ tục (declarative, non-procedural), hướng đối tượng (object-oriented) và kịch bản (scripting).
Với các NN lệnh, chương trình bao gồm chuỗi lệnh mô tả cách thức thay đổi dữ liệu (trạng thái). Fortran, Cobol, C và Pascal thuộc nhóm này.
Trong khi các NN lệnh chú trọng đến cách thức giải quyết vấn đề, các NN khai báo quan tâm đến vấn đề cần giải quyết, định nghĩa đầu vào và đầu ra của chương trình. Có 2 loại NN khai báo: NNLT chức năng như Lisp và Haskell, và NNLT luận lý như Prolog.
Ở các NNLT hướng đối tượng, toàn bộ thông tin để giải quyết vấn đề (dữ liệu và tác vụ) được nhóm chung lại thành các đối tượng. Các NN hướng đối tượng thuần tuý như Smalltalk và Java chỉ hỗ trợ mô hình này, còn có NN lai như C++ hỗ trợ cả các mô hình khác.
Chọn NNLT
Hiện có rất nhiều NNLT (con số có thể lên đến hàng trăm). Mỗi NNLT đều có những điểm mạnh và điểm yếu. Có một số yếu tố kỹ thuật và cả phi kỹ thuật tác động đến việc chọn NNLT.
Yếu tố kỹ thuật
- Yêu cầu của ứng dụng: có những NN phù hợp với những ứng dụng đặc thù.
- Nền tảng hệ thống: Ứng dụng sẽ chạy trên nền Intel, Sun, HP hay máy chủ IBM? và hệ điều hành Windows, Sun Solaris, Linux hay IBM OS? Không phải tất cả các NNLT đều có thể chạy trên mọi nền tảng hệ thống.
- Phát triển và bảo trì: NN có hỗ trợ phát triển ứng dụng nhanh và dễ bảo trì?
- Công cụ hỗ trợ và tài liệu: Công cụ hỗ trợ thường là một trong những yếu tố then chốt trong việc chọn NN. Các NN có công cụ hỗ trợ và tài liệu tốt thường dễ phổ biến, ví dụ như Visual Basic.
Yếu tố phi kỹ thuật
- Sự phổ biến của NN: Sự phổ biến, theo nghĩa thị phần và số lập trình viên sử dụng NN, có ảnh hưởng đến việc chọn lựa NN. Với một NN phổ biến như C bạn sẽ dễ dàng tìm thấy nhiều nguồn tài liệu và sự trợ giúp hơn là một NN ít được dùng hơn như Ada.
- Kinh tế: NN có được hỗ trợ tốt bởi các tổ chức thương mại hay cộng đồng phát triển phần mềm miễn phí? (Nghĩa là trình biên dịch và môi trường phát triển của NN sẽ được tiếp tục phát triển trong tương lai).
Chọn đúng công cụ cho công việc
Thực sự, khó có thể nói NNLT nào tốt hơn. Với bất kỳ NN nào cũng đều có những chương trình được viết rất tốt hay dở tệ. Chất lượng của chương trình chịu ảnh hưởng bởi chất lượng của lập trình viên nhiều hơn là chất lượng của NN. NNLT khó nhất chính là NN đầu tiên mà bạn học. Có một số NN có thể giúp cho việc viết chương trình dễ hơn đối với một số dạng ứng dụng, và ngược lại. Ví dụ C rất mạnh về lập trình hệ thống nhưng nếu dùng để viết ứng dụng quản lý dữ liệu thì bạn sẽ phải vất vả xây dựng những thứ đã có sẵn trong dBase hay Foxpro.
Việc xác định các yêu cầu và mục đích sẽ giúp bạn chọn được NN thích hợp. Hãy chọn NN phù hợp với công việc, hay tốt hơn, chọn cả hai. Nếu bạn định viết ứng dụng có yêu cầu xử lý giao diện, nên chọn NN có hỗ trợ đồ họa, như Visual Basic chẳng hạn. Bạn có thể đặt câu hỏi 'NN nào thực hiện việc này dễ hơn?“ thay vì 'Làm thế nào để thực hiện việc này với C++?“.
Có thể ứng dụng của bạn có nhiều phần với nhiều yêu cầu khác nhau. Chẳng hạn như chương trình game, có những phần (gồm trí tuệ nhân tạo, luật chơi, giao diện người dùng...) chỉ yêu cầu việc xây dựng và thay đổi dễ dàng, nhưng không yêu cầu tốc độ; nhưng có những phần (như đồ họa) lại đòi hỏi tốc độ.
Một cái áo không bắt buộc dùng chỉ một màu. Trong lập trình cũng vậy, không nhất thiết phải dùng một NN cho toàn bộ chương trình. Có các cách thức cho phép bạn 'nhúng“ gần như bất kỳ NN nào vào một NN khác. Cách này giúp cho bạn khai thác ưu điểm của từng NN. Tuy nhiên nên cẩn thận, có quá nhiều 'màu sắc“ sẽ làm bạn rối trí!
Và một điều nên lưu ý: Không hẳn các NN mới hơn luôn là lựa chọn tốt hơn. C++ mới hơn C, thế nhưng C vẫn tồn tại vì vẫn có ưu thế về tốc độ và kích thước nhỏâ gọn.
Trở lại câu hỏi ban đầu, 'Nên học hay dùng ngôn ngữ lập trình nào?“, có thể bạn tìm thấy lời giải với vấn đề được đặt ngược lại: 'Để làm gì?“.
SỰ LỰA CHỌN CỦA CÁC NHÀ PHÁT TRIỂN
Theo số báo cáo Worldwide IT Benchmark 2003 của META Group, C++ và Java tiếp tục là các NNLT được lựa chọn hàng đầu để phát triển ứng dụng, chiếm tỉ lệ lần lượt là 18% và 16,7%. HTML, JavaScript, ASP và XML cũng là nhóm NNLT quan trọng chiếm vị trí thứ 3 với tỉ lệ 13,6%, năm trước nhóm NNLT này chiếm tỉ lệ 9,7%. Việc dễ lập trình cùng với xu hướng phát triển của web có lẽ là lý do của sự gia tăng này. Tuy rất nổi tiếng với công cụ phát triển mạnh và được nhiều người dùng nhưng vị trí của Visual Basic trong ngành công nghiệp phần mềm khá khiêm tốn, chiếm vị trí thứ 4 với tỉ lệ 9,8%.
Báo cáo cũng cho thấy Windows vẫn duy trì vị trí dẫn đầu trong lựa chọn nền tảng phát triển, chiếm tỉ lệ áp đảo 61,9% (năm 2002, 53,1%). Nền tảng IBM chiếm vị trí thứ 2 với tỉ lệ 18,3%. Vị trí thứ 3 thuộc về Sun Solaris, 9,4%.
Nhìn chung, số liệu của META Group có sự tương đồng (ngoại trừ trường hợp của VB) với số liệu của một trong những công ty phần mềm hàng đầu ở Việt nam, công ty ParagonSolutions (PSV).
NGÔN NGỮ LẬP TRÌNH
Đây là danh sách các NNLT, từ nhữ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.
Microsoft Visual Studio làm cho mọi thứ trở nên dễ dàng miễn là bạn phát triển ứng dụng trên HĐH của Microsoft và sử dụng các NN cũng của Microsoft!
Borland cung cấp các công cụ phát triển tích hợp đầu tiên với tên “Turbo” và nhiều năm nay “lăng xê” một loạt các công cụ có thể chạy trên nhiều nền tảng. C++ Builder và Delphi là các công cụ mạnh để phát triển nhanh các ứng dụng Windows với C++ và Object Pasccal. Kylix đem các công cụ này sang Linux. JBuilder cung cấp các công cụ tương tự để làm việc với Java (có các phiên bản cho Windows, Mac OS, Linux và Solaris).
Metrowerks CodeWarrior hỗ trợ nhiều nền tảng hơn bất kỳ công cụ phát triển nào (có thể kể một số như Windows, Mac OS, Linux, Solaris, Netware, PalmOS, PlayStation, Nintendo...). Công cụ có thể làm việc với nhiều NN: C, C++, Java và Assembly.
Macromedia Studio MX cung cấp mọi thứ cần thiết để tạo các ứng dụng internet và đa phương tiện, được xem như là giải pháp thay thế cho các công cụ lập trình truyền thống. Bộ công cụ kết hợp Dreamweaver và Flash, với các công cụ đồ hoạ Fireworks và Freehand, và máy chủ ColdFusion. Dreamweaver có thể dùng một mình, cho phép phát triển website có CSDL, lập trình với JSP, PHP, Cold Fusion và ASP. Flash cũng là môi trường lập trình mạnh, dùng để tạo ứng dụng đồ hoạ tương tác. Gần như các công cụ chính đều chạy trên Windows và Mac OS.
IBM VisualAge bành trướng gần như mọi hệ thống, từ máy tính lớn đến máy tính để bàn và thiết bị cầm tay. Các NN bao gồm, C++, Java, Smalltalk, Cobol, PL/I và PRG. VisualAge for Java là một trong các công cụ phát triển Java phổ biến nhất.
NetBeans là môi trường phát triển mô-đun, nguồn mở cho Java, được viết bằng Java. Điều này có nghĩa nó có thể dùng trên bất kỳ hệ thống nào có hỗ trợ Java (hầu hết các HĐH). Nó là cơ sở đề Sun xây dựng Sun One Studio, BEA dùng nó cho một phần của WebLogic.
Sun có các công cụ phát triển hiệu quả trong lĩnh vực của mình. Sun ONE Studio cho Java với cả bản thương mại và miễn phí. Sun ONE Studio Compiler Collection cho các nhà phát triển Unix, dùng C/C++. Với tính toán tốc độ cao, hãng có Forte for Fortran và High-Performance Computing.
Oracle JDeveloper thuộc bộ công cụ Internet Developer Suite. Nó chủ yếu dùng để phát triển các thành phần như servlet cho các ứng dụng web, và kết hợp tốt với CSDL Oracle.
WebGain VisualCafé chuyên hỗ trợ phát triển các ứng dụng phía server dùng Java. Công cụ gồm 2 phần: expert (cho ứng dụng phía client), và enteprise (cho ứng dụng server). Cả hai đều dùng Macromedia Dreamweaver Ultradev để xây dựng khung ứng dụng.
GNU Compiler Collection (GCC) là bộ công cụ miễn phí dùng để biên dịch chương trình chạy trên HĐH bất kỳ thuộc họ Unix. Hỗ trợ các NN: C, C++, Objective C, C, Fortran, Java và Ada. Một số công cụ đã được đưa sang DOS, Windows và PalmOS. Đây là các công cụ được lựa chọn của hầu hết các dự án nguồn mở và bản thân chúng cũng là nguồn mở. GCC không có môi trường phát triển ứng dụng tích hợp.
KDevelop là công cụ phát triển nguồn mở dùng để xây dựng các ứng dụng Linux dùng C++. Mặc dù có tên như vậy nhưng nó hỗ trợ giao diện GNOME cũng như KDE, ngoài các ứng dụng dùng Qt hay không có thành phần đồ họa.
Black Adder là công cụ phát triển mạnh cho các NN Python và Ruby. Có thể chạy trên Linux và Windows. Nó sinh mã để dùng các thành phần đồ họa Qt.
Intel/KAI cung cấp các công cụ phát triển nhắm đến các hệ thống đa xử lý và các HĐH họ Unix, dùng C/C++ và Fortran. Công cụ KAP cho phép chuyển các ứng dụng xử lý đơn sang kiến trúc đa xử lý.
Thanh Phong
ABC- Admin
- Tổng số bài gửi : 305
Điểm : 15339
Reputation : 0
Join date : 10/05/2010
Re: Theo bạn ngôn ngữ lập trình nào tốt nhất cho web application?
HTML là gì?
HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) là ngôn ngữ đánh dấu chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu là các tập tin văn bản đơn giản. Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trình duyệt(Web browsers) cách hiển thị các thành phần của trang như text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím và nhắp chuột. Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer và Netscape Navigator, nhận biết các tag của HTML vượt xa những chuẩn HTML đặt ra. Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì.
Fronpage, InterDev VBScript, JavaScript Internet Explorer, Netscape Navigator HTML Editor --> HTML -------> DHTML, ASP --------> (Web)WWW Web tĩnh SQL, Access, Oracle Web động -----------------------------------------------------------
- Dynamic HTML(DHTML-HTML động): là ngôn ngữ HTML mở rộng làm tăng hiệu ứng trình bày văn bản và đối tượng khác. Trong FrontPage, bạn có thể sử dụng thanh công cụ DHTML Effects để làm tăng cường hiệu ứng cho các thành phần của mà không cần lập trình.
- Active Data Objects(ADO): Các thành phần gíup các ứng dụng của người dùng(client applications) truy cập và chế tác dữ liệu cơ sở dữ liệu trên server qua 1 nhà cung cấp.
- Active Server Page(ASP): là 1 tài liệu chứa script nhúng trên server . Web servers tương thích ASP có thể chạy các script này. Trên máy trạm, 1 ASP là 1 tài liệu HTML chuẩn có thể được xem trên bất kỳ máy nào trên Web browser nào.
- ActiveX: 1 tập hợp các kỹ thuật cho phép các thành phần phần mềm tương tác với một thành phần khác trong môi trường mạng, bất chấp ngôn ngữ của thành phần được tạo ra. ActiveX được dùng làm chính yếu để phát triển nội dung tương tác của World Wide Web, mặc dù nó có thể sử dụng trong các ứng dụng người-máy và các chương trình khác.
- URL(Uniform Resource Locator): địa chỉ tới một trạm Internet hay mạng nội bộ, laf 1 chuỗi cung cấp địa chỉ Internet của 1 Web site tài nguyên trên World Wide Web, đi theo sau 1 nghi thức. URL thường dùng là [Đăng nhập để xem liên kết. ] để chỉ định địa chỉ Web site trên Internet. Những URL khác là gopher://, ftp://, mailto://...
- Bookmark: 1 vị trí trên 1 trang web có thể là đích của 1 hyperlink. 1 bookmark có thể áp dụng cho 1 chuỗi ký tự tồn tại trên trang ngăn cách bởi bất kỳ ký tự nào. Bookmarks cho phép tác giả link đến 1 phần đã chỉ định trên trang. Trong 1 URL, 1 bookmark được đánh dấu phía trước bằng dấu thăng(#). Cũng được gọi là neo(anchor).
- Web browser(Trình duyệt web): Phần mền phiên dịch đánh dấu của các file bằng HTML, định dạng chúng sang các trang Web, và thể hiện chúng cho người dùng. Vài browser có thể cho phép người dùng gởi nhận e-mail, đọc newsgroups, và thực hiện các file sound hoặc video đã được nhúng và trong tài liệu Web.
- Script: Một tập các chỉ lệnh dùng để báo cho chương trình biết cách thực hiện một thủ tục qui định, như đang nhập vào hệ thống thư điện tử chẳng hạn. Các khả năng script được cài sẵn trong một số chương trình. Bạn phải tìm hiểu cách viết script đó bằng loại ngôn ngữ không khác gì ngôn ngữ lập trình mini. Có một số chương trình ghi script này một cách tự động bằng cách ghi lại những lần gõ phím và chọn dùng lệnh của bạnh khi bạn tiến hành thủ tục này. Các script giống như các macro, trừ một điều là thuật ngữ macro được dành riêng để chỉ những script nào mà bạn có thể khởi đầu bằng cách ấn một tổ hợp phím do bạn tự quy định.
- Structured Query Language - SQL: Trong các hệ quản lý cơ sở dữ liệu, đây là ngôn ngữ vấn đáp do IBM soạn thảo được sử dụng rộng rãi trong máy tính lớn và hệ thống máy tính mini. SQL đang được trang bị trong các mạng khách/chủ như là một phương pháp làm cho các máy tính cá nhân có khả năng thâm nhập vào các tài nguyên của các cơ sở dữ liệu hợp tác. Ðây là loại ngôn ngữ độc lập với dữ liệu; người sử dụng không phải bận tâm đến vấn đề dữ liệu sẽ được thâm nhập vào bằng cách nào về mặt vật lý. Theo lý thuyết, SQL cũng độc lập với thiết bị; có thể dùng cùng một ngôn ngữ vấn đáp để thâm nhập vào các cơ sở dữ liệu trên máy tính lớn, máy tính mini, và máy tính cá nhân. Tuy nhiên, hiện nay có một số phiên bản của SQL đang bị cạnh tranh. SQL là một ngôn ngữ vấn đáp lịch sự và súc tích chỉ với 30 lệnh. Bốn lệnh cơ bản ( SELECT, UPDATE, DELETE, và INSERT) đáp ứng cho bốn chức năng xử lý dữ liệu cơ bản (phục hồi, cải tiến, xoá, và chèn vào). Các câu hỏi của SQL gần giống cấu trúc của một câu hỏi tiếng Anh tự nhiên. Kết quả của câu hỏi sẽ được biểu hiện trong một bản dữ liệu bao gồm các cột (tương ứng với các trường dữ liệu) và các hàng (tương ứng với các bản ghi dữ liệu).
- Hypertext Transfer Protocol-HTTP: Giao thức truyền siêu văn bản
- Hyperlink: Siêu liên kết
- Web site: chỗ web.
- HTTP address: địa chỉ HTTP, ví dụ [Đăng nhập để xem liên kết. ]
- Database: cơ sở dữ liệu, kho dữ liệu. Một bộ sưu tập các thông tin về một chủ đề, được tổ chức hợp lý để thành một cơ sở cho các thủ tục công việc như truy tìm thông tin, rút ra các kết luận, và thành lập các quyết định. Bất kỳ một sưu tập thông tin nào phục vụ cho các mục đích này đều được coi là một cơ sở dữ liệu, ngay cả trường hợp các thông tin đó không được lưu trữ trong máy tính. Thực ra, "tổ tiên" của các hệ cơ sở dữ liệu doanh thương phức tạp hiện nay là những tệp được giữ trên các tấm bìa, có mang mã số, và được xếp trong các phòng lưu trữ trước đây. Thông tin thường được chia ra thành nhiều bản ghi ( record) dữ liệu khác nhau, trên đó có một hay nhiều trường dữ liệu. Ví dụ bản ghi về phim thiếu nhi của một cửa hàng video có thể gồm có các thông tin như sau: TITLE The Blue Fountain CATEGORY Children RATING G RETAIL PRICE 24. 9 đ RENTED TO 325 - 1234 DUE DATE 12 / 3 / 92.
- Table: bảng Trong chương trình quản lý cơ sở dữ liệu liên quan, đây là cấu trúc cơ sở của việc lưu trữ và hiển thị dữ liệu, trong đó các khoản mục dữ liệu được liên kết với nhau bởi các quan hệ hình thành do việc đặt chúng theo các hàng và các cột. Các hàng ứng với các bản ghi dữ liệu của các chương trình quản lý dữ liệu hướng bảng, và các cột thì ứng với các trường dữ liệu. Trong chương trình xử lý từ, thường có thể dùng lệnh Table để tạo ra một bảng tính gồm các cột và các hnàg có khản năng tính toán. Trong chương trình xử lý, thường có thể dùng lệnh Table để tạo ra một bảng tính gồm các cột và các hàng có khả năng tính toán. Trong một vài chương trình xử lý từ, tài liệu dữ liệu được tạo ra bằng tính năng hòa hợp thư sẽ tổ chức dữ liệu hòa hợp đó trong một bảng.
- Hypertext: văn bản của một tài liệu truy tìm không theo tuần tự. Người đọc tự do đuổi theo các dấu vết liên quan qua suốt tài liệu đó bằng các mối liên kết xác định sẵn do người sử dụng tự lập nên.
Trong một môi trường ứng dụng hepertext thực sự, bạn có thể trỏ vào ( highlight) bất kỳ từ nào của tài liệu và sẽ tức khắc nhảy đến các tài liệu khác có văn bản liên quan đến nó. Cũng có những lệnh cho phép bạn tự tạo cho riêng mình những dấu vết kết hợp qua suốt tài liệu. Các trình ứng dụng hypertext rất hữu ích trong trường hợp phải làm với một số lượng văn bản lớn, như các bộ từ điển bách khoa và các bộ sách nhiều tập.
- Multimedia: đa phương tiện, đa môi trường, đa truyền thông
Một phương pháp giới thiệu thông tin bằng máy tính, sử dụng nhiều phương tiện truyền thông tin như văn bản, đồ hoạ và âm thanh, cùng với sự gây ấn tượng bằng tương tác.
Trong chương trình giới thiệu đa phương tiện gọi là BeethovenWindowss World ( Thế giới Beethoven) chẳng hạn, bạn có thể nhìn thấy chân dung của nhà soạn nhạc, nghe âm nhạc của ông, và cả những đoạn văn bản về cuộc sống riêng của nhạc sĩ. Những tiến bộ đạt được trong việc đồng bộ âm thanh và video cho phép bạn có thể hiển thị các hình video động trong những cửa sổ màn hình.
- World Wide Web - WWW: Trong các máy tính có cơ sở UNIX và được nối với mạng Internet. Ðây là một hệ thống dùng để truy tìm và phục hồi các tài liệu hypertext thực hiện. Ðược xây dựng đầu tiên ở một phòng thí nghiệm vật lý, WWW thường xuyên nhận được các thông tin bổ sung nhờ những người sử dụng đóng góp thêm các tài liệu đã được đánh chỉ số.
Khi nhìn vào một trình đơn Web, bạn nhìn thấy một số các khoản mục được gạch dưới (trên các màn hình đồ họa) hoặc được đánh số thứ tự (trên các màn hình ký tự) đó là các mối liên kết sẽ hiển thị một tài liệu liên quan khi làm cho chúng hoạt động bằng một lệnh thích hợp.
- File Transfer Protocol - FTP: định ước truyền tệp, giao thức truyền tệp. Trong truyền thông không đồng bộ, đây là một tiêu chuẩn nhằm bảo đảm truyền dẫn không bị lỗi cho các tệp chương trình và dữ liệu thông qua hệ thống điện thoại. Chương trình FTP cũng được dùng để gọi tên cho định ước truyền tệp UNIX, một định ước hướng dẫn việc truyền dữ liệu.
- Internet: Một hệ thống gồm các mạng máy tính được liên kết với nhau trên phạm vi toàn thế giới, tạo điều kiện thuận lợi cho các dịch vụ truyền thông dữ liệu, như đăng nhập từ xa, truyền các tệp tin, thư tín điện tử, và các nhóm thông tin.
Internet là một phương pháp ghép nối các mạng máy tính hiện hành, phát triển một cách rộng rãi tầm hoạt động của từng hệ thống thành viên.
Nguồn gốc đầu tiên của Internet là hệ thống máy tính cuả Bộ Quốc Phòng Mỹ, gọi là mạng ARPAnet, một mạng thí nghiệm được thiết kế từ năm 1969 để tạo điều kiện thuận lợi cho việc hợp tác khoa học trong các công trình nghiên cứu quốc phòng.
ARPAnet đã nêu cao triết lý truyền thông bình đẳng ( peer-to-peer), trong đó mỗi máy tính của hệ thống đều có khả năng "nói chuyện" với bất kỳ máy tính thành viên nào khác.
Bất kỳ mạng máy tính nào dựa trên cơ sở thiết kế của ARPAnet đều được mô tả như một tập hợp các trung tâm điện toán tự quản, mang tính địa phương và tự điều hành, chúng được liên kết dưới dạng "vô chính phủ nhưng có điều tiết" .
Sự phát triển thiết kế của mạng ARPAnet đơn thuần chỉ do những yêu cầu về quân sự:
Mạng này phải có khả năng chống lại một cuộc tấn công có thể vô hiệu hoá một số lớn các trạm thành viên của nó.
Tư tưởng này đã được chứng minh là đúng khi Mỹ và các đồng minh tham gia vào cuộc chiến tranh vùng Vịnh.
Sự chỉ huy và mạng kiểm soát của Irak, được tổ chức mô phỏng theo công nghệ ARPAnet, đã chống lại một cách thành công đối với các nổ lực của lực lượng đồng minh nhằm tiêu diệt nó.
Ðó là lý do tại sao công nghệ có nguồn gốc từ ARPAnet hiện nay đang được xuất cảng một cách rộng rãi.
Mạng Internet nguyên thuỷ được thiết kế nhằm mục đích phục vụ việc cung cấp thông tin cho giới khoa học, nên công nghệ của nó cho phép mọi hệ thống đều có thể liên kết với nó thông qua một cổng điện tử.
Theo cách đó, có hàng ngàn hệ máy tính hợp tác, cũng như nhiều hệ thống dịch vụ thư điện tử có thu phí, như MCI và Compuserve chẳng hạn, đã trở nên thành viên của Internet.
Với hơn hai triệu máy chủ phục vụ chừng 20 triệu người dùng, mạng Internet đang phát triển với tốc độ bùng nổ, mỗi tháng có thêm khoảng một triệu người tham gia mới.
- Gopher: Trong các hệ thống dùng UNIX đã nối với mạng Internet, đây là một chương trình dựa trên cơ sở trình đơn, dùng để tìm các tệp, các chương trình, các định nghĩa, và các tiềm năng khác theo các chủ đề do bạn xác định. Gopher đầu tiên được biên soạn tại trường đại học University of Minnesota và được đặt tên theo con vật lấy khước của trường.
Khác với FTP và archie, Gopher của Internet không đòi hỏi bạn phải biết và sử dụng các chi tiết về chủ mạng, về thư mục, và về các tên tệp. Thay vào đó, bạn chỉ cần xem lướt qua các trình đơn và ấn Enter khi tìm thấy mục đề mà bạn quan tâm. Thông thường bạn phải nhìn vào một trình đơn khác có nhiều khả năng tự chọn hơn, cho đến cuối cùng chọn được một khả năng làm hiển thị các thông tin. Sau đó bạn có thể đọc và cất giữ lại thông tin này vào khu vực lưu trữ trên đĩa của bạn.
- Password: mật khẩu, mật lệnh Một công cụ bảo vệ an toàn, dùng để xác định đúng người sử dụng được phép đối với một chương trình máy tính hoặc mạng máy tính, và để xác định các phạm vi quyền hạn của họ như chỉ đọc ra, được đọc và ghi, hoặc được sao chép các tệp
HTML (hay Hypertext Markup Language-Ngôn ngữ liên kết siêu văn bản) là ngôn ngữ đánh dấu chuẩn dùng lập trình các tài liệu World Wide Web, tài liệu là các tập tin văn bản đơn giản. Ngôn ngữ HTML dùng các tag hoặc các đoạn mã lệnh để chỉ cho các trình duyệt(Web browsers) cách hiển thị các thành phần của trang như text và graghics ,và đáp lại những thao tác của người dùng bởi các thao tác ấn phím và nhắp chuột. Hầu hết các Web browser, đặc biệt là Microsoft Internet Explorer và Netscape Navigator, nhận biết các tag của HTML vượt xa những chuẩn HTML đặt ra. Microsoft FrontPage chỉ dùng để đọc và viết các tập tin HTML mà không hiểu ngôn ngữ HTML yêu cầu phải làm gì.
Fronpage, InterDev VBScript, JavaScript Internet Explorer, Netscape Navigator HTML Editor --> HTML -------> DHTML, ASP --------> (Web)WWW Web tĩnh SQL, Access, Oracle Web động -----------------------------------------------------------
- Dynamic HTML(DHTML-HTML động): là ngôn ngữ HTML mở rộng làm tăng hiệu ứng trình bày văn bản và đối tượng khác. Trong FrontPage, bạn có thể sử dụng thanh công cụ DHTML Effects để làm tăng cường hiệu ứng cho các thành phần của mà không cần lập trình.
- Active Data Objects(ADO): Các thành phần gíup các ứng dụng của người dùng(client applications) truy cập và chế tác dữ liệu cơ sở dữ liệu trên server qua 1 nhà cung cấp.
- Active Server Page(ASP): là 1 tài liệu chứa script nhúng trên server . Web servers tương thích ASP có thể chạy các script này. Trên máy trạm, 1 ASP là 1 tài liệu HTML chuẩn có thể được xem trên bất kỳ máy nào trên Web browser nào.
- ActiveX: 1 tập hợp các kỹ thuật cho phép các thành phần phần mềm tương tác với một thành phần khác trong môi trường mạng, bất chấp ngôn ngữ của thành phần được tạo ra. ActiveX được dùng làm chính yếu để phát triển nội dung tương tác của World Wide Web, mặc dù nó có thể sử dụng trong các ứng dụng người-máy và các chương trình khác.
- URL(Uniform Resource Locator): địa chỉ tới một trạm Internet hay mạng nội bộ, laf 1 chuỗi cung cấp địa chỉ Internet của 1 Web site tài nguyên trên World Wide Web, đi theo sau 1 nghi thức. URL thường dùng là [Đăng nhập để xem liên kết. ] để chỉ định địa chỉ Web site trên Internet. Những URL khác là gopher://, ftp://, mailto://...
- Bookmark: 1 vị trí trên 1 trang web có thể là đích của 1 hyperlink. 1 bookmark có thể áp dụng cho 1 chuỗi ký tự tồn tại trên trang ngăn cách bởi bất kỳ ký tự nào. Bookmarks cho phép tác giả link đến 1 phần đã chỉ định trên trang. Trong 1 URL, 1 bookmark được đánh dấu phía trước bằng dấu thăng(#). Cũng được gọi là neo(anchor).
- Web browser(Trình duyệt web): Phần mền phiên dịch đánh dấu của các file bằng HTML, định dạng chúng sang các trang Web, và thể hiện chúng cho người dùng. Vài browser có thể cho phép người dùng gởi nhận e-mail, đọc newsgroups, và thực hiện các file sound hoặc video đã được nhúng và trong tài liệu Web.
- Script: Một tập các chỉ lệnh dùng để báo cho chương trình biết cách thực hiện một thủ tục qui định, như đang nhập vào hệ thống thư điện tử chẳng hạn. Các khả năng script được cài sẵn trong một số chương trình. Bạn phải tìm hiểu cách viết script đó bằng loại ngôn ngữ không khác gì ngôn ngữ lập trình mini. Có một số chương trình ghi script này một cách tự động bằng cách ghi lại những lần gõ phím và chọn dùng lệnh của bạnh khi bạn tiến hành thủ tục này. Các script giống như các macro, trừ một điều là thuật ngữ macro được dành riêng để chỉ những script nào mà bạn có thể khởi đầu bằng cách ấn một tổ hợp phím do bạn tự quy định.
- Structured Query Language - SQL: Trong các hệ quản lý cơ sở dữ liệu, đây là ngôn ngữ vấn đáp do IBM soạn thảo được sử dụng rộng rãi trong máy tính lớn và hệ thống máy tính mini. SQL đang được trang bị trong các mạng khách/chủ như là một phương pháp làm cho các máy tính cá nhân có khả năng thâm nhập vào các tài nguyên của các cơ sở dữ liệu hợp tác. Ðây là loại ngôn ngữ độc lập với dữ liệu; người sử dụng không phải bận tâm đến vấn đề dữ liệu sẽ được thâm nhập vào bằng cách nào về mặt vật lý. Theo lý thuyết, SQL cũng độc lập với thiết bị; có thể dùng cùng một ngôn ngữ vấn đáp để thâm nhập vào các cơ sở dữ liệu trên máy tính lớn, máy tính mini, và máy tính cá nhân. Tuy nhiên, hiện nay có một số phiên bản của SQL đang bị cạnh tranh. SQL là một ngôn ngữ vấn đáp lịch sự và súc tích chỉ với 30 lệnh. Bốn lệnh cơ bản ( SELECT, UPDATE, DELETE, và INSERT) đáp ứng cho bốn chức năng xử lý dữ liệu cơ bản (phục hồi, cải tiến, xoá, và chèn vào). Các câu hỏi của SQL gần giống cấu trúc của một câu hỏi tiếng Anh tự nhiên. Kết quả của câu hỏi sẽ được biểu hiện trong một bản dữ liệu bao gồm các cột (tương ứng với các trường dữ liệu) và các hàng (tương ứng với các bản ghi dữ liệu).
- Hypertext Transfer Protocol-HTTP: Giao thức truyền siêu văn bản
- Hyperlink: Siêu liên kết
- Web site: chỗ web.
- HTTP address: địa chỉ HTTP, ví dụ [Đăng nhập để xem liên kết. ]
- Database: cơ sở dữ liệu, kho dữ liệu. Một bộ sưu tập các thông tin về một chủ đề, được tổ chức hợp lý để thành một cơ sở cho các thủ tục công việc như truy tìm thông tin, rút ra các kết luận, và thành lập các quyết định. Bất kỳ một sưu tập thông tin nào phục vụ cho các mục đích này đều được coi là một cơ sở dữ liệu, ngay cả trường hợp các thông tin đó không được lưu trữ trong máy tính. Thực ra, "tổ tiên" của các hệ cơ sở dữ liệu doanh thương phức tạp hiện nay là những tệp được giữ trên các tấm bìa, có mang mã số, và được xếp trong các phòng lưu trữ trước đây. Thông tin thường được chia ra thành nhiều bản ghi ( record) dữ liệu khác nhau, trên đó có một hay nhiều trường dữ liệu. Ví dụ bản ghi về phim thiếu nhi của một cửa hàng video có thể gồm có các thông tin như sau: TITLE The Blue Fountain CATEGORY Children RATING G RETAIL PRICE 24. 9 đ RENTED TO 325 - 1234 DUE DATE 12 / 3 / 92.
- Table: bảng Trong chương trình quản lý cơ sở dữ liệu liên quan, đây là cấu trúc cơ sở của việc lưu trữ và hiển thị dữ liệu, trong đó các khoản mục dữ liệu được liên kết với nhau bởi các quan hệ hình thành do việc đặt chúng theo các hàng và các cột. Các hàng ứng với các bản ghi dữ liệu của các chương trình quản lý dữ liệu hướng bảng, và các cột thì ứng với các trường dữ liệu. Trong chương trình xử lý từ, thường có thể dùng lệnh Table để tạo ra một bảng tính gồm các cột và các hnàg có khản năng tính toán. Trong chương trình xử lý, thường có thể dùng lệnh Table để tạo ra một bảng tính gồm các cột và các hàng có khả năng tính toán. Trong một vài chương trình xử lý từ, tài liệu dữ liệu được tạo ra bằng tính năng hòa hợp thư sẽ tổ chức dữ liệu hòa hợp đó trong một bảng.
- Hypertext: văn bản của một tài liệu truy tìm không theo tuần tự. Người đọc tự do đuổi theo các dấu vết liên quan qua suốt tài liệu đó bằng các mối liên kết xác định sẵn do người sử dụng tự lập nên.
Trong một môi trường ứng dụng hepertext thực sự, bạn có thể trỏ vào ( highlight) bất kỳ từ nào của tài liệu và sẽ tức khắc nhảy đến các tài liệu khác có văn bản liên quan đến nó. Cũng có những lệnh cho phép bạn tự tạo cho riêng mình những dấu vết kết hợp qua suốt tài liệu. Các trình ứng dụng hypertext rất hữu ích trong trường hợp phải làm với một số lượng văn bản lớn, như các bộ từ điển bách khoa và các bộ sách nhiều tập.
- Multimedia: đa phương tiện, đa môi trường, đa truyền thông
Một phương pháp giới thiệu thông tin bằng máy tính, sử dụng nhiều phương tiện truyền thông tin như văn bản, đồ hoạ và âm thanh, cùng với sự gây ấn tượng bằng tương tác.
Trong chương trình giới thiệu đa phương tiện gọi là BeethovenWindowss World ( Thế giới Beethoven) chẳng hạn, bạn có thể nhìn thấy chân dung của nhà soạn nhạc, nghe âm nhạc của ông, và cả những đoạn văn bản về cuộc sống riêng của nhạc sĩ. Những tiến bộ đạt được trong việc đồng bộ âm thanh và video cho phép bạn có thể hiển thị các hình video động trong những cửa sổ màn hình.
- World Wide Web - WWW: Trong các máy tính có cơ sở UNIX và được nối với mạng Internet. Ðây là một hệ thống dùng để truy tìm và phục hồi các tài liệu hypertext thực hiện. Ðược xây dựng đầu tiên ở một phòng thí nghiệm vật lý, WWW thường xuyên nhận được các thông tin bổ sung nhờ những người sử dụng đóng góp thêm các tài liệu đã được đánh chỉ số.
Khi nhìn vào một trình đơn Web, bạn nhìn thấy một số các khoản mục được gạch dưới (trên các màn hình đồ họa) hoặc được đánh số thứ tự (trên các màn hình ký tự) đó là các mối liên kết sẽ hiển thị một tài liệu liên quan khi làm cho chúng hoạt động bằng một lệnh thích hợp.
- File Transfer Protocol - FTP: định ước truyền tệp, giao thức truyền tệp. Trong truyền thông không đồng bộ, đây là một tiêu chuẩn nhằm bảo đảm truyền dẫn không bị lỗi cho các tệp chương trình và dữ liệu thông qua hệ thống điện thoại. Chương trình FTP cũng được dùng để gọi tên cho định ước truyền tệp UNIX, một định ước hướng dẫn việc truyền dữ liệu.
- Internet: Một hệ thống gồm các mạng máy tính được liên kết với nhau trên phạm vi toàn thế giới, tạo điều kiện thuận lợi cho các dịch vụ truyền thông dữ liệu, như đăng nhập từ xa, truyền các tệp tin, thư tín điện tử, và các nhóm thông tin.
Internet là một phương pháp ghép nối các mạng máy tính hiện hành, phát triển một cách rộng rãi tầm hoạt động của từng hệ thống thành viên.
Nguồn gốc đầu tiên của Internet là hệ thống máy tính cuả Bộ Quốc Phòng Mỹ, gọi là mạng ARPAnet, một mạng thí nghiệm được thiết kế từ năm 1969 để tạo điều kiện thuận lợi cho việc hợp tác khoa học trong các công trình nghiên cứu quốc phòng.
ARPAnet đã nêu cao triết lý truyền thông bình đẳng ( peer-to-peer), trong đó mỗi máy tính của hệ thống đều có khả năng "nói chuyện" với bất kỳ máy tính thành viên nào khác.
Bất kỳ mạng máy tính nào dựa trên cơ sở thiết kế của ARPAnet đều được mô tả như một tập hợp các trung tâm điện toán tự quản, mang tính địa phương và tự điều hành, chúng được liên kết dưới dạng "vô chính phủ nhưng có điều tiết" .
Sự phát triển thiết kế của mạng ARPAnet đơn thuần chỉ do những yêu cầu về quân sự:
Mạng này phải có khả năng chống lại một cuộc tấn công có thể vô hiệu hoá một số lớn các trạm thành viên của nó.
Tư tưởng này đã được chứng minh là đúng khi Mỹ và các đồng minh tham gia vào cuộc chiến tranh vùng Vịnh.
Sự chỉ huy và mạng kiểm soát của Irak, được tổ chức mô phỏng theo công nghệ ARPAnet, đã chống lại một cách thành công đối với các nổ lực của lực lượng đồng minh nhằm tiêu diệt nó.
Ðó là lý do tại sao công nghệ có nguồn gốc từ ARPAnet hiện nay đang được xuất cảng một cách rộng rãi.
Mạng Internet nguyên thuỷ được thiết kế nhằm mục đích phục vụ việc cung cấp thông tin cho giới khoa học, nên công nghệ của nó cho phép mọi hệ thống đều có thể liên kết với nó thông qua một cổng điện tử.
Theo cách đó, có hàng ngàn hệ máy tính hợp tác, cũng như nhiều hệ thống dịch vụ thư điện tử có thu phí, như MCI và Compuserve chẳng hạn, đã trở nên thành viên của Internet.
Với hơn hai triệu máy chủ phục vụ chừng 20 triệu người dùng, mạng Internet đang phát triển với tốc độ bùng nổ, mỗi tháng có thêm khoảng một triệu người tham gia mới.
- Gopher: Trong các hệ thống dùng UNIX đã nối với mạng Internet, đây là một chương trình dựa trên cơ sở trình đơn, dùng để tìm các tệp, các chương trình, các định nghĩa, và các tiềm năng khác theo các chủ đề do bạn xác định. Gopher đầu tiên được biên soạn tại trường đại học University of Minnesota và được đặt tên theo con vật lấy khước của trường.
Khác với FTP và archie, Gopher của Internet không đòi hỏi bạn phải biết và sử dụng các chi tiết về chủ mạng, về thư mục, và về các tên tệp. Thay vào đó, bạn chỉ cần xem lướt qua các trình đơn và ấn Enter khi tìm thấy mục đề mà bạn quan tâm. Thông thường bạn phải nhìn vào một trình đơn khác có nhiều khả năng tự chọn hơn, cho đến cuối cùng chọn được một khả năng làm hiển thị các thông tin. Sau đó bạn có thể đọc và cất giữ lại thông tin này vào khu vực lưu trữ trên đĩa của bạn.
- Password: mật khẩu, mật lệnh Một công cụ bảo vệ an toàn, dùng để xác định đúng người sử dụng được phép đối với một chương trình máy tính hoặc mạng máy tính, và để xác định các phạm vi quyền hạn của họ như chỉ đọc ra, được đọc và ghi, hoặc được sao chép các tệp
ABC- Admin
- Tổng số bài gửi : 305
Điểm : 15339
Reputation : 0
Join date : 10/05/2010
Similar topics
» Ngôn ngữ lập trình SQL
» CÁC NGÔN NGỮ LẬP TRÌNH NÊN HỌC
» Có mười ngọn nến.sau 2 lượt thổi thì tắt mất 4 ngọn. hỏi cuối cùng còn mấy ngọn nến ?
» CÁC NGÔN NGỮ LẬP TRÌNH NÊN HỌC
» Có mười ngọn nến.sau 2 lượt thổi thì tắt mất 4 ngọn. hỏi cuối cùng còn mấy ngọn nến ?
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|
29/12/2015, 16:45 by mycomputer
» Người ta bận yêu, còn em bận cô đơn…
18/12/2015, 17:04 by mycomputer
» Đông đến làm người ta cô đơn hơn phải không anh?
23/11/2015, 15:45 by mycomputer
» Em muốn được ôm anh từ phía sau
13/11/2015, 16:09 by mycomputer
» Hãy cho nhau một cơ hội để giãi bày!
9/11/2015, 16:43 by mycomputer
» Đôi lúc em chỉ muốn mình thuộc về ai đó thôi...
5/11/2015, 16:33 by mycomputer
» Trái đất này, ba phần tư là nước mắt...
27/10/2015, 16:24 by mycomputer
» Để anh kể em nghe về những người phụ nữ anh yêu...
22/10/2015, 16:21 by mycomputer
» Thương vội người đến sau...
13/10/2015, 16:09 by mycomputer