Programmer 101: Lär dig koda

Du har alltid velat lära dig att bygga mjukvara själv – eller bara göra ett manus då och då – men du har aldrig vetat var du ska börja. Lyckligtvis är webben full av gratis resurser som kan göra dig till en programmerare på nolltid.

Renoverad video

Den här webbläsaren har inte stöd för videoelementet.

Sedan internet uppfanns har programmerare använt det för att diskutera tekniker för mjukvaruutveckling, publicera handledningar och dela med sig av kodexempel som andra kan lära sig av och använda online. Om du är nyfiken på hur man blir programmerare kan du få en bra start med hjälp av massor av bra gratis webbaserade handledningar och resurser.

Först och främst: Bli inte fast i att välja språk

G/O Media kan få provision

Reklam

En vanlig fallgrop för nybörjare är att fastna i att fundera på vilket programmeringsspråk som är bäst att lära sig först. Det finns många åsikter där ute, men det finns inget ”bästa” språk. Så här ligger det till: I slutändan spelar språket inte så stor roll. Att förstå data- och kontrollstrukturer och designmönster spelar mycket stor roll. Varje språk – även ett enkelt skriptspråk – har element som du kommer att använda även i andra språk och som hjälper dig att lära dig. I de kurser jag tog för att få min examen i datavetenskap programmerade jag i Pascal, Assembly och C – språk som jag aldrig fick betalt för att programmera i professionellt. Jag lärde mig själv varje språk som jag har använt under min karriär, genom att återanvända begrepp som jag redan kände till och genom att hänvisa till dokumentation och böcker för att lära mig syntaxen. Så du ska inte vara upptagen av vilket språk du ska lära dig först. Välj vilken typ av utveckling du vill göra och börja bara med ett som fungerar.

Det finns flera olika typer av programvaruutveckling som du kan göra för olika plattformar, från webben till ditt skrivbord till din smartphone till en kommandorad. I den här artikeln beskriver vi några av våra favoritstarthandledningar och resurser för att lära dig att programmera för varje större plattform. Vi utgår från att du är en kunnig användare, men en nybörjare när det gäller att hantera kodstycken, så vi håller det på nybörjarnivå. Även om du bara följer en handledning i programmering för nybörjare kommer du att bli glad över att se hur långt du kan komma.

Reklam

Skript för skrivbordet

Det enklaste sättet att prova på att programmera för skrivbordet i Windows eller Mac är att börja med ett skript- eller makroprogram som AutoHotkey (för Windows) eller Automator (för Mac). Just nu skriker hardcore kodare i hela Lifehacker-läsekretsen mot sina skärmar och säger att AHK eller AppleScript inte är ”riktig” programmering. Det kan vara sant – tekniskt sett gör dessa typer av verktyg bara scripting på hög nivå. Men för dem som är nybörjare inom programmering och som bara vill få igång en liten grej genom att automatisera åtgärder på skrivbordet är dessa gratisverktyg ett fantastiskt sätt att börja – och du skulle bli förvånad över hur mycket du kan göra med dem.

Advertisering

Till exempel utvecklade Adam det fristående Windows-program som vi alla känner till och älskar, Texter, med hjälp av AutoHotkey, så detta skriptspråk klarar av mycket mer än bara småskaliga automationsprojekt. Om du vill komma igång med AutoHotkey kan du kolla in Adams handledning om hur du förvandlar vilken handling som helst till ett kortkommando med AutoHotkey. (Kolla sedan källkoden för Texter för att se hur en fullfjädrad AHK-baserad Windows-applikation fungerar.)

Reklam

Webbutveckling

Istället för att vara bunden till specifika programmeringsspråk och utseendet och känslan hos ett visst operativsystem kan du lägga din dödliga applikation i webbläsaren och köra den i molnet, som en webbapplikation. Välkommen till webbutvecklingens underbara värld.

Advertisering

HTML och CSS: Det första du behöver veta för att bygga en webbplats är HTML (sidmarkeringen som utgör webbsidor) och CSS (stilinformationen som får markeringen att se snygg ut). HTML och CSS är inte riktiga programmeringsspråk – de är bara sidstruktur och stilinformation. Du bör dock kunna skriva enkel HTML och CSS för hand innan du börjar bygga webbapplikationer, eftersom en webbsida är frontend för varje webbapplikation. Den här HTML-handledningen är ett bra ställe att börja.

JavaScript: Nu när du kan lägga upp en statisk webbsida med HTML och CSS blir det roligt – för det är dags att lära sig JavaScript. JavaScript är webbläsarens programmeringsspråk, magin som får dynamiska effekter på sidan att fungera. JavaScript är också det som används i bookmarklets, Greasemonkey-användarskript och Ajax, så det är nyckeln till att göra alla möjliga webbgodis. Börja lära dig JavaScript här.

Advertisering

Server-side scripting: När du väl är duktig på att få saker att hända på en webbsida måste du sätta lite dynamisk serververksamhet bakom det, och för det måste du använda ett skriptspråk på serversidan, som PHP, Python, Perl eller Ruby. Om du till exempel vill skapa ett webbaserat kontaktformulär som skickar ett e-postmeddelande någonstans baserat på vad användaren har angett krävs ett serverbaserat skript. Skriptspråk som PHP kan också prata med en databas på din webbserver, så om du vill göra en webbplats där användarna kan logga in och lagra information är det den rätta vägen att gå. Den utmärkta webbplatsen för webbutveckling Webmonkey är full av handledningar för olika webbprogrammeringsspråk. Se deras PHP-handledning för nybörjare. När du är redo kan du se hur du använder PHP för att prata med en databas i Webmonkeys handledning om PHP och MySQL. PHP:s online-dokumentation och funktionsreferens är den bästa på webben. Varje post (som den här om strlen-funktionen) innehåller användarkommentarer längst ner som ofta är lika hjälpsamma som själva dokumentationen. (Jag råkar vara svag för PHP, men det finns gott om andra serverbaserade skriptspråk som du kan välja att använda istället.)

Reklam

Webramverk: Under årens lopp har webbutvecklare varit tvungna att lösa och lösa samma problem och skriva om liknande kod för att bygga dynamiska webbplatser. För att undvika att alla måste uppfinna hjulet på nytt för varje nytt webbutvecklingsprojekt har vissa programmerare tagit fram utvecklingsramar som gör en del repetitivt arbete åt dig. Det populära ramverket Ruby on Rails, till exempel, utgår från programmeringsspråket Ruby och erbjuder en webbspecifik struktur för att få vanliga webbprogramuppgifter utförda. Adam använde faktiskt Rails för att bygga sin första seriösa (och imponerande!) webbapplikation, MixTape.me. Här är hans syn på hur man bygger en webbplats från grunden utan erfarenhet. Andra populära ramverk för webbutveckling är CakePHP (för PHP-programmerare), Django (för Python-programmerare) och jQuery (för JavaScript).

Advertisering

Webb-API:er: Ett API (Application programming interface) är ett programmatiskt sätt för olika programvaror att prata med varandra. Om du till exempel vill lägga in en dynamisk karta på din webbplats vill du använda en Google Map i stället för att bygga en egen anpassad karta. Google Maps API gör det enkelt att programmeringsmässigt inkludera en karta i en sida med JavaScript. Nästan alla moderna webbtjänster som du känner till och älskar har ett API som gör att du kan inkludera data och widgetar från dem i ditt program, till exempel Twitter, Facebook, Google Docs, Google Maps och listan är lång. Att integrera andra webbapplikationer i din webbapplikation via API:er är den sista gränsen för rik webbutveckling. Varje bra, större webbtjänst-API erbjuder grundlig dokumentation och någon form av snabbstartsguide för att prova det (här är Twitters, till exempel). Go crazy.

Reklam

Command Line Scripting

Om du vill skriva ett program som tar emot text- eller filinmatning och ger ut något användbart är kommandoraden rätt plats att göra det på. Även om kommandoraden inte är lika sexig eller snygg som en webbapp eller en skrivbordsapp, är den oslagbar när det gäller snabb utveckling av snabba skript som automatiserar processer.

Advertisering

Flera skriptspråk som fungerar på en Linuxbaserad webbserver fungerar också på kommandoraden, t.ex. perl, python och PHP – om du lär dig ett av de där onda typerna blir du alltså kunnig i två sammanhang. Min väg tog mig aldrig alltför långt ner i Perl, men jag lärde mig Python med hjälp av den utmärkta och kostnadsfria online-boken Dive into Python.

Advertisement

Om det är ett av dina mål som programmerare att bli en Unix-ninja måste du absolut bli duktig på shell-skripting med bash. Bash är kommandoradsskriptspråket i en *nix-miljö, och det kan göra allt från att hjälpa dig att sätta upp automatiska säkerhetskopior av din databas och dina filer till att bygga upp en fullfjädrad applikation med användarinteraktion. Utan någon erfarenhet av att skriva bash-skript utöver ett dussin rader slutade det med att jag utvecklade en fullfjädrad personlig handbokshanterare i bash, Todo.txt CLI.

Add-ons

Nuförtiden kan moderna webbappar och webbläsare utökas med programvarubitar som kan skruvas fast på dem och lägga till funktioner. Utveckling av tilläggsmoduler ökar i popularitet eftersom fler utvecklare tittar på befintlig programvara, som Firefox eller WordPress, och tänker ”Men om den bara kunde göra DET HÄR…”

Användning

Du kan göra en hel del i vilken webbläsare som helst med bara en behärskning av HTML, JavaScript och CSS. Bookmarklets, Greasemonkey-användarskript och Stylish-användarstilar skapas med samma kodbitar som vanliga webbsidor, så de är värda att lära sig även om du bara vill finjustera en befintlig webbplats med en liten kodbit.

Mer avancerade webbläsartillägg, som Firefox-tillägg, låter dig göra mer. För att utveckla Firefox-tillägg krävs till exempel att du kan JavaScript och XML (markeringar som liknar HTML, men är mycket striktare i formatet). Redan 2007 redogjorde jag för hur man bygger ett Firefox-tillägg, en färdighet som jag lärde mig efter att ha snubblat över en gratis handledning.

Reklam

Många gratis och omtyckta webbapplikationer erbjuder också ett ramverk för tillägg, till exempel WordPress och MediaWiki. Båda dessa program är skrivna i PHP, så bekvämlighet med PHP är en förutsättning för att komma igång. Här är hur du skriver ett tilläggsprogram för WordPress. Utvecklare som vill vara med i spetsen av Google Wave kan börja skriva prylar och robotar i HTML, JavaScript, Java och Python. Jag skrev min första Wave-bot efter den här snabbstartshandledningen på en eftermiddag.

Advertisering

Webbutveckling för skrivbordet

Det bästa med att komma igång med att programmera i ett sammanhang är när du kan ta med dig dessa färdigheter och tillämpa dem på andra ställen. Att lära sig webbutveckling först är ett bra sätt att börja eftersom det nu finns sätt att använda dessa färdigheter för att arbeta med skrivbordstillämpningar också. Adobe AIR är till exempel en plattformsoberoende körtidsmiljö som gör att du kan bygga din app en gång och släppa den så att den kan köras på skrivbordet för alla operativsystem som AIR körs på. AIR-applikationer skrivs i HTML, Flash eller Flex, så du kan använda dina kunskaper i webbutveckling i ett skrivbordssammanhang. AIR är ett utmärkt alternativ för att distribuera skrivbordsappar som en av våra tio bästa appar som är värda att installera Adobe AIR för.

Advertisering

Utveckling av mobilapplikationer

Mobilapplikationer som de som du kör på din iPhone eller Android-smartphone är helt i ropet just nu, så du kanske drömmer om att göra succé i iTunes App Store med nästa fantastiska app. Men för den nya programmeraren kan det vara en tuff inlärningskurva att ge sig in i mobilutveckling, eftersom det kräver att man är bekväm med avancerade programmeringsspråk som Java och Objective C. Det är dock värt att ta reda på hur utvecklingen av iPhone och Android ser ut. Kolla in det här enkla exemplet på utveckling av en iPhone-applikation för att få en smak av vad iPhone-utvecklare gör. Android-applikationer skrivs i Java, och här finns en trevlig videohandledning om hur det ser ut att bygga ett arbetsflöde för en ”Hello Android”-applikation.

Reklam

Tålamod, armbågsfett, försök och misstag

Goda programmerare är en speciell typ av ihärdiga problemlösare som är beroende av de små segrar som kommer längs en lång väg av försök och misstag. Att lära sig programmera är mycket givande, men det kan också vara en frustrerande och ensam upplevelse. Om du kan, skaffa dig en kompis som kan hjälpa dig på vägen. Att bli riktigt bra på att programmera är som allt annat en fråga om att hålla fast vid det, pröva saker och ting och skaffa sig erfarenhet allteftersom.

Rekommendation

Den här artikeln är bara en självlärd programmerares topprekommendationer för nybörjare. Erfarna programmerare: Vad missade jag? Oavsett din kunskapsnivå kan du lägga till dina tankar och rekommendationer för nybörjare i kommentarerna.

Gina Trapani, Lifehackers grundande redaktör, anser att de bästa programmerarna är självlärda. Hennes veckofunktion, Smarterware, publiceras varje onsdag på Lifehacker. Prenumerera på Smarterware tag feed för att få nya avsnitt i din nyhetsläsare.

Reklam

Lämna en kommentar