Lựa Chọn Ngôn Ngữ Nào Để Bắt Đầu Học Lập Trình

Embed Size (px)

Citation preview

La chn ngn ng no bt u hc lp trnh?10/12/2013 - 16:56

La chn ngn ng no bt u hc lp trnh? Unity 3D: La chn ti u cho lp trnh di ng Google mi lp trnh vin mua knh Glass Google to c hi gip lp trnh vin vit ng dng cho knh Google Glass Play-i: D n dy lp trnh cho tr nh bng robot thng minh T vn mua laptop lm code lp trnhLp trnh l mt cng vic cc k tr tu v th v, song vi s lng ngn ng lp trnh qu nhiu nh hin nay, u l ngn ng lp trnh tt nht cho ngi mi bt u? Hy cng trang cng nghLifeHackeri tm cu tr li cho cu hi ht sc ph bin ny.

Thc t, cu hi "Ti nn hc ngn ng no khi mi bt u lp trnh?" l mt cu hi gy tranh ci, ngay c vi nhng k s, ging vin k cu nht. Nu bn hi 10 lp trnh vin "u l ngn ng tt nht cho 'lnh mi'?", bn hon ton c th nhn c 10 cu tr li khc nhau. tm ra ngn ng lp trnh ph hp nht, bn khng ch cn nh gi mc d hc ca mi ngn ng, m cn cn xem xt xem bn s lp trnh trong cc d n nh th no, yu t bn a thch nht lp trnh l g v liu xem lp trnh c tr thnh ngh kim sng ca bn hay khng.V sao bn mun hc lp trnh?Ty vo l do bn mun hc lp trnh, rt c th cu tr li c xc nh sn cho bn. Nu bn mun thit k website hoc ng dng nn web, bn cn hc HTML, CSS, Javascript to ra cc trang web hon chnh, v c l l PHP to ra h thng nn web hon chnh. Nu bn ch yu mun pht trin ng dngdi ng hy hc Objective-C lp trnh cho iOS v hc Java lp trnh choAndroid.Nu bn xc nh rng mnh s lp trnh phc v cho nhiu mc ch, nhiu d n, hoc mun th nghim nhiu ngn ng/cng ngh khc nhau, bn cn phi hc cc khi nim cn bn v lp trnh mt cch cn bn, v bt u "hc cch suy ngh nh mt lp trnh vin ch thc". Bng cch tip cn ny, bt k l bn bt u hc bng ngn ng no u tin, bn c th d dng tip cn cc ngn ng mi trong tng lai.Cc ngn ng c s dng nhiu nhtPhn ln cc ngn ng lp trnh "chnh thng" (c nhiu ngi s dng) nh C, Java, C#, Perl, Ruby v Python u c th thc hin cc tc v ging nhau (hoc gn ging nhau). V d Java l mt ngn ng lp trnh hot ng a nn tng (khng ph thuc vo h iu hnh, bt k l Windows, Linux hay Mac), song cc ng dng Python cng c th chy trn Windows v Linux gn nh tng ng nhau. Bn c th dng Java vit cc ng dng nn web ln v Ruby cng c kh nng ny.Do nhiu ngn ng lp trnh c xy dng da trn cc ngn ng lp trnh khc (v d, Microsoft b ch trch l "n cp" t Java to ra C#), cu trc cu lnh trn cc ngn ng ny l gn nh ging ht nhau. Hy th xem v d di y v bi ton kinh in "Hello World" (khi hc mt ngn ng/cng ngh mi, iu u tin m bn cn lm bao gi cng s l tm cch hin th dng ch "Hello World"):

Nh bn c th thy, cch vit ca C# v Java gn nh ging ht nhau; trong khi cch vit ca Python v Perl cng khng qu khc bit.Tuy vy, gia cc ngn ng c th c s khc bit ln v cch ci t, s dng Tap chiSOA World Magazinea ra li khuyn nh sau:"Nu bn nhn rt k vo cc v d, bn c th thy mt vi v d kh n gin, mt s khc kh phc tp, mt s ngn ng yu cu phi c du chm phy (;) cui cu lnh, mt s khc th khng. Nu bn mi bt u lp trnh, i khi bn nn chn cc ngn ng khng c qu nhiu qui lut v c php v logic, bi nh m ngn ng ny khng th "t gy kh d cho chnh mnh". Nu bn va th mt ngn ng no v cm thy khng thoi mi, hy i sang ngn ng khc!".Sau y l tng quan v mt s ngn ng ph bin nht:C: Vit ra cc on m ngun c hiu nng caoC th ni rng C l ngn ng lp trnh c s dng nhiu nht. Vic cc lp trnh vin cn bit s dng C ging nh l cc bc s cn phi bit cu to c th con ngi vy. C l mt ngn ng c bc kh thp (cch xa ngn ng ngi, v gn vi ngn ng my), do bn s hc cc nguyn tc cn bn v cch tng tc vi phn cng. Bn cng s hc cch debug (theo di chng trnh pht hin, sa li), qun l b nh, v hc c cch hot ng ca phn cng my vi tnh. Vi cc ngn ng bc cao hn (nh Java), bn s khng c c hi hc nhng kin thc ny, v bi vy hc C l mt cch chun b rt tt bc ln cc ngn ng khc. C c coi l "ng t" ca cc ngn ng lp trnh bc cao nh Java, JavaScript v C#.Tuy vy, do C l mt ngn ng kh "bi bn", vic hc lp trnh vi C s kh khn hn cc ngn ng khc. Nu bn khng cn vit cc chng trnh tng tc qu su vi phn cng (v d nh truy cp vo driver ca thit b, hoc vit cc phn m rng cho h iu hnh), hc C s gy lng ph thi gian c th l v ch. Ni tm li, trong khi hc C s gip bn vit cc chng trnh tng tc su vi h thng, bn s phi tn rt, rt nhiu thi gian hc trc khi c th to ra mt sn phm c ngha.Java: La chn hp l, ph hp vi thc tinJava l ngn ng lp trnh ph bin th 2 trn th gii. Java p dng gn nh trit cc nguyn tc Lp trnh Hng i tng (OOP) mt m hnh c thc hin trn hu ht cc ngn ng hin i nh C++, Perl, Python v PHP. Khi hc Java, bn s d dng nm bt c cc ngn ng OOP khc.Java c th mnh l c s dng rt nhiu. Bn c th d dng tm c cu tr li cho cc bi ton cn bn trn Java, cng ng s dng Java cng rt ln (v do vy kh nng c tr gip ca bn cng s ln hn), v ngn ng Java c s dng cho rt nhiu mc ch (vit ng dng nn web, nn Windows, nn Android hoc gn nh l bt c h iu hnh no khc), do la chn hc Java l mt la chn kh khn ngoan. Trong khi bn khng th "chc" su xung h thng nh C, Java vn cho php bn s dng cc phn quan trng nh h thng tp tin, ha, m thanh, mng trn cc h iu hnh khc nhau.Python: D hc v th vNhiu lp trnh vin s khuyn bn hc Python u tin, bi ngn ng ny kh n gin song li c rt nhiu kh nng. M ngun Python rt d c, v cng i hi bn phi lm theo cc phong cch lp trnh nn c (v d nh sp xp m ngun cho d c) trong khi li khng qu i hi gt gao v c php (v d nh phi thm du chm phy cui cu lnh).Theo Patrick Jordan, chuyn gia ti Ariel Computing, so vi thi gian cn thit vit cc m ngun n gin trong cc ngn ng khc nh C, Java v BASIC, Pythonn "i hi t thi gian hn, t dng code hn, v i hi t khi nim cn phi hc t c mt mc ch xc nh hn. Cui cng, lp trnh vi Python kh th v. S th v v kh nng thnh cng s to ra s t tin v hng th cho hc vin, v sau h s hc lp trnh d dng hn".SOA World cho rng Python l mt la chn bt buc i vi nhng ngi mun lm vic vi Linux (hoc quen vi Linux t trc). Nh c s dng trn cc trang web ni ting nh Pinterest v Instagram, Python cng ang ngy mt ph bin hn.JavaScript: lp trnh webD c t tn theo Java (v l do thng mi), JavaScript rt khc bit so vi Java. JavaScript c th c coi l ngn ng lp trnh c h tr nhiu nht, do tt c cc trnh duyt web u h tr JavaScript. JavaScript c coi l 1 trong 3 thnh phn cn bn ca web: HTML cha ni dung, CSS cha giao din v JavaScript m nhim vai tr tng tc ng. JavaScript c c php kh d s dng, bn mt t thi gian vit v c th d dng nh gi thnh qu ca mnh khi lp trnh JavaScript, v bn cng khng cn ti qu nhiu cng c php trin nh cc ngn ng khc. Ni tm li, nu bn mun to ra cc trang web hp dn, JavaScript l la chn bt buc.

La chn ng i cho mnhNu bn mun la chn lp trnh lm ngh nghip, hy cn nhc nhng li khuyn sau y t Dev/Code/Hack:- Lp trnh Back-end/Server-side: Python, Ruby, PHP, Java hoc .NET. Bn cn phi c kin thc v c s d liu v nn c kin thc qun tr h thng.- Lp trnh Front-end/Client-side: HTML, CSS v Javascript. Bn nn c kh nng thit k tt.[*] Th no l Front-end v Back-end? V d, khi bn c bi trn VnReview, phn trang web c hin th trn trnh duyt ca bn c coi l front-end. Cc x l mang tnh h thng m ngi dng cui khng bit ti (v d, ly ni dung trang web t c s d liu) s c x l trong phn "back-end" ca my ch.- Lp trnh di ng: Objective-C cho iOS v Java cho Android.Bn nn c kin thc HTML/CSS lp trnh web cho thit b di ng.Bn cng nn c kin thc server-side.- Lp trnh 3D/lp trnh game: C/C++, OpenGL. Bn nn c thm m tt v t duy sng to.- Lp trnh cho cc h thng i hi hiu nng cao: C/C++ hoc Java. Bn nn c k nng ton hc v k nng phn tch lng tt.Ni tm li, hc "code" l mt con ng c rt nhiu xut pht im. iu quan trng nht l bn phi bit mnh cn g: cn gii quyt vn g hoc xy dng ra cc ng dng dng no. Blog Programming is terrible a ra kt lun:"Ngn ng u tin m bn hc c l ngn ng kh nht m bn s hc. La chn ng i nh b hn v d dng hn bin tri nghim ny thnh mt chuyn phiu lu, hn l mt th thch. Xut pht im khng quan trng, min l bn tip tc i tip tc vit code, tip tc c code. Cng ng qun test chng. Mt khi bn la chn c mt ngn ng thc s gip bn va lng, vic hc cc ngn ng mi s t kh khn hn, v bn s tip tc thu v cc k nng mi".Theo: Vnreview/Life Hacker

Vit bnh lunTop of Form

ng nhp|ng k

Bottom of Form64 bnh lun

+1Nguyn Vn Cng19h50, ngy 13-12-2013Theo em ngh "kh thp" # "thp" m...

c my ci comment xong em cm thy hi nhc u, mi ngi c 1 cch ngh v theo chiu hng tri ngc nhau kh r. EM ngh nu thch lp trnh th ngn ng no cng th, ngn ng ch l cng c thi, cn quan trng th t duy v cch vn dng kh nng cho tt, v t duy cao th n mi gip chng ta s dng tt cc ngn ng m thi. Trc em theo mng m lp trnh mng vi Java, nhng cng thik ci lp trnh ng dng nn mun hc thm vi ngn ng, m kiu ny chc C/C# cho hp kh nng :v

Em hc ti nng cn, pht biu theo cm tnh nn c nhiu sai st, mong cc anh ch b qu cho.Tr li

0Nguyen Phuong Dong01h34, ngy 12-12-2013 H NiThc ra hc ngn ng no khng quan trng. theo mnh l phi am m. Nu am m th t s c gng m c gng t s thnh cngTr li sa

0ViM_8316h21, ngy 11-12-2013 H Nimnh ngh nn hc C/C khi giai on l hc sinh sinh vin, cn nu i lm ri th c ci g cn th hcTr li

0Khoa L ng14h28, ngy 11-12-2013 ng NaiPascal nh, n l d nht ri yTr li

0Black Cat16h10, ngy 11-12-2013 H Ni@Khoa L ng: pascal ko phi d nht, Basic mi l d nht, Python v Ruby cng d.Tr li

0Googleholic14h11, ngy 11-12-2013 TP HCMMt phiu cho pythonTr li

0Quoc Thien12h05, ngy 11-12-2013 TP HCMT duy mi l ci cn thit, cn ngn ng ch l cng c thi. Gi lm v mobile th lng cao d tm vic.Tr li

0Cam16h20, ngy 11-12-2013 Min Trung@Quoc Thien: ci kh ca lp trnh l ko hiu r cc cu lch cn logic th tu ngi 1 khi hiu ht ngh ca cu lnh th vic lp trnh ch nh tr chi xp LegoTr li

+3Black Cat09h41, ngy 11-12-2013 H Nitc gi ng u qu. Th u tin cn phi hc l TING ANH !Tr li

+1Pho Cong12h43, ngy 11-12-2013 Thi Bnh@Black Cat: mnh ngh ko phi bit ting anh mi lp trnh dc. quan trong bn hiu nguyn l hot ngTr li

0Googleholic14h04, ngy 11-12-2013 TP HCM@Black Cat: Ting Anh c phi l ngn ng lp trnh uTr li

+1Bald Eagle09h44, ngy 15-12-2013 TP HCM@Googleholic: Vy chnh hn mi l ng uTr li

0minh tri08h52, ngy 11-12-2013 TP HCMPascal ngn ng u tin ti hc cn VB l ngn ng khoi khm ca tui..Tr li

0thanhs08h16, ngy 11-12-2013 Kin Giang hc java, c,c ,c#, php... rt ra kt lun hc ci no cng th, coder y nh 1 ci my. Quan trng l nhng kin thc phn tch v thit k, v hn ch li.Tr li

0Nguyn T Qung07h51, ngy 11-12-2013 TP HCMnh hng hc ci g th bay v lun. hi trc ng u C nhng thch web lin bay v PHP v theo ti giTr li

+3Casper Pascal00h55, ngy 11-12-2013 H NiMnh th ngh l ting AnhTr li

0inh Dip Quang Khi01h14, ngy 11-12-2013 Min Nam@Casper Pascal: chun vcccccccccccccTr li

+3Qun20h36, ngy 10-12-2013 TP HCMWeb cng ngh m nhn nhng bnh lun di m thy nn. Hn g Game/Gen do ny ton post my ci g u khng.Tr li

0kod kod22h08, ngy 10-12-2013 Nc ngoi@Qun: dong quan diemTr li

0Nguyn Hong H20h28, ngy 10-12-2013 H Nitheo mnh pascal mi l ng t ngn ng lp trnhTr li

0T Quc Vit22h02, ngy 10-12-2013 H Ni@Nguyn Hong H: xt v s lng cc ngn ng lp trnh c truyn cm hng th C ng nhin n t pascal. Tuy vy nu ni ng t ca cc ngn ng lp trnh th bn phi nhc n assembly. :vTr li

0Microsoft23h02, ngy 10-12-2013 qua in thoi Lm ng@T Quc Vit: c xong code asm xong tui i lunTr li

+6Nguyen Xuan Hien20h13, ngy 10-12-2013 qua in thoi H NiNgn ng ch l phng tin thi. Hy hc ton v logic hc trc. Cc ngn ng ch cn 2thng l tha h dng nu rnh nn tng. ng vi lo lng.Tr li Xem thm 14 bnh lun tr li

0Nguyen Xuan Hien14h08, ngy 12-12-2013 TP HCM@Zik Zak: Bn c nhiu tm s qu. Mnh k c ch coder l gii hay d, sang hay hn. Mnh ch mun nhn mnh ngha ca ton hc v logic i vi lp trnh ni chung. Theo th mnh cho rang d cv ch dung li ngi vit Code th vic c t duy ton hc cng vn gip h gii quyt vn tt hn v c nhiu c hi thng tin. Cn nu khng mun thng tin th cng khng ai ch g mnh nhng s thit thi hn v t c trng dung hn. a s ai cng mun mnh l ngi ti nng, lm dc vic ln v c trng aTr li

0nguyentanbao15h09, ngy 12-12-2013 TP HCM@kod kod: my ci l ton ht y, khng phi t nhin l c thut ng "thut ton". Vit TV c du cng khng lm c m ln mng chiTr li

+1vi c t20h12, ngy 10-12-2013 H NiPascal cng l ngn ng bc cao do C chng c l do g l ngn ng "bc thp" c.Tr li

0T Quc Vit22h03, ngy 10-12-2013 H Ni@v i c t: trng mnh hc cc thy ton bo C l ngn ng bc cao. :vTr li

+1nguyentanbao01h09, ngy 11-12-2013 TP HCM@ tc gi C l bc thp nht trong s cc ngn ng bc caoTr li

0Trng Xperia19h52, ngy 10-12-2013 Tin GiangHc sinh lp 8 bc buc hc turbo pascalTr li

0TRNHCECH19h31, ngy 10-12-2013 Qung Ngichun b nm sao th ri gin CNTT qu k bit chn hng no yTr li

0Ngc Ben18h48, ngy 10-12-2013 H NiPHP khng quan trng kiu bin trc iTr li

0Nguyen Manh Huy18h44, ngy 10-12-2013 Hi PhngHc t duy lp trnh, mt khi c ri th chuyn sang ngn ng no cng c.Tr li

0L Long n13h00, ngy 11-12-2013 TP HCM@Nguyen Manh Huy: C nhiu bnh lun nhng bnh lun ca bn l hp l. Mnh l ngi ngoi ngnh nhng thch lp trnh, v thy excel hay vy ri th lp trnh chc cn hay hn na. Nn hc t duy lp trnh nh th no cho ng bn?Tr li

+2Pao_Reea18h42, ngy 10-12-2013 TP HCMYeah, Mnh n vi lp trnh nh sau:Pascal -> Khi ngun am m lp trnh, hc hi ph thng.C -> Hc hiu k thut lp trnh c bn, nng cao th theo kh kh.C -> Lm quen OOPC#,Java -> ng dng trong nhiu lnh vc, hc kim cmPHP, JS, HTML -> Bit lm webPython, Perl, LISP, assem ... -> Tm hiu cho bit thi

Tm li thi bui ny c C#, Java, JS, PHP, HTML thi l kim cm ri. Ai pro mi theo my ci cn li, chuyn 1 th mi tt, bit nhiu nhng khng su cng chng lm c g.Tr li

0nguyentanbao01h11, ngy 11-12-2013 TP HCM@Pao_Reea: bit nhiu khng su th lm architect hay PM. a thi, nu bn ch bit mi 1 th th lng ca bn s cao nhng s kh thng tin ln cc cp bc khc v n i hi kin thc kh rngTr li

+1Pao_Reea01h33, ngy 11-12-2013 TP HCM@nguyentanbao: Lm ln cao th phi hiu bit nhiu ngn ng lp trnh l tt nhin ri, nhng khi c l khng cn phi chuyn mn no ht. Th cn i su khi level up l phn tch, thit k, s ho, a ra gii php, quy trnh ho phn mm... Tng lp ny khng cn phi lp trnh na ri nn khng th gi l lp trnh vin => k s phn mmTr li

0abtran18h38, ngy 10-12-2013 qua in thoiHc C ri qua C trng mnh hc nh vy v thy kh hp l.Tr li

0keangoo18h27, ngy 10-12-2013 TP HCMbt u th c C/C thiTr li

0lm18h18, ngy 10-12-2013 Thi Nguynscripting language nh Python,PHP,JS... lun d hc nht

Tr li

0Danh Nguyen17h17, ngy 10-12-2013 TP HCMLp trnh java m cho hiu nng cao sao? Java ch tng thch vi nhiu h iu hnh thi, lp trnh java l cho hiu nng thp nht th c. Lbrary ca android cng vit ton b bng C ch c phi bng java u.Tr li

0Nguyen Manh Cuong00h57, ngy 11-12-2013 H Ni@Danh Nguyen: nhng n c tnh n nh v bo mt cao nn n vit cho ng dng doanh nghip ton vit bng java oracleTr li

0Le Vinh Duc17h14, ngy 10-12-2013 TP HCMC# v Java :v, kh ging nhau v d hcTr li

0khnh hi17h14, ngy 10-12-2013 TP HCMhc mt ngn ng u tin i... ri s bit nhng ngn ng khc s dng th no... chn ci no cng cTr li

+1c Nguyn17h09, ngy 10-12-2013 H Niv vn, C m l ngn ng bc thp, dn chng u ra vy? Ngi vit liu c phn bit c gia ngn ng bc thp v bc cao? Ngn ng bc thp l m my hoc ngn ng assembly, nhng thnh phn cn li s dng n compiler chuyn t ngn ng con ngi sang m my u l ngn ng bc cao.

Thm na l ng so snh Python, Perl vi C# v Java; bn cht 2 loi ny khc nhau. Python, Perl, cng nh PHP, JS u l scripting language, trong khi C# v Java l full fledged OOP language.Tr li

0Ngc Ben18h46, ngy 10-12-2013 H Ni@c Nguyn: C l ngn ng bc trung th phiTr li

0Nguyn Vn Chin19h24, ngy 10-12-2013 H Ni@c Nguyn: Bn hiu oop l g khng m bo ch c c# v java. m bo php l scripting th hon ton sai. m bn cng chng hiu th no l bc thp bc cao c. nu bn bit mn cu trc my tnh th nn hc li cn cha tng nghe th bn khi phi hc i hay ngh theo cch bn ngh.Tr li

0Quy HP19h55, ngy 10-12-2013 H Ni@c Nguyn: cao hay thp l 1 t rt tng i thi. C chc chn l bc cao hn assembly ri, nhng thp hn nhiu tt c nhng ngn ng thng dng hin nay. Th nn ni n l bc thp cng ko phi l saiTr li

+4chiron17h00, ngy 10-12-2013 qua in thoi TP HCMPascalTr li

0Danh Nguyen17h24, ngy 10-12-2013 TP HCM@chiron: y l ngn ng u tin mnh c hc, hc n ri mi phn bit c lp trnh cu trc v lp trnh hng i tng khc nhau ra saoTr li

0hoangnt198917h38, ngy 10-12-2013 H Ni@Danh Nguyen: C th bn cha bit l do v sao i Hc Bch Khoa H Ni li chn C l ngn ng khi u cho sinh vinTr li

0FreeMan19h21, ngy 10-12-2013 Bnh Dng@chiron: Chn Pascal hay C trc bt u hc lt cng c, mnh th nghing v C nhiu hn. Pascal th d hn nhng tnh ng dng ko cao, C th n linh hot, uyn chuyn hn, gip cho my bn sau ny d tip cn vi cc ngn ng C hay C# hn.Tr li

0Danh Nguyen20h56, ngy 10-12-2013 TP HCM@hoangnt1989: mnh hc pascal t hi hc ph thng ln bn i