Paano maging isang programmer

May -Akda: John Stephens
Petsa Ng Paglikha: 1 Enero 2021
I -Update Ang Petsa: 2 Hulyo 2024
Anonim
VLOG 1 - Paano ba maging Programmer?
Video.: VLOG 1 - Paano ba maging Programmer?

Nilalaman

Ang pagiging isang programmer ay isang proseso ng pag-iipon na nagtatayo ng iyong mga kasanayan sa paglipas ng panahon, at maaari itong maging isang masaya at kasiya-siyang trabaho (intelektwal, itak at pampinansyal). ). Ang tutorial na ito ay hindi nangangako sa iyo ng isang magic na paraan upang madaling maging isang programmer, at ang pagkakasunud-sunod ng mga hakbang ay hindi gaanong mahalaga, ngunit makakakuha ka ng kabuluhan kung paano maging isang programmer. sa isang programmer sa isa sa mga modernong larangan ng programa.

Mga hakbang

  1. Kumuha ng isang panimulang kurso sa isa (o lahat) ng mga sumusunod na paksa:
    • Lohika
    • Discrete math
    • Wika sa Programming (Ang isang nagsisimula ay pinakamahusay na malaman C ++ / Java / Python)


    Gene Linetsky, MS

    Ang startup founder at director na panteknikal na si Gene Linetsky ay startup founder at software engineer sa San Francisco Bay Area. Siya ay nasa industriya ng high-tech nang higit sa 30 taon at kasalukuyang Teknikal na Direktor sa Poynt, isang kumpanya ng teknolohiya na gumagawa ng matalinong mga aparato ng Point-of-Sale para sa mga negosyo.

    Gene Linetsky, MS
    Start-up founder at director ng teknikal

    Hindi mo kailangan ng degree sa pag-coding. Bagaman kapaki-pakinabang ang pag-aaral ng mga wika sa pagprograma, sinabi ni Gene Linesky, software engineer at tagapagtatag ng isang startup, na: "Kung ang isang degree ay kapaki-pakinabang o hindi ay kontrobersyal. doon, maaari mong isipin ang programa bilang isang proseso ng pag-aaral - matutunan mo mula sa mga pagkakamali. "


  2. Alamin ang tungkol sa mga konsepto ng database tulad ng mga talahanayan, pananaw / query, at mga pamamaraan. Maaari mong gamitin ang anumang simpleng pakete sa database upang magawa ito, halimbawa:
    • Pag-access sa MS
    • DB V
    • Fox Pro
    • Kabalintunaan
    • Ang MySQL ay isang mahusay na database upang malaman na ito ay libre, karaniwang ginagamit, at ang mga database ay madalas na na-access sa mga query sa SQL.

  3. Magpasya kung anong uri ng developer ang nais mong maging. Pangkalahatan ay nahuhulog sa isa sa mga sumusunod na kategorya:
    • Web developer
    • Programmer ng application ng desktop
      • Programmer na nakatuon sa operating system (na nauugnay sa isang solong operating system o hanay ng mga operating system)
      • Isang independiyenteng developer ng platform
    • Ipinamahagi ang programmer ng application
    • Mga aklatan / platform / balangkas / pangunahing programmer
    • Programmer ng system
      • Programmer ng staff ng Kernel
      • Programmer ng driver
      • Tagatala ng programmer
    • Programista na siyentista
  4. Magsaliksik ng mga teknolohiya at wika ng pag-program na nauugnay sa lugar na iyong pinili. Hahatiin ng mga susunod na seksyon ang mga gawain ng iba't ibang uri ng programa. anunsyo

Paraan 1 ng 6: Pagprogram sa web

  1. Maunawaan kung ano ang kailangan ng program sa Web. Ang mga aplikasyon ng web ay mga bahagi ng software na idinisenyo upang mapatakbo sa tuktok ng arkitektura ng internet. Nangangahulugan ito na na-access ang mga application sa pamamagitan ng isang browser software tulad ng Firefox o Internet Explorer. Ang mga application na ito ay matatagpuan sa tuktok ng arkitektura ng Internet na nangangahulugang hindi ito nangangailangan ng isang tunay na 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
  2. Suriin ang iba't ibang mga pahina upang makita kung ano ang karaniwang hitsura nila. (Sa pamamagitan ng pag-right click, pagkatapos ay pagpili ng View Source (tingnan ang source code) o pagpindot sa F12). Dapat kang maghanap ng pagkakaiba-iba sa uri / nilalaman ng website, hindi ang bilang ng mga web page na nakikita mo. Sa pangkalahatan, kakailanganin mong bisitahin ang hindi bababa sa isang pahina para sa bawat isa sa mga sumusunod na uri ng mga website:
    • Mga pahina ng pagpapakilala ng kumpanya (mga komersyal na kumpanya, mga kumpanya / organisasyon na hindi pangkalakal, mga entity ng gobyerno)
    • Mga tool sa pag-index sa web (mga search engine, mga site ng paghahanap sa meta, nakatuon na mga search engine, direktoryo)
    • Mga site ng pagmimina ng data
    • Mga personal na pahina
    • Mga site ng dokumentasyon / encyclopedia (Wiki, mga datasheet, panteknikal na pagtutukoy, at mga direktoryo ng gabay ng gumagamit, mga blog at magasin, mga site ng balita at balita, mga dilaw na pahina ...)
    • Mga social site (mga social portal, bookmark at mga site ng pagkuha ng nota sa online)
    • Mga site ng pakikipagtulungan (kasama ang lahat ng mga kategorya sa itaas, tulad ng wiki at blog)
  3. Alamin ang hindi bababa sa isang diskarte / pamamaraan ng brainstorming at isang piraso ng software na ginamit upang gawin iyon. Mga halimbawa: tsart ng brainstorming at software ng MS Visio.

  4. Pamilyar sa istraktura ng site. Ito ang paglikha ng mga haka-haka na sitemap, sitemap, at istruktura ng pag-navigate.
  5. Kumuha ng isang masinsinang kurso sa pagsasanay sa disenyo ng graphic. Subukang alamin ang hindi bababa sa isang graphic na pag-edit / pagmamanipula ng software package (Hindi kinakailangan ngunit lubos na inirerekomenda).

  6. Alamin ang mga pangunahing kaalaman sa imprastraktura ng internet. Nagsasangkot ito ng pag-unawa sa pangunahing ideya ng:
    • Mga karaniwang protokol sa serbisyo sa Web (HTTP, FTP, SMTP, at POP3 o IMAP4)
    • Web server software (mas mabuti ang software para sa platform kung saan ka gagana nang higit sa lahat)
    • Web browsing software.
    • Server at client software para sa email

  7. Alamin ang mga wikang HTML at CSS. Maaaring kailanganin mo rin ang package na "Kung Ano ang Makikita mo ang Makukuha mo (WYSIWYG) (Kung Ano ang Makikita Mo Kung Ano ang Makukuha mo") para sa pag-edit ng HTML.
  8. Alamin ang mga teknolohiyang nauugnay sa XML at XML tulad ng XSL at XPath (opsyonal ngunit inirerekomenda).
  9. Lumikha ng mga simpleng static na web page hanggang sa pamilyar ka at pamilyar sa HTML.
  10. Alamin ang isang wika ng script ng kliyente. Karamihan sa mga gumagamit ay natututo ng JavaScript. Ang iba ay natututo ng VBScript, ngunit hindi ito tugma sa karamihan ng mga browser.
  11. Pamilyar ang iyong sarili sa lenggwahe ng script ng client na iyong natutunan. Subukang gawin ang iyong makakaya sa wikang iyon lamang. Tumuloy lamang kung pamilyar ka man sa wika ng script ng client.
  12. Alamin ang hindi bababa sa isang wika ng pagprograma ng server. Kung pipiliin mong limitahan ang iyong sarili sa isang server software, alamin ang mga wika ng programa na sinusuportahan ng software na iyon. Kung hindi, alamin kahit isang wika sa pagprograma para sa bawat server software.
  13. Lumikha ng isang proyekto ng piloto para sa iyong sarili matapos mong pag-aralan ang wika ng programa ng server.
  14. I-set up ang iyong sariling website at simulang mag-eksperimento sa iyong sariling online. anunsyo

Paraan 2 ng 6: Application ng Desktop Abdominal Programming

  1. Maunawaan kung ano ang gagawin sa pag-program ng desktop application. Karamihan sa mga desktop coder ay para sa mga solusyon sa negosyo, kaya't ang pagkakilala sa kanilang mga negosyo, kanilang mga istrukturang pang-organisasyon, at kanilang mga istrukturang pampinansyal ay nakakatipid ng maraming oras.
  2. Pag-aaral ng iba't ibang mga arkitektura ng hardware ng computer. Ang isang pangunahing kurso sa disenyo ng digital circuit at isa pa sa arkitektura ng computer ay magiging interesado. Gayunpaman, iniisip ng ilang tao na medyo mahirap malaman ito sa mga nagsisimula, kaya't ang pagbabasa ng dalawa o tatlong mga tutorial (tulad nito at ito) ay sapat na. Maaari kang bumalik sa hakbang na ito pagkatapos mong malaman ang iyong unang wika ng programa.
  3. Alamin ang isang wikang pang-elementarya na programa (para sa mga bata). Huwag mapahiya na malaman ang gayong wika dahil lamang sa iyong katandaan upang matawag kang isang "bata". Ang isang halimbawa ng mga nasabing programa ng wika ay Scratch. Ang mga wikang ito sa pagprograma ay maaaring mabawasan nang husto ang kahirapan sa pag-aaral ng iyong unang wika sa pag-program. Gayunpaman, ang hakbang na ito ay opsyonal, maaari mo rin itong gawin bago ang nakaraang hakbang.
  4. Alamin ang tungkol sa mga pamamaraang pamproseso, nakatuon sa object, at gumagana.
  5. Kumuha ng isang pangunahing kurso sa isa sa mga wikang pamproseso sa pamamaraang Alinmang wika ang pipiliin mo sa paglaon, kakailanganin mo pa rin ang ilang antas ng pamamaraang pang-proseso. Bilang karagdagan, naniniwala ang mga programmer na ang pamamahala ng pamamaraan ay ang pinakamadaling panimulang punto para maunawaan ang ideya ng pagprograma sa pangkalahatan.
  6. Alamin ang hindi bababa sa isang advanced na pamamaraan ng pagmomodelo tulad ng UML o ORM.
  7. Simulang magsulat ng ilang maliit na application ng console o isang bagay na tulad nito. Maaari mong gamitin ang maliliit na pagsasanay sa pag-program ng mga libro sa wika. Upang magawa ito, pumili ng isang tool para sa pagsusulat ng mga programa alinsunod sa wika ng programa na nais mong isulat.
  8. Kumuha ng isang mas advanced na kurso sa programang gusto mo. Tiyaking naiintindihan mo ang mga sumusunod na konsepto at mailalapat ang mga ito nang may gaanong kadali bago magpatuloy:
    • Input at output na impormasyon para sa mga gumagamit ng isang programa.
    • Ang lohikal na daloy at daloy ng pagpapatupad ng mga programa sa mga wikang pamproseso.
    • Ipahayag, magtalaga at maghambing ng mga variable.
    • Ang mga pahayag ng sangay sa pagprograma tulad ng kung..tapos..pagpili at piliin / ilipat..pasa.
    • I-loop ang mga pahayag tulad ng habang..gawin, gawin..habang / 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.
    • Mga uri ng data na tinukoy ng gumagamit (mga talaan / istraktura / yunit) at ang paggamit nito.
    • Kung sinusuportahan ng iyong wika ang pag-overload ng pagpapaandar, maunawaan ito.
    • Mga pamamaraan sa pag-access ng memorya ng wikang pinili mo (mga payo, kung paano basahin ang mga nilalaman ng anumang cell ...)
    • Kung sinusuportahan ng iyong wika ang labis na pag-load ng operator, intindihin ito.
    • Kung sinusuportahan ng iyong wika ang mga point point ng pag-andar, intindihin ito.
  9. Ilapat ang mga advanced na diskarte na natutunan mo.
    • Modelong nakatuon sa object.

  10. Kumuha ng isang pangunahing kurso sa hindi bababa sa isang iba pang wika ng programa sa isa pang modelo ng programa. Dapat mong malaman ang isang wika sa pagprograma para sa bawat modelo, ginagawa ng pinaka-advanced na mga programmer. Gayunpaman, karaniwang dapat kang magsimula sa isang wika, paganahin ito pansamantala, ilapat ang iyong kaalaman at isagawa ito. Matapos magkaroon ng praktikal na karanasan sa programa, pagkatapos ay alamin ang isang bagong wika. Subukan ang isa sa mga sumusunod na array ng wika:
    • Lohikal na modelo ng programa.
    • Functional na modelo ng pagprograma.

  11. Subukan nating ihambing ang dalawang mga wika sa pag-program na natutunan mo sa ngayon. Suriin ang mga kalakasan at kahinaan ng bawat wika. Karaniwan itong ginagawa ng:
    • Gumawa ng isang naunang simpleng pattern ng trabaho sa unang wika ng programa at isulat muli ito sa pangalawang wika ng programa.
    • Lumikha ng isang bagong proyekto at subukan ito sa parehong mga wika. Minsan nakasalalay sa aling proyekto ang pipiliin mo at ng wikang pinili mo, hindi mo ito magagawa sa alinmang wika!
    • Paghambingin tulad ng isang mabilis na talahanayan ng paghahanap o buod ng talahanayan sa pagitan ng dalawang magkatulad na pahayag sa dalawang wika at ang mga natatanging tampok ng bawat isa.
    • Subukang maghanap ng isang paraan upang gayahin ang mga natatanging katangian ng isa sa mga wika sa isa pa.

  12. Alamin ang mga konsepto ng programa gamit ang isa sa mga wikang natutunan mo. Karamihan sa mga wika ng programa ay may mga bersyon / aklatan na sumusuporta sa visualization at iba pang mga uri ng programa na tumutulong sa komunikasyon o katulad. Magagawa mo ito sa pamamagitan ng:
    • Alamin ng kaunti tungkol sa pagpoproseso ng kaganapan. Karamihan sa visual na programa sa ilang mga lawak ay umaasa sa mga kaganapan at ang paghawak ng mga kaganapan (gamit ang wika ng programa na iyong pinili).
    • Subukan ang mas maraming desktop software hangga't maaari at alamin kung ano ang ginagawa nila. Karamihan sa mga kumpanya ng pag-unlad ng software ay nagbibigay ng mga bersyon ng pagsubok (beta) ng mga produkto sa mga gumagamit upang subukan ang software. Samakatuwid, manatiling napapanahon sa mga pagsulong ng interface ng gumagamit.
    • Basahin ang ilang mga artikulo o tutorial sa mga graphic na interface ng gumagamit.
  13. Simulang ilapat ang iyong kaalaman sa maliliit na mga proyekto sa software na iyong dinisenyo. Subukang ilapat ang iyong mga kasanayan sa pag-program sa mga problemang kinakaharap mo araw-araw. Halimbawa sumulat ng isang programa upang i-batch ang pangalan ng mga file, ihambing ang mga file ng teksto nang biswal, kopyahin ang mga pangalan ng mga file sa isang direktoryo sa isang memorya / text file, at iba pa. Tandaan, simpleng simple lang ito.
  14. Lumikha ng isang virtual na "proyekto sa pagtatapos". Kumpletuhin ang proyekto hanggang sa wakas, na inilalapat ang mga diskarte sa visualization na natutunan mo sa ngayon.
  15. Palawakin ang iyong pag-unawa sa mga visual na balangkas / aklatan / package na dati mong natutunan sa pamamagitan ng pagkuha ng mga advanced na kurso, pagbibigay ng higit na pansin sa mga detalye, at pag-aaral ng higit pang mga tip at trick para sa balangkas. ang iyong trabaho mula sa mga online na mapagkukunan.
  16. Paghahanap para sa iba pang mga visual na pakete ng elemento / aklatan para sa iyong wika ng programa at pag-aralan ang mga ito.
  17. Kumuha ng isang graphic na kurso (hindi graphic na disenyo). Napaka kapaki-pakinabang para sa mga programmer na nais na magsulat ng mga kaakit-akit na elemento ng UI.
  18. Naging isang programmer ng laro (opsyonal). Ang programa sa laro ay higit pa ring itinuturing na desktop program. Kung balak mong maging isang developer ng laro, kakailanganin mong malaman ang tungkol sa pagprograma ng laro pagkatapos makumpleto ang mga hakbang na ito. Kinakailangan ang isang kurso sa grapiko para sa mga programmer ng laro, at ang pangalawang wika na pinili sa mga nakaraang hakbang ay dapat na isang lohikal / functional na wika ng programa (Prolog o Lisp dapat mapili). anunsyo

Paraan 3 ng 6: Ipinamahagi ang Programming ng Application

  1. Alamin ang tungkol sa namamahagi ng aplikasyon sa aplikasyon. Ang ipinamamahagi na programa ng aplikasyon ay itinuturing ng marami na isa sa pinakamahirap na matutunan at nangangailangan ng isang mayamang kaalaman sa mga computer at teknolohiya sa komunikasyon.
  2. Tumingin ng mabilis sa mga system ng boses at kanilang hardware. Ang hakbang na ito ay opsyonal. Gayunpaman, kapaki-pakinabang na magkaroon ng pag-unawa sa mga topology sa network.
  3. Pamilyar ang iyong sarili sa arkitektura ng hardware at mga aparato sa pag-network tulad ng mga central concentrator (hub), switch at router (router).
  4. Kumuha ng kurso sa mga protocol at pangunahing kaalaman. Kailangan mo ng mahusay na pag-unawa sa modelo ng Open Systems Connection (OSI), Ethernet, IP, TCP, UDP, at HTTP bago ka magsimula sa mga ipinamamahaging aplikasyon ng programa.
  5. Alamin ang wikang XML at pamilyar dito.
  6. Magsimula sa pamamagitan ng pag-aaral ng isang wika ng scripting para sa interpreter ng utos. Para sa programa na nakabatay sa Windows, maaaring ito ay anumang script na gumagana sa Windows Scripting Host. Para sa programa na nakabatay sa Linux, ang mga script ng Bash at Perl ay sapat na. Lubos na inirerekomenda ang JavaScript para dito sa parehong mga platform para sa mga sumusunod na kadahilanan:
    • Sinusuportahan ito ng karamihan sa mga tool sa pag-script sa anumang operating system (sinusuportahan ng Windows Scripting Host ang JavaScript bilang default, ang karamihan sa mga pamamahagi ng Linux ay may isang pakete ng suporta sa komunikasyon sa script ng JavaScript) .
    • Ito ay isinasaalang-alang ng maraming mga programmer na mas madaling matuto.
    • Mayroon itong syntax na nagmula sa ALGOL na nagbibigay-daan sa iyo upang maging pamilyar sa maraming iba pang mga wika sa pagprograma kung kailangan mong pumili ng pangalawang wika ng C, C ++, C #, Java at J # lahat ay may syntax na nagmula sa ALGOL.
    • Sa pamamagitan ng pag-aaral ng JavaScript, malalaman mo ang iyong sarili sa pag-script ng client para sa mga web page, na malinaw na isang kapaki-pakinabang na epekto!
  7. Una, mag-apply lamang ng pamamaraang pang-proseso sa wikang scripting na iyong pinili. Maaari mo nang magamit ang mas advanced na mga pattern at diskarte sa pag-programa alinsunod sa iyong wika sa pag-script at kung ano ang sinusuportahan nito. Ang lahat ng mga wika sa pag-script ay kailangang gawin sa pamamaraang pamamaraang programa sa ilang antas.
  8. Gumamit ng wikang scripting na natutunan mong magsulat ng mga script na gumagawa ng komunikasyon sa pagitan ng mga machine. Alamin kung ano ang kinakailangan upang magawa ito. Ang simpleng impormasyon lamang sa pakikipag-ugnay ay sapat na.
  9. Lumipat sa isang desktop programming / scripting na wika. Pinakamahusay ay isang wikang multi-paradigm tulad ng Python. Paunang pag-aaral tungkol sa pangalawang wika na ito. Ang Java ay ang wika ng pinili para sa karamihan ng mga programmer para sa maraming mga kadahilanan. Gayunpaman, tumutulong ang C # na lumikha ng mas mabilis na momentum sa array na ito. Ang Java at C # ay pinaboran para sa mga sumusunod na kadahilanan:
    • Ang mga ito ay nakatuon sa object na wika ng mga programa na tumutulong sa mga programmer sa malalaking pangkat na iwasang magpatupad ng mga bahagi dahil lahat sila ay may kakayahang suportahan ang mga bahagi (ibig sabihin, mga unit ng code, hangganan isinagawa ang pagsasalin para sa isang partikular na gawain ay maaaring magamit sa ibang mga programa)
    • Sinusuportahan nila ang mga programa na hinihimok ng kaganapan pati na rin ang OO (oriented object) at prosidyural ng pamamaraan sa ilang degree.
    • Ang balangkas kung saan binuo ang wika ay nailalarawan sa pamamagitan ng isang ipinamahaging kalikasan (sa kaso ng Java).
    • May mga paunang ginawa na pakete sa programa na magagamit upang hawakan ang networking, alinman sa bukas na mapagkukunan o naka-built sa balangkas; Ginagawa nitong madali para sa mga developer na magtrabaho sa mga produkto ng ibang tao.
  10. Mas pagtuunan ng pansin ang mga pangunahing tampok sa wika, lalo na ang mga tampok na sumusuporta sa networking. Magbigay ng mas kaunting pansin sa mga elemento ng UI tulad ng paglabas ng impormasyon, disenyo at mga diskarte para sa window ng trabaho, at mga elemento ng UI.
  11. Kumuha ng isang ipinamahaging kurso sa arkitektura ng application at disenyo ng disenyo. Maaari kang mag-aral sa pamamagitan ng mga libro, online tutorial o kurso sa akademiko. Alinmang paraan, gayunpaman, kailangan mong maunawaan ang arkitektura ng mga ipinamahaging aplikasyon at mga konsepto nito.
  12. Alamin kung paano bumuo ng mga bahagi ng serbisyo pati na rin ang paggamit ng program na gusto mo.
  13. Alamin ang isa o higit pa sa mga sumusunod na teknolohiya. Hindi bababa sa dapat mong dumaan sa kanilang lahat. Ang karamihan ng namamahagi ng mga developer ng application ay natututo hindi lamang sa isa o dalawang mga wika sa pagprograma, ngunit hindi bababa sa isang wika ng programa sa bawat operating system. Ito ay sapagkat kung nais mo ang iyong aplikasyon na "maipamahagi", dapat kang magbigay ng kahit isang bersyon nito para sa bawat sikat na operating system.
    • Karaniwang Object Request Broker Architecture (CORBA)
    • Simpleng Object Access Protocol (SOAP)
    • Asynchronous JavaScript at XML (AJAX) (asynchronous JavaScript at XML)
    • Ipinamahaging Modelo ng Bagay na Bahagi (DCOM) (Naipamahagi na Modelo ng Bagay na Bahagi)
    • .NET Remoting (Solusyon para sa pagproseso ng remote computation)
    • Mga Serbisyo sa XML Web
    anunsyo

Paraan 4 ng 6: Library / Platform / Framework / Core Programming

  1. Maunawaan kung ano ang pangunahing programa. Ang mga pangunahing programmer ay mga advanced na programmer lamang na nagko-convert ng mga application ng programa sa mga unit ng code ng programa para magamit ng ibang mga programmer.
  2. Kung hindi mo pa nalalaman, pagkatapos ay alamin ang isang wika ng pagprograma na tumutulong sa pagbuo ng mga magagamit na sangkap / pakete.
  3. Kumuha ng isang advanced na kurso sa UML at ORM. Karamihan sa mga developer ng library ay gumagamit ng isa o pareho sa mga ito.
  4. Kumuha ng kurso sa software engineering.
  5. Hindi bababa sa alamin ang mga modular, nakabatay sa sangkap, nakatuon sa object at hinihimok ng kaganapan na mga konsepto at diskarte. Ang mas maraming mga modelo ng programa at wika na nauunawaan mo, mas matagumpay kang magiging isang developer ng library / package.
  6. Matuto nang higit pa tungkol sa iba't ibang mga operating system at mga framework ng programa na sinusuportahan ng mga ito.
  7. Ituon ang iyong mga pagsisikap sa pag-aaral sa mga balangkas na independiyenteng platform, mga wika sa programa, at teknolohiya.
  8. Kung ang mga wikang napag-aralan mo sa ngayon ay may mga bersyon ng mga pamantayan ng ANSI / ISO / IEEE / W3C, pagkatapos ay makabisado ang mga pamantayan. Subukang gumamit ng mga karaniwang code kahit kailan maaari.
  9. Subukang gayahin ang mga simpleng aklatan na paunang ginawa, lalo na ang mga open source na aklatan. Kapaki-pakinabang ito sa mga maagang yugto ng pagiging isang developer ng library / package. Magsimula sa simpleng mga pakete tulad ng intermediate na pang-agham na pagkalkula at mga package ng conversion ng unit. Kung ikaw ay isang mag-aaral, samantalahin ang mga disiplina na hindi pangprogram sa pamamagitan ng pagsubok na ipatupad ang kanilang mga equation at paramihin ang agham bilang mga aklatan.
  10. Maghanap at subukan ang mga bukas na pakete ng mapagkukunan sa iyong larangan ng programa. I-download muna ang mga binary / executable ng package. Subukang gamitin ito at hanapin ang mga kalakasan at kahinaan nito. Kapag tapos na, i-download ang source code at subukang alamin kung paano ito ginagawa. Subukang likhain muli ang mga aklatan o bahagi ng mga ito. Una sa lahat, gawin ito pagkatapos mong makita ang source code at pagkatapos ay gawin ito bago mo makita ang source code. Sa mga susunod na yugto, subukang pinuhin ang mga aklatan na iyon.
  11. Pag-aralan ang iba't ibang mga diskarte sa pamamahagi at pag-deploy ng mga sangkap sa mga programmer.
    • Kadalasan, ang mga programmer ng library / package ay madalas na mag-isip nang paulit-ulit at / o paulit-ulit tungkol sa lahat ng mga problemang ipinakita sa kanila. Isipin ang bawat problema bilang isang hanay ng mga mas maliliit na problema (isang serye ng mga mas simpleng gawain) o bilang isang umuulit na proseso ng pagbawas sa saklaw ng problema sa mas maliit na mga saklaw at pagkatapos I-stack ang mga saklaw sa tuktok ng bawat isa.
    • Ang mga developer ng library / package ay may posibilidad na maglahad. Iyon ay kapag ipinakita sa kanila ang isang simpleng tukoy na problema, madalas silang nag-iisip ng isang mas pangkalahatang problema at sinisikap na lutasin ang pangkalahatang problema na iyon upang awtomatiko nitong malutas ang mas maliliit na mga problema.
    anunsyo

Paraan 5 ng 6: System Programming

  1. Maunawaan kung ano ang kinakailangan ng pagpoproseso ng system. Ang programmer ng system ay nakikipag-usap sa "agham" ng programa, hindi ang mga tiyak na pagpapatupad nito. Huwag itali ang iyong sarili sa isang tukoy na background.
  2. Sundin ang unang tatlong mga hakbang upang maging isang Desktop Application Programmer.
  3. Kumuha ng isang panimulang kurso sa Linear Algebra.
  4. Kumuha ng Kurso sa Computing.
  5. Kumuha ng isang discrete na kurso sa Matematika at / o Logic.
  6. Pamilyar ang iyong sarili sa iba't ibang pangunahing mga operating system. Maaari itong magawa ng:
    • Maunawaan kung paano naka-install ang mga operating system.
    • Alamin kung paano mag-install ng iba't ibang mga operating system sa isang PC (opsyonal, ngunit inirerekomenda).
    • Mag-install ng higit sa isang operating system. Huwag mag-install ng anumang iba pang plugin sa system; sa halip ay gamitin lamang ang pangunahing mga pagpapaandar na ibinigay ng operating system.
  7. Kumuha ng kurso (o baka basahin ang isang libro) tungkol sa arkitektura ng hardware ng computer [[.
  8. Bumuo ng pag-unawa sa iba't ibang mga platform ng computer hardware.
  9. Magsimula sa wika ng pagpupulong ng operating system / platform ng hardware na iyong pinili. Mamaya malalaman mo ang karagdagang wika ng pagpupulong para sa iba pang mga operating system / platform.
  10. Alamin ang mga wika ng ANSI C at C ++, kasama ang mga konseptong pang-pamamaraan.
  11. Maunawaan at sanayin ang karaniwang mga aklatan ng C / C ++ sa platform na iyong pinili. Ang espesyal na pansin ay dapat ibayad sa Standard Template Library (STL) at posibleng sa Active Template Library (ATL).
  12. Maghanap ng mga mapagkukunang online, libro at kurso upang maunawaan ang mga tampok ni C sa platform na iyong pinili.
  13. Magsanay ng advanced na pagbuo ng code gamit ang C at C ++.
  14. Matuto nang higit pa advanced na wika ng pagpupulong.
  15. Kumuha ng kurso sa disenyo ng operating system.
  16. Maghanap at basahin ang materyal sa tukoy na platform na iyong pinili. Madali ito kung pipiliin mo ang isang operating system na batay sa Unix. Master ang system na pagtatrabaho mo sa paglaon.
  17. Ugaliin ang nakuha mo. Lumikha muna tayo ng ilang maliliit na kagamitan sa system. Karaniwan itong tumutulong kung ikaw ay:
    • Subukang likhain muli ang maliliit na tool na magagamit sa iyong system.
    • Subukan ang paglipat ng mga magagamit na utility sa iba pang mga operating system sa iyo.
  18. Alamin ang mga wika sa pagkakasunud-sunod kung saan sila ay higit na nakakatulong. Ito lamang ang array kung saan natutunan ang unang wika ng programa na magkaroon ng kahulugan nito.Alamin muna ang ANSI C, hindi muna C ++, C #, Java o D. Pagkatapos alamin ang C ++.
    • Limitahan ang unang wika sa C at C lamang dahil ang mga system ng programa ay nangangailangan ng mga programmer na pamilyar sa mga sumusunod na konsepto:
      • Compile ang aktwal at ang buong source code.
      • Mga file ng output ng mababang antas ng object.
      • Mga code na naka-link sa binary
      • Pag-program ng wika ng mababang antas ng machine / pagpupulong. Maraming mga tao ang naniniwala na ang wikang C ay kapwa alternatibo at mas madaling matuto ng wikang pagpupulong. Sinusuportahan din nito ang pagpasok ng code ng pagpupulong sa code kahit kailan mo gusto at pamproseso lamang (tulad ng pagpupulong).
    anunsyo

Paraan 6 ng 6: Science sa Programming

  1. Alamin kung ano ang ginagawa ng isang programmer. Ang mga siyentipiko sa pagprogram ay napakahusay na mga programmer na sa halip na bumuo ng mga aplikasyon, nagkakaroon sila ng mga teknolohiyang pangkomputasyon tulad ng pag-coding, mga wika sa programa at mga algorithm ng pagmimina ng data. Ang degree na ito ay bihirang nakakamit nang walang malalim na pananaliksik sa akademiko.
  2. Ang pinagsamang kaalamang pang-agham ay tumutugma sa isang 4 na taong degree sa agham ng computer. Maaari itong makamit sa isa sa mga sumusunod na paraan:
    • Kumuha ng isang tunay na pang-akademikong degree (na kung saan ay madalas na ang kaso).
    • Maghanap ng isang balangkas ng kurso para sa gayong degree mula sa isa sa mga magagamit na unibersidad at pag-aralan ang mga paksa sa iyong sarili o kumuha ng mga pribadong kurso. Sa teoretikal maaari mong makamit ito, ngunit dapat mong gawin ang unang paraan.
  3. Pumili ng isang dalubhasang array. Maging mas tiyak, mas mabuti. Nakasalalay ito sa iyong mga kagustuhan. Gayunpaman, ang sumusunod ay isang listahan ng mga pangunahing paksa sa computer programming science:
    • Ang mga algorithm na disenyo (hanapin, uriin, i-encode, i-decode at makita ang mga error sa mga komunikasyon ay ilang halimbawa)
    • Disenyo / pag-optimize ng mga wika / tagatala ng programa
    • Mga artipisyal na array ng katalinuhan (pagkilala sa pattern, pagkilala sa pagsasalita, natural na pagproseso ng wika, mga neural network)
    • Robotics
    • Programang pang-agham
    • Super computation
    • Disenyo / pagmomodelo na tinutulungan ng computer (CAD / CAM)
    • Virtual na katotohanan
    • Mga graphic sa computer (Ang mga graphic na computer ay madalas na nalilito sa disenyo ng grapiko o disenyo ng interface ng graphic na gumagamit.) Ang graphics ng computer ay ang larangan ng pag-aaral kung paano kumatawan at manipulahin ang mga graphic sa mga computer system. pagkalkula).
  4. Isaalang-alang ang pagkuha ng isang mas mataas na degree na pang-akademiko. Maaari kang magpatuloy sa programa ng pagsasanay ng master o doktor.
  5. Alamin ang mga wika ng teknolohiya at teknolohiya na nauugnay sa iyong napiling larangan ng programa. anunsyo

Payo

  • Anumang uri ng programa na nais mong subukan at kung anong antas ang nais mong makamit, isaalang-alang ang pagkuha ng mga klase sa iyong lokal na paaralan o kolehiyo sa pamayanan. Huwag matakot ng mga term na tulad ng "Computer Science". Anumang klase na kinukuha mo na hindi nangangailangan ng mga paunang kinakailangan o kinakailangan ay tumututuon sa pagtuturo ng mga pangunahing kaalaman sa pagprograma, ngunit dapat mong suriin sa iyong magtuturo o tagapagturo gayunpaman Tiyaking ito ang iyong hinahanap, dahil ang mga klase tulad ng "Mga Kasanayan sa Computer" ay maaaring higit na magtuon sa pagsanay sa mga aplikasyon sa opisina o isang bagay na tulad nito.