40 nguyên tắc sáng tạo ứng dụng trong tin học

  • Số trang: 17 |
  • Loại file: PDF |
  • Lượt xem: 16 |
  • Lượt tải: 0
nganguyen

Đã đăng 34173 tài liệu

Mô tả:

Tiểu luận 40 nguyên tắc sáng tạo ứng dụng trong tin học 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 1 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 2 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 3 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 4 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 5 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 6 - 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 7 - 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 8 - 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 9 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 10 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 11 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 12 đượ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 13 - 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 14 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 15 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 Trang 16
- Xem thêm -