Mapcon
19-08-2002, 05:56 PM
NOTE : Bài viết này không có ý định khuyên bạn nhất thiết phải học theo một ngôn ngữ lập trình nào , mà chỉ nói một cách rõ hơn về hướng đi của một số NNLT tùy thuộc vào công việc của bạn mà thôi . Xin mọi người đóng góp thêm nhé !!! ( Mapcon )
Chúng ta đã học, đã nghe quá nhiều về các ngôn ngữ lập trình. Từ trường phổ thông chúng ta đã biết ngôn ngữ lập trình Pascal, Basic, Dbase,Foxpro, Fortran, C, một loạt các ngôn ngữ mới gần đây như : Visual Basic, C++, Python, Perl, Java. Rõ ràng số lượng ngôn ngữ lập trình ngày càng nhiều. Nhiều bạn lúng túng không biết nên học ngôn ngữ nào. Một khẳng định có tính nguyên tắc bạn muốn dùng ngôn ngữ nào cũng được. Song trước hết phải sử dụng thành thạo một ngôn ngữ nào đó. Việc sử dụng thành thạo một ngôn ngữ nào đó có tác dụng quan trọng sau:
Giúp bạn làm quen với tư duy thuật toán và diễn tả tư duy này dưới dạng ngôn ngữ chương trình.
Giúp bạn có phương pháp học nhanh một ngôn ngữ lập trình mới. Vì ngôn ngữ lập trình bất kỳ đều bao gồm các lệnh cơ bản : gán, điều kiện, và lặp . Các lệnh này chỉ khác nhau ở ngữ pháp viết mà thôi
Nhờ nắm chắc một ngôn ngữ bạn có thể thấy được điểm mạnh, điểm yếu của ngôn ngữ. Nhờ vậy bạn có thể so sanh với những ngôn ngữ mà bạn học thêm.Ngoài ra bạn có thể chọn ngôn ngữ nào thích hợp cho một ứng dụng bạn phải viết.
Việc xuất hiện nhiều loại ngôn ngữ lập trình có thể giải thích vì 2 lý do sau:
- Mỗi loại ngôn ngữ ra đời đều nhằm làm thuận tiện cho việc lập trình giải quyết một số lớp bài toán nào đó. Ví dụ Foxpro tiện cho việc lập trình giải quyết các bài toán quản lý liên quan đến cơ sở dữ liêụ, ngôn ngữ Lisp tiện cho các bài toán suy luận , song hai ngôn ngữ này lại rất kém trong tính toán toán học và đồ hoạ. Trái lại ngôn ngữ C, Pascal lại mạnh về tính toán toán học và đồ hoạ.
- Một số ngôn ngữ phải tự thay đổi để thích hợp với công nghệ lập trình mới , điều này làm xuất hiện những ngôn ngữ mới . Công nghệ lập trình hướng đối tượng (Object Oriented Programming ) là nguyên nhân cơ bản làm xuất hiện nhiều ngôn ngữ mới gần đây. Chẳng hạn Visual Basic được thay đổi từ Basic , ngôn ngữ C là cơ sở để tạo nên ngôn ngữ C++, Pascal là cơ sở để tạo nên ngôn ngữ Dephi v.v...
Dưới đây chúng ta sẽ điểm qua một số ngôn ngữ được sử dụng phổ biến hiện nay .- Trước hết chúng ta nói đến Pascal, có thể nói Pascal là ngôn ngữ dùng cho huấn luyện và đào tạo rất tốt nhờ sự chặt chẽ, đơn giản và sáng sủa của nó. Trong nhiều giáo trình tài liệu các thuật toán phức tạp đều được mượn Pascal hoặc giả Pascal để diễn đạt. Pascal yếu trong việc viết các ứng dụng nhất là các bài toán đụng đến cơ sở dữ liệu, song lại chặt chẽ và chính xác về phương diện toán học. Delphi ngôn ngữ lập trình hướng đối tượng đã được phát triển trên nền của Pasal, làm cho nó trở thành ngôn ngữ mạnh thuận tiện trong việc tạo nên các ứng dụng phù hợp với công nghệ mới.
Ngôn ngữ C ra đời sau Pascal , nó thay sự chặt chẽ đến mức cứng rắn của Pascal bằng sự mềm dẻo, dễ dãi hơn trong diễn đạt thuật toán. Nhờ tính mềm dẻo này C trở thành ngôn ngữ hữu dụng hơn pascal trong việc xây dựng các ứng dụng. Có thể nói phần lớn các chương trình đều viết băng C. Các hệ điều hành Window, các chương trình dịch (compiler) nổi tiếng đều được viết bởi C. C++ được phát triển trên nền C để trở thành ngôn ngữ lập trình theo hướng đối tượng... Ngôn ngữ C++ dùng compiler gcc dịch cho nhiều kiểu file C .C, .cc, .cpp, c++, .cp or .cxx. do có một quá trình phát triển tương đối dài, đã giúp cho C và C++ có một thư viện chuẩn hết sức phong phú mà không phải ngôn ngữ nào cũng có được. Cho đến nay thư viện chuẩn của C++ ( Standard C++ Library) đã là thư viện khổng lồ mang tên ISO C++ Standard.
- Ngôn ngữ Java, sản phẩm của Sun Microsystems ra đời sau C, phát triển hoàn toàn theo hướng đối tượng. Nếu phải so sánh giữa C++ và Java thì Java có nhiều nét giống C++ nhưng dễ học, dễ dùng hơn. Nếu nói về tính cách mạng giữa Java và C++ theo quan điểm lập trình hướng đối tượng thì Java triệt để hơn C++, song nếu nói về sự mềm dẻo đáp ứng mọi yêu cầu của ứng dụng thì Java vẫn được xếp sau C++. Tuy vậy Java có một ưu thế rất mạnh mà C++ không có được. Đó là Java có thể thích nghi với nhiều họ máy từ PC đến Macintosh, thích nghi với nhiều hệ điều hành từ Windows đến Unix và thậm chí cả Linux .Người ta nói rằng Java là ngôn ngữ lập trình một lần, dịch trên một máy nhưng có thể chạy ở mọi nơi, mọi máy. Có được khả năng này là do các chương trình viết trên Java có khả năng tạo ra máy ảo JVM (Java Virtual Machine ) trong máy tính vật lý. Khi chương trình chạy nó chỉ chạy trong máy ảo Java. Đặc trưng này làm cho các đại gia sản xuất phần mềm rất thích thú , vì họ không lo ứng dụng của họ phải xếp xó khi các hệ điều hành thay đổi. Một điểm mạnh khác của Java là nó rất tiện dụng trong việc tạo ra các ứng dụng trong Internet.
Hai ngôn ngữ được người ta dùng nhiều song ít dùng ở nước ta là Python, Perl. Xét cho cùng hai ngôn ngữ này so với C++, Delphi,Java thì chúng chỉ là ngôn ngữ dạng "Scripting" mà thôi. Cả Python, Perl đều chạy ở mức cao hơn C++ và Java./
===== THE END =====
Chúng ta đã học, đã nghe quá nhiều về các ngôn ngữ lập trình. Từ trường phổ thông chúng ta đã biết ngôn ngữ lập trình Pascal, Basic, Dbase,Foxpro, Fortran, C, một loạt các ngôn ngữ mới gần đây như : Visual Basic, C++, Python, Perl, Java. Rõ ràng số lượng ngôn ngữ lập trình ngày càng nhiều. Nhiều bạn lúng túng không biết nên học ngôn ngữ nào. Một khẳng định có tính nguyên tắc bạn muốn dùng ngôn ngữ nào cũng được. Song trước hết phải sử dụng thành thạo một ngôn ngữ nào đó. Việc sử dụng thành thạo một ngôn ngữ nào đó có tác dụng quan trọng sau:
Giúp bạn làm quen với tư duy thuật toán và diễn tả tư duy này dưới dạng ngôn ngữ chương trình.
Giúp bạn có phương pháp học nhanh một ngôn ngữ lập trình mới. Vì ngôn ngữ lập trình bất kỳ đều bao gồm các lệnh cơ bản : gán, điều kiện, và lặp . Các lệnh này chỉ khác nhau ở ngữ pháp viết mà thôi
Nhờ nắm chắc một ngôn ngữ bạn có thể thấy được điểm mạnh, điểm yếu của ngôn ngữ. Nhờ vậy bạn có thể so sanh với những ngôn ngữ mà bạn học thêm.Ngoài ra bạn có thể chọn ngôn ngữ nào thích hợp cho một ứng dụng bạn phải viết.
Việc xuất hiện nhiều loại ngôn ngữ lập trình có thể giải thích vì 2 lý do sau:
- Mỗi loại ngôn ngữ ra đời đều nhằm làm thuận tiện cho việc lập trình giải quyết một số lớp bài toán nào đó. Ví dụ Foxpro tiện cho việc lập trình giải quyết các bài toán quản lý liên quan đến cơ sở dữ liêụ, ngôn ngữ Lisp tiện cho các bài toán suy luận , song hai ngôn ngữ này lại rất kém trong tính toán toán học và đồ hoạ. Trái lại ngôn ngữ C, Pascal lại mạnh về tính toán toán học và đồ hoạ.
- Một số ngôn ngữ phải tự thay đổi để thích hợp với công nghệ lập trình mới , điều này làm xuất hiện những ngôn ngữ mới . Công nghệ lập trình hướng đối tượng (Object Oriented Programming ) là nguyên nhân cơ bản làm xuất hiện nhiều ngôn ngữ mới gần đây. Chẳng hạn Visual Basic được thay đổi từ Basic , ngôn ngữ C là cơ sở để tạo nên ngôn ngữ C++, Pascal là cơ sở để tạo nên ngôn ngữ Dephi v.v...
Dưới đây chúng ta sẽ điểm qua một số ngôn ngữ được sử dụng phổ biến hiện nay .- Trước hết chúng ta nói đến Pascal, có thể nói Pascal là ngôn ngữ dùng cho huấn luyện và đào tạo rất tốt nhờ sự chặt chẽ, đơn giản và sáng sủa của nó. Trong nhiều giáo trình tài liệu các thuật toán phức tạp đều được mượn Pascal hoặc giả Pascal để diễn đạt. Pascal yếu trong việc viết các ứng dụng nhất là các bài toán đụng đến cơ sở dữ liệu, song lại chặt chẽ và chính xác về phương diện toán học. Delphi ngôn ngữ lập trình hướng đối tượng đã được phát triển trên nền của Pasal, làm cho nó trở thành ngôn ngữ mạnh thuận tiện trong việc tạo nên các ứng dụng phù hợp với công nghệ mới.
Ngôn ngữ C ra đời sau Pascal , nó thay sự chặt chẽ đến mức cứng rắn của Pascal bằng sự mềm dẻo, dễ dãi hơn trong diễn đạt thuật toán. Nhờ tính mềm dẻo này C trở thành ngôn ngữ hữu dụng hơn pascal trong việc xây dựng các ứng dụng. Có thể nói phần lớn các chương trình đều viết băng C. Các hệ điều hành Window, các chương trình dịch (compiler) nổi tiếng đều được viết bởi C. C++ được phát triển trên nền C để trở thành ngôn ngữ lập trình theo hướng đối tượng... Ngôn ngữ C++ dùng compiler gcc dịch cho nhiều kiểu file C .C, .cc, .cpp, c++, .cp or .cxx. do có một quá trình phát triển tương đối dài, đã giúp cho C và C++ có một thư viện chuẩn hết sức phong phú mà không phải ngôn ngữ nào cũng có được. Cho đến nay thư viện chuẩn của C++ ( Standard C++ Library) đã là thư viện khổng lồ mang tên ISO C++ Standard.
- Ngôn ngữ Java, sản phẩm của Sun Microsystems ra đời sau C, phát triển hoàn toàn theo hướng đối tượng. Nếu phải so sánh giữa C++ và Java thì Java có nhiều nét giống C++ nhưng dễ học, dễ dùng hơn. Nếu nói về tính cách mạng giữa Java và C++ theo quan điểm lập trình hướng đối tượng thì Java triệt để hơn C++, song nếu nói về sự mềm dẻo đáp ứng mọi yêu cầu của ứng dụng thì Java vẫn được xếp sau C++. Tuy vậy Java có một ưu thế rất mạnh mà C++ không có được. Đó là Java có thể thích nghi với nhiều họ máy từ PC đến Macintosh, thích nghi với nhiều hệ điều hành từ Windows đến Unix và thậm chí cả Linux .Người ta nói rằng Java là ngôn ngữ lập trình một lần, dịch trên một máy nhưng có thể chạy ở mọi nơi, mọi máy. Có được khả năng này là do các chương trình viết trên Java có khả năng tạo ra máy ảo JVM (Java Virtual Machine ) trong máy tính vật lý. Khi chương trình chạy nó chỉ chạy trong máy ảo Java. Đặc trưng này làm cho các đại gia sản xuất phần mềm rất thích thú , vì họ không lo ứng dụng của họ phải xếp xó khi các hệ điều hành thay đổi. Một điểm mạnh khác của Java là nó rất tiện dụng trong việc tạo ra các ứng dụng trong Internet.
Hai ngôn ngữ được người ta dùng nhiều song ít dùng ở nước ta là Python, Perl. Xét cho cùng hai ngôn ngữ này so với C++, Delphi,Java thì chúng chỉ là ngôn ngữ dạng "Scripting" mà thôi. Cả Python, Perl đều chạy ở mức cao hơn C++ và Java./
===== THE END =====