Txheej txheem txheej txheem yog programming uas qhia txog keeb kwm ntawm Neumann architecture ntawm lub computer. Tag nrho cov kev pab cuam sau ua hom lus no yog ib ntu ntawm cov lus txib uas tsim kom muaj qee qhov kev daws teeb meem rau kev daws teeb meem tshwj xeeb. Cov lus txib tseem ceeb tshaj plaws yog txoj haujlwm ua haujlwm, uas yog tsim los tsim thiab kho cov ntsiab lus hauv lub computer nco.
Lub tswv yim tseem ceeb ntawm cov lus no yog dab tsi?
Qhov tseem ceeb ntawm cov txheej txheem programming lus yog kev siv lub cim xeeb hauv computer los khaws cov ntaub ntawv. Kev ua haujlwm ntawm qhov kev zov me nyuam raug txo qis mus tas li thiab hloov pauv ntawm cov lus txib sib txawv txhawm rau hloov pauv cov ntsiab lus ntawm lub cim xeeb, hloov nws lub xeev thawj zaug thiab nqa cov txiaj ntsig xav tau.
Nws pib ua li cas
Txheej txheem txheej txheem pib nrog kev tsim cov lus qib siab hu ua Fortran. Nws tau tsim nyob rau thaum ntxov tsib caug xyoo hauv Tebchaws Meskas los ntawm IBM. Thawj cov ntawv tshaj tawm txog nws tsuas yog tshwm sim hauv xyoo 1954. Cov txheej txheem txheej txheem qhia kev kawm lus Fortran tau tsim los ua cov haujlwm tshawb fawb thiab thev naus laus zis. Cov khoom tseem ceeb ntawm cov lus yog cov lej sib txawv, tus lej tiag thiab tus lej. Tag nrho cov kab lus yog tsim los ntawm plaub qhov kev suav lej tseem ceeb: exponentiation, kev ua haujlwm piv txwv, kab lus, kev ua kom pom tseeb THIAB, tsis yog, OR.
Cov neeg ua haujlwm tseem ceeb ntawm cov lus yog cov zis, tawm tswv yim, kev hloov pauv (tso cai, tsis muaj cai), hu xov tooj rau subroutines, loops, ua haujlwm. Cov txheej txheem txheej txheem hauv hom lus Fortran tau nrov tshaj plaws hauv ntiaj teb rau lub sijhawm ntev heev. Thaum lub sijhawm muaj cov lus, cov ntaub ntawv loj loj ntawm ntau lub tsev qiv ntawv thiab cov kev pabcuam tau sau tseg uas tau sau tshwj xeeb hauv Fortran. Tam sim no kev ua haujlwm tseem tab tom pib ntawm kev qhia txog tus qauv Fortran tom ntej. Nyob rau hauv 2000, ib tug version ntawm Fortran F2k tau tsim, uas nws tus qauv version hu ua HPF. Nws yog tsim los rau parallel supercomputers. Los ntawm txoj kev, PL-1 thiab BASIC cov lus siv ntau tus qauv los ntawm Fortran.
Cov lus
Cobol yog cov txheej txheem kev ua haujlwm. Qhov no yog ib hom lus programming los daws ntau yam teeb meem ntawm kev ua cov ntaub ntawv. Nws yog nquag siv los daws ntau yam kev tswj hwm, suav nyiaj thiab nyiaj txiag teeb meem. Cov txheej txheem txheej txheem hauv Cobol tau tsim hauv Tebchaws Meskas hauv xyoo 1958-1960. Qhov kev pab cuam nws tus kheej, tsim nyob rau hauv Cobol, muaj ntau hom kab lus hom lus Askiv, zoo li cov ntawv nyeem zoo tib yam. Lub ntsiab lus yog cov pab pawgCov neeg ua haujlwm sau ua ntu zus tau muab tso ua ke rau hauv tag nrho cov kab lus, cov kab lus lawv tus kheej raug muab tso rau hauv kab lus, thiab cov kab lus tau muab ua ke rau hauv ntu. Tus programmer nws tus kheej muab cov npe lossis cov ntawv sau rau cov kab lus thiab cov ntu uas tau xaiv los ua kom yooj yim rau kev xa mus rau ib ntu ntawm cov cai. Nyob rau hauv lub Soviet Union, ib tug Lavxias teb sab version ntawm qhov kev pab cuam tau tsim thiab siv tau zoo heev nyob rau hauv xyaum.
Txoj kev qhia txog kev ua haujlwm hauv cov lus Cobol tau paub ua tsaug rau cov cuab yeej ua haujlwm muaj zog uas tuaj yeem ua cov ntaub ntawv loj loj uas tau khaws cia rau ntawm ntau lub zog sab nraud. Muaj ntau daim ntawv thov sau ua hom lus no uas tau siv tam sim no.
Qhov tseeb txaus ntshai: cov programmers them nyiaj siab tshaj plaws hauv Asmeskas sau cov haujlwm hauv Cobol.
Algol lus
Cov lus txheej txheem txheej txheem no tau tsim los ntawm tag nrho pawg kws tshaj lij hauv xyoo 1960. Qhov no yog qhov tshwm sim ntawm kev pib ntawm kev koom tes ntawm thoob ntiaj teb. Algol tau tsim los rau kev saib xyuas ntawm algorithms uas tau tsim nyob rau hauv daim ntawv ntawm ib theem ntawm qee cov txheej txheem uas tau siv los daws cov haujlwm. Thaum xub thawj, cov lus tau pom me ntsis tsis meej pem, tab sis nws tau lees paub nyob rau theem thoob ntiaj teb, nws tau ua lub luag haujlwm loj hauv kev txhim kho cov ntsiab lus tseem ceeb ntawm kev ua haujlwm thiab kev qhia cov tiam tshiab ntawm programmers. Cov txheej txheem kev ua haujlwm hauv Algol yog thawj zaug los qhia txog cov ntsiab lus xws li "program block structure", "dynamic memory allocation".
Muaj ib qho ntxiv ntawm cov lus -qhov no yog qhov muaj peev xwm nkag mus rau qee cov cim hauv zos hauv qhov thaiv uas tsis siv rau tus so ntawm qhov program code. Yog lawm, Algol-60, txawm tias nws keeb kwm thoob ntiaj teb, tsis yog nrov li Fortran.
Tsis yog txhua lub khoos phis tawj txawv tebchaws muaj cov neeg txhais lus los ntawm Algol-60, yog li cov txheej txheem txheej txheem no tau hloov pauv thiab kev txhim kho Algol-68 hom lus tau tshwm sim.
Algol-68
Nws twb yog ntau yam thiab ntau lub hom phiaj kev ua haujlwm siab heev. Nws lub ntsiab feature yog tias nrog tib qhov kev pab cuam nws tuaj yeem txhais los ntawm ntau hom lus yam tsis tau them nqi rau kev hloov cov lus no rau ntau pawg ntawm cov programmers uas yuav muaj cov lus tshwj xeeb ntawm cov lus.
Yog tias peb txiav txim siab lub peev xwm ntawm cov lus no, Algol-68 tseem yog tam sim no ua ntej ntawm ntau hom lus programming hais txog nws lub peev xwm, txawm li cas los xij, vim tias tsis muaj cov khoos phis tawj zoo rau cov lus txheej txheem txheej txheem no., nws tseem tsis tau muaj peev xwm los tsim kom tau cov khoom zoo thiab ceev ceev.
BASIC nto moo tshwm sim li cas?
Cov txheej txheem txheej txheem cov lus kuj suav nrog BASIC nrov hauv ntiaj teb. Nyob rau hauv nruab nrab-sixties, cov neeg ua hauj lwm nyob rau hauv Dartmouth College hu ua Thomas Kurtz thiab John Kemeny tsim ib tug tshwj xeeb programming lus uas muab txhua yam upside down nyob rau hauv lub ntiaj teb no. Nws muaj cov lus Askiv yooj yim tshaj plaws thiab cov lus tshiab tau lees paub tias yog txoj cai thoob ntiaj teb rau cov pib tshiab, lossis lwm yam lus BASIC. Xyoo yugCov lus no ntseeg tau tias yog xyoo 1964. BASIC tau dhau los ua thoob plaws hauv PC hauv hom kev sib tham sib tham. Vim li cas BASIC thiaj li nrov? Tag nrho vim qhov tseeb tias nws yooj yim npaum li ua tau rau tus tswv, ntxiv rau, cov lus tau pab daws ntau yam kev tshawb fawb, kev lag luam, kev ua haujlwm, kev ua si thiab txawm tias ua haujlwm txhua hnub. BASIC muaj cov cai sib txawv, uas tam sim no suav hais tias yog ib qho cim ntawm qhov tsis zoo hauv kev ua haujlwm. Tom qab ntawd, ntau yam ntawm cov lus no tau tshwm sim hauv ntiaj teb, uas feem ntau tsis sib xws, txawm li cas los xij, nkag siab ib qho ntawm cov qauv, koj tuaj yeem yooj yim tswv rau lwm tus. Tus thawj version tsuas muaj ib tug neeg txhais lus xwb, tab sis tam sim no kuj muaj ib tug compiler.
Nyob rau thaum ntxov xyoo pua, tag nrho cov lus uas twb muaj lawm tau tsom mus rau kev daws teeb meem ntau yam, tab sis lawv kuj tau khi rau ib qho kev siv computer tshwj xeeb. Qhov no tau suav tias yog qhov tsis zoo, yog li nws tau txiav txim siab los tsim cov lus programming thoob ntiaj teb.
PL/1
Nov yog thawj hom lus siv thoob ntiaj teb uas tau tsim hauv Tebchaws Meskas los ntawm IBM. Xyoo tsim 1963-1966. Nws ntseeg tau tias qhov no yog ib hom lus tshaj plaws, nws tau hloov kho los daws ntau yam teeb meem hauv kev siv tshuab computer: kev npaj, kev kawm ntawm ntau yam txheej txheem suav, kev ua qauv thiab daws cov teeb meem kev xav, kev kawm ntawm cov logic circuits, kev txhim kho. ntawm systems rau lej software.
Thaum PL/1 tau tsim, ntau lub tswv yim thiab cov cuab yeej los ntawm Algol-60, Fortran, Cobol tau siv hauv kev xyaum. PL/1 suav hais tias yog hom lus hloov tau yooj yim thiab nplua nuj tshaj plaws, nws tso caitsim cov ntawv ntxig, kho cov ntawv tiav cov ntawv nyeem txawm tias thaum lub sijhawm debugging. Cov lus tau nthuav dav, thiab cov neeg txhais lus los ntawm nws tau siv ntau hom computers. IBM txawm tias tam sim no tseem txhawb cov lus no.
Pascal
Pascal yog ib hom lus nrov heev, tshwj xeeb tshaj yog siv rau cov khoos phis tawj ntawm tus kheej. Cov txheej txheem programming lus no tau tsim los ua hom lus kawm, lub xyoo ntawm nws qhov kev tsim yog 1968-1971. Tsim los ntawm Niklaus Wirth ntawm ETH hauv Zurich. Cov lus programming no tau muaj npe tom qab tus kws lej Fabkis txoj lej thiab tus kws tshaj lij Blaise Pascal. Wirth lub luag haujlwm tseem ceeb yog los tsim ib hom lus uas yuav ua raws li qhov yooj yim syntax, ib qho me me ntawm cov qauv yooj yim uas tau hloov mus rau hauv tshuab code siv lub tshuab ua ke. Nws tsim nyog sau cia tias nws ua tiav.
Cov txheej txheem txheej txheem ntawm Pascal programming yog ua raws li cov hauv qab no:
- Structured programming. Hauv qhov no, subroutines yog siv, cov ntaub ntawv ywj pheej. Tus programmer tswj los tsim cov lej nyeem tau yooj yim, nkag siab cov qauv kev pab cuam, simplifies sim thiab debugging.
- Programming ua los ntawm sab saum toj mus rau hauv qab. Txoj haujlwm tau muab faib ua cov haujlwm yooj yim kom daws tau, thiab raws li kev tsim ua haujlwm subtasks, qhov kawg kev daws teeb meem ntawm txoj haujlwm dav dav twb tau tsim.
C lus
Procedural Programming C tsim los ntawm Bell Labs los siv UNIX operating system, tsis yog thawj zaug suav tias yogpawg. Cov neeg tsim khoom muaj cov phiaj xwm los hloov cov Assembler, tab sis tsuas yog ib hom lus C cais tau tshwm sim, nws yog qhov tshwj xeeb uas nws muaj peev xwm ntawm cov lus programming siab thiab tib lub sijhawm nws muaj txoj hauv kev nkag mus rau kev sib raug zoo. Cov lus C tsis muaj lub tswv yim ntawm cov txheej txheem, cov syntax yog qhov yooj yim heev, tsis muaj cov ntaub ntawv nruj heev, muaj peev xwm nthuav tawm ob peb yam ua ib zaug suav nrog. Cov lus no tam sim ntawd nyiam cov neeg siv programmers, muab sijhawm ntxiv rau kev tsim cov kev pabcuam nthuav. Txog niaj hnub no, hom lus C yog qhov nrov heev, nws tau siv dav los ntawm cov kws tshaj lij hauv kev ua haujlwm. Tam sim no nws tau siv nyob rau hauv ntau lub computer platforms.
Dab tsi tshwj xeeb ntawm cov lus txheej txheem?
Tseem muaj ob peb tug xwb, yog li txhua tus tsim nyog tham txog. Nov yog:
- Module. Ib daim ntawm qhov kev pab cuam uas tau txais kev cawmdim nyob rau hauv ib daim ntawv cais. Lub module siv ib txheej ntawm cov kev xaiv uas cuam tshuam nrog qee qhov sib txawv, qhov tsis tu ncua lossis khoom.
- Function. Qhov no yog ib qho ua tiav, ywj siab ntawm cov cai uas daws tau qhov teeb meem tshwj xeeb.
- Data type. Lub tswv yim no hais txog qee yam ntawm cov ntaub ntawv uas tau txhais rau ib hom.
Qhov sib txawv ntawm cov txheej txheem thiab cov phiaj xwm taw qhia
Ntau tus programmers paub tias cov txheej txheem thiab hom lus hais txog kev ua haujlwm tau siv rau hauv kev xyaum thaum tsim software lossis web applications. Qhov txawv yog dab tsi? Txhua yam yog yooj yim, txheej txheem thiab khoom-Kev qhia kev taw qhia yog siv txhua qhov chaw hauv kev xyaum, tab sis muaj qee cov ntsiab lus txawv. Thaum lub sij hawm ua hauj lwm, tus programmer, teem nws tus kheej ib txoj hauj lwm, lov nws mus rau hauv me me, xaiv tej yam lus constructs rau kev siv (loops, functions, ceg, structural tswv). Qhov no txhais tau hais tias tus kws kho mob tshwj xeeb raug coj los ntawm cov txheej txheem txheej txheem.
OOP suav nrog lub tswv yim ntawm "khoom", txwv tsis pub lawv tseem hu ua cov piv txwv hauv chav kawm, vim tias ntau ntau tau txais los ntawm chav kawm. Kev cuab yeej cuab tam yog lwm qhov ntawm cov ntsiab lus sib txawv ntawm OOP.
Cov txheej txheem thiab cov lus ua haujlwm
Txoj haujlwm thiab kev ua haujlwm ua haujlwm zoo ib yam lossis tsis? Kev ua haujlwm ua haujlwm tau tsom mus rau kev daws teeb meem hauv kev ua lej tsis sib xws, thaum cov txheej txheem txheej txheem yog lub tswv yim dav me ntsis thiab suav nrog ntau hom lus programming los daws qee yam teeb meem.
Yuav xaiv dab tsi rau koj tus kheej?
Ntau yam lus txheej txheem txheej txheem dhau los. Yog lawm, qee qhov ntawm lawv tseem tab tom txhim kho, tab sis tseem tsim nyog them nyiaj rau tsuas yog ib feem ntawm lawv. Piv txwv li, hom lus C. Nws muaj ntau niaj hnub no nyob rau hauv lub ntiaj teb no, ntau niaj hnub platforms tau tsim tshwj xeeb hauv cov lus C, yog li yog tias koj xav tsim kho nyob rau hauv lub teb ntawm programming, ces koj yuav tsum tau paub cov lus C zoo dua., koj tuaj yeem xaiv qee yam rau koj tus kheej lwm tus, tsis tas yuav cuam tshuam nrog cov txheej txheem kev ua haujlwm hom lus.