En Designer Introduktion till Programmering

Designers är ofta ganska tveksamma för att våga bortom riken HTML och CSS till territoriet för skriptspråk och programmeringsspråk, och med god anledning. Programmering kräver en helt annan uppsättning färdigheter än att mocka upp webbsidor. Dessutom finns det så många olika saker att lära sig att de flesta designers inte ens vet var de ska börja: JavaScript, PHP, Ruby, Rails, hur kan du eventuellt fortsätta?

I praktiken visar sig programmeringen dock vara mycket mindre skrämmande än konstruktörer föreställa sig att det är. Idag ska jag visa dig hur programmering är en färdighet som du kan lära dig en gång och sedan ansöka om varje nytt språk som du hämtar. Vi tar en titt på tre olika programmeringskonstruktioner på tre olika språk för att se hur liknande de verkligen är. Om du vill komma igång med programmering men inte vet en sak om det, är den här artikeln för dig.

Rädsla inte, du kanske bara gillar det

Den här webbplatsen är allmänt inriktad mot designers, och från personliga erfarenheter vet jag att närmar sig programmering för första gången som designer är extremt skrämmande. Designers är visuella tänkare, vi trivs genom att skapa och experimentera med vårt öga och en expertkunskap om våra handelsverktygs verktyg.

I allmänhet är vi den typ av människor som hatade matteklassen och allt annat där kreativitet inte tycks ha ett uppenbart fotfäste.

? Vi är i allmänhet den typ av människor som hatade matteklassen och allt annat där kreativitet inte tycks ha ett uppenbart fotfäste.?

Programmerare är problemlösare. De älskar logiska pussel och tinkar med koden i timmar i absoluta frånvaron av visuals av något slag. Tänk på att dessa två kategorier av människor inte utesluter varandra. Om du passar båda beskrivningarna kommer du troligen absolut att älska programmering.

Inte HTML och CSS

Vi når snabbt en punkt där de flesta webbdesigners vet åtminstone lite om kodning av HTML och / eller CSS. Denna erfarenhet och kunskap kommer verkligen att hjälpa dig, men kanske inte så mycket som du kanske tror.

HTML är ett * markup-språk * och CSS är ett * stilarksspråk *, de används främst för att formatera och infoga ganska statiskt innehåll i förbyggda sidor. Hur du jobbar med dem är i all verklighet väldigt annorlunda än att använda ett * skriptspråk * eller * objektorienterat programmeringsspråk *, vilket är den typ av hardcore programmeringsverktyg som du hittar i bruk på webben idag.

The Big Secret om programmering

Den sista delen var den dåliga nyheten, men inte rädd, det finns goda nyheter i horisonten. Om du går in i en bokhandel och vandrar över till programmeringsdelen kommer du sannolikt att vara helt skrämmad. Det finns så många olika saker att lära! Denna skrämmande främjas när du råkar träffa en av de supergenier som verkar känna till nästan alla de programmeringsspråk som finns. Hur i världen hittar människor tid att lära sig dessa saker? Många nybörjare är så helt avskedade vid denna tidpunkt att de ger upp innan de någonsin försöker.

? Programmeringsspråk tenderar att vara väldigt likartade. Många använder samma byggstenar och liknande verktygssatser för att uppnå sina mål.?

Den stora hemligheten som du inte vet om du aldrig någonsin har hoppat in i programmeringen är att programmeringsspråk tenderar att vara mycket lika. Många av dem använder samma byggstenar och liknande verktygssatser för att uppnå sina mål.

Jag lärde mig den här lilla hemligheten i min första interaktion med programmering: en Java-klass på college (inte förvirrad med JavaScript). Trots att jag själv var en omtänksam ung pojke, var klassen i stor utsträckning fylld med män i 30-årsåldern och 40-talet. Nästan alla av dem hade redan jobb i programmering och hade varit i det i tjugo år eller mer. De var helt enkelt anställda i användningen av andra språk och försökte expandera sin färdighet, ofta på arbetsgivarens uppmuntran och bekostnad.

Att gå in i klassen på den första dagen visste ingen av oss mycket om något om Java. Men i tredje klassen bröt dessa killar över mig. Jag skrev skrämmande enkla småkodsutdrag baserat på de grundläggande principerna som vi hade lärt oss. Dessa killar tog samma grunder och byggde utarbetade applikationer med alla sorters coola funktioner långt bortom kraven för uppdraget.

Var jag ojämn? Det visar sig, lyckligtvis för mig, att svaret inte var så enkelt.?

Var jag ojämn? Det visar sig, lyckligtvis för mig, att svaret inte var så enkelt. Verkligheten var att vi lärde oss väldigt olika saker. Jag lärde mig att programmera genom Java-linsen, de här killarna visste redan allt om programmering och behövde bara lite hjälp för att räkna ut hur man översätter den kunskapen till Java. Jag var ett barns lärande att tala för första gången och de var flerspråkiga som hämtade ännu ett språk.

Poängen med denna långa historia är att illustrera att efter att du verkligen kommit in i programmering eller skript med ett språk blir resten mycket lättare eftersom du dramatiskt har minskat inlärningskurvan. Om du vet hur man kodar i PHP är hoppet till Ruby mycket mindre.

Byggstenarna

Det är lätt för mig att säga att programmeringen bygger på återanvändbar kunskap, men kan jag sätta det i praktiken? Vad är dessa så kallade byggstenar och hur är de lika eller olika från språk till språk?

Stor fråga! Låt oss ta reda på genom att ta en titt på några av de mest grundläggande men mest använda programmeringskonstruktionerna. Förstå dessa kommer att hoppa på din programmeringsutbildning oavsett vilken väg eller språk du väljer att driva.

variabler

Variabler är en underbar sak.Om du någonsin har använt LESS eller något liknande så har du sett underverk av variabler och hur de kan spara mycket tid. Jag är fortfarande inte säker på om de tillhör CSS, men programmeraren i mig vill verkligen se dem där.

En variabel är i huvudsak ett sätt att lagra information. Du kan lagra något så enkelt som ett värde, säg 39, eller något så komplicerat som en hel uppsättning data som innehåller hundratals värden. Tänk på en variabel som en låda. Lådor själva verkar inte allt så viktigt, det är vad som är inom det som räknas. Lådor gör dock ett bekvämt sätt att lagra och komma åt vissa objekt.

JavaScript-variabler

Låt oss hoppa till ett exempel. Eftersom JavaScript är en sannolikt första kandidat för att flytta över HTML och CSS, startar vi alla våra exempel där. Så här fungerar variabler i JavaScript:

Här kan du se exakt hur variabler används i JavaScript. Först, du? Förklara? en variabel. Detta skapar helt enkelt det eller förverkligar det. När du gör det vill du alltid namnge det som är något som indikerar innehållet. Därefter tilldelar du det ett värde (ofta kombineras dessa två steg), i vårt fall slog jag in ett godtyckligt nummer. Kom ihåg att,? Contentwidth? är vår låda, som nu har ett värde. När som helst vi vill komma åt den rutan använder vi bara variabelnamnet, så för att avsluta exemplet ut skapade jag en varning och infogade variabeln. Detta kommer att dyka upp en låda med värdet? 496 ?.

Det här kan verka värdelöst här men föreställa oss att vi hade trehundra linjer kod som hänvisade den variabeln ofta. Varje gång värdet på den variabeln ändras fungerar vår kod fortfarande perfekt eftersom variabelnamnet har stannat konstant. Utan variabler skulle detta vara omöjligt och mycket mer kod skulle resultera.

PHP-variabler

Nu när vi har en solid grund för information blir lärande variabler på andra språk mycket enklare. Den här gången lär vi oss inte vilka variabler som är och hur de fungerar, bara hur man använder dem på andra språk.

Här är en titt på hur variabler fungerar i PHP:

Det finns mycket likhet här. Lägg märke till användningen av semikolon för att ange slutet på ett uttalande och hur kommentarer använder samma syntax. Den här gången förklarade vi vår variabel och tilldelade den ett värde i en enda rad. Vi kan se att syntaxen för detta är nästan identisk, med den viktiga skillnaden som PHP använder en? $? i början av ett variabelt namn. Observera att "Echo"? Kommandot skriver bara ut något till webbläsarsidan.

Ruby Variables

Låt oss nu titta på variabler i Ruby.

Hittills kan man se att mycket av vad som är inblandat i att lära sig ett nytt språk bara utser sina olika egenskaper. Till exempel, JavaScript och PHP används semikolon i slutet av en rad, Ruby gör det inte. Även här skapas kommentarer med? #? istället för ?//? och vi använder? sätter? att producera vårt resultat.

Loops

En annan populär programmeringskonstruktion är en slinga. Med loopar kan du spara dig själv besväret med att upprepa kod igen och igen genom att automatisera processen du vill uppnå. När du skapar en slinga måste du vara säker på att deklarera slingans parametrar, som villkoren för när slingan upphör. Du vill inte att åtgärderna fortsätter på oändligt sätt så att du måste skapa ett tillstånd där slingan kommer att avslutas.

JavaScript Loops

På ett visst språk finns vanligtvis flera typer av slingor. Här är en typ i JavaScript, medan? slinga. I det här exemplet ställer vi upp en variabel och skapar sedan en bit kod som ska utföras igen och igen så länge som variabeln är mindre än 50. Då definierar vi de åtgärder som ska upprepas inom det här kvarteret. I det här fallet loggar vi värdet på variabeln till konsolen och ökar variabelns värde för en. Eftersom variabeln ökar varje gång koden körs, kommer den så småningom att slå 50 och slingan kommer att avslutas.

Samma sak kan uppnås med en? För? slinga. Denna version är lite mer kortfattad som det står värdet av variabeln att starta, tillståndet under vilket slingan slutar och åtgärden för att ta på variabeln i en linje.

PHP Loops

Återigen finner vi att PHP liknar JavaScript. Efter att ha läst igenom ovanstående exempel borde du enkelt kunna förstå PHP-ekvivalenten. Här återigen har vi en stundslinga och en för loop, som var och en innehåller nästan identisk syntax för sina JavaScript-bröder.

Ruby Loops

Här är? och för? slingor i Ruby. Som du kan börja se är Ruby mycket lösare i sin syntax än de andra två språken vi använder. Inte bara finns det några semikolon, de krökta parenteserna är inte heller närvarande. Observera också hur annorlunda den? För? öglan ser den här tiden runt.

funktioner

Funktioner är ännu en programmeringskonstruktion skapad för att spara tid genom att undvika att upprepa samma kod. När du kodar en applikation, kommer den troligen att fungera var som helst från ett till tusentals uppgifter. Varje uppgift representerar en bit av kommandon. När vi kasta kommandona till en funktion kan vi helt enkelt ringa den funktionen istället för att skriva ut den fullständiga koden. På så sätt är en funktion mycket som en variabel som utför en uppgift eller lista över uppgifter.

JavaScript-funktioner

Låt oss bygga en super grundläggande funktion i JavaScript som tar ett antal passerade till det och kvadrerar det. Vi börjar här med ordet? Funktionen? följ sedan upp det med en variabel inom parentes. Sedan inuti funktionen utför vi olika åtgärder och returnerar ett värde.

När vi använder funktionen ersätter vi den parentesiska variabeln med vilket antal som helst och koden inuti funktionen utförs på det värdet. I exemplet ovan skulle det returnerade resultatet vara 81.

PHP-funktioner

Nu är du så bekant med JavaScript till PHP-konvertering som du borde kunna göra allt själv. Här är syntaxen:

Ruby Metoder

Återigen är Ruby ganska annorlunda. Faktum är att Ruby faktiskt hänvisar till den här konstruktionen som en metod, inte en funktion. Vi kan dock fortfarande snabbt tillämpa vår kunskap om funktioner för att dechifiera hur detta fungerar.

Ruby-metoden utför samma uppgift som JavaScript-funktionen, som du kan se. Det låter dig skicka ett nummer till parametrarna, varefter kvadrerar det antalet och returnerar värdet.

Lätt rätt?

Vid det här laget bör du kunna se vikten av att förstå programmeringspraxis oberoende av vilket programmeringsspråk som helst. Det finns en gemensam struktur och metod för programmering som du hittar på alla språk som du lär dig. Många av skillnaderna är * semantiska * och motsvarar svaga syntaxskillnader.

Ta inte detta för att betyda att programmerings- och skriptspråk är lika, det är de inte. De har alla ett specifikt syfte som definierar hur och när du använder dem. Det är mycket som att lära Adobe Illustrator och sedan hoppa till InDesign. Du har att göra med två olika saker skapade för två olika ändamål, men det finns tillräckligt med likhet att en expertkunskap om en kommer att hjälpa dig att lära dig åt den andra.

Slutsats

Denna diskussion var inte på något sätt menad att vara uttömmande. Du har inte nu en fullständig grundläggande kunskap om programmering. Istället lärde du dig bara om programmering på ett sätt som förhoppningsvis gör det mer tillvägagångssätt. I stället för att se en massa helt olika språk som du måste lära dig borde du nu se en samling relaterade metoder där studien av en faktiskt utökar din förståelse för de andra.

Så var ska du börja? Som jag nämnde ovan är JavaScript definitivt platsen för webbdesigners att börja. Applikationen är omedelbart uppenbar, speciellt i kombination med jQuery, till HTML och CSS som du redan vet. Därifrån är språnget till PHP mycket hanterbart, vilket kan leda till att du studerar Ruby så att du kan behärska Ruby on Rails. möjligheterna är obegränsade!