<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lightside</title>
	<atom:link href="http://lightside.se/feed/" rel="self" type="application/rss+xml" />
	<link>http://lightside.se</link>
	<description>The light at the end of the tunnel may be a tired meme</description>
	<lastBuildDate>Sun, 04 Jul 2010 20:56:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Sorry, ingen bloggning den här veckan</title>
		<link>http://lightside.se/2010/07/sorry-ingen-bloggning-den-har-veckan/</link>
		<comments>http://lightside.se/2010/07/sorry-ingen-bloggning-den-har-veckan/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 20:56:00 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Blandat]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=28</guid>
		<description><![CDATA[Har på grund av justering av min medicinering inte kunnat koncentrera mig på att skriva och får därför skjuta upp ännu ett avsnitt. Håll ut]]></description>
			<content:encoded><![CDATA[<p>Har på grund av justering av min medicinering inte kunnat koncentrera mig på att skriva och får därför skjuta upp ännu ett avsnitt. Håll ut</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/07/sorry-ingen-bloggning-den-har-veckan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programspråk: en snabbgenomgång.</title>
		<link>http://lightside.se/2010/06/programsprak-en-snabbgenomgang/</link>
		<comments>http://lightside.se/2010/06/programsprak-en-snabbgenomgang/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 00:00:34 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Artiklar]]></category>
		<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=29</guid>
		<description><![CDATA[Okej, det blev lite för mycket midsommar där med lite för mycket sol och frisk luft. Alltså blev det ingen artikel i onsdags&#8230; eller fredags&#8230; eller lördags&#8230; men om jag lyckas få in den här innan midnatt så har jag &#8230; <a href="http://lightside.se/2010/06/programsprak-en-snabbgenomgang/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okej, det blev lite för mycket midsommar där med lite för mycket sol och frisk luft. Alltså blev det ingen artikel i onsdags&#8230; eller fredags&#8230; eller lördags&#8230; men om jag lyckas få in den här innan midnatt så har jag i alla fall hållit mig till mindre än en vecka mellan artiklarna!</p>
<h2>Källkod? Maskinkod? Bankomatkortskod?</h2>
<p>Vad är då det här &#8221;kod&#8221; som data-nissarna pratar om hela tiden?<br />
Jo, så här &#8221;enkelt&#8221; är det: En dator är i grund och botten en väldigt väldigt enkel maskin. Om man skalar bort rätt många abstraktionsnivåer så har man en generell maskin som stegar sig igenom en lista med väldigt väldigt simpla instruktioner av stilen <code>läs en bit data</code>, <code>skriv en bit data</code>, <code>lägg ihop två bitar data</code>, <code>gör något om en bit data är samma som en annan bit data</code>. Det är de verktyg maskinen behöver för att visa videofilm, animera grafer i excel, räkna på vädersystem och styra målsökande raketer. Låter rätt absurt eller hur? Det är det här som folk lite släpphänt reducerar till att säga &#8221;datorer jobbar bara med ettor å nollor&#8221;. <span id="more-29"></span></p>
<p>Vill man vara elak så kan man påpeka att en dator inte ens vet vad ett och noll är, det är värre än så. Den jobbar oftast med låg eller hög spänning genom ett antal miljoner mikroskopiska transistorer på ett kiselchip. Det är vi människor som kallar de olika spänningslägena ett och noll för att det är lättare för oss. Vi blir väldigt lätt förvirrade och vi är lata. Alltså gillar vi att använda oss av abstraktioner. Vi anser att effekten av att gå till köket, vrida på kranen och hålla en kastrull under tills den har vatten i sig, lägga några ägg i kastrullen, lyfta över den till spisen, vrida på rätt reglage och vänta tills vattnet bubblar plus några minuter till är ungefär samma som om vi hänger en gryta med soppa över en brasa och väntar tills den bubblar. Vi säger &#8221;aha! saker som är lika!&#8221;, kallar det genast &#8221;att koka&#8221; och så slipper vi beskriva varje litet steg varje gång vi vill att någon fixar frukost åt oss. Det räcker med att säga &#8221;kan du koka lite kaffe&#8221; till vår kollega så förstår han vad vi vill att han ska göra. </p>
<p>Datorer däremot är som jag sagt tidigare fantastiskt korkade men lydiga. De behöver exakta instruktioner för varje litet irriterande delmoment. Den här listan med de väldigt väldigt grundläggande steg för steg-instruktionerna som vi visualiserar som ettor och nollor eller långa kedjor av siffror i udda talbaser kallas <strong>maskinkod</strong>. Det är helt enkelt en instruktion på datorns eget språk.</p>
<p>Programmerare är dock inte datorer. De tenderar snarare att vara smarta men olydiga och allt som oftast lata och lättuttråkade. De gillar helt enkelt inte att behöva skriva alla dessa små petiga beskrivningar om och om och om igen. Det är ju jättetråkigt och vem har tid med sånt? Det är ju en jätterepetitiv uppgift som man borde ge till någon korkad men lydig&#8230; aha!<br />
Varför inte låta datorer skriva maskinkoden? Det låter ju som en perfekt uppgift för dem! Sagt och gjort så löser man problemet genom att skriva program som skriver program.</p>
<p>Eller ja&#8230; man har förskjutit problemet i alla fall. För nu måste man ju få programmen att skriva program som gör det man vill. Men det är ju ett mycket behagligare problem. Man kan nämligen se till att höja abstraktionsnivån steg för steg. Först ser man till att hitta på ett språk som man själv kan förstå, sen ser man till att traggla sig igenom den tråkiga uppgiften att skriva ett program på datorns språk som klarar av att sammanställa de instruktioner man skriver på sitt eget språk och översätta dem till datorspråk. När man sen gjort det så kan man i fortsättningen skriva alla sina program på sitt eget språk och låta sitt sammanställnings/tolk-program (kompilator) göra om dem till maskinkod som datorn förstår. Jättepraktiskt!</p>
<p>Alltså, &#8221;människospråk&#8221; stoppas in i kompilatorn och ut kommer maskinkod. Den där byttan &#8221;människospråk&#8221; man börjar med? Det är det vi kallar källkod. Källkod är helt enkelt en samling med instruktioner i ett format som ska vara läsbart för människor som sen omvandlas till ett format som ska vara läsbart för datorn.</p>
<h2>Programmeringsspråk</h2>
<p>De här programmeringsspråken då&#8230; varför finns det en massa sådana? kan vi inte bara skriva ett program som förstår vanlig vettig svenska eller engelska?<br />
Nja&#8230; det är inte särskilt lätt faktiskt. Vanliga människospråk har en massa konstiga vagheter och inbyggda liknelser som gör att det är väldigt svårt att vara så exakt i sin tolkning som en maskin behöver. Vi är också rätt bra på onödigt ordbajseri. Se bara den här bloggposten som exempel. Datorer behöver inte känna att du tycker om dem eller veta vad du gjorde i helgen. De är så nöjda så med exakta instruktioner. Så vi ger dem det i den mån vi kan. Varför försöka få en dator att förstå vad vi menar med &#8221;Kan du vara snäll och gå igenom den där listan och ge mig skillnaden mellan den högsta temperaturen och den lägsta&#8221; när man istället kan formulera sig mer koncist<br />
<code>(- (max templist) (min templist))</code> om man pratar något Lisp-liknande eller kanske <code>get_max_value(templist) - get_min_value(templist)</code> i något C/C++-liknande språk.</p>
<p>Trots att man lätt kan få för sig att källkod är någon konstig sörja som skrivs för att vara så mystiskt som möjligt så är sanningen alltså den helt omvända. Den större delen av all källkod som skrivs är faktiskt formulerad för att vara så tydlig och entydig som möjligt.</p>
<h2>Abstraktionsnivåer och paradigmer</h2>
<p>Men varför är de då så många de där språken?<br />
I många fall av ungefär samma skäl som det finns så många olika människospråk.<br />
Olika människor i olika kulturer med olika avsikter har olika behov av ett språk. Folk i en nomadisk ökenkultur har andra saker att uttrycka än vattenreningsingenjörer i miljoninvånarstäder. På samma sätt har folk som vill göra små roliga spel som blinkar på en hemsida andra behov än forskare som försöker göra jätteberäkningar på komplexa vädersystem.</p>
<p>Ibland är det nödvändigt att ha väldigt hård koll på vad maskinen faktiskt gör och då håller man sig kanske på en väldigt låg abstraktionsnivå som ligger så nära maskinens språk som möjligt så att man kan veta nästan exakt vad den gör hela tiden. De första programmeringsspråken som kallades assemblerspråk hamnar i den här kategorin. De är i princip en mer läsbar form av maskinkod där de numeriska koderna för olika grundläggande instruktioner bytts ut mot mer lättlästa förkortningar som &#8221;JMP&#8221; och &#8221;ADD&#8221;. </p>
<p>Börjar man komma upp i lite högre programkomplexitet så blir det snabbt svåröverskådligt och jobbigt att hålla på med assembler så då kliver man upp ett steg i abstraktionen till språk med högre abstraktionsnivå. Där klumpar man ihop ofta förekommande kombinationer av maskinkodsinstruktioner till enkla uttryck så att programmeraren inte ska behöva återuppfinna hjulet varje gång han skriver något. Visst&#8230; i praktiken så kanske datorn för att skriva ut lite text på en terminal behöver hämta en teckenkod från någonstans i datorminnet, kolla upp den koden mot en tabell av instruktioner för vilka siffror som ska skickas till grafikkortet för att det ska rita en bokstav på skärmen och sen upprepa detta tills du fått ut alla bokstäver du ville så att de går att läsa. Men när man nu listat ut hur man ska beskriva för datorn hur den ska göra detta så blir det lättare att till nästa gång helt enkelt säga &#8221;När jag säger <code>print "hej där!"</code> så menar jag att du ska följa alla de där steg för steg instruktionerna jag sa sist.</p>
<p>Programmeringsspråket C är ett typiskt mellannivå-språk som ligger ett par abstraktionsnivåer över maskinkod men där man oftast rätt lätt kan föreställa sig hur kompilatorn kommer översätta en given bit av din källkod till maskinkod.</p>
<p>Problemet med mellannivåspråk är att de fortfarande är lite för klumpiga att arbeta med i längden. Väldigt många saker man skriver i dem återkommer väldigt ofta. Det är en hel dem mönster som återkommer om och om igen. Upprepning av kod är inte bara tröttsamt för programmeraren utan också en vanlig källa till fel. Andra saker är helt enkelt väldigt jobbiga att tänka omkring om man hela tiden måste hålla reda på hur man ska representera det så att datorn kan förstå det.</p>
<p>Vi kan ta en jämförelse med dans till exempel. När man lär sig någon sorts dans som total nybörjare så behöver man få förklarat precis vilka rörelser man ska göra var och hur. Det är bra och praktiskt men väldigt väldigt otympligt för något mer komplicerat än grunderna. När man sen har skaffat sig en förståelse av hur de olika dansstegen utförs så har man möjligheten att sätta ihop koreografier genom att prata om dansstegen utan att bli bländad av komplexiteten om man faktiskt skulle behöva beskriva varje enskild muskelrörelse som varje enskild deltagare ska utföra vid en given tidpunkt. </p>
<p>Roligt nog så finns det väldigt många olika sätt att lösa problemet med hur man ska försöka göra de här abstraktionerna. Det har lett till att det finns en himla massa olika programmeringsspråk för olika ändamål och med olika tankar bakom. Vissa av dem är väldigt spridda och i brett bruk, andra används bara av ett fåtal personer på någon instutition. Som allt annat går det mode i programmeringsspråk också så att något som anses som aldeles förträffligt idag kanske är alldeles förlegat om ett år (som tur är brukar det gå i lite längre cykler än så). Rätt mycket handlar också om personliga preferenser hos enskilda programmerare eller företag vilket gör att man kan få väldigt livliga diskussioner om vilket språk som är &#8221;bäst&#8221;. En fråga som kan debateras i evigheter då den saknar ett absolut svar. Olika språk har sina olika styrkor och brister och det finns inget enskilt språk som är bättre än alla andra på alla punkter.</p>
<p>Vissa språk är dock mer användbart att ha koll på än andra på grund av hur vanligt förekommande de är. Programmeringsspråket C är fortfarande det absolut vanligaste språket att skriva drivrutiner och andra program där exakthet och liten storlek är viktigare än lättheten att göra olika saker. C++ och Java är så vitt jag vet kungarna av språk att skriva applikationer i. Om du vill få dina hemsidor att göra roliga saker i din webläsare så har du att välja på det grovt underskattade språket JavaScript eller eventuellt skriva små Flash-program i språket ActionScript. Alternativt så kan du göra mer komplicerade saker redan på webservern i språk som PHP, ASP, JSP, Python eller Perl</p>
<p>I vilket fall som helst så lönar det sig att hitta ett språk där det är lätt att uttrycka det du vill göra. Det förenklar ditt arbete något otroligt.</p>
<h2>Tillfälligt avbrott</h2>
<p>hmm&#8230;<br />
Skulle jag vara klar innan midnatt? Aj då.<br />
Jag får nog betrakta det här som ett färdigt segment och återkomma senare i veckan med mer. Jag har trots alls ett jobb att gå till om några timmar. Så kan det gå. Hoppas jag inte förvirrat allt för mycket nu. Är det något som är väldigt otydligt så finns alltid möjligheten att ställa frågor i kommentarerna! </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/06/programsprak-en-snabbgenomgang/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Otålig?</title>
		<link>http://lightside.se/2010/06/otalig/</link>
		<comments>http://lightside.se/2010/06/otalig/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:31:43 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Blandat]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=3</guid>
		<description><![CDATA[ni får tyvärr vänta en dag till med nästa inlägg i serien om programmering. Men jag bör få ihop den i morgon så ni behöver inte vänta tills efter midsommar med den spännande fortsättningen]]></description>
			<content:encoded><![CDATA[<p>ni får tyvärr vänta en dag till med nästa inlägg i serien om programmering. Men jag bör få ihop den i morgon så ni behöver inte vänta tills efter midsommar med den spännande fortsättningen <img src='http://lightside.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/06/otalig/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vad är programmering?</title>
		<link>http://lightside.se/2010/06/vad-ar-programmering/</link>
		<comments>http://lightside.se/2010/06/vad-ar-programmering/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 20:31:08 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Artiklar]]></category>
		<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=18</guid>
		<description><![CDATA[En kort förklaring av programmering Programmering är generellt formuleringen av tydliga instruktioner för någon eller något att följa. När vi pratar om programmering är det allt som oftast datorer det handlar om men rent principiellt så är det inte någon &#8230; <a href="http://lightside.se/2010/06/vad-ar-programmering/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>En kort förklaring av programmering</h2>
<p>Programmering är generellt formuleringen av tydliga instruktioner för någon eller något att följa.</p>
<p>När vi pratar om programmering är det allt som oftast datorer det handlar om men rent principiellt så är det inte någon fundamental skillnad mellan att säga åt en dator att rita en graf över vattentemperaturer på badplatser än att förklara för en människa hur den ska göra det. Skillnaden är att datorn är dum, fantasilös och väldigt snabb.</p>
<p>Varför går det då inte att bara säga till datorer &#8221;rita en graf över vattentemperaturerna på sveriges största badplatser&#8221; och så gör den det? Svaret är att det gör det, men<span id="more-18"></span> man måste se till att datorn vet vad rita innebär, vad en graf är och att den vet både vilka badplatserna är, hur temperatur betecknas och att du antagligen vill att den andra delen av stapeln är tid.</p>
<p>Om det tycks väldigt krångligt så kan du ju fundera över hur många år det tog dig att lära dig att rita en graf från grunden. Hur gammal var du när du först förstod vad läraren menade? Troligen en bit in i tonåren. Så datorn är egentligen väldigt väldigt snabb på att lära sig, men den kan väldigt lite från början.</p>
<h2>Lite historik</h2>
<p>Faktum är att bilden vi har av de första datorerna som stora rum av radiorör som blinkar och har mindre beräkningskraft än din första mobiltelefon är en sanning med modifikation. De första datorerna betecknades inte som &#8221;computers&#8221; utan som &#8221;electronic computers&#8221; och däri ligger en idag föga känd faktoid. Begreppet &#8221;computer&#8221; har nämligen funnits åtminstone sedan 1600-talet då det benämnde en person som sysslade med att utföra beräkningar och då inte nödvändigtvis en högt utbildad forskare utan ofta någon som bara fått grundläggande instruktioner i hur den skulle utföra vissa repetitiva uppgifter.</p>
<p>Varför då? Jo, redan långt innan elektroniken var med på kartan hade man stora behov av tabeller för att kunna göra vissa uppskattningar till exempel i samband med beräkningar av försäkringspremier eller navigation. Försäkringsbolaget <a title="Lloyds of london, chronology" href="http://www.lloyds.com/About_Us/History/Chronology.htm">Lloyds of London</a> som någon kanske hört talas om grundades till exempel 1688 vilket innebär att de fått förlita sig på handberäknade tabeller i nästan tre hundra år.</p>
<p>Fortfarande långt in på mitten av 1900talet utfördes en stor del av de beräkningar som samhället behövde (ekonomisk statistik, ballistiska beräkningar osv osv) av stora mängder människor som satt antingen med papper och penna eller med mekaniska räknehjälpmedel. När ni ser en film från andra världskriget där folk går igenom stora rum med mestadels kvinnor framför saker som ser ut som skrivmaskiner kan det tänkas att det rätt ofta är just &#8221;computers&#8221; ni ser. Fascinerande inte sant?</p>
<p>Programmering har med andra ord funnits rätt länge. Om man vill vara väldigt generös så minst från 1600talet. Både i formen av instruktioner till mänskliga räknemaskiner och några hundra år senanare i form av <a href="http://sv.wikipedia.org/wiki/H%C3%A5lkort">hålkort</a> som användes för att styra mönster i <a href="http://sv.wikipedia.org/wiki/Jacquardv%C3%A4vstol">automatiserade vävmaskiner</a>. Till och med om vi vill vara snålare och säga att vi med programmering bara räknar formulering av algoritmer för inmatning i en generaliserad beräkningsmaskin så hamnar vi en bit bak i tiden. Nej, vi pratar inte <a href="http://sv.wikipedia.org/wiki/Turing">Turing</a> nu utan hundra år tidigare runt 1840 då countess <a href="http://sv.wikipedia.org/wiki/Ada_Lovelace">Ada Lovelace</a> beskrev hur <a href="http://sv.wikipedia.org/wiki/Charles_Babbage">Charles Babbages</a> <a href="http://sv.wikipedia.org/wiki/Den_analytiska_maskinen">analytiska maskin</a> skulle kunna instrueras att utföra avancerade matematiska beräkningar.</p>
<p>För de flesta som är intresserade av att lära sig programmering är detta dock endast kuriosa. Programmering så som vi tänker på den idag började först bli intressant utanför akademiska cirklar en bit in på andra halvan av 1900talet och egentligen något som klev in på den stora scenen som något som förekommer i vårt vardagsliv runt millenieskiftet i samband med persondatorrevolutionen och den explosionsartade tillväxten av internet och webben.</p>
<h2>Programmering idag</h2>
<p>På det stora hela kan man säga att programmering idag är ett väldigt brett område som berör rätt många i vardagen. Allt ifrån folk som livnär sig på att skriva komplicerade affärssystem eller chatprogram till folk som vill få saker att röra på sig på sin hemsida eller vill få excel att räkna ut hur mycket pengar de spenderat den här månaden.</p>
<p>Det kan tyckas som väldigt olika saker men i grund och botten är det väldigt lika saker.</p>
<p>Allt som oftast ges instruktionerna till datorn i en textform formulerad för att vara så otvetydig som möjligt (datorer är inte så bra på tvetydighet) men samtidigt så läsbar som möjligt för människor. Den här formen av programmet som är läsbar och skrivbar av människor brukar generellt kallas källkod. Denna källkod består i princip av tre olika beståndsdelar: instruktioner, data samt olika former av punktuation och andra kontrolltecken för att göra det lätt för datorn att förstå gruppering och indelning av våra instruktioner. Om syftningsfel är förvirrande för människor så kan de vara helt katastrofala för en dator.</p>
<p>Tänk dig den där människan på kontoret som verkar ha någon form av störning som gör att han alltid tolkar dig så bokstavligt att det blir jättefel. Visst är det frustrerande? Datorer är värre med en faktor hundra ungefär. Nu kanske det är lättare att förstå varför den stackars IT-killen ansvarig för ert ekonomisystem sitter och ser så sliten ut framför sin skärm full av konstiga tecken och varnings-rutor. Han har troligtvis spenderat de senaste timmarna med motsvarigheten till att försöka lära en autistisk apa inte bara trycka på en knapp för att få en banan utan sen också använda bananen för att laga flygande jakob åt hela avdelningen.</p>
<h2>Programmering bara för nördar?</h2>
<p>Så är det bara att ge upp då och inse att livet inte behöver göras mer komplicerat än det är? Man kanske ska lämna programmerandet till de masochistiska personerna som väljer att viga sitt liv åt såna här övningar i futilitet?</p>
<p>Nej, inte nödvändigtvis.</p>
<p>Det fina i kråksången är nämligen att man inte behöver ge sig på hela kakan på en gång.</p>
<p>Man kan nämligen göra rätt mycket roligt utan att lära sig allt för mycket. Att skriva en konkurrent till Microsoft Word kräver eventuellt att du offrar ett antal kor till någon ohelig gudom men för att få excel att rita dina grafer utifrån dina datatabeller eller att få din webbläsare att göra något roligt när du klickar på en knapp kräver på sin höjd en tillräcklig förståelse för hur programmering fungerar för att veta vad du ska googla på och vilken källkods-stump du ska klippa och klistra var.</p>
<p>Min plan är att om du fortsätter läsa kommande inlägg i den här artikelserien så ska du åtminstone ha tillräcklig hum om hur man gör för att vara farlig och om jag gör mitt jobb bra så ska du till och med kunna göra någon nytta.</p>
<p>Och om inte annat så har jag förhoppningsvis åtminstone roat någon på vägen.</p>
<p>Nästa gång så tror jag att vi ger oss på antingen skillnaden mellan programmeringsspråk eller algoritmer, data och/eller funktioner beroende på i vilken ordning jag tror jag kan förklara koncepten på tydligast sätt. Häng med</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/06/vad-ar-programmering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Varför göra något man är bra på?</title>
		<link>http://lightside.se/2010/06/varfor-gora-nagot-man-ar-bra-pa/</link>
		<comments>http://lightside.se/2010/06/varfor-gora-nagot-man-ar-bra-pa/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 19:35:27 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Blandat]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=10</guid>
		<description><![CDATA[Okej, nu har jag bestämt mig för att ge mig i kast med ett roligt projekt och som de flesta som känner mig vet så är utförande och slutförande av projekt något jag är notoriskt dålig på. Jag är bra &#8230; <a href="http://lightside.se/2010/06/varfor-gora-nagot-man-ar-bra-pa/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Okej, nu har jag bestämt mig för att ge mig i kast med ett roligt projekt och som de flesta som känner mig vet så är utförande och slutförande av projekt något jag är notoriskt dålig på. Jag är bra på idéer men sällan särskilt bra på att faktiskt få dem genomförda.</p>
<p>Och när jag då ändå håller på med sånt jag är dålig på så kan vi ju gå vidare till nästa sak, pedagogik. Jag är notoriskt förvirrad, disträ, lättfrustrerad och dålig på att lära ut saker särskilt när det handlar om större projekt som behöver struktureras upp för att ha något värde. Ännu värre blir det när det faktiskt handlar om något jag är passionerad omkring då det plötsligt blir mycket viktigare för mig att folk förstår. Ska vi kröna bakverket av saker som krånglar till det så kan vi ju också se till att det är något som andra bryr sig relativt lite om.</p>
<p>Låter lite som ett recept för ett mentalt sammanbrott inte sant?</p>
<p>Ja men sånt är ju alltid kul!</p>
<p>Härmed annonserar jag då mitt åtagande att publicera en serie av artiklar/blogginlägg som ska förklara programmering för en oinsatt publik. Först och främst på en abstrakt nivå som förklarar vad programmering är och varför det fungerar som det gör. Sen vidare till att förklara begrepp som &#8221;syntax&#8221;, &#8221;data&#8221;, &#8221;funktioner&#8221;, &#8221;kompilering&#8221; osv. Lite tittar  på  olika programspråk och paradigmer och kanske till slut lite exempel på faktisk programkod som gör saker.</p>
<p>Är det något som ni undrar över och vill att jag förklarar vidare eller tar upp senare så lämna en kommentar. Jag ska försöka täcka ämnet så väl jag kan men räkna med viss förvirring.</p>
<p>Temat är alltså:</p>
<p><em><strong>Utbränd Opedagogisk Autodidakt Datanörd Med ADHD Förklarar Grundläggande Programmering</strong></em></p>
<p>Inte nog med att jag åtar mig detta, jag sätter dessutom som mål att posta minst ett avsnitt i veckan fram till augusti. Första inlägget bör komma senast onsdag.</p>
<blockquote><p>Docendo discimus</p></blockquote>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/06/varfor-gora-nagot-man-ar-bra-pa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Riv ner, bygg upp</title>
		<link>http://lightside.se/2010/06/riv-ner-bygg-upp/</link>
		<comments>http://lightside.se/2010/06/riv-ner-bygg-upp/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 08:49:02 +0000</pubDate>
		<dc:creator>liminal</dc:creator>
				<category><![CDATA[Blandat]]></category>

		<guid isPermaLink="false">http://lightside.se/?p=5</guid>
		<description><![CDATA[eller &#8221;nu försöker vi blogga igen &#8221; Ska göra ett litet försök att blogga igen. Har en artikelserie jag vill ge ett försök bara för att kunna sluta fundera på om jag borde skriva den eller inte. Jag ger inga &#8230; <a href="http://lightside.se/2010/06/riv-ner-bygg-upp/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>eller &#8221;nu försöker vi blogga igen <img src='http://lightside.se/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> &#8221;</p>
<p>Ska göra ett litet försök att blogga igen. Har en artikelserie jag vill ge ett försök bara för att kunna sluta fundera på om jag borde skriva den eller inte. Jag ger inga som helst löften om att den kommer att fullföljas eller vara användbar men jag ska se om jag inte kan få ur mig något i alla fall <img src='http://lightside.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://lightside.se/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://lightside.se/2010/06/riv-ner-bygg-upp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
