New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Lisp – Wikipedia tiếng Việt

Lisp

Bách khoa toàn thư mở Wikipedia

Lisp là ngôn ngữ lập trình được phát triển từ rất sớm (1958). Lisp, viết tắt của LISt Processing có cấu trúc dữ liệu nền tảng là các danh sách liên kết (linked list). 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 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ố.

Mục lục

[sửa] Lịch sử

Lisp được John McCarthy đề xuất vào năm 1958 tại MIT. Steve Russell đã chuyển từ ý tưởng sang thực tế trên máy tính. Trình biên dịch Lisp đầu tiên được viết bởi Tim Hart và Mike Levin (1962) bằng chính ngôn ngữ Lisp.

Lisp đã được sử dụng rộng rãi trong lĩnh vực trí tuệ nhân tạo.

[sửa] Đặc điểm

  • Lisp có cú pháp thuần nhất. Cấu trúc chung của Lisp là danh sách liên kết biểu thị bởi cặp ngoặc đơn, bên trong là các phần ngăn cách bởi dấu trống (space).
(phần-1  phần-2  phần-3     ...  )

Trong đó mỗi phần có thể là:

    • hàm: Trong Lisp, hàm có nghĩa rộng bao gồm cả chương trình con / thủ tục, các câu lệnh, các toán tử trong các ngôn ngữ lập trình thủ tục nói chung.
    • biến: một biến trong Lisp có thể nhận bất kì kiểu dữ liệu nào
    • nguyên tố (atom): bao gồm các giá trị số (nguyên / thực), kí tự, chuỗi kí tự, boolean và kí hiệu (symbol)

Ví dụ:

Hàm căn bậc hai: (sqrt 2)

Lệnh in ra màn hình: (princ "Common Lisp")

Phép tính cộng trong đó hàm là toán tử: (+ 3 5)

Cú pháp như vậy được gọi chung là biểu thức S (S-expression hay Sexp). Một chương trình Lisp thực ra là một biểu thức S lớn mà mỗi phần của nó gồm nhiều biểu thức S con khác.

  • Hàm cũng là một đối tượng.
  • Lập trình kiểu động.
  • Thu rác trong bộ nhớ (Garbage collector)
  • Gói chương trình
  • Biên dịch tăng dần (Incremental compiling): Trong khi phát triển chương trình có thể sử dụng các hàm được biên dịch cùng với các hàm được thông dịch.

[sửa] Cú pháp

Một số cú pháp cơ bản của Lisp như sau:

  • Khai báo hàm
(defun tên-hàm (danh-sách-tham-số) (nội-dung-của-hàm))
  • Gán
(setq tên-biến giá-trị)
  • Khối lệnh
(progn (lệnh-1) (lệnh-2) ... )
  • Chọn / rẽ nhánh
(if (biểu-thức-so-sánh) (nhánh-đúng) (nhánh-sai) )
(cond
  ((biểu-thức-1) (nhánh-1))
  ((biểu-thức-2) (nhánh-2))
  ...
 )
  • Lặp
(while (điều-kiện)
  (lệnh)
 )

[sửa] Các dòng Lisp

Trong quá trình phát triển, có nhiều dòng Lisp khác nhau như: MacLisp, ZetaLisp, Franz Lisp v.v... Với nguyện vọng thống nhất một chuẩn chung cho Lisp, Common Lisp (CL) đã ra đời. Tuy vậy, hiện nay cũng có nhiều bản của Common Lisp như Allegro CL, LispWork (các phiên bản thương mại), và CMU CL, SBCL (các phiên bản tự do).

Một nhánh phát triển khác của Lisp là Scheme, một ngôn ngữ Lisp rút gọn với vài thay đổi về các từ khóa. Scheme là ngôn ngữ được giảng dạy phổ biến tại Hoa Kỳ.

Lisp còn là công cụ lập trình mạnh mẽ bên trong các chương trình AutoCAD và Emacs.

[sửa] Xem thêm

  • Trang web của Peter Norvig.[1]
  • Practical Common Lisp của Peter Siebel.[2]
Các ngôn ngữ lập trình chính (xem thêm) (sửa)

Dùng cho kỹ nghệ: ABAP | Ada | AWK | BASH | Assembly | C | C++ | C# | Delphi | DHTML | Fortran | Java | JavaScript | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | Ruby | SAS | sed | Smalltalk | Tcl | sh | Visual Basic | VBScript | VBA | VB.NET | Scheme | HTML | XML

Dùng để giảng dạy: C | C++ | Eiffel | DHTML | Fortran | Haskell | Java | JavaScript | Logo | ML | Prolog | Scheme | Visual Basic | Visual FoxPro|

Có giá trị lịch sử: ALGOL | APL | BASIC | Clipper | COBOL | MUMPS | Pascal | PL/I | PowerBuilder | Simula

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu