Ang pagiging isang programmer ay isang pinagsama-samang proseso na nagtataguyod ng iyong mga kasanayan araw-araw at bawat taon, at ang programa ay maaaring maging kasiya-siya at nagbibigay ng gantimpala (itak, espiritwal at pampinansyal). Ang gabay na ito ay hindi nangangako na magbigay ng isang mahiwagang madaling paraan upang maging isang programmer, at ang pag-order ng mga hakbang ay hindi sagrado, ngunit makakakuha ka ng isang pangkalahatang balangkas kung paano maging isang programmer sa isa sa mga modernong larangan ng programa.
Mga hakbang
Hakbang 1. Kumuha ng isang panimulang kurso sa isa (o lahat sa kanila) ng mga sumusunod na disiplina:
- Lohika
- Discrete matematika
- Wika sa pagpoproseso (kumuha ng bahagi sa iba't ibang mga paraday ng programa, na nagsisimula sa sunud-sunod / pamaraan patungo sa object oriented, pagkatapos ng functional at lohikal na programa.
TIP NG EXPERT
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Tagapagtatag ng Startup at Direktor ng Engineering
Huwag pakiramdam na kailangan mong kumita ng isang coding degree.
Habang ang pagtulong sa mga kurso sa isang wika ng programa ay maaaring maging kapaki-pakinabang, sinabi ni Gene Linetsky, isang software engineer at startup founder, na:"
Hakbang 2. Alamin ang mga konsepto sa database tulad ng mga talahanayan, pagtingin / query at pamamaraan
Maaari mong gamitin ang anumang simpleng pakete sa database upang magawa ito, tulad ng:
- Pag-access sa MS
- DB V
- Fox Pro
- Kabalintunaan
- Ang MySQL ay isang mahusay na database upang matutunan dahil libre ito, karaniwang ginagamit, at mga database ay karaniwang na-access sa mga query sa SQL
Hakbang 3. Magpasya kung anong uri ng programmer ang nais mong maging
Ang mga programmer ay karaniwang nasa ilalim ng isa sa mga sumusunod na kategorya:
- Programmer sa web
-
Programmer ng application ng desktop
- Ang programmer na nakatuon sa operating system (OS) (nakatali sa isang solong operating system o hanay ng mga operating system)
- Programmer na walang independiyenteng platform
- Ipinamahagi ang programmer ng mga application
- Library / platform / framework / core programmer
-
Programmer ng system
- Kernel programmer
- Programmer ng driver
- Compiler programmer
- Programista na siyentista
Hakbang 4. Alamin ang mga teknolohiya at mga wika sa pag-program na nauugnay sa iyong piniling programa na pinili
Ang mga sumusunod na seksyon ay pinaghiwa-hiwalay ang mga gawain para sa iba't ibang uri ng programa.
Paraan 1 ng 6: Programming sa Web
Hakbang 1. Alamin kung ano ang kinakailangan sa pagpoproseso ng Web
Ang mga aplikasyon ng web ay mga bahagi ng software na idinisenyo upang gumana sa tuktok ng arkitektura ng internet. Nangangahulugan ito na na-access ang mga application sa pamamagitan ng isang web browser software tulad ng Firefox o Internet Explorer. Ang pagiging built sa tuktok ng arkitektura ng Internet ay hindi kinakailangang mangailangan ng isang aktibong koneksyon sa internet. Nangangahulugan ito na ang mga aplikasyon ng Web ay binuo sa tuktok ng karaniwang mga teknolohiya sa web tulad ng:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- Mga protokol ng IP
- HTML
- XML
- Coldfusion
- ASP
- JSP
- PHP
- ASP. NET
Hakbang 2. Mag-browse ng maraming magkakaibang mga website upang malaman ang tungkol sa kung paano sila karaniwang hitsura
(Pag-right click, pagkatapos ay i-click ang Tingnan ang Pinagmulan o pindutin ang F12.) Maghanap para sa pagkakaiba-iba sa uri / nilalaman ng website, hindi ang dami ng mga website na binisita. Pangkalahatan, kakailanganin mong bisitahin ang hindi bababa sa isa sa bawat sumusunod na uri ng mga website:
- Mga site ng pagkakaroon ng korporasyon (mga korporasyong pangkomersyo, mga korporasyong / organisasyong hindi para sa kita, mga organisasyong pampamahalaan)
- Mga web index engine (mga search engine, mga site ng paghahanap sa meta, dalubhasang mga search engine, direktoryo)
- Mga site ng pagmimina ng data
- Mga personal na site
- Mga pahina ng impormasyon / encyclopedic (wiki, mga sheet ng data, panteknikal na pagtutukoy, at mga direktoryo ng listahan ng mga manwal, blog at journal, mga site ng balita at ahensya ng balita, mga dilaw na pahina, atbp.)
- Mga social site (mga social portal, mga site ng pag-bookmark, mga site na kumukuha ng tala)
- Mga nagtutulungan na site (kasama dito ang iba pang mga kategorya na nabanggit sa itaas, tulad ng wiki at blog)
Hakbang 3. Alamin ang hindi bababa sa isang diskarte / pamamaraan ng brainstorming at isang software na ginagamit upang ipatupad ang pamamaraang iyon
Halimbawa: mga diagram ng brainstorming at MS Visio.
Hakbang 4. Pamilyar sa pagbubuo ng website
Lumilikha ito ng mga haka-haka na diagram ng web, mga site-map, at mga istruktura ng nabigasyon.
Hakbang 5. Kumuha ng isang kurso sa pag-crash sa disenyo ng graphics
Subukang alamin ang kahit isang pakete ng software sa pag-edit / pagmamanipula ng graphics (opsyonal, ngunit masidhing inirerekomenda)
Hakbang 6. Alamin ang mga pangunahing kaalaman sa imprastraktura ng internet
Kasama rito ang pagkuha ng isang pangunahing ideya tungkol sa:
- Mga protocol ng mga serbisyo sa Base Web (HTTP, FTP, SMTP, at POP3 o IMAP4)
- Web server software (mas mabuti, isa para sa platform na iyong pagtatrabaho sa karamihan)
- Web browsing software.
- Email server at client software
Hakbang 7. Alamin ang mga wikang HTML at CSS
Maaari mo ring makuha ang pakete ng software na "What You See Is What You Get (WYSIWYG)" para sa pag-edit ng HTML.
Hakbang 8. Alamin ang mga teknolohiya na nauugnay sa XML at XML, tulad ng XSL at XPath (opsyonal ngunit inirerekomenda)
Hakbang 9. Lumikha ng mga simpleng static na website hanggang sa pamilyar ka at komportable sa paligid ng HTML
Hakbang 10. Alamin ang isang wika ng script sa panig ng kliyente
Karamihan sa mga gumagamit ay natututo ng JavaScript. Ang ilan ay natututo ng VBScript, ngunit hindi ito tugma sa karamihan ng mga browser.
Hakbang 11. Pamilyar ang iyong sarili sa wikang script sa panig ng kliyente na natutunan mo
Subukang abutin ang iyong potensyal na gumagamit lamang ng wikang iyon. Pumunta lamang sa susunod na hakbang pagkatapos mong maging pamilyar sa iyong wika sa pag-script sa panig ng client.
Hakbang 12. Alamin ang hindi bababa sa isang wika sa pagprograma sa panig ng server
Kung pipiliin mong paghigpitan ang iyong sarili sa isang server software, alamin ang isa sa mga wika ng programa na sinusuportahan ng software na iyon. Kung hindi, alamin ang hindi bababa sa isang wika ng programa sa bawat server software.
Hakbang 13. Lumikha ng isang proyekto ng piloto para sa iyong sarili pagkatapos mong malaman ang wika ng pagprograma sa panig ng server.
Hakbang 14. Kumuha ng iyong sariling website at simulang mag-eksperimento sa online sa loob ng iyong sariling pahina
Paraan 2 ng 6: Desktop Application Programming
Hakbang 1. Alamin kung ano ang nakukuha mo sa pag-program ng application ng desktop
Karamihan sa mga programmer ng desktop ay nagsusulat ng code para sa mga solusyon sa negosyo, kaya't ang pagkuha ng isang ideya tungkol sa mga negosyo, kanilang istrakturang pang-organisasyon at pampinansyal ay magiging isang malaking tagatipid ng oras.
Hakbang 2. Alamin ang tungkol sa iba't ibang mga arkitektura ng hardware ng computer
Ang isang panimulang antas ng kurso sa disenyo ng mga digital na circuit ay kapaki-pakinabang; subalit, nakikita ito ng ilan bilang advanced para sa isang panimulang punto, kaya't ang pagbabasa ng dalawa o tatlong mga artikulo sa tutorial (tulad ng isang ito at ang isang ito) ay maaaring sapat. Pagkatapos ay maaari kang bumalik sa hakbang na ito sa paglaon, pagkatapos mong malaman ang iyong unang wika ng programa.
Hakbang 3. Alamin ang isang entry-level (mga bata) na wika ng programa
Huwag mahiya na malaman ang gayong wika dahil lamang sa mas matanda ka kaysa sa tawaging isang "bata". Ang isang halimbawa ng mga wikang ito sa pagprograma ay maaaring Scratch. Ang mga wikang ito sa pagprograma ay maaaring mapagaan ang sakit sa pag-aaral ng iyong unang wika ng programa nang labis. Gayunpaman, ang hakbang na ito ay opsyonal. Maaari rin itong gawin bago ang naunang hakbang.
Hakbang 4. Kumuha ng isang pagpapakilala sa pamamaraan, nakatuon sa object, at functional paradigms sa pag-andar.
Hakbang 5. Kumuha ng isang panimulang kurso sa isa sa mga wikang pamproseso sa pamaraan
Hindi mahalaga kung anong wika ang pipiliin mo sa paglaon upang maging iyong napiling wika, kakailanganin nito ang pamamaraang programa sa ilang antas. Gayundin, ang pamamaraang programa ay naiulat ng karamihan sa mga programmer na pinakamadaling gamitin bilang panimulang punto upang makuha ang ideya ng pagprograma sa pangkalahatan.
Hakbang 6. Alamin ang hindi bababa sa isang advanced na diskarte sa pagmomodelo tulad ng UML o ORM
Hakbang 7. Simulang magsulat ng ilang maliliit na console o tulad ng console na mga application
Maaari mong magamit ang karaniwang mga maliliit na pagsasanay sa mga libro sa mga wika ng programa. Para sa mga ito, pumili ng isang tool para sa pagsusulat ng mga programa sa programming language na iyong sinusulat.
Hakbang 8. Kumuha ng isang mas advanced na kurso sa iyong napiling wika ng programa
Tiyaking naiintindihan mong mabuti ang mga sumusunod na konsepto at mailalapat mo ang mga ito nang may gaanong kadali bago magpatuloy:
- Pag-input at pag-output ng impormasyon sa mga gumagamit ng isang programa.
- Ang lohikal na daloy at daloy ng pagpapatupad ng mga programa sa mga wikang pamproseso.
- Pagdeklara, pagtatalaga at paghahambing ng mga variable.
- Nagsasagawa ang mga branching program ng konstruksyon tulad ng kung..hen..else at select / switch..case.
- Ang pag-loop ng mga konstruksyon tulad ng habang..gawin, gawin..sama / hanggang, para sa..susunod.
- Ang iyong syntax ng wika sa programa para sa paglikha at pagtawag ng mga pamamaraan at pag-andar.
- Mga uri ng data at pagmamanipula ng mga ito.
- Tinukoy ng gumagamit ang mga uri ng data (talaan / gawi / yunit) at ang paggamit nito.
- Kung sinusuportahan ng iyong wika ang mga pagpapaandar na overloading, intindihin ito.
- Ang mga pamamaraan ng pag-access sa memorya ng iyong wika na iyong pinili (mga payo, pagsilip, atbp.)
- Kung sinusuportahan ng iyong wika ang labis na pag-load ng mga operator, intindihin ito.
- Kung sinusuportahan ng iyong wika ang mga delegado / function point, intindihin ito.
Hakbang 9. Ilapat ang mga advanced na diskarte na natutunan mo
Hakbang 10. Kumuha ng isang panimulang kurso sa hindi bababa sa isa pang wika ng programa sa isa pang paradahan ng programa
Inirerekumenda na malaman ang isang wika sa pagprograma ng bawat paradaym, at ang pinaka-advanced na mga programmer ay ginagawa, gayunpaman, karaniwang nagsisimula ka sa isa, nagtatrabaho sandali habang inilalapat ang iyong kaalaman at isinasagawa ito, pagkatapos ay alamin ang iba pa sa paglaon, pagkatapos mayroon ka ng tunay na -karanasang buhay sa pagprograma. Subukan ang isa sa mga sumusunod na lugar ng wika:
- Paradigma ng programa sa lohika.
- Pagganap ng paradahan ng pagprogram.
- Paradigma na nakatuon sa object.
Hakbang 11. Subukang ihambing ang dalawang mga wika sa pag-program na natutunan mo sa ngayon
Suriin ang mga kalakasan at kahinaan ng bawat isa. Karaniwan ito ay ginagawa ng:
- Ang pagkuha ng mga simpleng sample ng iyong maagang gawain sa unang wika ng programa at muling isulat ito gamit ang pangalawang wika ng programa.
- Lumilikha ng isang bagong proyekto at subukang ipatupad ito gamit ang parehong mga wika. Minsan, depende sa iyong pinili ng proyekto at mga wika, maaaring hindi mo maipatupad ang proyekto sa isa sa mga wika!
- Pagsusulat ng isang cheat-sheet o buod-talahanayan na paghahambing sa pagitan ng mga katulad na konstruksyon sa dalawang wika at mga tampok na natatangi sa bawat isa sa mga wika.
- Subukang maghanap ng mga paraan upang gayahin ang mga tampok na natatangi sa isa sa dalawang wika gamit ang iba pang wika.
Hakbang 12. Alamin ang mga konsepto ng visual na programa gamit ang isa sa mga wikang iyong natutunan
Halos lahat ng mga wika ng programa ay may mga bersyon / aklatan na sumusuporta sa visual program at iba pa na sumusuporta sa console o tulad ng console na programa. Magagawa ito sa pamamagitan ng:
- Kumuha ng isang pagpapakilala sa programa na hinihimok ng kaganapan. Karamihan sa visual na programa ay nakasalalay sa ilang antas sa mga kaganapan at paghawak ng mga kaganapan (gamit ang piniling programa na pinili mo).
- Subukan ang mas maraming desktop software hangga't maaari at maunawaan kung ano ang ginagawa ng software. Karamihan sa mga kumpanya ng pag-unlad ng software ay nag-aalok ng mga bersyon ng pagsubok sa beta ng kanilang mga produkto na maaari mong gamitin upang subukan ang software. Panatilihing napapanahon sa mga pagsulong ng interface ng gumagamit.
- Basahin ang ilang mga artikulo o tutorial sa mga graphic na interface ng gumagamit.
Hakbang 13. Simulang ilapat ang iyong kaalaman sa maliliit na mga proyekto sa software na iyong dinisenyo
Subukang ilapat ang iyong kadalubhasaan sa programa sa mga problemang kinakaharap mo sa iyong pang-araw-araw na buhay. Halimbawa, sumulat ng mga program na pinalitan ang pangalan ng mga file nang maraming, pinaghambing ang mga file ng teksto nang biswal, kinopya ang mga pangalan ng mga file sa isang direktoryo sa memorya / text file, at mga bagay na katulad nito. Panatilihin itong simple sa una.
Hakbang 14. Lumikha ng isang proyekto sa virtual na graduation
Kumpletuhin ito hanggang sa wakas, na inilalapat ang mga diskarte ng visual na programa na natutunan mo sa ngayon.
Hakbang 15. Palawakin ang iyong pag-unawa sa visual framework / library / package na natutunan mo dati sa pamamagitan ng pagkuha ng mga advanced na kurso, pagbibigay ng labis na pansin sa detalye at pag-aaral ng higit pang mga tip at trick para sa iyong balangkas mula sa mga mapagkukunang online
Hakbang 16. Maghanap para sa iba pang mga pakete / aklatan ng mga visual na elemento para sa iyong mga wika sa programa at alamin ang mga ito
Hakbang 17. Kumuha ng kurso sa graphics (hindi disenyo ng graphics)
Napaka-kapaki-pakinabang para sa mga programmer na nais na sumulat ng mga elemento ng interface ng gumagamit.
Hakbang 18. Isaalang-alang ang pagiging isang programmer ng mga laro (opsyonal)
Ang programa sa laro ay isinasaalang-alang, sa karamihan ng mga bahagi nito, desktop program. Kung balak mong maging isang programmer ng mga laro, kakailanganin mong malaman ang tungkol sa pagprograma ng laro pagkatapos mong matapos ang mga hakbang na ito. Ang isang kurso sa graphics ay kinakailangan para sa mga programmer ng laro at ang pangalawang wika na pinili sa mga naunang hakbang ay dapat na isang lohika / functional na wika ng programa (mas mabuti ang Prolog o Lisp).
Paraan 3 ng 6: Pamamahagi ng Mga Application ng Application
Hakbang 1. Pakitungo sa pamamahagi ng mga application
Ang ipinamamahagi na programa ng aplikasyon ay isinasaalang-alang ng marami na isa sa pinakamahirap na matutunan at nangangailangan ng magkakaibang kaalaman sa mga teknolohiya sa computer at komunikasyon.
Hakbang 2. Kumuha ng isang bilis ng pagpapakilala sa mga telephony system at kanilang hardware
Ang hakbang na ito ay opsyonal. Gayunpaman, napaka kapaki-pakinabang sa pag-unawa sa mga topology ng network.
Hakbang 3. Pamilyar ang iyong sarili sa mga arkitektura ng hardware at aparato tulad ng mga hub, switch at router
Hakbang 4. Kumuha ng kurso sa mga network ng mga protokol at mahahalaga
Kailangan mo ng mahusay na pag-unawa sa modelo ng Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP at HTTP bago mo simulan ang pamamahagi ng mga application.
Hakbang 5. Alamin ang XML na wika at pamilyar dito
Hakbang 6. Magsimula sa pamamagitan ng pag-aaral ng isang wika ng shell scripting
Para sa programa na nakabatay sa Windows, iyon ang anumang script na gagana sa Windows Scripting Host. Para sa programa na nakabatay sa Linux, ang Bash script at Perl ay magiging sapat. Mahigpit na inirerekomenda ang JavaScript para dito sa parehong mga platform para sa mga sumusunod na kadahilanan:
- Sinusuportahan ito ng halos anumang host ng scripting sa anumang operating system (sinusuportahan ng Windows Scripting Host ang JavaScript bilang default, ang karamihan sa mga pamamahagi ng Linux ay may isang pakete para sa suporta sa JavaScript scripting console).
- Ito ay itinuturing na mas madaling matutunan ng maraming mga developer.
- Mayroon itong syntax na nagmula sa ALGOL na pamilyar sa iyo ng iba pang mga wika sa pagprograma kung kailangan mong pumili ng pangalawang wika ng programa (C, C ++, C #, Java at J # lahat ay may ALGOL na nagmula sa syntax).
- Sa pamamagitan ng pag-aaral ng JavaScript, pamilyar ka sa iyong script sa panig ng client ng mga web page na isang side-effects na bonus!
Hakbang 7. Mag-apply lamang ng pamamaraang pang-proseso gamit ang iyong piniling wika sa pag-script sa una
Sa paglaon, maaari mong gamitin ang mas advanced na mga diskarte sa pagprogram at paradigms alinsunod sa iyong wika sa pag-script at kung ano ang sinusuportahan nito. Ang lahat ng mga wika sa pag-script ay may ilang mga aspeto ng pamamaraang pang-proseso sa ilang antas.
Hakbang 8. Gamitin ang wikang scripting na natutunan mong magsulat ng mga script na nagsasagawa ng mga komunikasyon sa pagitan ng mga machine
Alamin kung ano ang kinakailangan para gawin ito. Sapat na ang mga simpleng komunikasyon.
Hakbang 9. Gumawa ng paglipat sa isang desktop scripting / programming language
Mas mabuti, isa na isang wikang multi-paradigm tulad ng Python. Gumawa ng isang simpleng pagpapakilala sa pangalawang wika na iyon. Ang Java ay itinuturing ng karamihan sa mga programmer na ang wika ng napili para sa maraming kadahilanan. Gayunpaman, ang C # ay mabilis na nakakakuha ng momentum sa larangang ito. Ang Java at C # ay ginustong para sa mga sumusunod na kadahilanan:
- Ang mga ito ay nakatuon sa mga wika ng programa na nakatuon sa proteksyon ng mga programmer sa malalaking koponan mula sa mga detalye ng pagpapatupad dahil pareho silang sumusuporta sa mga bahagi (mga yunit ng code, paunang naipon, na nagsasagawa ng isang tiyak na gawain at maaaring magamit sa iba pang mga programa).
- Sinusuportahan nila ang mga programa na hinihimok ng kaganapan, pati na rin ang OO at pamamaraang programa sa ilang antas.
- Ang balangkas na binuo ang wika ay ipinamamahagi ng kalikasan (sa kaso ng Java).
- Ang pagkakaroon ng maraming mga handa nang pakete na nakikipag-usap sa networking, kapwa bilang open-source code at framework na built-in na mga pakete; ginagawang mas madali para sa mga programmer na bumuo sa gawain ng iba.
Hakbang 10. Pag-isiping mabuti ang pangunahing mga tampok ng wika, lalo na ang mga sumusuporta sa networking
Magbigay ng mas kaunting pansin sa mga elemento ng interface ng gumagamit tulad ng pag-output, disenyo ng window at mga diskarte, at mga elemento ng interface ng gumagamit.
Hakbang 11. Kumuha ng kurso sa ipinamamahagi na disenyo ng mga application at arkitektura
Maaari itong magawa gamit ang mga libro, online tutorial o kurso sa akademiko. Gayunpaman, kinakailangan ang pag-unawa sa arkitektura ng mga ipinamahaging aplikasyon at mga konsepto nito.
Hakbang 12. Alamin ang tungkol sa pagbuo ng mga serbisyong sangkap at serbisyo gamit ang iyong piniling programa sa pagpili
Hakbang 13. Alamin ang isa o higit pa sa mga sumusunod na teknolohiya
Inirerekumenda na makakuha ka ng hindi bababa sa isang pagpapakilala sa kanilang lahat. Karamihan sa naipamahagi na mga programmer ng aplikasyon ay hindi hihinto sa isa o dalawang mga wika sa pagprograma, ngunit natututo ng hindi bababa sa isang wikang nagprogram sa bawat operating system. Iyon ay dahil kung nais mo ang iyong aplikasyon na "maipamahagi", dapat kang magbigay ng isang bersyon nito kahit papaano para sa bawat pangunahing operating system.
- Karaniwang Object Request Broker Architecture (CORBA)
- Simpleng Object Access Protocol (SOAP)
- Asynchronous JavaScript at XML (AJAX)
- Ipinamahagi na Modelong Bagay ng Component (DCOM)
- . NET Remoting
- Mga Serbisyo sa XML Web
Paraan 4 ng 6: Library / Platform / Framework / Core Programming
Hakbang 1. Alamin kung ano ang pangunahing programa
Ang mga pangunahing programmer ay mga advanced na programmer lamang na gumawa ng paglipat mula sa mga aplikasyon ng programa patungo sa mga unit ng code ng programa na gagamitin ng iba pang mga programmer.
Hakbang 2. Alamin ang isang wika ng pagprograma na sumusuporta sa pagbuo ng mga magagamit na sangkap / pakete, kung hindi mo pa nagagawa
Hakbang 3. Kumuha ng isang advanced na kurso sa UML at ORM
Karamihan sa mga developer ng library ay gumagamit ng isa o pareho sa kanila.
Hakbang 4. Kumuha ng kurso sa software engineering
Hakbang 5. Alamin ang hindi bababa sa modular, nakabatay sa bahagi, nakatuon sa object, at hinihimok ng kaganapan na mga diskarte at konsepto
Ang mas maraming mga paradahan ng programa at wika na iyong sakop, mas matagumpay kang naging isang programmer ng library / package.
Hakbang 6. Matuto nang higit pa tungkol sa iba't ibang mga operating system at mga framework ng programa na sinusuportahan ng mga operating system na ito
Hakbang 7. Ituon ang iyong mga pagsisikap sa pag-aaral sa mga framework na independyenteng platform, mga wika sa teknolohiya at teknolohiya
Hakbang 8. Kung ang mga wika sa pag-program na natutunan sa ngayon ay mayroong ANSI/ISO/IEEE/Ang mga karaniwang bersyon ng W3C, master ang mga pamantayan.
Subukang gumamit ng karaniwang code hangga't maaari.
Hakbang 9. Subukang gayahin ang simple, naitatag na mga aklatan, lalo na ang mga open-source
Kapaki-pakinabang ito sa maagang bahagi ng pagiging isang programmer ng library / package. Magsimula sa simpleng mga pakete tulad ng mga conversion ng yunit at intermediate na mga pakete ng pagkalkula ng pang-agham. Kung ikaw ay isang mag-aaral sa kolehiyo, gamitin ang iyong mga kurso na hindi pang-programa sa pamamagitan ng pagsubok na ipatupad ang kanilang mga equation at pang-agham na core bilang mga aklatan.
Hakbang 10. Maghanap at subukan ang mga open-source na package sa iyong larangan ng pagprograma
Unang pag-download ng mga binary / executable ng package. Subukang gamitin ito at hanapin ang malakas at mahina na mga puntos. Pagkatapos mong magawa iyon, i-download ang mapagkukunan at subukang alamin kung paano ito nagawa. Subukang likhain muli ang mga silid-aklatan o bahagi ng mga ito. Sa una, gawin iyon pagkatapos mong makita ang code at sa ibang pagkakataon bago mo makita ang code. Sa mga susunod na yugto, subukang pagbutihin ang mga aklatan na iyon.
Hakbang 11. Alamin ang iba't ibang mga diskarte na ginamit upang ipamahagi at i-deploy ang mga bahagi sa mga programmer
- Karaniwan, ang mga programmer ng library / package ay may posibilidad na mag-isip nang paulit-ulit at / o paulit-ulit sa lahat ng mga problema na ipinakita sa kanila. Subukang isipin ang bawat problema bilang isang koleksyon ng mas maliliit na mga problema (isang pagkakasunud-sunod ng mas simpleng mga gawain) o bilang isang paulit-ulit na proseso ng pagbawas sa saklaw ng problema sa mas maliit na mga saklaw at pagkatapos ay i-stack ang mga nasasakupan sa bawat isa.
- Ang mga programmer ng library / package ay may posibilidad na gawing pangkalahatan. Iyon ay, kapag ipinakita sa isang simpleng tukoy na problema, karaniwang iniisip nila ang isang mas pangkalahatang problema at sinisikap na lutasin ang pangkalahatang problema na awtomatiko na malulutas ang mas maliit.
Paraan 5 ng 6: System Programming
Hakbang 1. Maunawaan kung ano ang kinakailangan ng pagpoproseso ng system
Ang mga Programmer ng System ay nakikipag-usap sa agham ng pagprograma hindi ang tiyak na pagpapatupad nito. Huwag itali ang iyong sarili sa isang tukoy na platform.
Hakbang 2. Sundin ang unang tatlong mga hakbang para sa Desktop Applications Programmers
Hakbang 3. Kumuha ng isang panimulang kurso sa Linear Algebra
Hakbang 4. Kumuha ng kurso sa Calculus
Hakbang 5. Kumuha ng kurso sa Logic at / o Discrete Matematika
Hakbang 6. Ipakilala ang iyong sarili sa iba't ibang mga hubad na operating system
Maaari itong magawa ng:
- Pagkuha ng isang ideya kung paano naka-install ang mga operating system.
- Pag-aaral kung paano mag-install ng iba't ibang mga operating system sa isang PC (opsyonal, ngunit inirerekomenda).
- Pag-install ng higit sa isang operating system. Huwag mag-install ng anumang mga pakete na tumutulong sa mga system; sa halip, gamitin ang mga hubad na pag-andar na ibinigay ng mga operating system.
Hakbang 7. Kumuha ng kurso (o kahalili, basahin ang mga libro) sa arkitektura ng hardware ng computer
Hakbang 8. Bumuo ng isang pag-unawa sa iba't ibang mga platform ng computer hardware
Hakbang 9. Kumuha ng isang panimulang familiarization sa wika ng pagpupulong ng platform ng hardware / operating system na pinili
Malalaman mo sa paglaon ang pagpupulong ng iba pang mga platform / system.
Hakbang 10. Alamin ang mga wika ng ANSI C at C ++, kasama ang mga konsepto ng pamamaraang pang-proseso
Hakbang 11. Maunawaan at magsanay ng mga pamantayang aklatan ng C / C ++ sa platform ng pinili
Magbayad ng partikular na pansin sa Standard Template Library (STL) at marahil sa Aktibong Template Library (ATL).
Hakbang 12. Maghanap ng mga mapagkukunan sa online, libro at kurso upang makakuha ng pag-unawa sa C-lasa ng iyong tukoy na platform
Hakbang 13. Magsanay sa paglikha ng advanced na code sa C at C ++
Hakbang 14. Alamin ang mas advanced na Assembly
Hakbang 15. Kumuha ng kurso sa disenyo ng mga operating system
Hakbang 16. Hanapin at basahin ang mga dokumentasyon ng iyong tukoy na platform ng pinili
Ito ay magiging mas madali kung pipiliin mo ang isang operating system na batay sa Unix. Maunawaan ang system na gagana ka sa ibang pagkakataon.
Hakbang 17. Ugaliin ang nakuha mong kaalaman
Lumikha muna ng maliit na mga kagamitan sa system. Kadalasang kapaki-pakinabang ito sa:
- Sinusubukang likhain muli ang mga maliliit na tool na naroon na sa iyong system.
- Sinusubukan na magamit ang mga magagamit na port sa iba pang mga operating system sa iyo.
Hakbang 18. Alamin ang mga wika sa pinaka kapaki-pakinabang na pagkakasunud-sunod
Ito ang nag-iisang lugar kung saan mahalaga ang unang wika ng programa. Alamin muna ang ANSI C, hindi C ++, hindi C #, hindi Java at hindi D. Pagkatapos ay alamin ang C ++.
-
Ang paghihigpit sa unang wika sa C at C na nag-iisa ay dahil kinakailangang pamilyar ng programmer ang programmer sa mga sumusunod na konsepto:
- Totoo at buong pagsasama-sama ng source code.
- Mga file ng output ng mababang antas ng object.
- Pag-link ng mga binary
- Mababang antas na pag-program ng machine-wika / pagpupulong. Ang wikang C ay sinasabing nagkubli / mas madaling matuto ng pagpupulong ng ilan. Sinusuportahan din nito ang pagpasok ng code ng wika ng pagpupulong sa code kahit kailan mo gusto at ito ay pamamaraan lamang (tulad ng pagpupulong).
Paraan 6 ng 6: Science sa Programming
Hakbang 1. Alamin kung ano ang ginagawa ng isang scientist sa programa
Ang mga siyentipiko sa pagprogram ay napakahusay na mga programmer na, sa halip na magtrabaho sa pagbuo ng mga application, nagtatrabaho sa pagbuo ng mga teknolohiya ng computing tulad ng pag-encrypt, mga wika sa programa at mga algorithm ng pagmimina ng data. Ang antas na ito ay bihirang makamit nang walang akademikong pag-aaral at dedikasyon.
Hakbang 2. Naipon ang kaalamang pang-agham na katumbas ng isang apat na taong degree sa agham ng computer
Maaari itong magawa ng:
- Pagkuha ng isang aktwal na degree na pang-akademiko (na kung saan ay karaniwang nangyayari).
- Pagkuha ng mga balangkas ng mga kurso para sa gayong degree mula sa isa sa mga modernong unibersidad at pagkuha ng mga kurso alinman sa pag-aaral mismo o bilang magkakahiwalay na mga kurso. Maaari itong makamit nang teoretikal, ngunit ang inirekumendang landas ay ang una.
Hakbang 3. Magpasya ng isang larangan ng specialty
Ang mas tiyak, mas mabuti. Nakasalalay ito sa iyong mga kagustuhan. Gayunpaman, narito ang isang listahan ng ilan sa mga pangunahing paksa sa computer programming science:
- Ang disenyo ng algorithm (paghahanap, pag-uuri, pag-encrypt, decryption at pagtuklas ng error sa mga komunikasyon ay ilang mga halimbawa)
- Mga wika sa pagprograma / disenyo / pag-optimize ng tagatala
- Mga patlang ng artipisyal na katalinuhan (pagkilala sa pattern, pagkilala sa pagsasalita, natural na pagproseso ng wika, mga neural network)
- Robotics
- Programang pang-agham
- Super computing
- Disenyo / pagmomodelo na tinutulungan ng computer (CAD / CAM)
- Virtual na katotohanan
- Computer graphics (Ang mga graphic na computer ay kadalasang maling nalilito sa disenyo ng grapiko o disenyo ng interface ng grapiko na gumagamit. Ang computer graphics ay larangan ng pag-aaral kung paano kumatawan at manipulahin ang mga graphic sa mga system ng computer.)
Hakbang 4. Isaalang-alang ang pagkuha ng isang mas mataas na degree na pang-akademiko
Maaari mong hilingin na ituloy ang isang master's degree o isang titulo ng doktor.