Wednesday, December 23, 2015

Bài 1: Làm quen với ngôn ngữ lập trình java

1.Lịch sử phát triển

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm 1991. Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn ngữ đó thay cho C++, nhưng các tính năng giống Objective C. Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú pháp như C. Công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên. Tháng 04/2011, công ty Sun Microsystems tiếp tục cho ra bản JDK 1.6.24.

Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere" (WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó. Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác như BEA, IBM, HP.... Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS.

Java được sử dụng chủ yếu trên môi trường NetBeans và Oracle. Sau khi Oracle mua lại công ty Sun Microsystems năm 2009-2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch".[12]


2.Mục tiêu phát triển java

Có 5 mục tiêu chính trong việc xây dựng ngôn ngữ Java:
  1. Đơn giản, hướng đối tượng và quen thuộc.
  2. Mạnh mẽ và an toàn.
  3. Kiến trúc trung lập và di động.
  4. Thực thi với hiệu suất cao.
  5. Dịch ra bytecode, phân luồng và năng động.

3.Đặc trưng của java
- Đơn giản
- Tính hướng đối tượng
- Độc lập về phần cứng và hệ điều hành
- Bảo mật
- Phân tán
- Đa luồng
- Động
- Cộng đồng mạnh mẽ
- Java thường chạy nhanh hơn các ngôn ngữ thông dịch (Python, Perl, PHP ...)
Chú ý: ở nhiều bài viết ở các trang mạng khác viết rằng Java chạy chậm hơn các ngôn ngữ Python, Perl, PHP là không đúng, ngược lại java chạy nhanh hơn gấp nhiều lần các ngôn ngữ thông dịch, chạy nhanh tương đương so với C#

Java (đọc như "Gia-va") là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy.

Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation, khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thể chạy nhanh hơn. Java chạy nhanh hơn những ngôn ngữ thông dịch như Python, Perl, PHP gấp nhiều lần. Java chạy tương đương so với C#, một ngôn ngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy.

Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn.

Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản lí bởi Java Virtual Machine (JVM) bằng cách tự động "dọn dẹp rác". Người lập trình không phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++. Tuy nhiên khi sở dụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát của JVM) mà người lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thể xảy ra.

4.Học java có thể làm được j ?
- Hiện nay theo thống kê có khoản 3 tỷ thiết bị đang chạy java, một số ứng dụng java phổ biến như sau:

  • Desktop Applications such as acrobat reader, media player, antivirus etc.
  • Web Applications such as irctc.co.in, javatpoint.com etc.
  • Enterprise Applications such as banking applications.
  • Mobile
  • Embedded System
  • Smart Card
  • Robotics
  • Games etc.


=> Như vậy bạn đã biết mức độ phổ biến của Java chưa? ở Vietnam làm ở các cty phần mềm chủ yếu tập trung vào sản xuất các mảng sau:
- Viết lên ứng dụng kinh doanh, tài chính, thương mại, hệ thống ngân hàng ... vv
- Phát triển các ứng dụng hoặc game java (JME) trên các dòng điện thoại samsung, nokia đời thấp, hiện nay do công nghệ phát triển => nên tảng JME đã không còn phát triển mạnh như những năm 2000
- Java là ngôn ngữ được lựa chọn để phát triển các ứng dụng hoặc game android
- Ngoài ra Java còn rất nhiều mảng ứng dụng như lập trình nhúng vào các thiết bị công nghệ, lập trình điều khiển ...vv

No comments:

Post a Comment