- Nguyên tắc sử dụng trung gian (nguyên tắc 24): Tất cả các ngôn ngữ cấp cao đều
phải cần một chương trình dịch (phần trung gian) để dịch chương trình sang ngôn ngữ máy. Bởi
vì suy cho cùng, máy tính cũng chỉ hiểu được ngôn ngữ máy (là các bit nhị phân 0, 1).
- Nguyên tắc tự phục vụ (nguyên tắc 25): trong ngôn ngữ lập trình cấp cao có định
nghĩa sẵn một số hàm thông dụng, khi cần đến hàm này thì người lập trình chỉ cần gọi đúng tên
hàm cùng đối số của nó mà không cần phải định nghĩa hàm đó.
- Nguyên tắc đổi màu (nguyên tắc 32): các ngôn ngữ lập trình thông dụng như C#,
Visual Basic, đều áp dụng nguyên tắc đổi màu, từ các menu đến các các control điều khiển
đều sử dụng nhiều màu sắc khác nhau giúp người lập trình dễ dàng phân biệt. Các thành phần
nào không được phép sử dụng trong một trường hợp nào đó thì sẽ có màu khác (thông thường
được làm mờ đi và có màu xám) so với các phần được phép sử dụng, giúp người lập trình dễ
thao tác hơn.
17 trang |
Chia sẻ: lylyngoc | Lượt xem: 2456 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Tiểu luận 40 nguyên tắc sáng tạo ứng dụng trong tin học, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tiểu luận
40 nguyên tắc sáng tạo
ứng dụng trong tin học
Trang 1
LỜI MỞ ĐẦU
Trong cuộc sống hàng ngày, mọi người trao đổi thông tin bằng ngôn ngữ. Còn con người
và máy tính cũng trao đổi thông tin với nhau thông qua ngôn ngữ, loại ngôn ngữ này thể hiện
được ý nghĩ của con người, đồng thời nó còn được máy tính nhận dạng và chấp nhận, loại ngôn
ngữ này được gọi là ngôn ngữ lập trình. Ngôn ngữ lập trình được chia làm 3 loại là ngôn ngữ
máy, hợp ngữ và ngôn ngữ cấp cao. Hiện nay, các nhà khoa học đang nghiên cứu " hệ thống
nhận diện ngôn ngữ máy vi tính hệ thống mới ". Trong tương lai, có lẽ con người có thể sẽ nói
chuyện trực tiếp với máy tính bằng ngôn ngữ của mình.
Trong bài thu hoạch này, em sẽ trình bày một số vấn đề về phương pháp nghiên cứu khoa
học nói chung và đặc biệt là trình bày về quá trình hình thành của ngôn ngữ lập trình. Em xin nêu
ra và phân tích, theo ý kiến chủ quan của mình, những nguyên lý sáng tạo đã được ứng dụng
trong quá trình hình thành các ngôn ngữ lập trình.
Qua đây, em xin chân thành cảm ơn GS. TSKH Hoàng Kiếm, người đã tận tâm giảng dạy
những kiến thức cơ bản cho em về môn học Phương pháp nghiên cứu khoa học trong tin học,
người Thầy đã truyền đạt những kiến thức quý báu về các phương pháp nghiên cứu trong tin học
cũng như những hướng nghiên cứu chính trên thế giới hiện nay. Em cũng xin chân thành cảm ơn
ban cố vấn học tập và ban quản trị Chương trình đào tạo thạc sĩ Công nghệ thông tin qua mạng
của trường Đại Học Công Nghệ Thông Tin Thành phố Chí Minh đã tạo điều kiện về tài liệu
tham khảo để em hoàn thành bài thu hoạch này.
Trang 2
MỤC LỤC
PHẦN I : CÁC NGUYÊN TẮC SÁNG TẠO ............................................................................. 4
1. Nguyên tắc phân nhỏ : .......................................................................................................... 4
2. Nguyên tắc “tách khỏi” : ...................................................................................................... 4
3. Nguyên tắc phẩm chất cục bộ : ............................................................................................ 4
4. Nguyên tắc phản đối xứng : ................................................................................................. 4
5. Nguyên tắc kết hợp : ............................................................................................................ 4
6. Nguyên tắc vạn năng : .......................................................................................................... 4
7. Nguyên tắc “chứa trong” : .................................................................................................... 5
8. Nguyên tắc phản trọng lượng : ............................................................................................. 5
9. Nguyên tắc gây ứng suất sơ bộ : .......................................................................................... 5
10. Nguyên tắc thực hiện sơ bộ : ............................................................................................ 5
11. Nguyên tắc dự phòng : ...................................................................................................... 5
12. Nguyên tắc đẳng thế : ....................................................................................................... 5
13. Nguyên tắc đảo ngược : .................................................................................................... 5
14. Nguyên tắc cầu (tròn) hoá : .............................................................................................. 5
15. Nguyên tắc linh động :...................................................................................................... 6
16. Nguyên tắc giải “thiếu” hoặc “thừa” : .............................................................................. 6
17. Nguyên tắc chuyển sang chiều khác : ............................................................................... 6
18. Nguyên tắc sử dụng các dao động cơ học : ...................................................................... 6
19. Nguyên tắc tác động theo chu kỳ : ................................................................................... 6
20. Nguyên tắc liên tục tác động có ích : ................................................................................ 6
21. Nguyên tắc “vượt nhanh” : ............................................................................................... 7
22. Nguyên tắc biến hại thành lợi : ......................................................................................... 7
23. Nguyên tắc quan hệ phản hồi : ......................................................................................... 7
24. Nguyên tắc sử dụng trung gian : ....................................................................................... 7
25. Nguyên tắc tự phục vụ : .................................................................................................... 7
26. Nguyên tắc sao chép (copy) : ........................................................................................... 7
27. Nguyên tắc “rẻ” thay cho “đắt” : ...................................................................................... 7
28. Thay thế sơ đồ cơ học : ..................................................................................................... 7
29. Sử dụng các kết cấu khí và lỏng : ..................................................................................... 8
30. Sử dụng vỏ dẽo và màng mỏng : ...................................................................................... 8
31. Sử dụng các vật liệu nhiều lỗ : ......................................................................................... 8
32. Nguyên tắc thay đổi màu sắc : .......................................................................................... 8
Trang 3
33. Nguyên tắc đồng nhất : ..................................................................................................... 8
34. Nguyên tắc phân hủy hoặc tái sinh các phần : .................................................................. 8
35. Thay đổi các thông số hoá lý của đối tượng : ................................................................... 8
36. Sử dụng chuyển pha : ....................................................................................................... 9
37. Sử dụng sự nở nhiệt : ........................................................................................................ 9
38. Sử dụng các chất ôxy hóa mạnh : ..................................................................................... 9
39. Thay đổi độ trơ : ............................................................................................................... 9
40. Sử dụng các vật liệu hợp thành (composite) : .................................................................. 9
PHẦN II : QUÁ TRÌNH RA ĐỜI NGÔN NGỮ LẬP TRÌNH ............................................... 10
1. Ngôn ngữ máy ....................................................................................................................... 10
2. Hợp ngữ ................................................................................................................................. 10
3. Ngôn ngữ cấp cao .................................................................................................................. 11
PHẦN III : TÀI LIỆU THAM KHẢO ...................................................................................... 16
Trang 4
PHẦN I: CÁC NGUYÊN TẮC SÁNG TẠO
Theo Vepol “Bất cứ hệ thống kỹ thuật nào ít nhất cũng phải có hai thành phần vật chất tác
động tương hổ và một loại trường hay năng lượng”.
Nhà khoa học Atshuler trong suốt quá trình làm việc của mình đã đưa ra một hệ thống các
nguyên tắc sáng tạo. Nó cung cấp hệ thống các cách xem xét sự vật, tăng tính nhanh nhạy của
việc tiếp thu và đánh giá giá trị của thông tin; đưa ra và lựa chọn các cách tiếp cận thích hợp để
giải quyết vấn đề. Hệ thống các nguyên tắc sáng tạo còn giúp cho chúng ta xây dựng được tác
phong, suy nghĩ và làm việc một cách khoa học, sáng tạo. Sau đây, em xin được lần lượt trình
bày 40 nguyên tắc đó :
1. Nguyên tắc phân nhỏ :
- Chia đối tượng thành các phần độc lập.
- Làm đối tượng trở nên tháo lắp được.
- Tăng mức độ phân nhỏ đối tượng.
2. Nguyên tắc “tách khỏi” :
Tách phần gây “phiền phức” hay ngược lại tách phần duy nhất “cần thiết” ra khỏi đối
tượng.
3. Nguyên tắc phẩm chất cục bộ :
- Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng
nhất thành không đồng nhất.
- Các phần khác nhau của đối tượng phải có các chức năng khác nhau.
- Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công
việc.
4. Nguyên tắc phản đối xứng :
Chuyển đối tượng có hình dạng đối xứng thàng không đối xứng (nói chung giảm bậc
đối xứng).
5. Nguyên tắc kết hợp :
- Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận.
- Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận.
6. Nguyên tắc vạn năng :
Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia của các
đối tượng khác.
Trang 5
7. Nguyên tắc “chứa trong” :
- Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng
thứ ba…
- Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.
8. Nguyên tắc phản trọng lượng :
- Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng khác, có lực
nâng.
- Bù trừ trọng lượng của đối tượng bằng cách tương tác với môi trường như sử dụng
các lực thủy động, khí động …
9. Nguyên tắc gây ứng suất sơ bộ :
Gây ứng suất trước đối với đối tượng để chống lại ứng suất không cho phép hoặc không
mong muốn khi đối tượng làm việc (hoặc gây ứng suất trước để khi làm việc sẽ dùng ứng
suất ngược lại).
10. Nguyên tắc thực hiện sơ bộ :
- Thực hiên trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng.
- Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất,
không mất thời gian dịch chuyển.
11. Nguyên tắc dự phòng :
Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiện
báo động, ứng cứu, an toàn.
12. Nguyên tắc đẳng thế :
Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối tượng.
13. Nguyên tắc đảo ngược :
- Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví dụ : không làm
nóng mà làm lạnh đối tượng).
- Làm phần chuyển động của đối tượng (hay môi trường bên ngoài) thành đứng yên
và ngược lại phần đứng yên thành chuyển động.
14. Nguyên tắc cầu (tròn) hoá :
- Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng thành mặt cầu, kết
cấu hình hộp thành kết cấu hình cầu.
- Sử dụng các con lăn, viên bi, vòng xoắn.
- Chuyển sang chuyển động quay, sử dụng lực ly tâm.
Trang 6
15. Nguyên tắc linh động :
- Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng
tối ưu trong từng giai đoạn làm việc.
- Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với nhau.
16. Nguyên tắc giải “thiếu” hoặc “thừa” :
Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn hoặc nhiều hơn “một
chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dễ giải hơn.
17. Nguyên tắc chuyển sang chiều khác :
- Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo đường (một chiều) sẽ
được khắc phục nếu cho đối tượng khả năng di chuyển trên mặt phẳng (hai chiều),
tương tự những bài toán liên quan đến chuyển động (hay sắp xếp) các đối tượng trên
mặt phẳng sẽ được đơn giản hóa khi chuyển sang không gian (ba chiều).
- Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.
- Đặt đối tượng nằm nghiêng.
- Sử dụng mặt sau của diện tích cho trước.
- Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau của diện tích cho
trước.
18. Nguyên tắc sử dụng các dao động cơ học :
- Làm đối tượng dao động.
- Nếu đã có dao động, tăng tần số dao động.
- Sử dụng tần số cộng hưởng.
- Thay vì dùng các bộ rung cơ học. dùng các bộ rung áp điện.
- Sử dụng siêu âm kết hợp với trường điện từ.
19. Nguyên tắc tác động theo chu kỳ :
- Chuyển tác động liên tục thành tác động theo chu kỳ (xung).
- Nếu đã có tác động theo chu ký, hãy thay đổi chu kỳ.
- Sử dụng các khoảng thời gian giữa các xung để thực hiên tác động khác.
20. Nguyên tắc liên tục tác động có ích :
- Thực hiên công viêc một cách liên tục (tất cả các phần của đối tượnng cần luôn luôn
làm việc ở chế độ đủ tải).
- Khắc phục vận hành không tải và trung gian.
Trang 7
- Chuyển chuyển động tịnh tiến qua lại thành chuyển động quay.
21. Nguyên tắc “vượt nhanh” :
- Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.
- Vượt nhanh để có được hiệu ứng cần thiết.
22. Nguyên tắc biến hại thành lợi :
- Sử dụng những tác nhân có hại (ví dụ tác động có hại của môi trường) để thu được
hiệu ứng có lợi.
- Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác.
- Tăng cường tác nhân có hại đến mức nó không còn có hại nữa.
23. Nguyên tắc quan hệ phản hồi :
- Thiết lập quan hệ phản hồi.
- Nếu đã có quan hệ phản hồi, hãy thay đổi nó.
24. Nguyên tắc sử dụng trung gian :
Sử dụng đối tượng trung gian, chuyển tiếp.
25. Nguyên tắc tự phục vụ :
- Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa.
- Sử dụng phế liệu, chất thải, năng lương dư.
26. Nguyên tắc sao chép (copy) :
- Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc
dễ vỡ, sử dụng bản sao.
- Thay thế đối tượng hay hệ các đối tượng bằng bản sao quang học(ảnh, hình vẽ với
các tỷ lệ cần thiết.
- Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn
thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử
ngoại.
27. Nguyên tắc “rẻ” thay cho “đắt” :
Thay đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn
28. Thay thế sơ đồ cơ học :
- Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.
- Sử dụng diện trường, từ trừơng và điện từ trường trong tương tác với đối tượng.
Trang 8
- Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi
theo thời gian, các trường đồng nhất sang có cấu trúc nhất định.
- Sử dụng các trường kết hợp với các hạt sắt từ.
29. Sử dụng các kết cấu khí và lỏng :
Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng; nạp khí, nạp
chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực.
30. Sử dụng vỏ dẽo và màng mỏng :
- Sử dụng các vỏ dẽo và mành mỏng thay cho các kết cấu khối.
- Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẽo và màng mỏng.
31. Sử dụng các vật liệu nhiều lỗ :
- Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết nhiều lỗ (miếng đệm,
tấm phủ,…).
- Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó.
32. Nguyên tắc thay đổi màu sắc :
- Thay đổi màu sắc của đối tượng hay môi trường bên ngoài.
- Thay đổi độ trong suốt của đối tượng hay mội trường bên ngoài.
- Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất
phụ gia màu, huỳnh quang.
- Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu.
- Sử dụng các hình vẽ, ký hiệu thích hợp.
33. Nguyên tắc đồng nhất :
Những đối tượng tương tác với đối tượng cho trước, phải được làm từ cùng một vật
liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tậo đối tượng cho trước.
34. Nguyên tắc phân hủy hoặc tái sinh các phần :
- Phần đối tượng đã hoàn thành nhiêm vụ hoặc trở nên không cần thiết phải tự phân
hủy (hòa tan, bay hơi,…) hoặc phải biến dạng.
- Các phần mất mát của đối tượng phải được phục hối trực tiếp trong quá trình làm
việc.
35. Thay đổi các thông số hoá lý của đối tượng :
- Thay đổi trạng thái đối tượng.
- Thay đổi nồng độ hay độ đậm đặc.
Trang 9
- Thay đổi dộ dẻo.
- Thay đổi nhiệt độ, thể tích.
36. Sử dụng chuyển pha :
Sử dụng các hiện tượng nảy sinh, trong các quá trình chuyển pha như thay đổi thể tích,
tỏa hay hấp thu nhiệt lượng …
37. Sử dụng sự nở nhiệt :
- Sử dụng sự nở (hay co) nhiệt của các vật liệu.
- Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác nhau.
38. Sử dụng các chất ôxy hóa mạnh :
- Thay không khí thường bằng không khí giàu ôxy.
- Thay không khí giàu ôxy bằng chính ôxy.
- Dùng các bức xạ iôn hóa tác động lên không khí hoặc ôxy.
- Thay ôxy giàu iôn (hoặc ôxy bị iôn hóa) bằng chính ôxy.
39. Thay đổi độ trơ :
- Thay môi trường thông thường bằng môi trường trung hòa.
- Đưa thêm vào đối tượng các phần, các chất, phụ gia trung hòa.
- Thực hiện quá trình trong chân không.
40. Sử dụng các vật liệu hợp thành (composite) :
Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành (composite),
Hay nói chung sử dụng các loại vật liệu mới.
Trang 10
PHẦN II: QUÁ TRÌNH RA ĐỜI NGÔN NGỮ LẬP TRÌNH
Hiện nay có rất nhiều loại ngôn ngữ lập trình khác nhau, mỗi loại ngôn ngữ đều có cú pháp
riêng của nó. Ngôn ngữ lập trình được phân chia thành 3 loại chính: ngôn ngữ máy, hợp ngữ và
ngôn ngữ cấp cao.
1. Ngôn ngữ máy
Ngôn ngữ máy là ngôn ngữ lập trình thế hệ đầu tiên, là ngôn ngữ nền tảng của bộ vi xử lý,
mọi chỉ thị đều được biểu diễn bằng số nhị phân 0 và 1. Vì tập lệnh của ngôn ngữ máy phụ thuộc
vào loại vi xử lý nên ngôn ngữ máy sẽ khác nhau trên những máy tính có sử dụng bộ vi xử lý
khác nhau.
Tuy khó đọc và khó sử dụng, nhưng ngôn ngữ máy là ngôn ngữ duy nhất mà bộ vi xử lí có
thể nhận biết và thực hiện một cách trực tiếp.
Ưu điểm khi viết chương trình bằng ngôn ngữ máy là lập trình viên có thể điều khiển máy
tính trực tiếp và đạt được chính xác điều mình muốn làm.
Nhược điểm là mất rất nhiều thời gian để viết, rất khó đọc, theo dõi để tìm lỗi. Thêm vào
đó, bởi vì chương trình được viết bằng tập lệnh phụ thuộc vào bộ vi xử lý nên chương trình chỉ
chạy được trên những máy tính có cùng bộ vi xử lý mà thôi.
Như vậy ngôn ngữ máy sử dụng các nguyên tắc sau để giải quyết vấn đề:
- Nguyên tắc phẩm chất cục bộ (nguyên tắc 3): ngôn ngữ máy chỉ thực hiện được trên
những máy tính có cùng bộ vi xử lý.
- Nguyên tắc tự phục vụ (nguyên tắc 25): máy tính sử dụng trực tiếp các bit nhị phân
để tự phục vụ cho nhu cầu của lập trình viên nhằm giúp chương trình thực thi nhanh chóng.
- Nguyên tắc linh động (nguyên tắc 15) : chuyển từ ngôn ngữ tự nhiên sang ngôn ngữ
máy theo nhu cầu của người dùng.
2. Hợp ngữ
Hợp ngữ được xuất hiện vào thập niên 1950.
Hợp ngữ là một ngôn ngữ cấp thấp dùng để viết các chương trình máy tính. Một chương
trình viết bằng hợp ngữ bao gồm một chuỗi các lệnh dễ nhớ tương ứng với một luồng các chỉ thị
khả thi mà khi được dịch bằng một trình hợp dịch, chúng có khả năng nạp được vào bộ nhớ đồng
thời thực thi được.
Hợp ngữ là một bước tiến vượt ra khỏi với ngôn ngữ máy khó hiểu. Hợp ngữ đưa ra khái
niệm biến, nhờ đó mà ta có thể gán một ký hiệu cho một vị trí nào đó trong bộ nhớ mà không
phải viết lại địa chỉ này dưới dạng nhị phân mỗi lần sử dụng. Hợp ngữ cũng chứa vài "phép toán
giả", tức là ta có thể biểu biễn mã phép toán dưới dạng phát biểu thay vì dưới dạng nhị phân. Sau
Trang 11
khi viết một chương trình hợp ngữ, lập trình viên phải chạy nó thông qua trình hợp dịch. Trình
hợp dịch sẽ dịch chương trình hợp ngữ sang ngôn ngữ máy.
Như vậy hợp ngữ sử dụng các nguyên tắc sau để giải quyết vấn đề:
- Nguyên tắc linh động (nguyên tắc 15): ngôn ngữ máy sử dụng các bit nhị phân nên
rất khó khăn cho việc lập trình nên hợp ngữ ra đời đã giúp người lập trình viết chương trình dễ
dàng hơn.
- Nguyên tắc sử dụng trung gian (nguyên tắc 24): hợp ngữ đã sử dụng trình hợp dịch
làm đối tượng trung gian để biên dịch sang ngôn ngữ máy.
- Nguyên tắc thực hiện sơ bộ (nguyên tắc 9): nguyên tắc này được thực hiện lúc biên
dịch, trình hợp dịch phải thực hiện 1 số bước sơ bộ như phân tích từ vựng, phân tích cú pháp,
phân tích ngữ nghĩa đoạn văn bản trước rồi sau đó mới sinh mã trung gian, sinh mã đối tượng.
- Nguyên tắc phân nhỏ (nguyên tắc 1): Một ưu điểm của hợp ngữ so với ngôn ngữ máy
là có thể dùng macro để chia chương trình lớn thành nhiều chương trình con nhỏ hơn, giúp lập
trình viên dễ kiểm soát lỗi, tránh việc một đoạn chương trình cứ lặp đi lặp lại nhiều lần.
Hợp ngữ ra đời đã giúp ích rất nhiều cho người lập trình trong việc viết chương trình. Tuy
nhiên, nó chưa thực sự đáp ứng được nhu cầu thực tế, vì vậy ngôn ngữ cấp cao ra đời đã góp
phần thúc đẩy sự phát triển của ngôn ngữ máy tính.
3. Ngôn ngữ cấp cao
Cuộc cách mạng của ngôn ngữ máy tính bắt đầu với sự phát triển của ngôn ngữ cấp cao
vào cuối thập kỷ 1950 và 1960. Ngôn ngữ cấp cao gần gũi hơn với ý niệm ngôn ngữ mà hầu hết
mọi người đều biết, nó bao gồm các danh từ, động từ, ký hiệu toán học, liên hệ và các thao tác
luận lý. Các yếu tố này có thể được phối hợp, liên kết với nhau tạo thành một hình thức của câu.
Các "câu" này được gọi là các mệnh đề của chương trình. Chính vì những đặc điểm này, các lập
trình viên dễ dàng đọc và dễ học ngôn ngữ cấp cao hơn so với ngôn ngữ máy hoặc hợp ngữ.
Ưu điểm quan trọng của ngôn ngữ cấp cao là không phụ thuộc vào máy tính, nghĩa là các
chương trình viết bằng ngôn ngữ cấp cao có thể chạy trên các loại máy tính khác nhau (sử dụng
các bộ vi xử lý khác nhau).
Một số ngôn ngữ cấp cao thông dụng:
- Ngôn ngữ Fortran ra đời vào năm 1957 được phát triển bởi một nhóm lập trình viên của
công ty IBM dưới sự lãnh đạo của John Backus. Là ngôn ngữ lập trình cấp cao đầu tiên và được
chú ý bởi khả năng cho phép dễ dàng diễn đạt và tính toán các phương trình toán học.
- Ngôn ngữ Lisp ra đời năm 1958. Lisp có cấu trúc dữ liệu nền tảng là các danh sách liên
kết. Lisp được biết đến như một trong những ngôn ngữ lập trình hàm tiêu biểu, mặc dù đôi khi
Trang 12
vẫn có các chương trình Lisp được viết theo hướng thủ tục. Về hình thức, cú pháp lệnh của Lisp
rất đặc biệt với những cặp ngoặc đơn và viết theo kí pháp tiền tố.
- Ngôn ngữ Cobol ra đời năm 1960. Cobol được phát triển bởi một hội đồng bao gồm các
đại diện từ phía chính phủ và công nghiệp. Cobol đã từng là một trong những ngôn ngữ được
dùng rộng rãi nhất cho các ứng dụng thương mại. Cobol có chức năng xử lý tập tin, nhất là theo
cách xử lý hàng loạt. Cobol rất dễ viết, dễ đọc lại để sửa hoặc viết thêm vào.
- Ngôn ngữ Basic được phát minh vào năm 1963 bởi các giáo sư John George Kemeny và
Thomas Eugene Kurtz thuộc viện Đại học Dartmouth.
- Ngôn ngữ Pascal phát triển vào năm 1970. Pascal là một ngôn ngữ lập trình cho máy tính
thuộc dạng mệnh lệnh, thích hợp cho kiểu lập trình có cấu trúc.
- Ngôn ngữ C được phát triển vào năm 1970 bởi Ken Thompson và Dennis Ritchie để dùng
trong hệ điều hành UNIX. Từ dó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở
thành một những ngôn ngữ phổ dụng nhất. Ngôn ngữ C là ngôn ngữ rất có hiệu quả và được ưa
chuộng nhất để viết các phần mềm hệ thống, mặc dù nó cũng được dùng cho việc viết các ứng
dụng.
- Ngôn ngữ Prolog xuất hiện từ năm 1972 do Alain Colmerauer và Robert Kowalski thiết
kế. Mục tiêu của Prolog là giúp người dùng mô tả lại bài toán trên ngôn ngữ của logic, dựa trên
đó, máy tính sẽ tiến hành suy diễn tự động dựa vào những cơ chế suy diễn có sẵn. Prolog được
sử dụng nhiều trong các ứng dụng của trí tuệ nhân tạo và ngôn ngữ học trong khoa học máy tính.
- Ngôn ngữ Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm
1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động. Python được
phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý.
Theo đánh giá của Eric S. Raymond, Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ
ràng, thuận tiện cho người mới học lập trình. Ban đầu, Python được phát triển để chạy trên nền
Unix. Nhưng rồi theo thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ MS-DOS đến
Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển
của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác
giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của
Python.
- Ngôn ngữ Java khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun Microsystems năm
1991. Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). 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ẽ
Trang 13
được môi trường thực thi chạy. Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập
trình thông dịch khác như C++, Python, Perl, PHP, C#...
- Ngôn ngữ 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.
- Ngôn ngữ Visual Basic là ngôn ngữ đa năng của Microsoft. Nó bao gồm Basic, ngôn ngữ
macro của Microsoft Office và công cụ phát triển ứng dụng nhanh. Visual Basic là một ngôn ngữ
lập trình hướng sự kiện và môi trường phát triển tích hợp kết bó được phát triển đầu tiên bởi
Alan Cooper dưới tên Dự án Ruby và sau đó được Microsoft mua và cải tiến nhiều. Visual Basic
đã được thay thế bằng Visual Basic .NET. Phiên bản cũ của Visual Basic bắt nguồn phần lớn từ
BASIC và để lập trình viên phát triển các giao diện người dùng đồ họa theo mô hình phát triển
ứng dụng nhanh, truy cập các cơ sở dữ liệu dùng DAO, RDO hay ADO và lập các điều khiển và
đối tượng ActiveX.
- Ngôn ngữ PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được
dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát.
Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các
ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng
sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một
ngôn ngữ lập trình web phổ biến nhất thế giới.
- Ngôn ngữ C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft,
là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo
Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa
trên C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic,
Delphi và Java.
- Ngoài ra còn rất nhiều ngôn ngữ lập trình cấp cao khác.
Như vậy ngôn ngữ cấp cao đã sử dụng các nguyên tắc sau để giải quyết vấn đề:
- Nguyên tắc phân nhỏ (nguyên tắc 1): các ngôn ngữ lập trình cấp cao sử dụng chương
trình con (gồm hàm và thủ tục) để chia chương trình lớn thành nhiều chương trình nhỏ, giúp lập
trình viên dễ kiểm soát lỗi, tránh việc một đoạn chương trình cứ lặp đi lặp lại nhiều lần.
- Nguyên tắc tách riêng (nguyên tắc 2): do ở ngôn ngữ lập trình cấp thấp chương trình
còn phụ thuộc vào bộ vi xử lý của máy tính, nên trong ngôn ngữ lập trình cấp cao người ta đã
tách các chương trình ra để không còn phụ thuộc vào bộ vi xử lý, như vậy chương trình có thể
chạy trên các loại máy tính khác nhau (sử dụng các bộ vi xử lý khác nhau).
Trang 14
- Nguyên tắc phẩm chất cục bộ (nguyên tắc 3): trong các ngôn ngữ hướng đối tượng
như C, C++, C#, … có các phương thức, mà mỗi phương thức có những tính năng khác nhau.
- Nguyên tắc phản đối xứng (nguyên tắc 4): khi khai báo kiểu byte, word trong ngôn
ngữ Pascal chẳng hạn chỉ bao gồm phần dương, không có phần âm, đây chính là áp dụng nguyên
tắc phản đối xứng. Vì trong khi viết chương trình, có đôi lúc người lập trình chỉ cần phần nguyên
dương, khi dùng kiểu byte, word sẽ tiết kiệm được vùng nhớ hơn.
- Nguyên tắc kết hợp (nguyên tắc 5): đối với ngôn ngữ Pascal thì dữ liệu và chức năng
là các thành phần riêng biệt, còn đối với các ngôn ngữ hướng đối tượng thì dữ liệu và chức năng
gộp chung lại trong một đối tượng. Ngoài ra các ngôn ngữ cấp cao còn cho phép kết hợp với mã
nguồn của hợp ngữ. Trong lập trình web có thể kết hợp nhiều ngôn ngữ lập trình để giúp thiết kế
web dễ dàng hơn, linh động hơn.
- Nguyên tắc vạn năng (nguyên tắc 6): ngôn ngữ cấp cao thông dụng ngày nay không
chỉ có thể viết ra những chương trình đơn giản mà còn có nhiều chức năng để đáp ứng nhu cầu
như kết hợp với các cơ sở dữ liệu để thiết kế phần mềm ứng dụng, thiết kế web, thiết kế giao
diện đồ họa,…
- Nguyên tắc chứa trong (nguyên tắc 7): tính kế thừa trong lập trình hướng đối tượng
đã áp dụng nguyên tắc chứa trong. Phương thức, dữ liệu của đối tượng được kế thừa sẽ chứa các
đối tượng kế thừa và đối tượng kế thừa có thêm nhiều tính năng mới, linh động hơn và tiết kiệm
được chi phí.
- Nguyên tắc linh động (nguyên tắc 15): trong ngôn ngữ lập trình hướng đối tượng,
kiểu đối tượng có thể sử dụng được mọi kiểu dữ liệu, tức là có thể tại thời điểm này cần sử dụng
kiểu số nguyên, nhưng tại thời điểm khác cần sử dụng kiểu chuỗi. Để đáp ứng nhu cầu ngày càng
cao của người sử dụng, ngày càng có nhiều ngôn ngữ lập trình mới giúp người lập trình có nhiều
lựa chọn hơn trong việc viết chương trình, càng về sau thì ngôn ngữ mới càng có giao diện thân
thiện hơn, dễ sử dụng hơn, giúp ích rất nhiều cho các lập trình viên chuyên nghiệp.
- Nguyên tắc vượt nhanh (nguyên tắc 21): một đặc điểm quan trọng trong ngôn ngữ
lập trình cấp cao là có các cấu trúc điều khiển như cấu trúc rẽ nhánh giúp cho chương trình hoạt
động hiệu quả hơn và nhanh hơn do vượt qua các điều kiện sai, còn cấu trúc lặp có thể sử dụng
thêm lệnh break, continue để vượt nhanh.
- Nguyên tắc chuyển hại thành lợi (nguyên tắc 22): khi viết chương trình, lập trình
viên có thể biến việc tràn số, tràn bộ đệm (có hại cho chương trình) để phát hiện các lỗ hỏng của
chương trình nhằm khắc phục các lỗi trên (chuyển thành có lợi).
- Nguyên tắc quan hệ phản hồi (nguyên tắc 23): dễ thấy nhất là ở ngôn ngữ Visual
Basic, C# …, khi người lập trình viết chương trình có lỗi hoặc khi khai báo biến mà không dùng
Trang 15
tới, khi chạy chương trình sẽ được phản hồi lại bằng cách tô màu dòng bị lỗi hoặc ra thông báo
cảnh báo.
- Nguyên tắc sử dụng trung gian (nguyên tắc 24): Tất cả các ngôn ngữ cấp cao đều
phải cần một chương trình dịch (phần trung gian) để dịch chương trình sang ngôn ngữ máy. Bởi
vì suy cho cùng, máy tính cũng chỉ hiểu được ngôn ngữ máy (là các bit nhị phân 0, 1).
- Nguyên tắc tự phục vụ (nguyên tắc 25): trong ngôn ngữ lập trình cấp cao có định
nghĩa sẵn một số hàm thông dụng, khi cần đến hàm này thì người lập trình chỉ cần gọi đúng tên
hàm cùng đối số của nó mà không cần phải định nghĩa hàm đó.
- Nguyên tắc đổi màu (nguyên tắc 32): các ngôn ngữ lập trình thông dụng như C#,
Visual Basic,… đều áp dụng nguyên tắc đổi màu, từ các menu đến các các control điều khiển
đều sử dụng nhiều màu sắc khác nhau giúp người lập trình dễ dàng phân biệt. Các thành phần
nào không được phép sử dụng trong một trường hợp nào đó thì sẽ có màu khác (thông thường
được làm mờ đi và có màu xám) so với các phần được phép sử dụng, giúp người lập trình dễ
thao tác hơn.
Qua bài thu hoạch này em nhận thấy rằng 40 nguyên tắc sáng tạo đã ứng dụng rất nhiều để
giải quyết các vấn đề trong tin học và trong cuộc sống. Do đó việc nắm vững 40 nguyên tắc sáng
tạo này sẽ giúp ích rất nhiều cho cuộc sống thực tế, chỉ cần giải quyết được một vấn đề nào đó
cũng có thể làm nên cuộc cách mạng công nghệ mới. Sau khi làm xong bài thu hoạch này, em đã
thay đổi cách suy nghĩ của mình rất nhiều, em nhận thấy rằng trong công việc cũng như trong
cuộc sống này luôn cần phải sáng tạo. Bởi vì chỉ có sáng tạo mới làm nên thành công.
Trang 16
PHẦN III: TÀI LIỆU THAM KHẢO
1. Bài giảng môn học “Phương pháp nhiên cứu khoa học trong tin học” .
GS.TSKH Hoàng Văn Kiếm
Chương trình đào tạo thạc sĩ CNTT qua mạng.
Trung tâm phát triển CNTT ĐH Quốc gia TP.HCM - 2005.
2. Giải một bài toán trên máy tính như thế nào ?( tập 1, 2, 3).
GS. TSKH Hoàng Kiếm.
Nhà xuất bản giáo dục – 2003.
3. Phương pháp luận nghiên cứu khoa học .
Vũ Cao Đàm.
Nhà xuất bản Khoa Học và Kỹ Thuật – 1999.
4. Phương pháp luận nghiên cứu khoa học .
Phạm Viết Vượng.
Nhà xuất bản Đại Học Quốc Gia Hà Nội – 2000.
5. Phương pháp luận sáng tạo khoa học – kỹ thuật.
Phan Dũng.
Trung tâm sáng tạo khoa học – kỹ thuật.
Trường Đại Học Khoa Học Tự Nhiên TP.HCM – 2002.
6. Phương pháp và phương pháp luận nghiên cứu khoa học kinh tế.
PGS. TS Nguyễn Thị Cành
Nhà xuất bản Đại Học Quốc Gia TP.HCM - 2004
Các file đính kèm theo tài liệu này:
- cao_thi_thuy_linh_ch1101099_nckh_trong_th_1043.pdf