mielenkiintoista

Ohjelmoija 101: Opi itse, kuinka koodata

Olet aina halunnut oppia rakentamaan ohjelmistot itse - tai vain piiskaamaan satunnaisen komentosarjan -, mutta et koskaan tiennyt mistä aloittaa. Onneksi verkko on täynnä ilmaisia ​​resursseja, jotka voivat muuttaa sinut ohjelmoijaksi nopeasti.

Internetin keksinnästä lähtien ohjelmoijat ovat käyttäneet sitä keskustellakseen ohjelmistokehitysmenetelmistä, julkaistaksesi oppaita ja jakaaksesi koodinäytteitä muille oppiakseen ja käyttäessään verkkoa. Jos olet kiinnostunut siitä, miten sinusta tulee ohjelmoija, voit aloittaa aloittamisen käyttämällä tonnia upeita ilmaisia ​​verkkopohjaisia ​​oppaita ja resursseja.

Ensimmäiset asiat ensin: älä riipu kielen valitsemisesta

Aloittelijoille yleinen sudenkuoppa on juuttuminen selvittämään, mikä ohjelmointikieli on parasta oppia ensin. Siellä on paljon mielipiteitä, mutta ei ole yhtä "parasta" kieltä. Tässä asia: Loppujen lopuksi kielellä ei ole merkitystä PALJON. Tietojen, ohjausrakenteiden ja suunnittelumallien ymmärtäminen on erittäin tärkeätä. Jokaisella kielellä - jopa yksinkertaisella skriptikielellä - on elementtejä, joita käytät myös muilla kielillä ja jotka auttavat sinua oppimaan. Kursseilla, jotka suoritin tietotekniikan tutkinnon suorittamiseksi, ohjelmoin Pascal-, Assembly- ja C-kielillä. En koskaan saanut palkkaa ohjelmaan ammatillisesti. Opetin itselleni jokaisen urani käyttämän kielen, hyödyntäen jo tunnetut käsitteet ja viittaamalla dokumentaatioon ja kirjoihin oppiakseni sen syntaksin. Joten älä riipu siitä mitä kieli opitaan ensin. Valitse haluamasi kehitys, ja aloita vain toimivan käytön aloittaminen.

On olemassa useita erityyppisiä ohjelmistokehityksiä, joita voit tehdä erilaisille alustoille, verkosta työpöydällesi älypuhelimeen komentoriviin. Tässä artikkelissa hahmotellaan joitain suosituimmista aloitusoppaistamme ja resursseistamme, joiden avulla opetamme itsellesi ohjelmointia kullekin suurimmalle alustalle. Oletetaan, että olet taitava käyttäjä, mutta aloittelija, kun kyse on koodinpätkien ryöstöstä, joten pidämme asiat aloittelijatasolla. Jopa seuraamalla aloittelijoille suunnattua ohjelmointikoulutusta, näet mielellään, kuinka pitkälle voit päästä.

Työpöydän komentosarjat

Helpoin tapa kokeilla itseäsi Windows- tai Mac-työpöydän ohjelmoinnissa on aloittaa komentosarjoilla tai makro-ohjelmilla, kuten AutoHotkey (Windows) tai Automator (Mac). Tällä hetkellä Goldavelez.com-lukijakunnan hardcore-kooderit huutavat näytöllään sanoen, että AHK tai AppleScript eivät ole "todellisia" ohjelmointeja. Se voi olla totta - teknisesti tämäntyyppiset työkalut tekevät vain korkean tason komentosarjoja. Mutta niille, jotka ovat ohjelmoinnin aloittelijoita, jotka haluavat vain kastella jalkansa ja automatisoida työpöydällä olevia toimintoja, nämä ilmaiset työkalut ovat loistava tapa aloittaa - ja sinä ihmettelet, kuinka paljon voit tehdä heidän kanssaan.

Esimerkiksi Adam kehitti itsenäisen Windows-sovelluksen, jota me kaikki tiedämme ja rakastamme, Texter, käyttämällä AutoHotkey-ohjelmaa, joten tämä skriptikieli pystyy paljon enemmän kuin vain pienimuotoiset automaatioprojektit. Aloita AutoHotkey-sovellus tutustumalla Aadamin opetusohjelmaan siitä, kuinka kaikki toiminnot voidaan muuttaa pikanäppäimiksi AutoHotkey-avulla. (Tarkista sitten Texterin lähdekoodi, jotta näet täysimittaisen AHK-pohjaisen Windows-sovelluksen sisäpuolet.)

Verkkokehitys

Sen sijaan, että sitoutuisit tiettyihin ohjelmointikieliin ja tietyn käyttöjärjestelmän ulkoasuun, voit laittaa tappajasovelluksen selaimeen ja ajaa sen pilvessä webbisivuna. Tervetuloa verkkokehityksen upeaan maailmaan.

HTML ja CSS: Ensimmäinen asia, joka sinun on tiedettävä minkä tahansa verkkosivuston luomiseksi, on HTML (verkkosivun muodostava sivumerkintä) ja CSS (tyylitiedot, jotka tekevät merkinnästä näyttävän kauniilta). HTML ja CSS eivät ole todellisia ohjelmointikieliä - ne ovat vain sivurakennetta ja tyyliä koskevia tietoja. Sinun pitäisi kuitenkin pystyä kirjoittamaan yksinkertainen HTML ja CSS käsin, ennen kuin aloitat verkkosovellusten rakentamisen, koska verkkosivu on etusijalla jokaiselle verkkosivulle. Tämä HTML-opetusohjelma on hyvä paikka aloittaa.

JavaScript: Nyt kun voit asettaa staattisen verkkosivun HTML: llä ja CSS: llä, asiat ovat hauskoja - koska on aika oppia JavaScript. JavaScript on selaimen ohjelmointikieli, taika, joka saa dynaamiset sivun sisäiset tehosteet liikkumaan. JavaScript on myös juttu kirjanmerkkeihin, Greasemonkey-käyttäjän komentosarjoihin ja Ajaxiin, joten se on avain kaikenlaisten web-herkkujen tekemiseen. Aloita JavaScriptin oppiminen täältä.

Palvelinpuolen komentosarjat: Kun olet onnistunut saamaan asiat tapahtumaan verkkosivun sisällä, joudut laittamaan jonkin dynaamisen palvelimen toiminnan sen takana - ja sitä varten sinun on siirryttävä palvelinpuolen komentosarjoihin. kieli, kuten PHP, Python, Perl tai Ruby. Esimerkiksi, jotta voidaan luoda verkkopohjainen yhteyslomake, joka lähettää sähköpostin jonnekin käyttäjän syöttämän perusteella, tarvitaan palvelinpuolen komentosarja. Skriptikielet, kuten PHP, voivat puhua myös verkkopalvelimesi tietokantaan, joten jos haluat luoda sivuston, jossa käyttäjät voivat kirjautua sisään ja tallentaa tietoja, se on tie. Erinomainen verkkosivustosivusto Webmonkey on täynnä oppaita erilaisille web-ohjelmointikielille. Katso heidän PHP-opas aloittelijoille. Kun olet valmis, katso miten PHP: tä käytetään puhumaan tietokantaan WebMonkeyn PHP- ja MySQL-opetusohjelmassa. PHP: n online-dokumentaatio ja toimintoviitteet ovat parhaat verkossa. Jokainen merkintä (kuten tämä strlen-toiminnossa) sisältää käyttäjän kommentit alareunassa, jotka ovat usein yhtä hyödyllisiä kuin itse dokumentaatio. (Satun olemaan osittainen PHP: lle, mutta on paljon muita palvelinpuolen komentosarjojen kieliä, joiden valitsemiseksi kannattaa käyttää.)

Web-kehykset: Verkkokehittäjien on vuosien kuluessa joutunut ratkaisemaan ja ratkaisemaan samat ongelmat ja kirjoittamaan samanlainen koodi rakentaakseen dynaamisia verkkosivustoja. Jotkut ohjelmoijat ovat keksineet kehityskehyksiä, jotka tekevät toistuvaa työtä sinulle, jotta jokainen ei keksisi pyörää jokaiselle uudelle verkkokehitysprojektille. Esimerkiksi suosittu Ruby on Rails -kehys ottaa Rubyn ohjelmointikielen ja tarjoaa verkkokohtaisen rakenteen tavallisten verkkosovellustehtävien suorittamiseksi. Itse asiassa Adam käytti Railsia rakentamaan ensimmäisen vakavan (ja vaikuttavan!) Verkkosovelluksensa, MixTape.me. Tässä on hänen tehtäväkseen rakentaa verkkosivusto tyhjästä ilman kokemusta. Muita suosittuja web-kehityskehyksiä ovat CakePHP (PHP-ohjelmoijille), Django (Python-ohjelmoijille) ja jQuery (JavaScriptille).

Web-sovellusliittymät: Sovellusliittymä (sovellusohjelmointirajapinta) on ohjelmallinen tapa, jolla eri ohjelmistot voivat puhua keskenään. Jos esimerkiksi haluat lisätä dynaamisen kartan verkkosivustollesi, haluat käyttää Google-karttaa oman mukautetun kartan luomisen sijaan. Google Maps -sovellusliittymä tekee kartan sisällyttämisestä ohjelmallisesti sivulle, jolla on JavaScripti. Lähes jokaisella tunnetulla ja rakastamallasi modernilla verkkopalvelulla on sovellusliittymä, jonka avulla voit sisällyttää siitä tietoja ja widgettejä sovellukseesi, kuten Twitter, Facebook, Google Docs, Google Maps, ja luettelo jatkuu. Muiden webasovellusten integrointi verkkosovellukseensi sovellusliittymien kautta on monipuolisen web-kehityksen viimeinen raja. Jokainen hyvä, tärkein verkkopalvelun sovellusliittymä tarjoaa perusteellisen dokumentoinnin ja jonkinlaisen pikaohjeen kokeilemaan sitä (tässä esimerkiksi Twitter). Menkää hulluksi.

Komentorivin komentosarjat

Jos haluat kirjoittaa ohjelman, joka vie tekstitiedoston tai tiedoston syöttön ja tuottaa jotain hyödyllistä, komentorivi on oikea paikka tehdä se. Vaikka komentorivi ei ole yhtä seksikäs tai hyvännäköinen kuin verkkosivusto tai työpöytäsovellus, prosessien automatisoimien nopeajen komentosarjojen nopeaa kehittämistä varten et voi voittaa sitä.

Useat Linux-pohjaisella verkkopalvelimella toimivat komentosarjan kielet, kuten Perl, Python ja PHP, toimivat myös komentorivillä - joten yhden näistä pahiksista oppiminen saa sinut juttelemaan kahdessa yhteydessä. Reitini ei koskaan vienyt minua liian pitkälle Perl-tielle, mutta opetin itselleni Pythonin käyttämällä erinomaista ja ilmaista online-kirjaa.

Jos Unix-ninjaksi tuleminen on yksi ohjelmoijatavoitteistasi, sinun on ehdottomasti saatava hyvä basson komentosarjoihin. Bash on * nix-ympäristön komentorivikomentokieli, ja se voi tehdä kaiken auttamalla sinua määrittämään tietokannan ja tiedostojen automatisoidut varmuuskopiot aina täysimittaisen sovelluksen rakentamiseen käyttäjän vuorovaikutuksen avulla. Ilman kokemusta bash-komentosarjojen kirjoittamisesta yli kymmenen rivin yli, lopetin täydellisen henkilökohtaisen tehtäväluettelon hallintaohjelman bashissa, Todo.txt CLI.

Lisäosat

Nykyään modernit verkkosovellukset ja selaimet ovat laajennettavissa ohjelmistobitillä, jotka kiinnittyvät niihin ja lisäävät ominaisuuksia. Lisäosakehitys on kasvussa, kun yhä useammat kehittäjät katsovat olemassa olevia ohjelmistoja, kuten Firefox tai WordPress, ja ajattelevat "Mutta jos vain se voisi tehdä tämän ..."

Voit tehdä paljon paljon millä tahansa selaimella vain hallitsemalla HTML, JavaScript ja CSS. Kirjanmerkit, Greasemonkey-käyttäjän komentosarjat ja tyylikkäät käyttäjätyylit luodaan samoilla koodibiteillä, jotka tekevät säännöllisistä verkkosivuista, joten ne ovat oppimisen arvoisia, vaikka haluat vain muokata olemassa olevaa sivustoa pienellä koodinpätkällä.

Edistyneemmät selaimen lisäosat, kuten Firefox-laajennukset, tekevät sinulle enemmän. Esimerkiksi Firefox-laajennusten kehittäminen edellyttää, että olet perehtynyt JavaScriptiin ja XML: ään (merkinnät, jotka muistuttavat HTML: ää, mutta ovat tiukempia muodossa). Vuonna 2007 juoksin alas kuinka rakentaa Firefox-laajennuksen, taitoni, jonka hankin sen jälkeen, kun kompastuin ilmaisen opetusohjelman suhteen.

Monet ilmaiset ja hyvin rakastetut verkkosovellukset tarjoavat myös laajennuskehyksen, kuten WordPress ja MediaWiki. Molemmat sovellukset on kirjoitettu PHP: llä, joten mukavuus PHP: n kanssa on edellytys aloittamiselle. Näin kirjoitat laajennuksen WordPressille. Kehittäjät, jotka haluavat ajaa Google Wave -palvelun kärjessä, voivat aloittaa gadgetien ja botien kirjoittamisen HTML-, JavaScript-, Java- ja Python-tiedostoina. Kirjoitin ensimmäisen Wave-bottini tämän pika-aloitusoppaan jälkeen yhdessä iltapäivässä.

Web-kehitys työpöydälle

Paras tapa ohjelmoinnin aloittamiseen yhdessä tilanteessa on, kun pystyt ottamaan nämä taidot ja soveltamaan niitä muualle. Verkkosuunnittelun oppiminen ensin on hieno tapa aloittaa, koska nyt on olemassa tapoja laittaa nämä taidot toimimaan myös työpöytäsovelluksissa. Esimerkiksi Adobe AIR on käyttöympäristöjen välinen run-time-ympäristö, jonka avulla voit rakentaa sovelluksesi kerran ja vapauttaa sen toimimaan työpöydällä jokaisessa AIR: n käynnissä olevassa käyttöjärjestelmässä. AIR-sovellukset on kirjoitettu HTML-, Flash- tai Flex-muotoisina, joten sen avulla voit käyttää Web-kehitystyötäsi työpöydässä. AIR on loistava vaihtoehto ottaa käyttöön työpöytäsovelluksia, kuten yksi 10 parhaasta sovelluksestamme, jotka kannattaa asentaa Adobe AIR varten.

Mobiilisovellusten kehittäminen

Mobiilisovellukset, kuten käytät iPhonellasi tai Android-älypuhelimellasi, ovat nyt raivoissaan, joten sinulla saattaa olla unelmia löytää rikas iTunes App Storesta seuraavan tappajasovelluksen kanssa. Uudelle kooderille päätuloksen sukellus mobiilikehitykseen voi kuitenkin olla karkea oppimiskäyrä, koska se vaatii mukavuutta edistyneillä ohjelmointikieleillä, kuten Java ja Objective C. Kuitenkin, kannattaa tarkistaa, miltä iPhone ja Android-kehitys näyttää. Tutustu tähän yksinkertaiseen iPhonen sovelluskehitysesimerkkiin saadaksesi kuvan siitä, mitä iPhone-kehittäjät tekevät. Android-sovellukset on kirjoitettu Java-kielellä, ja tässä on ystävällinen video-opetusohjelma siitä, miltä "Hello Android" -sovelluksen työnkulku näyttää.

Kärsivällisyys, kyynärrasva, kokeilu ja virhe

Hyvät koodaajat ovat erityinen rotu jatkuvista ongelmanratkaisijoista, jotka ovat riippuvaisia ​​pienistä voitoista, jotka tulevat pitkälle kokeilun ja virheen tielle. Ohjelmoinnin oppiminen on erittäin palkitsevaa, mutta se voi myös olla turhauttavaa ja yksinäistä. Jos pystyt, hanki kaveri työskentelemään kanssasi matkan varrella. Todella hyvä ohjelmointi, kuten mikä tahansa muu, on kiinni siitä, kokeilla asioita ja saada kokemusta matkallasi.

Tämä artikkeli on vain yksi itsenäisen opiskeluohjelman suositusohjelma aloittelijoille. Kokenut ohjelmoija: Mitä kaipain? Lisää taitotasostasi riippumatta, lisää kommentteja aloittelijoille ajatuksesi ja suosituksesi.