Share to: share facebook share twitter share wa share telegram print page

 

Lập trình meta

Lập trình meta hay còn gọi là siêu lập trình là việc tiến hành một trong hai thao tác (hay cả hai) sau:

  • Công việc viết một chương trình máy tính mà chương trình này lại điều chỉnh hay soạn thảo một chương trình khác (hay điều chỉnh chính nó) như là dữ liệu của lập trình meta
  • Công việc viết một chương trình máy tính mà một phần của công việc này chỉ hoàn tất trong thời gian dịch mã.

Trong đa số các trường hợp thì, vận dụng lập trình meta có thể giúp lập trình viên hoàn tất nhiều việc hơn trong cùng một thời gian so với họ làm điều đó bằng tay.

Trong một ý nghĩa riêng biệt, thì đây bao gồm phương pháp tạo ra mã của một ngôn ngữ lập trình một cách tự động thông qua một ngôn ngữ lập trình nào đó.

Một thí dụ đơn giản để minh họa là văn lệnh BASH sau, được dùng trong lập trình tạo mã (generative programming):

#!/bin/bash
# metaprogram
echo '<HTML>' >metaprogram.htm
echo '<head>' >>metaprogram.htm
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">' >>metaprogram.htm
echo '<meta http-equiv="Content-Language" content="vi">' >>metaprogram.htm
echo '<title>My Automatic WEB Page</title>' >>metaprogram.htm
echo '</head> ' >>metaprogram.htm
echo '<body> ' >>metaprogram.htm
echo 'Mã của trang WEB này được tự động tạo ra từ ngôn ngữ BASH' >>metaprogram.htm 
echo '</body> ' >>metaprogram.htm
echo '</html> ' >>metaprogram.htm

Chương trình trên đã dùng ngôn ngữ BASH để viết ra một chương trình khác (dùng ngôn ngữ HTML). Chương trình này được viết trong một tập tin tên là metaprogram.htm. Khi thực thi thì tập tin metaprogram.htm sẽ được tạo ra có nội dung là:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="vi">
</head>
<body>
Mã của trang WEB này được tự động tạo ra từ ngôn ngữ BASH
</body>
</html>

Chương trình metaprogram.htm chỉ đơn giản là một trang mã HTML. Khi thực thi bởi máy truy cập, nó hiển thị dòng chữ Mã của trang WEB này được tự động tạo ra từ ngôn ngữ BASH. Với phương pháp này, người ta có thể tạo ra hàng loạt trang mã có một số đặc tính chung (về hình thức trình bày hay về một số nội dung chẳng hạn).

Không phải mọi cách lập trình meta đều bao gồm lập trình tạo mã. Nếu các chương trình được điều chỉnh trong thời gian thực thi (như là Lisp, Smalltalk, Ruby, và v.v...) thì các kỹ thuật này có thể được dùng để tiến hành lập trình meta mà không cần tạo ra mã nguồn.

Ứng dụng

Xem thêm

Tham khảo

Liên kết ngoài

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9