You are on page 1of 17

Cc b cng c lp trnh thi i

Published on Thursday, 29 August 2013 Written by ThS. Bch g!c "#$ng


I. Tho lun
%&' tr(nh l) *+t l,nh -.c /uan tr!ng trong th0 gi1i 23ng ngh4 th3ng tin. 56c d7 l,nh -.c n)y ch8 thu+c -9 *+t
s: ;t ng#<i tr=n th0 gi1i > theo ngh,a n)o ?@ l) thu+c -9 cAc l&' tr(nh -i=n, nh#ng %&' tr(nh c@ -ai trB -) t;nh
chCt /uy0t ?Dnh ?:i -1i s. 'hAt triEn cFa 23ng ngh4 th3ng tin n@i chung -) PhGn *9* n@i ri=ng. BCt HI s. ?+t
'hA n)o trong Jng dKng 2TT ?9u c@ dCu Cn cFa c3ng ngh4 l&' tr(nh, bLi -( %&' tr(nh ch;nh l) /uA tr(nh c:t lMi
to ra cAc sNn 'hO* 'hGn *9*.
Tr#1c nhPng nQ* 1990 ng#<i ta cho rRng ng3n ngP l&' tr(nh /uy0t ?Dnh H0t /uN l&' tr(nh. 2hSng hn, trong
*+t t(nh hu:ng cK thE n)o ?@, ch#$ng tr(nh -i0t bRng 2TT th( t:t h$n Pascal, -i0t bRng Pascal th( t:t h$n
Uortran... Vhi cAc c3ng cK l&' tr(nh cBn th3 s$ -) cAc y=u cGu 'hGn *9* ch#a cao th( nh&n ?Dnh n)y l) HhA
ch;nh WAc.
Sau ?@ ng#<i ta cho rRng c3ng ngh4 l&' tr(nh *1i Nnh h#Lng l1n nhCt ?0n sNn 'hO* cu:i c7ng, s. th:ng trD
trong th&' HX 90 cFa l&' tr(nh h#1ng ?:i t#Yng -) ZA" [-i0t t\t cFa Za'id A''lication "e-elo'*ent ngh,a l)
23ng cK 'hAt triEn Jng dKng nhanh, th#<ng g!i l) l&' tr(nh tr.c /uan hay ]isual Progra**ing^ ?_ cho thCy t#
duy cFa ng#<i l&' tr(nh bD Nnh h#Lng bLi n9n tNng 'hAt triEn 'hGn *9*. Vh3ng ai 'h= 'hAn "el'hi > 'hi=n bNn
'hAt triEn t` ng3n ngP Pascal l) Ha* h$n ba-a hay ]isual 2TT.
Tuy *1i c@ 1c20 th<i gian cFa th0 HX 21 tr3i /ua nh#ng t` ?Gu th0 HX ?0n nay 23ng ngh4 th3ng tin ?_ c@ nhPng
b#1c 'hAt triEn *nh *d trong ?@ c@ 23ng ngh4 'hGn *9*. hu cGu se dKng 'hGn *9* -) y=u cGu ?:i -1i
'hGn *9* ?+t nhi=n tQng -!t Hhi0n nhi9u nh) 'hAt triEn 'hGn *9* 'hNi We* li cAch l)* -i4c cFa *(nh. f@
ch;nh l) c$ sL cho s. 'hAt triEn r+ng r_i tr=n to)n th0 gi1i cFa ng)nh 23ng nghi4' 'hGn *9* hi4n nay. g#<i ta
Hh3ng ch8 /uan tg* ?0n c3ng ngh4 l&' tr(nh *) cBn /uan tg* ?0n /uy tr(nh 'hAt triEn 'hGn *9*.
2Ac c3ng ty b\t ?Gu chuOn h@a -) ?#a ra /uy tr(nh c3ng ngh4 'hGn *9* cFa *(nh > L ?@ -i4c l.a ch!n b+ c3ng
cK l&' tr(nh c@ -ai trB rCt /uan tr!ng. 2Ac b+ c3ng cK l&' tr(nh hi4n nay c@ Wu h#1ng th:ng nhCt -) t#$ng tAc
-1i nhau ch6t chd. h t#Lng n)y ?_ t`ng WuCt hi4n trong th&' HX tr#1c, ti=u biEu nh# 2iZBA cFa Sun hay
"el'hi > 2TT Builder Project knion cFa Borland, tuy nhi=n Hhi ?@ chlng ch#a ?#Yc #a chu+ng. Vhi ]isual
Studio.mT cFa 5icrosont ra ?<i nQ* 2002, ng#<i ta nh&n thCy rRng cAc c3ng cK l&' tr(nh n=n ?i -1i nhau
th)nh ob+o. f0n th<i ?iE* hi4n nay giNi 'hA' -9 c3ng cK l&' tr(nh cFa cAc nh) 'hAt triEn lu3n ?#Yc nh\c ?0n
nh# ob+ c3ng cKo. 5+t -; dK -9 p ngh, cFa 2 l&' tr(nh -i=n /ua 3 giai ?on n)y nh# sauq
II. B cng c lp trnh - mt s ph!n loi
ri4n nay c@ rCt nhi9u ng3n ngP l&' tr(nh [%T^ -) rCt nhi9u c3ng cK l&' tr(nh [22%T^. 5+t 22%T c@ thE g\n
li9n -1i *+t %T ho6c Hh3ng > ?gy l) ?i9u *) *+t s: ;t ng#<i Hh3ng c@ Hinh nghi4* Hh3ng h9 bi0t. T3i -)
bn bs ?_ t`ng c@ tha* -!ng 'hgn loi cAc %T -) 22%T cho r)nh r!t, rM r)ng ?E c@ ?#Yc cAi nh(n ttng /uan
-) h4 th:ng -9 lDch se cAc %T -) 22%T. Tuy nhi=n -i4c ?@ /uA Hh@ HhQn do th<i gian -) tr(nh ?+ cFa chlng
t3i c@ hn. r$n nPa t(* ra *+t cAch ?E 'hgn loi We* ra ?_ Hh@ chJ ch#a ?0n llc th.c hi4n 'hgn loi.
Ta c@ thE 'hgn loi theo %Tq "Bng 2 c@ ]isual 2TT, 2TT Builder... "Bng Pascal c@ Borland Pascal,
"el'hi...
ray theo 'h* -i se dKngq "Bng l&' tr(nh h4 th:ng c@ 5icrosont Asse*bly, Borland 2... "Bng l&' tr(nh tr.c
/uan c@ ]isual Basic, bbuilder... "Bng l&' tr(nh *ng c@ ba-a, ASP, PrP... ray theo 'hong cAch l&' tr(nhq "Bng
ct ?iEn c@ Pascal, Uortran... "Bng h#1ng ?:i t#Yng c@ 2TT, S*allTalH, ba-a...
ray theo n$i Jng dKngq "Bng tr=n Windous c@ ]isual Studio, "el'hi... "Bng tr=n %inuW c@ VyliW, vT... "Bng
tr=n ueb c@ ASP, bSP...-.-...
0u *Kc ?;ch ?Gu ti=n cFa -i4c 'hgn loi n)y l) c@ ?#Yc cAi nh(n lDch se, th( *+t *Kc ?;ch HhAc cwng /uan
tr!ng Hh3ng Ha* ?@ l) th3ng /ua -i4c 'hgn loi c@ ?#Yc cAi nh(n -9 c3ng ngh4 th<i ?i -) Wu h#1ng 'hAt triEn
trong t#$ng lai. 2h;nh -( ld ?@, trong b)i -i0t n)y t3i *u:n gi1i thi4u -1i cAc bn *+t s: b+ c3ng cK l&' tr(nh
th<i ?i > th3ng /ua 'ha' 'hgn loi ch#a tr!n -xn l) nh) sNn WuCt c3ng cK l&' tr(nh hy -!ng bn sd c@ ?#Yc cAi
nh(n t#$ng ?:i -9 cAc 22%T hi4n nay.
III. "#i tr$ c%# cc cng c lp trnh c& i'n
"o *Kc ?;ch 'hKc -K giNng dy -) h!c t&', cAc c3ng cK l&' tr(nh ct ?iEn ?0n nay -yn cBn tzn ti. 2@ nhPng
c3ng cK ?_ tzn ti h$n 20 nQ* nh#ng -yn cBn ?#Yc se dKng r+ng r_i -) th&* ch; l) c3ng cK trong cAc s. Hi4n
2TT l1n. 2hSng hn Turbo Pascal {.0 ra ?<i nQ* 19|} ?0n nay -yn l) c3ng cK thi h!c sinh gi~i Tin h!c *!i
cC' ti ]i4t a*. Turbo Asse*bler -) 5icrosont Asse*bler t` th&' HX |0 ?0n nay Hh3ng c@ 'hi=n bNn *1i n)o
nh#ng chlng -yn l) cAc tr(nh bi=n dDch th3ng dKng tr=n th0 gi1i cho ng3n ngP Asse*bly tr=n n9n
"iScWindous. fi9u t#$ng t. cwng WNy ra -1i Turbo 2TT 3.0 ra ?<i nQ* 19|} nh#ng ?0n nay -yn l) c3ng cK
th.c h)nh cFa nhPng ng#<i *1i h!c l&' tr(nh 2 -) 2TT.
f:i -1i cAc ng3n ngP oHinh -i4no nh# -&y ng)y nay cwng WuCt hi4n th=* nhi9u 22%T [th#<ng g!i l) Tr(nh bi=n
dDch nh#ng Hh3ng ch;nh WAc^ ?#Yc cho l) t:t h$n, chSng hn Pascal c@ Uree Pascal, 2 c@ 22... nh#ng th.c
chCt TP, T2, TA... Hh3ng d bD thay th0. f6c bi4t l) L ]i4t a*, chlng ta -yn c@ th@i /uen se dKng cAc c3ng cK
/uA lc h&u. Ti tr#<ng ?i h!c B.V.r., cAc thGy c3 y=u cGu sinh -i=n th.c h)nh bRng Turbo Pascal .0 -) .
chJ Hh3ng 'hNi {.0 . 2Ac HI thi ily*'ic Tin h!c -) Tin h!c tr cho 'ha' th; sinh l&' tr(nh 2 se dKng Turbo 2
2.0 chJ Hh3ng 'hNi 3.0 . 2hl p l) s. HhAc bi4t -9 t;nh nQng giPa cAc 'hi=n bNn t3i ?#a ra l) rCt l1n, Turbo 2 2.0
-) TP . son ch#$ng tr(nh rCt t4.
hPng ?i9u n)y ?#Yc lp giNi nh# th0 n)o 2@ ld l) do t;nh c: hPu trong /uan ni4* cFa con ng#<i. 2ho d7 lp
giNi ?lng hay sai th( cAc c3ng cK l&' tr(nh ct ?iEn cwng ?Ang ?E chlng ta /uan tg*, -( chlng -yn cBn tzn ti
'ht biEn /uanh ta. T3i sd tr(nh b)y chung chung -1i cAc c3ng cK l&' tr(nh th<i ?i.
I". (t s) b CC*T thi i +u# cc nh, sn -u.t
SiUTWAZm 2iZPiZATi
Tr#1c ?gy c3ng ty c@ cAi t=n orCt r+ngo l) Borland nternational, Hhi ra ?<i "el'hi h! ?ti th)nh n'rise, sau ?@
c@ ld ol)* Qn Wu:ngo -1i cAi t=n n)y n=n h! ?ti trL li -9 cAi t=n Borland nh#ng ohx' h$no > ch8 trong l,nh -.c
'hGn *9*q Borland Sontuare 2or'oration. vuN th.c sau Hhi ?ti -9 t=n cw, -1i cAc sNn 'hO* *1i ?6c bi4t l)
bBuilder cAi t=n Borland li ti0' tKc -inh d. ?#Yc th0 gi1i bi0t ?0n nh# 1 trong 2 nh) sNn WuCt c3ng cK l&' tr(nh
-) tr(nh bi=n dDch h)ng ?Gu th0 gi1i, c7ng chia s danh hi4u n)y -1i Borland l) 5icrosont.
1. 2Ac c3ng cK ct ?iEn h! oTurboo, oBorlando
h# ?_ n@i Turbo Asse*bler .0, Turbo Pascal {.0, Turbo 2TT 3.0 hi4n nay -yn rCt th3ng dKng ti ]i4t a*.
Tr=n uebsite cFa Borland -yn cho dounload cAc tr(nh bi=n dDch n)y, ?i9u ?@ cho thCy tr=n th0 gi1i chlng -yn
?#Yc se dKng.
TAS5, TP ch8 y=u cGu t:i thiEu 2 t4' tin l) c@ bi=n dDch ?#Yc. B+ c)i T2 3.0 c@ 'hGn n6ng h$n. 2Ac HI thi l&'
tr(nh Pascal ti ]i4t a* -) tr=n th0 gi1i ?ang c@ Wu h#1ng se dKng Uree Pascal [UP^ thay cho TP. S. HhAc bi4t
l1n nhCt cFa UP l) cho 'ha' l&' tr(nh -1i b+ nh1 Hh3ng gi1i hn, trong Hhi TP c@ gi1i hn b+ nh1 }VB, cAc
bn ch#a t`ng d7ng UP c@ thE hiEu rRngq UP cho ta Hhai bAo bao nhi=u bi0n cwng ?#Yc. fi9u ?@ dyn ?0n t# duy
l&' tr(nh tr=n UP c@ nhi9u HhAc bi4t -1i TP > -1i dP li4u Hh3ng hn ch0 c@ thE gil' bn th.c hi4n nhPng giNi
thu&t rCt ng\n g!n, nh#ng cwng c@ thE l)* bn chF /uan -) giNi b)i toAn *+t cAch Hh3ng sgu s\c. Tuy UP c@
*+t s: HhAc bi4t -) hn ch0 trong -i4c se dKng so -1i TP ?_ /uA /uen thu+c -1i cAc bn l&' tr(nh Pascal, nh#ng
cAc bn l&' tr(nh Pascal n=n chuyEn sang se dKng UP. 2Ac HI thi l&' tr(nh /u:c t0 ?9u ?_ d7ng UP, L 5 cBn
cC* d7ng cN Pascal ?E l&' tr(nh. 2Ac c3ng cK n)y bn c@ thE dounload ti uebsite cFa t' ch;q
htt'qccuuu.thnt.co*.-ncdounload.'h'.
5+t th<i gian ng#<i ta cwng bi0t ?0n Borland Pascal [BP^ -) Borland 2TT [B2^ nh# hai c3ng cK HhA *nh,
bRng chJng l) c@ rCt nhi9u sAch -i0t -9 chlng, nhi9u sAch ?_ dDch sang ti0ng ]i4t. BP ?#Yc 'hAt triEn t` Turbo
Pascal nor Windous, 'hi=n bNn BP {.0 ?#Yc /uNng cAo l) rCt *nh, c@ HhN nQng -i0t cAc Jng dKng tr=n
Windous nhanh ch@ng -) ?x' *\t. Borland ?#a ra -)i ch#$ng tr(nh -; dK [trong th# *Kc mA5P%mS^ hay
bRng BP, trong ?@ c@ trB ch$i 2< -ua ggy Hinh ngc cho nhi9u ng#<i. 2N BP -) B2 ?9u W0' -)o cAc c3ng cK
dBng onea -<io, chlng c@ thE -i0t cAc Jng dKng tr=n Windous nh#ng Hh3ng 'hNi theo 'hong cAch tr.c /uan >
cAch l&' tr(nh n)y g!i l) WindousPlatnor*. 2Ac l&' tr(nh -i=n ng3n ngP 2 rCt th;ch cAch l&' tr(nh n)y cBn
Pascal th( Hh3ng, nh#ng B2 Hh3ng 'hNi s. l.a ch!n cFa h!. B2 thua ]isual 2TT -9 danh ti0ng -) c+ng ?zng
c7ng 'hAt triEn.
]ai trB cFa BP -) B2 ch;nh l) -ai trB chuyEn ti0' > nh< nhPng c3ng cK n)y *) Borland ?_ 'hAt triEn chlng
th)nh cAc c3ng cK *nh sau n)y, to n=n b+ Borland "e-elo'er Studio.
2. Borland "e-elo'er Studio 2Ai t=n Borland "e-elo'er Studio [B"S^ *1i WuCt hi4n trong 1>2 nQ* gGn ?gy.
5icrosont rCt sAng to Hhi d7ng HhAi ni4* Studio cho b+ 22%T cFa h!, gGn ?gy cAc c3ng ty ?ua nhau b\t ch#1c
d7ng HhAi ni4* Studio [Sun, iracle, Borland...^, coi nh# th`a h#Lng danh ti0ng cFa 5icrosont.
B"S cFa Borland bao gz*q "el'hi 200, 2TT Builder 200 -) 2 Builder 200. Trong *+t s: chi0n dDch
/uNng cAo HhAc, Borland ch8 nh\c ?0n "el'hi -) 2 Builder.
h1 li nQ* 199| Borland tung ra 'hi=n bNn 2TT Builder -) "el'hi .0 ggy chCn ?+ng gi1i 'hGn *9*. "el'hi
l) *+t 22%T nh#ng ?3i Hhi ?#Yc coi l) *+t %T, ng3n ngP "el'hi 'hAt triEn t` ng3n ngP ibject Pascal
[Pascal h#1ng ?:i t#Yng^ -1i HhN nQng l&' tr(nh h#1ng ?:i t#Yng Hh3ng thua Ha* ba-a, *6c d7 Hh3ng ?a dng
nh# 2TT. g#<i sAng to ra "el'hi ?_ nh&n thCy 2TT /uA 'hJc t', cGn 'hNi b~ b1t t;nh nQng ?i, ch8 ?E li
nhPng t;nh nQng hPu ;ch nhCt, -) 3ng ta ?_ th)nh c3ng. Sau n)y 3ng ta b~ Borland chuyEn sang 5icrosont, ti
?@ 3ng li ggy ngc nhi=n cho gi1i l&' tr(nh Hhi to ra 2. hPng ng#<i l&' tr(nh Hinh nghi4* nh&n thCy rM 2
c@ tinh thGn rCt gi:ng -1i "el'hi
Tr#1c nQ* 2000 rCt nhi9u c3ng ty 'hGn *9* tr=n th0 gi1i c@ y=u cGu -1i l&' tr(nh -i=n l) oSe dKng th)nh tho
"el'hi ho6c 2TT Buildero. 2N "el'hi -) 2TT Builder ?9u l) cAc c3ng cK thi0t H0 tr.c /uan, bn n)o ch#a bi0t
c@ thE h(nh dung chlng gi:ng nh# ]isual Basic nh#ng d7ng ng3n ngP Pascal -) 2TT ?E -i0t *_ l4nh. 5+t d.
An 'hGn *9* c@ thE ?#Yc 'hgn rd ?E se dKng "el'hi ho6c 2TT Builder, n@i cAch HhAc 2 c3ng cK n)y c@ thE coi
nh# *+t, nh# -&y *+t d. An c@ thE H0t hY' nhi9u sJc *nh h$n. Vhi ?@ %inuW ?ang rCt 'hAt triEn -) cAc nh)
sNn WuCt 'hGn *9* cBn hz hLi bLi HhN nQng -i0t cAc Jng dKng *+t lGn -) bi=n dDch ?E chy tr=n cN Windous
-) %inuW, "el'hi g!i ?@ l) 2i5. Vh3ng c@ g( 'hNi b)n c_i -9 sJc *nh cFa 2 c3ng cK n)y -) hGu h0t cAc nh)
'hAt triEn 'hGn *9* HhSng ?Dnh chlng *nh h$n ]isual Basic hay ]isual bTT cFa 5icrosont [cBn ]isual 2TT
'hNi We* Wat li^. Borland cwng ?#a th=* *+t c3ng cK l) VyliW cho 'ha' 'hAt triEn cAc Jng dKng tr=n %inuW,
VyliW H0t hY' HhN nQng cFa 2TT -) "el'hi.
Tr#1c ?gy chlng t3i ?_ t`ng 'hAt triEn cN cAc Jng dKng ueb tr=n %inuW bRng VyliW 3. 26' b)i tr7ng n)y ch8
'hAt triEn th=* *+t s: 'hi=n bNn Hh3ng Cn t#Yng cho l\* l) "el'hi {.0, |.0, 2TT Builder .0, 2TT Builder
-) i* h$i l6ng ti0ng ?0n t&n cu:i nQ* -`a rzi. 56c d7 B"S bao gz* cN 2TT Builder 200 nh#ng hGu h0t cAc
"e-elo'er etuorH [hiEu l) 5ng cAc nh) 'hAt triEn 'hGn *9*^ ?9u nh\c ?0n s. H0t hY' cFa "el'hi -) 2.
ZCt c@ thE 2 Builder ?_ thay th0 ?#Yc 2TT Builder, gi1i l&' tr(nh c@ th=* *+t c6' b)i tr7ng *1i.
B+ c3ng cK n)y c@ nhPng ?6c ?iE* *1i -#Yt Wa h$n cN nhPng t;nh nQng th#<ng thCy cFa *+t b+ 22%T. go)i
HhN nQng to cAc Jng dKng tr=n n9n Windous -).mT, cAc Jng dKng chy 'h;a Ser-er -) cAc HhN nQng -:n c@,
b+ B"S 200 c@ nhPng t;nh nQng li=n /uan ?0n vuNn lp -) Phgn t;ch d. An 'hGn *9*q Thi0t H0 biEu ?z k5%,
Sinh t)i li4u -) nhCt l) "esign Patterns. f:i -1i nhi9u ng#<i "esign Patterns cBn l) *1i * nh#ng tr=n th0 gi1i
n@ ?_ /uA th3ng dKng, ?@ l) *+t sNn 'hO* thu+c c3ng ngh4 l&' tr(nh h#1ng ?:i t#Yng, cho 'ha' *+t 'hGn *9*
?#Yc thi0t H0 d.a tr=n cAc *yu c@ sn ?_ ?#Yc thu th&' -) chuOn h@a. The se dKng t3i thCy t;nh nQng n)y
Hh3ng ch8 cho 'ha' ta lCy "esign Patterns trong Hho c@ sn *) cBn cho 'ha' ta tt chJc li hay th=* cAc
"esign Patterns cFa *(nh -)o. 5+t t)i li4u ?#Yc to ra nh# d#1i ?gy c@ thE Hhi0n nhi9u nh) 'hAt triEn 'hGn
*9* th;ch thl -) l.a ch!n li c3ng cK cho *(nh.
3. bBuilder
Vh3ng c@ *+t chlt hz ?z n)o Hhi nh&n ?Dnh rRng bBuilder l) c3ng cK Wgy d.ng Jng dKng ba-a h)ng ?Gu th0
gi1i t` tr#1c ?0n nay, trNi /ua *i giai ?on, bBuilder ?9u c@ nhPng 'hi=n bNn -#Yt *6t cAc c3ng ty HhAc, HE cN
5icrosont.
Ph* -i Jng dKng cFa ba-a c@ ld l) r+ng l1n nhCt trong cAc %T. Tuy nhi=n tAc giN cFa ba-a > h_ng Sun
Hh3ng ?F HhN nQng Wgy d.ng *+t c3ng cK 'hAt triEn bao chJa -) H0t hY' ?F cAc HhN nQng cFa ba-a. Borland ?_
l)* ?#Yc ?i9u n)y. f6c bi4t h$n, Borland t. Wgy d.ng cAc *Ay No ba-a > c$ sL ?E cAc ch#$ng tr(nh ba-a th.c
thi ?#Yc. fi9u n)y coi nh# ?_ -#Yt *6t Sun -( ?Ang ld cAc n9n tNng c3ng ngh4 'hNi l) do Sun Wgy d.ng. Trong
llc Sun ?ang WCu ht Hh\c 'hKc cAc *Ay No b"V 1. ?Gy li th( Borland ?_ ?#a ra b"V .0.
f6c tr#ng cFa bBuilder cwng nh# cAc c3ng cK HhAc cFa Borland l) c@ nhi9u 'hi=n bNn d)nh cho nhi9u h4 ?i9u
h)nhq Windous, %inuW, Solaris... Trong Hhi cAc c3ng cK cFa 5icrosont ch8 chy tr=n Windous. bBuilder c@ HhN
nQng Wgy d.ng cAc loi Jng dKng ba-a *+t cAch tr.c /uan -) chuy=n nghi4' nhCt, theo cAc c3ng ngh4 -) *3
h(nh *) Sun ?#a ra nh# b2mm, Z5,... 5+t c3ng cK HhAc cwng cho 'ha' thi0t H0 ba-a tr.c /uan l) ]isual bTT
t3i sd ?9 c&' ?0n d#1i ?gy. 0u bn c@ p ?Dnh h!c ba-a th( bn n=n d7ng bBuilder, ngo)i thD tr#<ng c@ thE d
d)ng t(* thCy 'hi=n bNn |.0 ho6c bBuilder ho)n to)n ?F ?E bn Wgy d.ng cAc Jng dKng ba-a. Vhi n@i -9 Sun
t3i sd nh\c ?0n 'h* -i Jng dKng cFa ba-a chi ti0t h$n.
Trang chF Borland.co* Hh3ng c@ th3ng tin -9 cAc 'hi=n bNn tr#1c ?gy cFa cAc c3ng cK n)y. fE We* chi ti0t
bn 'hNi -)o uebsite cFa Borland L n#1c HhAc, chSng hn Borland.'l, *6c d7 ti0ng PolsHa h$i Hh@ o?oAno *+t
chlt nh#ng cAc th3ng s: th( bRng ti0ng Anh, bn ch!n *Kc 2eny g@c b=n 'hNi ?E We* danh *Kc sNn 'hO*, tuy
nhi=n danh *Kc n)y cwng c@ ?3i chlt nhG* lyn Hh3ng /uan tr!ng l\*.
2iZPiZATi
Vh3ng 'hNi nh\c nhi9u ?0n 5icrosont, h! ho)n to)n th:ng trD th0 gi1i trong l,nh -.c 'hGn *9* > t` h4 ?i9u
h)nh ?0n 'hGn *9* Jng dKng -) c3ng cK l&' tr(nh.
Tr#1c Hhi Windous 9 ra ?<i 5icrosont chF y0u ?#Yc bi0t ?0n th3ng /ua h4 ?i9u h)nh 5S"iS -) Win3..
5icrosont cwng c@ *+t s: tr(nh bi=n dDch nh# 5icrosont Asse*bler [5AS5^, 5icrosont 2... nh#ng Hh3ng ggy
?#Yc ti0ng -ang l1n.
ri4n nay 5AS5 *6c d7 HhA n6ng n9 nh#ng -yn ?#Yc se dKng cho -i4c bi=n dDch cAc ch#$ng tr(nh Asse*bly.
5+t s: HhAc th;ch d7ng TAS5 cFa Borland h$n -( TAS5 rCt onhxo [theo *!i ngh,a^, tuy nhi=n h! 'hNi trN giA
cho -i4c Jng dKng bi=n dDch bRng TAS5 sd Hh3ng chy ?#Yc trong *+t s: tr#<ng hY' ?6c bi4t. 2Ac chuy=n gia
> trong ?@ c@ Peter orton [sAng l&' Sy*antec -1i h! sNn 'hO* orton^ trong cu:n sAch o2O* nang l&' tr(nho
Hhuy0n cAo Hh3ng n=n d7ng TAS5 *) n=n d7ng 5AS5. Theo /uan sAt cFa t3i, ?a s: h!c sinh, sinh -i=n -)
cAc H s# hi4n nay -Cn d7ng TAS5 *) Hh3ng c@ -Cn ?9 g( trong th<i gian ?Gu, ?0n Hhi th.c hi4n cAc ch#$ng
tr(nh /uan tr!ng h$n, h! chuyEn sang bi=n dDch bRng 5AS5 cho an to)n.
5icrosont ch8 th.c s. ggy ti0ng -ang trong gi1i 'hAt triEn 'hGn *9* Hhi ?#a ra b+ c3ng cK ]isual Studio.
1. ]isual Studio
]isual Studio []S^ ?#Yc coi l) b+ c3ng cK l&' tr(nh th3ng dKng nhCt th0 gi1i. 56c d7 cAc c3ng cK ]S -) Jng
dKng Wgy d.ng bLi ]S ch8 chy tr=n Windous nh#ng nh< s. b)nh tr#1ng cFa Windous > ?6c bi4t l) trong th0
gi1i 'hGn *9* Hh3ng c@ bNn /uy9n, ]S trL n=n 'ht bi0n -) ng)y c)ng 'ht bi0n nh< c+ng ?zng ?3ng ?No se
dKng ]S.
]S bao gz* ]isual Basic []B^, ]isual 2TT []2^, ]isual bTT []b^, ]isual UoW'ro []U^, ]isual Source Sane
[]SS^... -) *+t s: c3ng cK HhAc.
B+ ]S hGu nh# Hh3ng c@ t#$ng tAc -1i nhau giPa cAc th)nh 'hGn nh~, cAc nh) 'hAt triEn ch8 ch!n ]B ho6c ]2
ho6c ]U... l)* c3ng cK 'hAt triEn chJ Hh3ng ch!n gi:ng nh# B"S. Phi=n bNn t` nQ* 199| ?0n nay -yn cBn se
dKng r+ng r_i l) ]S ., th#<ng l) .0, ?3i Hhi cwng g6' ]S .3 -1i nhPng thay ?:i Hh3ng ?Ang HE.
]isual Basic cho 'ha' 'hAt triEn cAc Jng dKng tr=n Windous rCt nhanh ch@ng, ?6c bi4t l) cAc Jng dKng c$ sL
dP li4u. ]B c@ 'h#$ng 'hA' thi0t H0 rCt ?$n giNn, l&' tr(nh -i=n Hh3ng cGn can thi4' /uA sgu -)o cAc /uA tr(nh
*_ nguzn HhAc. Tuy nhi=n ?i9u n)y cwng ggy ra nhPng hn ch0 cho ]B Hhi -i0t cAc Jng dKng can thi4' sgu -)o
h4 th:ng, cAc Jng dKng ?a luzng -) Jng dKng *ng. hPng ?iE* n)y li c@ ?Gy ?F L ]2.
]isual 2TT ch;nh l) 22%T ?Ang t. h)o nhCt cFa 5icrosont. g#<i ta HiE* tra -) th:ng H= thCy 'hGn l1n cAc
'hGn *9* ?#Yc -i0t bRng ]2, cAc trB ch$i l1n, Jng dKng -Qn 'hBng, H0 toAn... ]2 -`a c@ sJc *nh cFa ng3n
ngP 2TT -`a c@ *3i tr#<ng Wgy d.ng rCt ho)n hNo. ]2 c@ thE to ra nhi9u HiEu Jng dKngq 2onsole [chy tr=n
"iS chSng hn^, 5U2 [gi:ng nh# cAc Jng dKng ]B^ -) ?6c bi4t l) WindousPlatnor* > hGu h0t cAc ch#$ng
tr(nh y=u cGu t:i #u *_ l4nh [nh# Anti]irus, a*es ?z ho cao...^ ?9u se dKng cAch Wgy d.ng n)y > Hh3ng se
dKng cAc ?:i t#Yng cung cC' sn cFa 5icrosont *) ch8 se dKng cAc h)* cFa Windous, ngh,a l) ngay cN *+t
nlt l4n hay Uor* bn cwng 'hNi -i0t l4nh to ra n@ chJ Hh3ng 'hNi Hao > thN nh# 5U2.
UoW'ro l) *+t h4 /uNn trD c$ sL dP li4u 'hAt triEn t` dBase. f3i Hhi ng#<i ta cwng g!i l) ng3n ngP UoW'ro
[nh#ng nh# -&y Hh3ng ch;nh WAc^. ]isual UoW'ro l) 22%T t:t nhCt cho UoW'ro, ?i9u n)y l) ?#$ng nhi=n -(
5icrosont ?_ *ua -) ?+c /uy9n 'hAt triEn UoW'ro.
2. ]isual Studio.mT
]isual Studio.mT l) *+t s. 'hAt triEn *1i cFa ]S tr=n n9n tNng *1i *) 5icrosont g!i l).mT Ura*euorH.
2Ac Jng dKng -i0t bLi ]S.mT tuy cwng l) cAc nile tr3ng c@ - th3ng th#<ng nh#ng chlng Hh3ng chy ?#Yc
n0u h4 ?i9u h)nh Hh3ng c@.mT Ura*euorH -( cAc nile mm do ]S.mT Wgy d.ng Hh3ng gi:ng cAc nile mm
tr#1c ?gy, cAc nile mm cFa.mT c@ ?Dnh dng HhAc, cBn chJa cN 5eta "ata -) cAc *_ l4nh ?6c bi4t. f#$ng
nhi=n ?Dnh dng *1i n)y c@ nhi9u ?iE* *nh h$n. Trong ]S.mT Hh3ng c@ ]bTT.mT -) ]U.mT ['hi=n bNn
*1i cFa ]U l) {.0^ nh#ng 5icrosont ?#a th=* ]isual b.mT -) ]isual 2.mT. ]b.mT Hh3ng c@ p ngh,a
l&' tr(nh trong ]S.mT nh#ng ]2.mT th( li ho)n to)n HhAc.
h# ?_ n@i L tr=n tAc giN cFa ng3n ngP 2 ch;nh l) tAc giN cFa "el'hi. ng ta ?_ l)* cho 2 gi:ng nh# *+t
bNn sao ti=n ti0n cFa ba-a. TCt cN cAc ch#$ng tr(nh ba-a ch8 cGn sea duy nhCt l4nh i*'ort th)nh using l) ?#Yc
*+t ch#$ng tr(nh 2, 2 Hh\c 'hKc *+t s: -Cn ?9 'hJc t' L ba-a nh# cAc -Cn ?9 -9 g!i 'h#$ng thJc, We lp
ngoi l4... hi9u chuy=n gia cho rRng 2 ra ?<i c@ thE W@a st ba-a, h! cwng c@ lp Hhi ?#a ra nh&n ?Dnh n)y, l) -(
Sun c)ng ng)y c)ng Hh3ng /uan tg* ?0n ba-a, h$n nPa l&' tr(nh -i=n n)o cwng bi0t ba-a chy ch&* nh# r7a
bB. ]2.mT l) *+t 22%T cho %T 2. 2 cBn nhi9u Jng dKng HhAc nPa. ]( 2 d7ng cho n9n.mT n=n ?3i
Hhi ng#<i ta lyn l+n -) d7ng chung cAc HhAi ni4* 2, 2.mT, ]isual 2, ]isual 2.mT.
%&' tr(nh 2 ti ]i4t a* ?ang ?#Yc coi l) th<i th#Yng. Tuy nhi=n tr=n th0 gi1i ng#<i ta Hh3ng /uan tg* ?0n
-i4c se dKng ]2.mT hay ]B.mT, -( chlng nR* trong *+t giNi 'hA' hY' nhCt cFa 5icrosontq ]isual
Studio.mT. Tr#1c ?gy ]B -) ]2 c@ 'hong cAch HhAc nhau ho)n to)n, nh#ng ]B.mT -) ]2TT.mT li rCt
gi:ng nhau. ]B.mT Hh3ng gi:ng ]B nPa, HhAc nhi9u -9 cl l4nh -) cN cAch tt chJc ch#$ng tr(nh. h< s.
th:ng nhCt trong b+ ]S.mT nh# -&y *) *+t 'hGn *9* c@ thE 'hgn rd th)nh nhi9u ?$n -D %T -) 22%T
HhAc nhau. Tuy Borland ?#a ra p t#Lng n)y tr#1c nh#ng 5icrosont li to n=n ho)n thi4n tr#1c ti=n. g)y nay
nhi9u h_ng ?_ theo giNi 'hA' cFa 5icrosont, to ra s. H0t hY' h)i hBa giPa cAc 22%T.
ASP -) ASP.mT cwng l) hai ng3n ngP ?#Yc nh\c ?0n nhi9u. ASP.mT [hay ASP^ l) ng3n ngP 'hAt triEn t`
ASP. ASP l) ng3n ngP HDch bNn chy 'h;a Ser-er cho 'ha' Wgy d.ng cAc trang ueb ?+ng. Tuy ?#Yc coi l)
Hh3ng *nh nh# PrP -) bSP nh#ng hi4n nay cwng c@ HhA nhi9u uebsite se dKng ASP. ASP.mT Hh\c 'hKc
*+t s: ?iE* y0u cFa ASP, c@ HhN nQng l)* -i4c -1i *3i tr#<ng.mT, t#$ng tAc -1i cAc %T -) 22%T HhAc.
56c d7 ASP.mT ?#Yc 5icrosont /uNng bA rCt *nh -9 sJc *nh cFa n@ tuy nhi=n ?0n nay ?@ *1i ch8 l) danh
ti0ng. Trong cAc ng3n ngP HDch bNn chy 'h;a Ser-er, PrP *1i l) s: 1 th0 gi1i.
3. 5S" %ibrary
5icroSont "e-elo'er etuorH [5S"^ %ibrary th#<ng g!i ng\n g!n [nh#ng Hh3ng ch;nh WAc^ l) 5S", l) b+
th# -i4n 'hAt triEn cAc Jng dKng cFa 5icrosont. 5S" %ibrary l) ng#<i bn /uen thu+c cFa cAc l&' tr(nh -i=n
]isual Studio [.mT^ tr=n to)n th0 gi1i. 5S" gi:ng nh# *+t cu:n t` ?iEn tra cJu ?a dng -9 cAc -Cn ?9 l&'
tr(nh -1i ]S. Bn c@ thE tra cJu *!i -Cn ?9 trong ]S, h!c *+t c3ng ngh4 cFa 5icrosont hay lCy cAc ch#$ng
tr(nh -; dK hPu ;ch. B+ 5S" cw bao gz* 2 2", b+.mT *1i bao gz* { 2" bn c@ thE t(* thCy ti cAc dDch
-K.
}. ]isual Studio 200 -) Sv% Ser-er 200
Sv% Ser-er ?#Yc bi0t ?0n nh# h4 /uNn trD c$ sL dP li4u Ser-er -) 2lient t:t nhCt song th.c t0 ?i9u n)y 'hNi
We* Wat li. S. cnh tranh cFa iracle Hhi0n 5icrosont rCt Hh@ chDu -) nhi9u -K -i4c Hi4n cAo ?_ t`ng din ra
giPa 2 c3ng ty n)y.
Tuy nhi=n cAc Jng dKng Wgy d.ng bLi ]S hay ]S.mT ?9u se dKng Sv% Ser-er n=n Hh3ng sai Hhi n@i rRng ?gy
l) *+t trong cAc c$ sL dP li4u *nh nhCt th0 gi1i. ri4n c@ 2 'hi=n bNn th3ng dKng l) Sv% Ser-er 2000 -)
2003.
51i ?gy 5icrosont ?zng lot cho ra ?<i ]S 200 -) Sv% Ser-er 200, th&t ngc nhi=n Hhi 5icrosont ?6t t=n l)
]isual Studio 200 *) Hh3ng 'hNi l) ]S.mT 200, ?#$ng nhi=n chlng ta hiEu rRng ?gy l) *+t 'hi=n bNn 'hAt
triEn t` ]S.mT. ]i4c ?6t t=n c3ng cK g\n -1i *+t nQ* n)o ?@ c@ thE l)* n@ s1* bD l_ng /u=n, chlng ta c7ng
ch< We* ]isual Studio 200 c@ ?e* li Nnh h#Lng n)o l1n -1i th0 gi1i 'hGn *9* Hh3ng.
B5 2iZPiZATi
B5 hi0* Hhi ?#Yc bi0t ?0n nh# *+t nh) sNn WuCt 22%T , tuy nhi=n ai cwng bi0t rRng h! ?_ ti=n 'hong trong
nhi9u l,nh -.c 2TT t` thea s$ Hhai, Hhi giA* ?:c cFa 5icrosont hay Borland cBn ?ang l) nhPng thi0u ni=n
ha* ch$i h$n ha* h!c.
Tr(nh bi=n dich ho)n thi4n ?Gu ti=n tr=n th0 gi1i ch;nh l) do nh@* H s# cFa B5 dyn ?Gu bLi bohn BacHus
thi0t H0 cho Uortran nQ* 19{. fi9u n)y ?_ thlc ?Oy s. 'hAt triEn cFa nhi9u tr(nh bi=n dDch HhAc > ngay nQ*
190, ng3n ngP 2obol ?_ s1* c@ ?#Yc tr(nh bi=n dDch tr=n nhi9u loi Hi0n trlc. Th<i gian gGn ?gy B5 ?_
chuyEn sang hot ?+ng tr=n nhi9u l,nh -.c HhAc Hh3ng c@ thi=n h#1ng -9 'hGn *9* nh# Hinh doanh Ser-er,
WorHstations, %a'to'... nh#ng B5 -yn c@ nhPng sNn 'hO* 'hGn *9* nti ti0ng trong nhi9u l,nh -.c nh#ng ;t
ng#<i bi0t ?0n [?6c bi4t l) L ]i4t a*^.
1. %otus "o*ino "esigner
5+t s: ?:i tAc l)* Qn cFa B5 ti ]i4t a* ?ang se dKng c3ng cK n)y ?E 'hAt triEn 'hGn *9*. 5+t 'hi=n bNn
hx' h$n cFa %otus "o*ino l) %otus ote. %otus ote gil' cAc nh) 'hAt triEn Wgy d.ng cAc Jng dKng /uNn lp
tr=n ueb rCt nhanh ch@ng. 5+t s: y ban nhgn dgn ti n#1c ta ?_ /uNn lp c3ng -Qn, giCy t< bRng 'hGn *9*
d.a tr=n c3ng ngh4 cFa %otus "o*ino.
%otus "o*ino cwng c@ *+t t;nh nQng thl -D l) cho 'ha' *+t ch#$ng tr(nh ?#Yc -i0t bRng *_ l4nh cFa nhi9u
%T HhAc nhau, trong ?@ c@ cN Python hay A"A. Th.c chCt Jng dKng ch;nh cFa %otus "o*ino l) ?E Wgy
d.ng cAc h4 th:ng l)* -i4c, /uNn lp t` Wa bRng cAc trang ueb ?+ng, nh#ng HhAc -1i ASP hay PrP ch8 c@ ng3n
ngP, %otus "o*ino c@ sn /uy tr(nh c3ng ngh4 ?E Wgy d.ng 'hGn *9*
2. Zational Zose
Vhi l)* -i4c L *Jc ?+ chuy=n nghi4', *+t 'hGn *9* sd ?#Yc 'hgn t;ch theo ?lng /uy tr(nh 'hAt triEn *)
ng#<i /uNn lp ?_ l.a ch!n. g#<i 'hgn t;ch 'hNi ch8 ra ?#Yc cAc *odule cK thE, /uan h4 giPa cAc th)nh 'hGn,
ti0n ?+ th.c hi4n... th3ng /ua cAc c3ng cK chuOn nh# ng3n ngP *3 h(nh h@a k5% chSng hn. 2@ thE hiEu thay
-( cN* nh&n cAc t;nh nQng cFa 'hGn *9* theo cN* t;nh, ng#<i ta 'hNi ch8 rM ?#Yc ?E cN t&' thE c@ thE hiEu -)
Hhi ti0n h)nh Wgy d.ng d. An Hh3ng g6' 'hNi Hh@ HhQn. Zational Zose l) c3ng cK trY gil' cho /uA tr(nh 'hgn
t;ch d. An 'hGn *9* cFa cAc chuy=n gia. ri4n nay Zational Zose ?#Yc se dKng r+ng r_i tr=n th0 gi1i, cBn L
]i4t a* -i4c 'hgn t;ch 'hGn *9* hGu nh# cwng ch#a th.c hi4n ?#Yc chJ ch#a n@i ?0n se dKng Zational
Zose.
". /0t lun
h# cAc bn ?_ thCy cAc 22%T rCt ?a dng. f6c bi4t l) c@ nhi9u 22%T li l) thGn t#Yng cFa con ng#<i. f:i -1i
nhPng ng#<i chuOn bD b#1c -)o th0 gi1i l&' tr(nh, h! th#<ng t. h~iq o5(nh ch!n ng3n ngPcc3ng cK n)o l) oWDno
nhCt ?gyo. Vhi ch!n ?#Yc rzi h! c@ thE t. ngh,q o]&y l) ta sd l)* ?#Yc nhPng g( *(nh *u:n *) c3ng ngh4
oWDno n)y cung cC'o. Th.c t0 ?i9u ?@ ch8 ?lng *+t 'hGn, *+t 'hGn rCt nh~. iai ?on ?Gu ti=n cFa 'hGn *9*
l) p t#Lng, sau ?@ p t#Lng 'hNi ?#Yc giNi /uy0t bRng t# duy cFa cAc Hhoa h!c HhAc [th#<ng Hh3ng 'hNi l) Tin
h!c^. Ti0' theo cAch giNi /uy0t n)y ?#Yc *3 h(nh h@a th)nh /uy tr(nh 'hGn *9*. 2u:i c7ng l&' tr(nh -i=n thE
hi4n cAch giNi /uy0t -Cn ?9 bRng 22%T ?E c@ sNn 'hO* 'hGn *9*. S$ ?z n)y nh# sauq
]&y 22%T ch8 l) *+t trong cAc y0u t: [Hh3ng l1n^ tha* gia to th)nh 'hGn *9*. 0u bn c@ d. ?Dnh ?0n -1i
th0 gi1i l&' tr(nh, -i4c se dKng th)nh tho cAc 22%T l) ch#a ?F, bn 'hNi c@ *+t s: chuy=n *3n nhCt ?Dnh cho
l,nh -.c 'hGn *9* *) bn sd tha* gia -) /uan tr!ng nhCt ?:i -1i bCt HI l&' tr(nh -i=n n)o ?@ l) 'hNi c@ *+t t#
duy l)* -i4c t:t ?E bi0n cAc ?:i t#Yng Hh3ng thu+c Tin h!c th)nh cAc ?:i t#Yng Tin h!c.
2Ac bn h!c sinh h_y h!c ToAn -) cAc *3n h!c HhAc nPa th&t t:t nha, ch8 h!c *i *+t ng3n ngP hi4n ?i nh#
ASP, PrP hay ba-a... Hh3ng gil' bn theo ?#Yc ngh9 %&' tr(nh ?gu 2hlc cAc bn nQ* *1i th)nh c3ng trong
23ng ngh4 th3ng tin -) %&' tr(nh
2Ac c3ng cK l&' tr(nh th<i ?i
5+t s: h) sNn WuCt Hhtng lz l) Sun, iracle, 5acro5edia -) *+t s: c3ng cK *_ nguzn *L. hPng cAi t=n n)y
d#<ng nh# rCt /uen thu+c -1i *!i ng#<i, nh#ng nhPng c3ng cK cFa h! n@i ri=ng -) l,nh -.c hot ?+ng cFa h!
n@i chung ch#a ?#Yc bi0t ?0n nhi9u L ]i4t a*.
2wng Win n@i th=* rRng -i4c g!i *+t ch#$ng tr(nh 'hGn *9* l) 23ng cK l&' tr(nh ch8 c@ t;nh t#$ng ?:i, c@ thE
-`a ?lng -`a sai. 5+t ng#<i /uen d7ng Paint hay ote'ad h trY cho -i4c l&' tr(nh, anh ta c@ thE g!i ?@ l)
22%T. h#ng chlng ta hiEu -1i nhau rRng 22%T l) nhPng othJo h trY ta trong /uA tr(nh to n=n sNn 'hO*
'hGn *9*, t` cAc Hhgu thi0t H0 > l&' tr(nh > HiE* the -) th#<ng c@ s. g\n H0t -1i cAc ng3n ngP l&' tr(nh
[%T^ cK thE. Sd l) Hh3ng th&t ch;nh WAc Hhi n@i 2TT l) *+t 22%T nh#ng -1i cAc ng3n ngP hi4n ?i ng)y
nay ng#<i ta -yn n@iq oba-a l) *+t c3ng cK l&' tr(nh *ngo, o2 l) *+t c3ng cK l&' tr(nh *nh h$n ba-ao,
oPrP c3ng cK 'hAt triEn Jng dKng ueb *_ nguzn *Lo,...-.-... 2h;nh -( ld ?@, 'hGn gi1i thi4u s\' t1i cFa t3i
sd c@ *+t s: HhAc bi4t so -1i HI tr#1cq Vhi n@i ?0n Sun t3i sd t&' trung -)o %T ba-a, iracle th( l) cAc h4
/uNn trD c$ sL dP li4u cBn Adobe th( ?$n thuGn l) cAc c3ng cK thi0t H0. hi9u ng#<i cho rRng 5acro5edia
"rea*uea-er [*+t c3ng cK Wgy d.ng cAc trang ueb^ Hh3ng 'hNi l) *+t 22%T *) l) *+t c3ng cK thi0t H0 ?$n
thuGn, nh#ng th.c t0 ?@ li l) c3ng cK ch;nh cho nhPng ai l&' tr(nh ueb -1i PrP, ASP,... th&* ch; -1i cN bSP -)
ASP.mT. T;nh t#$ng ?:i o-`a ?lng -`a saio ?_ WuCt hi4n.
.q Sk 52ZiSSTm5S q.
Sau nhi9u nQ* nghi=n cJu, -)o ng)y 23cc199 Sun ch;nh thJc c3ng b: ba-a nh# *+t hi4n t#Yng *1i ra ?<i
trong th0 gi1i 2TT. ba-a ch8 l) cAch g!i chung cho nhi9u th.c thE, c@ thE l) ng3n ngP HDch bNn [ba-aScri't^, l)
tr(nh duy4t Web [rotba-a^, l) Web Ser-er [bee-es^, l) giao di4n l&' tr(nh Jng dKng [ba-a Beans^, l) chi' *Ay
t;nh [Picoba-a^, l) l) h4 ?i9u h)nh [ba-aiS^ hay l) h tGng ?a 'h#$ng ti4n...
Theo ra-a>Sont, *+t c3ng ty con cFa Sun 5icrosyste*s, ba-a l) *3i tr#<ng l&' tr(nh h#1ng ?:i t#Yng, ?a
luzng, ?a *Kc ?;ch -) th;ch hY' nhCt d7ng ?E to cAc tr(nh con [hay a''let^, cAc Jng dKng cho nternet -) cAc
*ng 'hgn tAn 'hJc t' HhAc, Hh3ng 'hK thu+c -)o h4 ?i9u h)nh cK thE.
ba-a Hh3ng ch8 l) *+t c3ng cK 'hAt triEn 'hGn *9* nh# cAc %T HhAc [2TT, "el'hi...^ *) cBn l) c3ng cK ?E
t;ch hY' 'hGn *9* -)o cAc thi0t bD 'hGn cJng. g#<i ta d7ng ba-a ?E l&' cAc Jng dKng non>nternet, chSng
hn cAc tr(nh H0 toAn -) trB ch$i. ba-a c@ thE ?#Yc d7ng l)* ngP tr(nh ?a nQng [uni-ersal^ ?E d.ng cAc othi0t bD
nterneto. 2Ac unit n)y cho 'ha' truy c&' nternet -1i giA thC' -) ?#Yc ?@ng g@i nh# cAc trB ch$i Sega,
intendo... Thay -( 'hNi c@ *Ay t;nh -) 'hGn *9* ?\t ti9n, ch8 cGn othi0t bD nterneto , *+t h+' -1i t;nh nQng
oc\* -) b&to, c@ thE d7ng T] gia ?(nh cFa bn truy c&' nternet.
Bn c@ thE t(* th=* th3ng tin -9 ba-a -) cAc Jng dKng cFa n@ d d)ng t` nhi9u nguzn tin tr=n nternet -) sAch
-L. ba-a ?#Yc coi l) t#$ng lai cFa nternet -) Jng dKng tr=n cAc thi0t bD cG* tay [nh# PocHet P2, ?i4n thoi di
?+ng...^, Win b&t *; -1i bn l#$ng cFa cAc nh) 'hAt triEn -) l&' tr(nh -i=n ba-a lu3n rCt cao d7 L h&t, 5... hay
]i4t a* ta.
Tuy sAng to ra ba-a nh#ng ?0n nay Sun th#<ng bD 'h= 'hAn l) thi0u /uan tg* ?0n ba-a. Sun thi0t H0 hai c3ng
cK ?E 'hAt triEn ba-a l) Sun ba-a Studio 2reator -) Sun ba-a Studio mnter'rise, tuy chlng cwng HhA *nh -)
*in 'h; nh#ng ?@ Hh3ng 'hNi l) s. l.a ch!n cFa cAc nh) 'hAt triEn ba-a tr=n th0 gi1i. Sun ba-a Studio hGu nh#
ch8 ?#Yc bi0t ?0n trong gi1i h!c l&' tr(nh ba-a, n@ HhA gi:ng -1i c3ng cK mcli'se cwng d)nh cho ba-a, mcli'se
th#<ng ?#Yc trao ?ti tr=n cAc din ?)n ba-a n=n HhA th3ng dKng -1i cAc bn *1i h!c [nh# ba-a]ieta*.org
chSng hn^. 0u the se dKng ai cwng sd thCy chlng th&t n6ng n9, ch&* ch' nh#ng li Hh3ng c@ nhi9u t;nh
nQng nh# ]isual bTT hay Borland bBuilder.
Tuy nhi=n ba-a Studio mnter'rise li h trY Wgy d.ng cAc d. An k5% -1i ba-a trong *+t *3i tr#<ng rCt d se
dKng -)... ?x' *\t nh# d#1i ?gyq
bBuilder cFa Borland *1i l) c3ng cK s: 1 ?E 'hAt triEn ba-a nh# ?_ n@i L HI tr#1c. ]isual bTT cFa 5icrosont
cwng *nh nh#ng ng6t *+t ni > Jng dKng ba-a -i0t bRng ]isual bTT ch8 chy tr=n Windous [^ > ?i9u n)y l) ?i
ng#Yc li tinh thGn cFa ba-a, trong tr#<ng hY' -i0t Jng dKng ch8 ?E chy tr=n Windous th( chSng ai d7ng ba-a,
do ?@ ]isual bTT ?_ Hh3ng thE tzn ti -) 'hAt triEn cao h$n. Sun l) tAc giN cFa ba-a do ?@ 'hNi ?#a ra cAc n9n
th.c thi ba-a. Tr#1c ?gy ai cwng bi0t -) se dKng n9n b"V 1.W t#Lng nh# n@ rCt t:t, tuy nhi=n tha* gia -)o cAc
din ?)n ba-a /u:c t0 *1i bi0t ?@ l) cAc 'hi=n bNn chJa HhA nhi9u li *) Sun Hh3ng thE Hh\c 'hKc ?#Yc. ri4n
nay sau nhi9u nQ* tr( tr4 Sun ?_ ?#a ra *+t n9n *1i l) b2Sm 1.} S"V ?#Yc coi l) tn ?Dnh nh#ng chy li rCt
ch&*, nhi9u nh) 'hAt triEn ba-a hy -!ng t:c ?+ cFa ba-a sd ?#Yc cNi thi4n trong th<i gian t1i.
ri4n nay Sun ?ang 'hAt triEn *+t 22%T chy tr=n nhi9u h4 ?i9u h)nh cho nhi9u loi %T l) Sun Studio.
Phi=n bNn *1i nhCt l) Sun Studio 11 bao gz* cAc t;nh nQng cFa *+t *3i tr#<ng t;ch hY' ho)n ch8nh cho cAc
ng3n ngP 2, 2TT, Uortran, ba-a bi=n dDch cho cAc h4 ?i9u h)nh Solaris, %inuW, Windous. 23ng cK n)y c@ HhN
nQng t#$ng tAc, 'h:i hY' -1i cAc c3ng cK th3ng dKng HhAc nh# ]isual 2TT, 22,i'en5P hay Uortran 2003.
T3i ?_ the d7ng Sun Studio 11 -1i Uortran 2003 cho *+t s: b)i toAn *3 'h~ng roA h!c ?$n giNn, Win n@i th=*
rRng ng3n ngP Uortran l) ng3n ngP ?#Yc d7ng r+ng r_i nhCt trong ogi1i roA Tino hay nhPng ng#<i Jng dKng
2TT -)o roA h!c.
.q iZA2%m q.
Vh3ng hiEu -( lp do g( *) rCt nhi9u ng#<i Hhi ?#Yc h~i o2S"% n)o l) *nh nhCto sd trN l<i ng\n g!n l)
oiracleo, cho d7 h! ch#a h9 se dKng iracle f6c bi4t l) L ]i4t a*, ?i9u Hi4n Hinh t0 -) 'h* -i Jng dKng
'hGn *9* ch#a cho 'ha' se dKng iracle. 2Ac nh@* se dKng iracle nh# chlng t3i hGu h0t ?9u *ang t;nh chCt
nghi=n cJu ho6c ?$n thuGn l) *+t sL th;ch. PhNi chQng ti0ng tQ* cFa iracle tr=n th0 gi1i ?_ chi0* ?#Yc -D tr;
/uAn /ugn trong t# t#Lng cFa cN nhPng ng#<i ch#a t`ng ti0' Wlc -1i iracle S. th&t iracle ra sao
Tr#1c h0t, iracle Hh3ng ch8 l) *+t r4 /uNn trD 2S"% nh# Sv% Ser-er hay Access, n@ l) cN *+t b+ 'hGn *9*
Hhtng lz c@ HhN nQng Wgy d.ng cAc Jng dKng 'hGn *9* -) trang bD cAc giNi 'hA' H thu&t th3ng tin cho ng#<i
d7ng cu:i. iracle bao gz* th)nh 'hGn /uan tr!ng nhCt ch;nh l) r4 /uNn trD 2S"% iracle -1i nhi9u 'hi=n bNn
HhAc nhau, ?i Hs* -1i n@ l) *3i tr#<ng thi0t H0 cAc c$ sL dP li4u [nh# "esigner 2000^ -) cAc c3ng cK 'hAt
triEn [nh# "e-elo'er 2000^. Vhi c@ *+t b+ iracle trong tay, cAc nh) 'hAt triEn c@ thE Wgy d.ng cAc Jng dKng
tr=n nhi9u h4 ?i9u h)nh -1i c3ng cK c@ sn tr3ng gi:ng nh# ]isual Basic hay "el'hi -&y, tuy nhi=n cAc c3ng cK
?@ bD 5icrosont hay Borland ho)n to)n ?s bx'. ]isual Studio hay Borland Studio ?9u c@ HhN nQng l)* -i4c -1i
2S"% iracle ngay t` thuL b(nh *inh 2TT th0 gi1i.
iracle ?i ti=n 'hong trong l,nh -.c 2S"%, %arry mllison l) ng#<i sAng l&' iracle cAch ?gy gGn 30 nQ*, ?0n
nQ* 19{9 iracle ?#a ra sNn 'hO* th#$ng *i ?Gu ti=n l) Sv% Z"5S, sau ?@ nQ* 19|3 l) 2S"% ]A>*ode.
5+t s: sNn 'hO* ?i tr#1c th<i ?i cFa iracle c@ thE HE ?0n nh# nQ* 1993 2S"% cho *3 h(nh VhAchc2hF,
nQ* 199 -1i 2S"% Z"B5S } bit ?Gu ti=n tr=n th0 gi1i , nQ* 199{ -1i 2S"% cho n9n Web, nQ* 1999 ?oAn
?#Yc Wu th0 th<i ?i iracle h trY ngay 5% nay ?_ 'hAt triEn nh# -w b_o.
r4 /uNn trD 2S"% *1i nhCt cFa iracle l) 'hi=n bNn iracle 10g ra ?<i nQ* 2003, ?0n nay 'hi=n bNn 10g ?_ c@
*+t s: s. 'hAt triEn *1i -) ?#Yc gi1i thi4u nhi9u lGn ti ]i4t a*. 10g l) h4 2S"% ?Gu ti=n ?#Yc Wgy d.ng
nh\* -)o c3ng ngh4 t;nh toAn l#1i [rid 2o*'uting^, cho 'ha' giN* chi 'h; 2TT bRng cAch t. ?+ng h@a
-i4c /uNn lp, chia s t;nh toAn giPa cAc Ser-er. iracle hi4n nay c@ nhi9u sNn 'hO* c3ng ngh4 HhAc nh# iracle
A''lication Ser-er 10g, iracle 2ollaboration Suite, iracle mnter'rise 5anage*ent 10g... ?6c bi4t l) sNn 'hO*
Jng dKng iracle m>Business Suite nh\* -)o cAc doanh nghi4' 'hKc -K cho -i4c ?i9u h)nh, /uNn lp cAc hot
?+ng nghi4' -K *+t cAch t. ?+ng, *ang li hi4u /uN cao.
2Ac r4 /uNn trD 2S"% cFa iracle c@ t;nh an to)n -) bNo *&t cao, nhCt /uAn -) to)n -xn dP li4u, cho 'ha'
ng#<i se dKng truy nh&' t1i 2S"% 'hgn tAn nh# *+t Hh:i th:ng nhCt. 2Ach tt chJc *3 h(nh dP li4u 'hgn tAn l)
?iE* *nh nhCt cFa iracle so -1i cAc 2S"% HhAc > Hh3ng ch8 ?#Yc coi l) h$n *) iracle ?#Yc coi l) -#Yt Wa
ngay cN r4 /uNn trD 2S"% nti ti0ng 5icrosont Sv% Ser-er. Vh3ng c@ g( 'hNi b)n c_i iracle l) r4 /uNn trD
2S"% #u -i4t nhCt hi4n nay. Bn c@ thE t(* thCy cAc 'hi=n bNn iracle |i hay 9i ti cAc /uGy 2" ti ]i4t a*,
cBn t)i li4u iracle cwng c@ rCt nhi9u, tuy nhi=n sAch ti0ng ]i4t ch#a c@ cu:n n)o thuy0t 'hKc chlng t3i l\*.
.q 5A2Zi5m"A q.
5acro5edia l) *+t cAi t=n rCt nti ti0ng tr=n th0 gi1i -1i sNn 'hO* Ulash, nh# Sun -1i ba-a -&y. 5acro5edia
c@ cAc b+ c3ng cK thi0t H0 tuy4t -<i nh# "rea*uea-er, Ulash, UireuorH, "irector, ro*eSite... trong s: n)y
c3ng cK "rea*uea-er l) c3ng cK h trY thi0t H0 -) -) l&' tr(nh ueb rCt nhanh ch@ng -) th3ng dKng, ?#Yc nhi9u
l&' tr(nh -i=n bi0t ?0n.
Ti ]i4t a* cAc c3ng ty chuy=n thi0t H0 uebsite th#<ng se dKng "rea*uea-er 5 200} ho6c 'hi=n bNn *1i
nhCt l) "rea*uea-er | nh< t;nh nQng h trY se dKng 2SS, 5%, k5% -) h$n h0t ?@ l) *+t *3i tr#<ng thi0t
H0 T l&' tr(nh nhanh ch@ng, chuy=n nghi4', ?x' *\t -) hi4u /uN, -#Yt Wa 5icrosont UrontPage. Vh3ng c@ c3ng
cK thi0t H0 ueb n)o c@ thE d d)ng ?#a cAc h(nh Nnh -) -ideo -)o ueb ti4n nh# "rea*uea-er. Vhi -i0t *_
rT5% ho6c PrP, ASP... "rea*uea-er gil' l&' tr(nh -i=n nhanh ch@ng -i0t *_, UrontPage 2003 cwng c@ th=*
cAc t;nh nQng n)y nh#ng cBn Ha* Wa "rea*uea-er. fi9u ?Ang chl p l) -1i s. 'hAt triEn *nh *d cFa ng3n
ngP PrP tr=n th0 gi1i -) ]i4t a* *) Hh3ng c@ c3ng cK n)o cFa PrP ?#Yc chC' nh&n r+ng r_i, "rea*uea-er
trL th)nh c3ng cK 'hAt triEn ch;nh cho ng3n ngP PrP.
]9 Hh;a cnh l&' tr(nh, 5acro5edia ?_ ?#a ra ng3n ngP HDch bNn ActionScri't d7ng cho Ulash > *+t chuOn ?z
ho th3ng dKng tr=n ueb ng)y nay. ActionScri't l) *+t s. *L r+ng cFa ba-aScri't nh#ng c@ cl 'hA' *9* do
h$n -) *nh h$n hSn trong -i4c We lp s. Hi4n -) ?i9u HhiEn hot h(nh. g3n ngP HDch bNn n)y l) *+t s. ?@ng
g@' HhA l1n cFa 5acro5edia -1i l,nh -.c l&' tr(nh hot h(nh. B+ c3ng cK ?Ang t. h)o nhCt hi4n nay cFa
5acro5edia l) Studio |, H0t hY' t;nh nQng cFa hGu h0t cAc c3ng cK tr#1c ?gy.
Adobe -) 5acro*edia c3ng b: sAt nh&' thAng }c200 -) ?#Yc B+ t# 'hA' 5 'h= chuOn hY' ?zng ng)y
2c12c200. 2Ac bn hSn ?_ bi0t ?0n g#<i Hhtng lz Adobe -1i Photosho' -) P"U. Th.c chCt -i4c sAt nh&' hzi
nQ* ngoAi l) *+t cu+c *ua bAn, Adobe ?_ *ua ?Jt 5acro5edia -1i giA 3,| t8 kS". rai ng)y sau Hhi ch;nh
thJc sAt nh&', Adobe tung ra 3 b+ 'hGn *9* *1i toanh H0t hY' nhPng c3ng ngh4 WuCt s\c nhCt cFa cN hai
h_ng, nh\* ?0n ?:i t#Yng HhAch h)ng truy9n th:ng cFa Adobe l) gi1i thi0t H0 ?z h!a, thi0t H0 ueb -) d.ng
bQng -ideo.
Q* nay Adobe sd cho cAc 'hGn *9* -ideo cFa *(nh b\t tay -1i Ulash, th&* ch; t;ch hY' cN ?Dnh dng P"U
-)o Ulash. 5acro5edia t` nay ch8 cBn l) t=n *+t dBng sNn 'hO* chJ Hh3ng cBn l) 5acro5edia ncor'orated
nPa.
.q 5T S 2 2 5 k 5 q.
Trong *Kc n)y t3i *u:n gi1i thi4u -1i cAc bn ng3n ngP HDch bNn chy 'h;a Ser-er > PrP. PrP l) *+t %T
*_ nguzn *L, theo ngh,a bn Hh3ng 'hNi *ua tr(nh bi=n dDch cFa PrP. 5+t s: nhgn -&t nti ti0ng tr=n th0 gi1i
c7ng nhau -i0t tr(nh bi=n dDch PrP, -) cwng /ua ?@ ?#a ra cl 'hA' cho ng3n ngP PrP. Th.c chCt PrP l) *+t
c3ng cK 'hAt triEn ueb theo HiEu o*( Qn li9no, Hh3ng Hhai thAc -)o cAc tGng sgu nh# ba-a [high>endcbacH>end^,
ch;nh -( ld ?@ PrP rCt d se dKng -) 'ht bi0n r+ng r_i.
S: uebsite se dKng PrP ng)y nay HhoNng gGn 30 tri4u. Vh3ng ai dA* HhSng ?Dnh PrP *nh h$n cAc %T
HhAc nh#ng PrP th3ng dKng bLi s. 'ht bi0n cFa cAc h4 th:ng *L nh# SPP, 5oodle, uHe... ahoo -) oogle
hai trong ba uebsite l1n nhCt th0 gi1i [c7ng -1i *icrosont.co*^ se dKng PrP -) Python chJ Hh3ng 'hNi ASP
hay bSP.
2+ng ?zng se dKng PrP to ra nhPng sNn 'hC* rCt hPu ;ch nh#q SPP > c3ng cK 'hAt h)nh trang ueb, bAo ch;
5oodle > h4 th:ng h trY giNng dy -) ?)o to PrP uHe Wgy d.ng h4 th:ng 'ortal -) th#$ng *i ?i4n te...
Tuy nhi=n tr(nh bi=n dDch o*Lo cFa PrP ?_ t`ng g6' 'hNi rCt nhi9u li. hi9u ng#<i -yn tranh c_i -9 tAc
dKngctAc hi cFa *_ nguzn *L, c@ ng#<i cho rRng cAi g( l) *in 'h;, l) l)* -i4c t. do th( sd Hh3ng c@ chCt
l#Yng t:t, PrP cwng -&y. fJng L g@c ?+ 'hAt triEn 'hGn *9* chlng ta Hh3ng cGn thi0t 'hNi ?#a ra nhPng ?Anh
giA t:tcWCu cho 22%T, cAi chlng ta cGn l) hi4u /uN c3ng -i4c cu:i c7ng. 5+t s: c3ng cK h trY Wgy d.ng ueb
bRng PrP gz* c@q
end Studio [htt'qccuuu.end.co*^
Phi=n bNn *1i nhCtq .1. 23ng cK n)y HhA *nh, d se dKng nh#ng li Hh3ng h trY nhi9u cho thi0t H0 cAc
trang rT5%. ]7ng son thNo cFa end Studio HhA gi:ng.mT Studio -1i t;nh nQng 2ode Uolding.
2ode2harge Studio [htt'qccuuu.yessontuare.co*^ Phi=n bNn *1i nhCtq 3.0. 23ng cK n)y ?ang ?#Yc cAc nh)
'hAt triEn PrP -) cAc ng3n ngP l&' tr(nh ueb HhAc /uan tg*. Tuy ch#$ng tr(nh nh~ g!n nh#ng c@ rCt nhi9u t;nh
nQng hPu ;ch, gGn t#$ng ?#$ng -1i cAc *3i tr#<ng chuy=n nghi4' nh# ]isual Basic, "rea*uea-er hay
UrontPage. f6c bi4t l) -i4c Wgy d.ng sn cAc th)nh 'hGn hPu ;ch nh# lDch, bAo cAo, l#1i... VhN nQng h trY ?a
ng3n ngP -) Wgy d.ng li=n H0t 2S"% tr.c /uan cwng l) *+t ?iE* *nh cFa 2ode2harge. 2ode2harge c@ thE
l)* -`a lBng bCt HI nh) 'hAt triEn PrP Hh@ t;nh n)o n0u h! cN* thCy "rea*uea-er ch#a ?F -1i PrP.
"o th<i gian c@ hn n=n t3i Hh3ng thE tr(nh b)y h0t nhPng ?i9u... *u:n tr(nh b)y -1i cAc bn. ]i4c nghi=n cJu
sgu s\c -) tr.c ti0' se dKng cAc %T -) 22%T -)o th.c t0 trong nhi9u nQ* /ua ?_ ?e* li cho t3i nhPng
chgn lp rCt thl -D > -) c@ ld cwng sd ?e* li nhPng ?i9u thl -D -1i bn. ry -!ng trong th<i gian t1i c@ ?i9u Hi4n
?#Yc tr(nh b)y -1i cAc bn -9 cAc c3ng cK 'hAt triEn tr=n kniWc%inuW, ?@ l) *+t th0 gi1i *1i > c@ thE l) ho)n
to)n Wa l -1i nhPng tay l&' tr(nh HI c.u nhCt tr=n Windous > -) cwng l) *+t th0 gi1i thl -D. S1* hay *u+n
cAc l&' tr(nh -i=n cwng 'hNi b\t tay -)o l)* -i4c tr=n %inuW nhi9u h$n.
guznq htt'qccgiasula'trinh.net
1gn ng2 3) 4i5c l,m
PrP 12,}
ba-a 12,|
ibjecti-e 2 |,92
Sv% ,1
Android [ba-a^ },9|1
Zuby 3,|9
ba-aScri't 3,{}2
2 3,}9
2TT 1,90|
ActionScri't 1,|21
Python 1,}9
2 1,0|{
ASP.mT |1|
56c d7 g6' nhi9u l<i 'h)n n)n t` cAc l&' tr(nh -i=n, nh#ng nhu cGu nhgn l.c cho ng3n ngP PrP -) ba-a [bao gz* cN
bSPcAndroid^ -yn 'hAt triEn *nh. B=n cnh ?@, nhPng c3ng -i4c y=u cGu *+t s: Hi0n thJc -9 Sv% -yn HhA nhi9u. g#Yc li
s: l#Yng c3ng -i4c -9 ActionScri't th( ?ang giN* dGn -) n@ ?ang nhanh ch@ng r$i Hh~i bNng W0' hng.
h#ng c@ *+t s: ?i9u ?Ang ngc nhi=n l)q
gay cN Hhi chlng ta H0t hY' s: l#Yng c3ng -i4c -9 ASP.mT -) 2 li, th( s: y=u cGu d)nh cho c3ng ngh4 5icrosont
l) rCt thC'
Ti sao nhu cGu nhgn l.c cho ng3n ngP ibjecti-e 2 th( gGn gC' ?3i so -1i Android, trong Hhi cAc thi0t bD chy h4 ?i9u
h)nh iiS th( Ha* 'ht bi0n h$n
Ti sao s: l#Yng c3ng -i4c d)nh cho ng3n ngP ba-aScri't li HhA thC', bCt chC' nhPng s. r7* beng -9 c3ng ngh4
rT5% gGn ?gy
5+t 'hGn cFa ?i9u n)y c@ thE giNi th;ch ?#Yc n0u ta nh(n -)o t#$ng /uan s. thay ?ti nhu cGu t` ?Gu ?0n cu:i nQ* 2012q
1gn ng2 Th#6 &i
ba-aScri't 1.
Zuby 0.{
ibjecti-e 2 0.
Android [ba-a^ 0.
2TT 0.
2 0.3
Python 0.1
Sv% >0.2
2 >0.3
ASP.mT >0.
PrP >0.{
ba-a >1.}
ActionScri't >1.
hu cGu nhgn l.c cho ba-aScri't th( tQng nhanh h$n bCt HI ng3n ngP n)o HhAc. iiS -) Android c@ c7ng *+t t8 l4 tQng gi:ng
nhau. 2Ac c3ng -i4c -9 PrP -) ba-a th( giN* ?i, do nhu cGu c@ thE ?_ chuyEn b1t sang *+t s: ng3n ngP ?ang hot HhAc nh#
Zuby.
Tr#1c Hhi bn ?#a ra /uA nhi9u nh&n Wat -) ?Anh giA, chlng ta h_y c7ng t(* hiEu cAch *) nhPng s: li4u n)y ?#Yc thu th&'.
23ng ty bobs Tractor th:ng H= cAc c3ng -i4c n)y th3ng /ua *ng W_ h+i Tuitter -( -&y H0t /uN HhNo sAt Hh3ng 'hNn Anh ?#Yc
?lng th.c t0 cho l\*. ]; dK, t3i ?oAn l) Tuitter ?#Yc se dKng nhi9u bLi cAc c3ng ty thi=n -9 l,nh -.c ueb h$n l) cAc c3ng ty
'hGn *9* truy9n th:ng ?i9u n)y c@ thE giNi th;ch ti sao s: l#Yng c3ng -i4c d)nh cho c3ng ngh4 .mT li thC' ?0n nh# -&y.
Th=* -)o nPa, y0u t: -7ng *i9n cwng to ra *+t s. HhAc bi4t rCt l1n. g3n ngP Zuby ?#Yc se dKng r+ng r_i ti c nh#ng li
Hh3ng 'ht bi0n ti Anh.
0u bn ?ang *ong ch< b)i -i0t n)y gYi p -9 nhPng ng3n ngP l&' tr(nh hC' dyn nhCt ?E h!c trong nQ* 2013 th( bn sd thCt
-!ng ?Cy. 2@ *+t th.c t0 bn cGn 'hNi bi0t ?@ l)q
78ng b#o gi s9 :ng s) li5u th)ng ;< 4= 4> tr? tu6'n :ng nh@ mt lA :o ' chBn hBc mt ngn ng2 lp trnhC
0u nhu cGu cho *+t c3ng ngh4 n)o ?@ ;t ?i, th( sd c@ ;t l&' tr(nh -i=n ?Gu t# h!c n@ h$n -) thD tr#<ng cwng sd t. ?i9u ti0t theo
cho 'h7 hY'. hPng l&' tr(nh -i=n vBasic -) 2iBi% c@ thE c@ *Jc l#$ng cao h$n nhPng ?zng nghi4' th)nh tho ng3n ngP
ibjecti-e 2, bLi -( H nQng cFa h! ng)y c)ng trL n=n Hhan hi0* h$n
2u:i c7ng, bn h_y ch!n lCy c3ng ngh4 *) bn cN* thCy y=u th;ch -) ?`ng bao gi< ng`ng h!c h~i th=*. hu cGu -9 nhgn l.c
c3ng ngh4 th( lu3n lu3n thay ?ti -) ?i9u ?@ sd Hhi0n cho bn trL th)nh *+t Jng ce -i=n sAng giA Hhi s: l#Yng c3ng -i4c 'h7
hY' -1i H nQng cFa bn tQng l=n.
*# chBn ngn ng2 n,o ' bDt Eu hBc lp trnhF
11 ThAng 12 2013 llc 1q}0
*p trnh l, mt cng 4i5c cc ; tr? tu5 4, thG 4>H song 4Ii s) l@Jng ngn ng2 lp trnh +u nhi=u nh@
hi5n n#6H !u l, ngn ng2 lp trnh t)t nh.t cho ng@i mIi bDt EuF KL6 cMng tr#ng cng
ngh< N LifeHacker i tm c!u tr li cho c!u hOi h0t sPc ph& bi0n n,6.


Th.c t0, cgu h~i oT3i n=n h!c ng3n ngP n)o Hhi *1i b\t ?Gu l&' tr(nho l) *+t cgu h~i ggy tranh c_i, ngay cN
-1i nhPng H s#, giNng -i=n H( c.u nhCt. 0u bn h~i 10 l&' tr(nh -i=n ofgu l) ng3n ngP t:t nhCt cho l;nh
*1io, bn ho)n to)n c@ thE nh&n ?#Yc 10 cgu trN l<i HhAc nhau.
fE t(* ra ng3n ngP l&' tr(nh 'h7 hY' nhCt, bn Hh3ng ch8 cGn ?Anh giA *Jc ?+ d h!c cFa *i ng3n ngP, *)
cBn cGn We* Wat We* bn sd l&' tr(nh trong cAc d. An nh# th0 n)o, y0u t: bn #a th;ch nhCt L l&' tr(nh l) g( -)
li4u We* l&' tr(nh c@ trL th)nh ngh9 Hi0* s:ng cFa bn hay Hh3ng.

" s#o bn mu)n hBc lp trnhF
T7y -)o lp do bn *u:n h!c l&' tr(nh, rCt c@ thE cgu trN l<i ?_ ?#Yc WAc ?Dnh sn cho bn. 0u bn *u:n thi0t
H0 uebsite ho6c Jng dKng n9n ueb, bn cGn h!c rT5%, 2SS, ba-ascri't ?E to ra cAc trang ueb ho)n ch8nh, -)
c@ ld l) PrP ?E to ra h4 th:ng n9n ueb ho)n ch8nh. 0u bn chF y0u *u:n 'hAt triEn Jng dKng di ?+ng h_y
h!c ibjecti-e>2 ?E l&' tr(nh cho iiS -) h!c ba-a ?E l&' tr(nh cho Android.
0u bn WAc ?Dnh rRng *(nh sd l&' tr(nh 'hKc -K cho nhi9u *Kc ?;ch, nhi9u d. An, ho6c *u:n the nghi4*
nhi9u ng3n ngPcc3ng ngh4 HhAc nhau, bn cGn 'hNi h!c cAc HhAi ni4* cQn bNn -9 l&' tr(nh *+t cAch cQn bNn,
-) b\t ?Gu oh!c cAch suy ngh, nh# *+t l&' tr(nh -i=n ?;ch th.co. BRng cAch ti0' c&n n)y, bCt HE l) bn b\t ?Gu
h!c bRng ng3n ngP n)o ?Gu ti=n, bn c@ thE d d)ng ti0' c&n cAc ng3n ngP *1i trong t#$ng lai.

Cc ngn ng2 @Jc s9 :ng nhi=u nh.t
PhGn l1n cAc ng3n ngP l&' tr(nh och;nh th:ngo [?#Yc nhi9u ng#<i se dKng^ nh# 2, ba-a, 2, Perl, Zuby -)
Python ?9u c@ thE th.c hi4n cAc tAc -K gi:ng nhau [ho6c gGn gi:ng nhau^. ]; dK ba-a l) *+t ng3n ngP l&' tr(nh
hot ?+ng ?a n9n tNng [Hh3ng 'hK thu+c -)o h4 ?i9u h)nh, bCt HE l) Windous, %inuW hay 5ac^, song cAc Jng
dKng Python cwng c@ thE chy tr=n Windous -) %inuW gGn nh# t#$ng ?zng nhau. Bn c@ thE d7ng ba-a ?E -i0t
cAc Jng dKng n9n ueb l1n -) Zuby cwng c@ HhN nQng n)y.
"o nhi9u ng3n ngP l&' tr(nh ?#Yc Wgy d.ng d.a tr=n cAc ng3n ngP l&' tr(nh HhAc [-; dK, 5icrosont bD ch8 tr;ch
l) ?_ oQn c\'o t` ba-a ?E to ra 2^, cCu trlc cgu l4nh tr=n cAc ng3n ngP n)y l) gGn nh# gi:ng h4t nhau. r_y
the We* -; dK d#1i ?gy -9 b)i toAn Hinh ?iEn orello Worldo [Hhi h!c *+t ng3n ngPcc3ng ngh4 *1i, ?i9u ?Gu
ti=n *) bn cGn l)* bao gi< cwng sd l) t(* cAch hiEn thD dBng chP orello Worldo^q

h# bn c@ thE thCy, cAch -i0t cFa 2 -) ba-a gGn nh# gi:ng h4t nhau trong Hhi cAch -i0t cFa Python -) Perl
cwng Hh3ng /uA HhAc bi4t.

Tuy -&y, giPa cAc ng3n ngP c@ thE c@ s. HhAc bi4t l1n -9 cAch c)i ?6t, se dKng T' ch; SOA World
Magazine ?#a ra l<i Hhuy=n nh# sauq
oNu bn nhn rt k vo cc v d!" bn c# th$ th% &'t vi v d! kh ()n gi*n" &'t +, khc kh -h.c t-" &'t
+, ng/n ng0 %1u c2u -h*i c# du ch& -h3% [^ 4 cu,i c5u l6nh" &'t +, khc th kh/ng7 Nu bn &8i b9t (2u
l:- trnh" (/i khi bn n1n ch;n cc ng/n ng0 kh/ng c# <u nhi=u <ui lu:t v= c> -h- v logic" b4i nh? (# &
ng/n ng0 n% kh/ng th$ @tA g5% kh# dB cho chnh &nh@7 Nu bn vCa thD &'t ng/n ng0 no (# v c*& th%
kh/ng tho*i &i" hE% (Fi +ang ng/n ng0 khcG@.

Sau ?gy l) ttng /uan -9 *+t s: ng3n ngP 'ht bi0n nhCtq
CQ "i0t r# cc on mL nguRn cS hi5u nTng c#o
2@ thE n@i rRng 2 l) ng3n ngP l&' tr(nh ?#Yc se dKng nhi9u nhCt. ]i4c cAc l&' tr(nh -i=n cGn bi0t se dKng 2
gi:ng nh# l) cAc bAc s, cGn 'hNi bi0t cCu to c$ thE con ng#<i -&y. 2 l) *+t ng3n ngP c@ b&c HhA thC' [cAch Wa
ng3n ngP ng#<i, -) gGn -1i ng3n ngP *Ay^, do ?@ bn sd h!c cAc nguy=n t\c cQn bNn -9 cAch t#$ng tAc -1i
'hGn cJng. Bn cwng sd h!c cAch debug [theo dMi ch#$ng tr(nh ?E 'hAt hi4n, sea li^, /uNn lp b+ nh1, -) h!c cN
cAch hot ?+ng cFa 'hGn cJng *Ay -i t;nh. ]1i cAc ng3n ngP b&c cao h$n [nh# ba-a^, bn sd Hh3ng c@ c$ h+i
h!c nhPng Hi0n thJc n)y, -) bLi -&y h!c 2 l) *+t cAch chuOn bD rCt t:t ?E b#1c l=n cAc ng3n ngP HhAc. 2 ?#Yc
coi l) o3ng tto cFa cAc ng3n ngP l&' tr(nh b&c cao nh# ba-a, ba-aScri't -) 2.

Tuy -&y, do 2 l) *+t ng3n ngP HhA ob)i bNno, -i4c h!c l&' tr(nh -1i 2 sd Hh@ HhQn h$n cAc ng3n ngP HhAc. 0u
bn Hh3ng cGn -i0t cAc ch#$ng tr(nh t#$ng tAc /uA sgu -1i 'hGn cJng [-; dK nh# truy c&' -)o dri-er cFa thi0t
bD, ho6c -i0t cAc 'hGn *L r+ng cho h4 ?i9u h)nh^, h!c 2 sd ggy l_ng 'h; th<i gian c@ thE l) -3 ;ch. @i t@*
li, trong Hhi h!c 2 sd gil' bn -i0t cAc ch#$ng tr(nh t#$ng tAc sgu -1i h4 th:ng, bn sd 'hNi t:n rCt, rCt nhi9u
th<i gian h!c tr#1c Hhi c@ thE to ra *+t sNn 'hO* c@ p ngh,a.
U#4#Q *# chBn hJp lAH phM hJp 4Ii thc tiVn
ba-a l) ng3n ngP l&' tr(nh 'ht bi0n thJ 2 tr=n th0 gi1i. ba-a A' dKng gGn nh# tri4t ?E cAc nguy=n t\c %&' tr(nh
r#1ng ?:i t#Yng [iiP^ *+t *3 h(nh ?#Yc th.c hi4n tr=n hGu h0t cAc ng3n ngP hi4n ?i nh# 2TT, Perl,
Python -) PrP. Vhi ?_ h!c ba-a, bn sd d d)ng n\* b\t ?#Yc cAc ng3n ngP iiP HhAc.
ba-a c@ th0 *nh l) ?#Yc se dKng rCt nhi9u. Bn c@ thE d d)ng t(* ?#Yc cgu trN l<i cho cAc b)i toAn cQn bNn
tr=n ba-a, c+ng ?zng se dKng ba-a cwng rCt l1n [-) do -&y HhN nQng ?#Yc trY gil' cFa bn cwng sd l1n h$n^, -)
ng3n ngP ba-a ?#Yc se dKng cho rCt nhi9u *Kc ?;ch [-i0t Jng dKng n9n ueb, n9n Windous, n9n Android ho6c
gGn nh# l) bCt cJ h4 ?i9u h)nh n)o HhAc^, do ?@ l.a ch!n h!c ba-a l) *+t l.a ch!n HhA Hh3n ngoan. Trong Hhi
bn Hh3ng thE och!co sgu Wu:ng h4 th:ng nh# 2, ba-a -yn cho 'ha' bn se dKng cAc 'hGn /uan tr!ng nh# h4
th:ng t&' tin, ?z h!a, g* thanh, *ng tr=n cAc h4 ?i9u h)nh HhAc nhau.
W6thonQ XV hBc 4, thG 4>
hi9u l&' tr(nh -i=n sd Hhuy=n bn h!c Python ?Gu ti=n, bLi ng3n ngP n)y HhA ?$n giNn song li c@ rCt nhi9u
HhN nQng. 5_ nguzn Python rCt d ?!c, -) cwng ?Bi h~i bn 'hNi l)* theo cAc 'hong cAch l&' tr(nh n=n c@ [-;
dK nh# s\' W0' *_ nguzn cho d ?!c^ trong Hhi li Hh3ng /uA ?Bi h~i g\t gao -9 cl 'hA' [-; dK nh# 'hNi th=*
dCu chC* 'hOy L cu:i cgu l4nh^.

Theo PatricH bordan, chuy=n gia ti Ariel 2o*'uting, so -1i th<i gian cGn thi0t ?E -i0t cAc *_ nguzn ?$n giNn
trong cAc ng3n ngP HhAc nh# 2, ba-a -) BAS2, Pythonn o(Hi hIi t th?i gian h)n" t dHng code h)n" v (Hi
hIi t khi ni6& c2n -h*i h;c ($ (t (JKc &'t &!c (ch Lc (Mnh h)n7 Nu,i cOng" l:- trnh v8i P%thon kh th>
vM7 SA th> vM v kh* nQng thnh c/ng +R to ra +A tA tin v h.ng th> cho h;c vi1n" v +au (# h; +R h;c l:- trnh
dB dng h)no.

SiA World cho rRng Python l) *+t l.a ch!n b\t bu+c ?:i -1i nhPng ng#<i *u:n l)* -i4c -1i %inuW [ho6c ?_
/uen -1i %inuW t` tr#1c^. h< ?#Yc se dKng tr=n cAc trang ueb nti ti0ng nh# Pinterest -) nstagra*, Python
cwng ?ang ng)y *+t 'ht bi0n h$n.
U#4#3criptQ 7' lp trnh YZb
"7 ?#Yc ?6t t=n theo ba-a [-( lp do th#$ng *i^, ba-aScri't rCt HhAc bi4t so -1i ba-a. ba-aScri't c@ thE ?#Yc
coi l) ng3n ngP l&' tr(nh ?#Yc h trY nhi9u nhCt, do tCt cN cAc tr(nh duy4t ueb ?9u h trY ba-aScri't. ba-aScri't
?#Yc coi l) 1 trong 3 th)nh 'hGn cQn bNn cFa uebq rT5% chJa n+i dung, 2SS chJa giao di4n -) ba-aScri't
?N* nhi4* -ai trB t#$ng tAc ?+ng. ba-aScri't c@ cl 'hA' HhA d se dKng, bn *Ct ;t th<i gian ?E -i0t -) c@ thE
d d)ng ?Anh giA th)nh /uN cFa *(nh Hhi l&' tr(nh ba-aScri't, -) bn cwng Hh3ng cGn t1i /uA nhi9u c3ng cK
'hA' triEn nh# cAc ng3n ngP HhAc. @i t@* li, n0u bn *u:n to ra cAc trang ueb hC' dyn, ba-aScri't l) l.a
ch!n b\t bu+c.
*# chBn @ng i cho mnh
0u bn *u:n l.a ch!n l&' tr(nh l)* ngh9 nghi4', h_y cgn nh\c nhPng l<i Hhuy=n sau ?gy t` "e-c2odecracHq
> %&' tr(nh BacH>endcSer-er>sideq Python, Zuby, PrP, ba-a ho6c .mT. Bn cGn 'hNi c@ Hi0n thJc -9 c$ sL dP
li4u -) n=n c@ Hi0n thJc /uNn trD h4 th:ng.> %&' tr(nh Uront>endc2lient>sideq rT5%, 2SS -) ba-ascri't. Bn
n=n c@ HhN nQng thi0t H0 t:t.
STU Vh no l WrontXend v YackXendZ ]; dK, Hhi bn ?!c b)i tr=n ]nZe-ieu, 'hGn trang ueb ?#Yc hiEn thD
tr=n tr(nh duy4t cFa bn ?#Yc coi l) nront>end. 2Ac We lp *ang t;nh h4 th:ng *) ng#<i d7ng cu:i Hh3ng bi0t t1i
[-; dK, lCy n+i dung trang ueb t` c$ sL dP li4u^ sd ?#Yc We lp trong 'hGn obacH>endo cFa *Ay chF.
> %&' tr(nh di ?+ngq ibjecti-e>2 cho iiS -) ba-a cho Android. Bn n=n c@ Hi0n thJc rT5%c2SS ?E l&' tr(nh
ueb cho thi0t bD di ?+ng. Bn cwng n=n c@ Hi0n thJc ser-er>side.
> %&' tr(nh 3"cl&' tr(nh ga*eq 2c2TT, i'en%. Bn n=n c@ thO* * t:t -) t# duy sAng to.
> %&' tr(nh cho cAc h4 th:ng ?Bi h~i hi4u nQng caoq 2c2TT ho6c ba-a. Bn n=n c@ H nQng toAn h!c -) H nQng
'hgn t;ch l#Yng t:t.
@i t@* li, h!c ocodeo l) *+t con ?#<ng c@ rCt nhi9u WuCt 'hAt ?iE*. fi9u /uan tr!ng nhCt l) bn 'hNi bi0t
*(nh cGn g(q cGn giNi /uy0t -Cn ?9 g( ho6c Wgy d.ng ra cAc Jng dKng dng n)o. Blog Progra&&ing i+
terrible ?#a ra H0t lu&nq
oNg/n ng0 (2u ti1n & bn h;c (JKc l ng/n ng0 kh# nht & bn +R h;c7 [Aa ch;n (J?ng (i nhI b\ h)n v
dB dng h)n bin tr*i nghi6& n% thnh &'t chu%n -hi1u lJu" h)n l &'t thD thch7 ]ut -ht (i$& kh/ng
<uan tr;ng" &iBn l bn ti- t!c (i ^ ti- t!c vit code" ti- t!c (;c code7 N_ng (Cng <u1n te+t ch>ng7 M't khi
bn (E lAa ch;n (JKc &'t ng/n ng0 thAc +A gi>- bn vCa lHng" vi6c h;c cc ng/n ng0 &8i +R t kh# khQn h)n"
v bn +R ti- t!c thu v= cc k` nQng &8io.

You might also like