VicoTas
Câu hỏi
Manh Linh manhlinh
25/05/2013 20:27

Cách phân loại kiểu ngôn ngữ và tư duy lập trình?



Danh sách câu trả lời (1)
avatar banlaban3 25/05/2013 20:27
Sau đây là một trong những cách phân loại phổ biến:

Logic Programming: Lập trình logic - ví dụ: prolog. một phương pháp tiếp cận việc biểu diễn tri thức và giải các bài toán lôgic từ một cơ sở tri thức cho trước trên máy tính. Một cơ sở tri thức là một tập các sự kiện và các luật biểu diễn quan hệ lôgic giữa các sự kiện đó. LTL xuất phát từ một cơ sở tri thức và một câu hỏi, tiến hành các lập luận lôgic để tìm ra lời giải cho câu hỏi đó.

Functional Programming: cách lập trình, sử dụng các hàm hiểu theo nghĩa toán học làm cấu trúc điều khiển của chương trình. (VD: Lisp)

Imperative Programming (Structural Programming - Lập trình có cấu trúc): kĩ thuật lập trình dựa trên quan niệm phân tích một chức năng xử lí thông tin thành các chức năng nhỏ hơn, làm mịn dần quá trình này cho tới khi xây dựng được các đơn thể. Chương trình chỉ dùng các cấu trúc điều khiển cơ bản: tuần tự, rẽ nhánh, lặp và ra khỏi lặp. LTCCT sử dụng cách tiếp cận từ trên xuống, tức là phân tách từ toàn thể đến bộ phận, rồi lại từ bộ phận đến bộ phận nhỏ hơn. Các đơn thể trong một chương trình có cấu trúc có tính độc lập tương đối cao, chỉ giao tiếp với nhau thông qua giao diện đã xác lập trước, do đó LTCCT có một số ưu điểm: dễ phân công nhiều người cùng lập một chương trình, dễ thử và hiệu chỉnh chương trình. (VD: C, Pascal)

Concurrent Programming: Lập trình song song. Chia một vấn đề làm 2 phần và giải quyết song song với nhau (VD: Ada, Erlang, Java .v.v.)

Object-Oriented Programming: cái này thì khỏi giải thích ai cũng biết tongue.gif (Java, Ruby, C++ .v.v.)

Một ngôn ngữ không nhất thiết là chỉ được phép thuộc 1 trong 5 loại trên, mà có thể hỗ trợ nhiều kiểu tư duy khác nhau.

Tóm lại là học lập trình không chỉ là đếm số ngôn ngữ mình học được, mà phải là học được càng nhiều cách tư duy càng tốt (để tránh bị gọi là ếch ngồi đáy giếng). Có 5 cách tư duy như trên thì tớ nghĩ lập trình viên thực thụ sẽ nói 6 ngôn ngữ không phải là nhiều smile.gif Đó là chưa kể dần dần sẽ có một số ngôn ngữ bị lỗi thời, và bạn sẽ phải học thêm các ngôn ngữ mới để tránh nguy cơ bị lạc hậu.

(Những khái niệm trên tớ lấy từ từ điển bách khoa VN online biggrin.gif)

Tất nhiên những người biết 3, hay thậm chí 1 ngôn ngữ thì chưa chắc đã là không giỏi bằng. Tớ chỉ muốn nói là không nên giới hạn số ngôn ngữ mình sẽ học chỉ vì sợ bị loạn kiến thức tongue.gif Thực tế là biết càng nhiều ngôn ngữ càng tốt, và càng giúp cho việc học các ngôn ngữ khác nhanh hơn.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
nophoto Rss nghĩa là gì?

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Khi tạo 1 from Input chỉ điền đc số??

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Các bạn có thể cho mình biết các bước để tạo một Website bằng PHP được không??

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

Đức Việt Giúp mình làm Form đăng nhập trong Access 2003 với!!!

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Bạn nào có tài liệu Java ko Share cho mình vơi

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Mình muốn update xâu ký tự kiểu "String" vào trong Cơ sơ có kiểu dữ liệu "Image" ?

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Cách xử lý ảnh để lấy được chữ mình muốn

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Xin hỏi Cách write chữ lên cửa sổ Graph trong Pascal?

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

Link Em đang học lập trình C/C++

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Bác nào cho em hỏi COOKIE và SESSION là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Điểm giống và khác nhau giữa Cookie và Session

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto em muốn hỏi mọi người là làm như thế nào để có một chiếc Laptop tốt và vừa với số tiền mình có ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto trong hệ thống số nhị phân 1byte bằng bao nhiêu bít?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto trong linux lệnh tạo thư mục là gì nhỉ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto lệnh chuyển vào thư mục trong linux là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

dang duc thang trong HDH linux lệnh copy dung nhu the nao?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Trong HDH linux có sử dụng được lệnh for như trong C++ không?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto ngôn ngữ lập trình cấp cao là gì ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto lập trình trong C# 2005 có khác VS C++ không?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Lập trình Cấu trúc là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

Rao vặt Siêu Vip