LẬP TRÌNH VÀ TÀI LIỆU FULL CHO BẠN THÀNH DÂN IT

I. ĐỊNH NGHĨA VỀ NGÔN NGỮ LẬP TRÌNH


Trước hết dạng chương trình duy nhất mà máy tính có thể thực thi trực tiếp là ngôn ngữ máy hay mã máy. Nó có dạng dãy các số nhị phân, thường được ghép nhóm thành byte 8 bit cho các hệ xử lý 8/16/32/64 bit [note 1]. Nội dung byte thường biểu diễn bằng đôi số hex. Để có được bộ mã này ngày nay người ta dùng ngôn ngữ lập trình để viết ra chương trình ở dạng văn bản và dùng trình dịch để chuyển sang mã máy [1].
Khi kỹ thuật điện toán ra đời chưa có ngôn ngữ lập trình dạng đại diện nào, thì phải lập trình trực tiếp bằng mã máy. Dãy byte viết ra được đục lỗ lên phiếu đục lỗ (punched card) và nhập qua máy đọc phiếu tới máy tính [2]. Sau đó chương trình có thể được ghi vào băng/đĩa từ để sau này nhập nhanh vào máy tínhNgôn ngữ máy được gọi là "ngôn ngữ lập trình thế hệ 1" (1GL, first-generation programming languages) [3].
Sau đó các mã lệnh được thay thế bằng các tên gợi nhớ và lập trình được ở dạng văn bản (text) rồi dịch sang mã máy. Hợp ngữ (assembly languages) ra đời, là "ngôn ngữ lập trình thế hệ 2" (2GL, second-generation programming languages). Lập trình thuận lợi hơn, khi dịch có thể liên kết với thư viện chương trình con ở cả dạng macro (đoạn chưa dịch) và lẫn mã đã dịch. Hợp ngữ hiện được dùng là ngôn ngữ bậc thấp (low-level programming languages) để tinh chỉnh ngôn ngữ bậc cao thực hiện truy nhập trực tiếp phần cứng cụ thể trong việc lập trình hệ thống, tạo các hiệu ứng đặc biệt cho chương trình.
Ngôn ngữ bậc cao (high-level programming languages) hay "ngôn ngữ lập trình thế hệ 3" (3GL, third-generation programming languages) ra đời vào những năm 1950. Đây là các ngôn ngữ hình thức, dùng trong lập trình máy điện toán và không lệ thuộc vào hệ máy tính cụ thể nào. Nó giải phóng người lập trình ứng dụng làm việc trong hệ điều hành xác định mà không phải quan tâm đến phần cứng cụ thể. Các ngôn ngữ được phát triển liên tục với các dạng và biến thể mới, theo bước phát triển của kỹ thuật điện toán [4].
Đối với ngôn ngữ bậc cao thì định nghĩa ngôn ngữ lập trình theo [Loud 94], T.3 là:
Ngôn ngữ lập trình là một hệ thống được ký hiệu hóa để miêu tả những tính toán (qua máy tính) trong một dạng mà cả con người và máy đều có thể đọc và hiểu được.
Theo định nghĩa ở trên thì một ngôn ngữ lập trình phải thỏa mãn được hai điều kiện cơ bản sau:
  1. Dễ hiểu và dễ sử dụng đối với người lập trình, để có thể dùng để giải quyết nhiều bài toán khác nhau.
  2. Miêu tả một cách đầy đủ và rõ ràng các tiến trình (tiếng Anhprocess), để chạy được trên các hệ máy tính khác nhau.
Một tập hợp các chỉ thị được biểu thị qua ngôn ngữ lập trình nhằm mục đích thực hiện các thao tác máy tính nào đó được gọi là một chương trình. Khái niệm này còn có những tên khác như chương trình máy tính hay chương trình điện toán.
Lưu ý: chương trình được viết cho máy vi tính thường được gọi là phần mềm máy tính. Ví dụ: chương trình Microsoft Word là một cách gọi chung chung; cách gọi phần mềm Microsoft Word chỉ rõ hơn nó là một chương trình ứng dụng.
Khái niệm lập trình dùng để chỉ quá trình con người tạo ra chương trình máy tính thông qua ngôn ngữ lập trình. Người ta còn gọi đó là quá trình mã hoá thông tin tự nhiên thành ngôn ngữ máy. Từ viết mã cũng được dùng trong nhiều trường hợp để chỉ cùng một ý.
Như vậy, theo định nghĩa, mỗi ngôn ngữ lập trình cũng chính là một chương trình, nhưng nó có thể được dùng để tạo nên các chương trình khác. Văn bản được viết bằng ngôn ngữ lập trình để tạo nên chương trình được gọi là mã nguồn.
Thao tác chuyển đổi từ mã nguồn thành chuỗi các chỉ thị máy tính được thực hiện tương tự như việc chuyển đổi qua lại giữa các ngôn ngữ tự nhiên của con người. Các thao tác này gọi là biên dịch, hay ngắn gọn hơn là dịch. Nếu quá trình dịch diễn ra đồng thời với quá trình thực thi, ta gọi đó là thông dịch; nếu diễn ra trước, ta gọi đó là biên dịch. Phần mềm dịch tương ứng được gọi là phần mềm thông dịch và phần mềm biên dịch.
  1. Một phần mềm thông dịch là một phần mềm có khả năng đọc, chuyển mã nguồn của một ngôn ngữ và ra lệnh cho máy tính tiến hành các tính toán dựa theo cú pháp của ngôn ngữ.
  2. Một phần mềm biên dịch hay ngắn gọn hơn trình biên dịch là phần mềm có khả năng chuyển mã nguồn của một ngôn ngữ ban đầu sang dạng mã mới thường là một ngôn ngữ cấp thấp hơn.
    Ngôn ngữ cấp thấp nhất là một chuỗi các chỉ thị máy tính mà có thể được thực thi trực tiếp bởi máy tính (thông qua các theo tác trên vùng nhớ). Trước đây, hầu hết các trình biên dịch cũ phải dịch từ mã nguồn sang bộ mã phụ (các tệp có dang *.obj) rồi mới tạo ra tập tin thực thi. Ngày nay, hầu hết các trình biên dịch đều có khả năng dịch mã nguồn trực tiếp thành các tập tin thực thi hay thành các dạng mã khác thấp hơn, tuỳ theo yêu cầu của người lập trình.
Điểm khác nhau giữa thông dịch và biên dịch là: trình thông dịch dịch từng câu lệnh theo yêu cầu thực thi và chương trình đích vừa tạo ra sẽ không được lưu lại; trong khi đó, trình biên dịch sẽ dịch toàn bộ chương trình, cho ra chương trình đích được lưu lại trong máy tính rồi mới thực hiện chương trình.
Một chương trình máy tính có thể được thực thi bằng cách biên dịch, thông dịch, hoặc phối hợp cả hai.
Để đạt được yêu cầu về độ chính xác và tính hiệu quả, mã viết ra nhiều khi khó đọc ngay cả với chính người viết ra mã đó, chưa kể tới người khác. Chính vì lý do đó, mọi tài liệu, hướng dẫn lập trình đều khuyên nên thêm các chú giải vào mã nguồn trong quá trình viết. Các chú giải giúp người khác rất nhiều trong việc đọc hiểu mã nguồn; đối với chương trình phức tạp, chú giải là thành phần vô cùng quan trọng trong mã nguồn.
Kết quả hình ảnh cho NGÔN NGỮ LẬP TRÌNH
II. CÁC LOẠI NGÔN NGỮ LẬP TRÌNH PHỔ BIẾN
 AJAX,ASP.NET
B — Browser
C — CSS-CSS3
D — DOM 
E — Events
F — Firebug
G — Grid 
H — HTML-HTML5
I — IE
J — JavaScript, JAVA
K — Keyword Optimization (Tối ưu hóa từ khóa)
L — Less 
M — MVC 
N — Node.JS
O — Object (Đối tượng)
P — PHP
Q — Query
R — Regular Expressions 
S — Source Control , 
T — TDD
U — Unit Testing
V — VIM 
W — WordPress
X — XSS, XML
Y — YUI
Z — Z index 

III. CÁC TÀI LIỆU VÀ KHÓA HỌC LẬP TRÌNH
1. C/C++/C#
link1:https://drive.google.com/open?id=0B0SSlJgvp_3wanNiLUlkOHNGamM

link2:https://drive.google.com/open?id=0B0PQXRyV7ZBrLU03TnNIeW45TUk

link3:https://drive.google.com/open?id=0Byo_4Qbb0ZSgaXFnUDRJd1Z1Unc

link4:https://drive.google.com/open?id=0B7Q48gdWBsgFX0VGQU9OanpJeWM

link5:https://drive.google.com/open?id=0B0PQXRyV7ZBrRFJhdkw0aVNERW8

link6:https://drive.google.com/open?id=0B8_d4OjuD0gROTRSOFBPajUtZWc

link7:https://drive.google.com/open?id=0ByWO0aO1eI_MamwydHF5MGg2WFE

link8: https://drive.google.com/open?id=0B6aHy9Nd8VFib3NvU0c2SWlGalk
link9:https://drive.google.com/open?id=0Bz1tr4u7WXzPc0tScnRQSTJ5d2s
>https://drive.google.com/open?id=0B0SSlJgvp_3wanNiLUlkOHNGamM

2. HTML/CSS-HTML5/CSS3
LINK1:https://drive.google.com/open?id=0B-wBd3to9uEfSGV3UmxZSUZVeWc
link2:https://drive.google.com/open?id=0B0V7wc0waBhXMjBkOEZfOWRHaWc
link3:https://drive.google.com/open?id=0B4fU5__VXkIkT1JZa0Z2N1pfUFE
link4:https://drive.google.com/open?id=0B4fU5__VXkIkenVTYjI2NGxFM2M
link5:

3. JAVASCRIP/JAVA
>https://drive.google.com/open?id=0B6UqbP7Q2QG7TVZObHJNYUNFdTQ
>https://drive.google.com/open?id=0B-wBd3to9uEfT2dEZjVvbTZpNzQ

>https://drive.google.com/open?id=0B-wBd3to9uEfMUQtLXRPLUh2TDQ

>https://drive.google.com/open?id=0B-wBd3to9uEfaGVaQWxvV2trLUU

>https://drive.google.com/open?id=0B-wBd3to9uEfU19tT3hJUHZKenM

>https://drive.google.com/open?id=0B-wBd3to9uEfek5uR2M1R1dkdWs

4. PHP
>https://drive.google.com/open?id=0B4fU5__VXkIkb0FVbzRKNUV0U1E
>https://drive.google.com/open?id=0B4fU5__VXkIka3ZZSkFqS2Zsd1U

5. LẬP TRÌNH ANDROID/IOS
>https://drive.google.com/open?id=0B4fU5__VXkIkVzZmS09mOXctR3M
>https://drive.google.com/open?id=0B0SSlJgvp_3wanNiLUlkOHNGamM

6. NODE JS
>https://drive.google.com/open?id=0B4fU5__VXkIkcGVSMGpJZDN6LUU

7. WORDPRESS
>https://drive.google.com/open?id=0B4fU5__VXkIkLUNOcGY1NmtOcW8

>https://drive.google.com/open?id=0B4fU5__VXkIkeEUtVER5VVZUZ1k

8. XML
>https://drive.google.com/open?id=0B-wBd3to9uEfNWM3Y08yS1M5SWs

9. ASP.NET
>https://drive.google.com/open?id=0B-wBd3to9uEfQnU5aWcydE5jLUk

>https://drive.google.com/open?id=0B-wBd3to9uEfbG9jT2tGZHNBN1E

>https://drive.google.com/open?id=0B-wBd3to9uEfOE5saVQ0ekd4TGs

>https://drive.google.com/open?id=0B-wBd3to9uEfZTEyX2dYXy02azA

10. AGURAL JS
>https://drive.google.com/open?id=0B-wBd3to9uEfTnd0T1B5ZkZGdEk

>https://drive.google.com/open?id=0B-wBd3to9uEfeTVPYVcza3UxcTQ

11. JQUERY
>https://drive.google.com/open?id=0B0SSlJgvp_3wY2VtUnFONTl4T1k

12.SQL
>https://drive.google.com/open?id=0B6UqbP7Q2QG7RnNYLWhmR3NuWm8






    Blogger Comment
    Facebook Comment

0 nhận xét :

Đăng nhận xét