Skillnaden mellan lisp och assembler

Ventilera dina personliga funderingar om smått och stort.

Moderator: Moderatorgruppen

JimmyAberg
Inlägg: 932
Blev medlem: 05 aug 2008 01:56

Skillnaden mellan lisp och assembler

Inläggav JimmyAberg » 27 nov 2008 02:13

MIPS-assembler skrev:lbu    t5 0(t2)
nop
addiu    t5 t5 1
nop
sb    t5 0(t2)
sw    t2 4(s1)  ; store gp
sw    t3 8(s1)  ; store sp
sw    t4 0(s1)  ; write back pcb1
sw    s2 0(s0)  ; change curpcb <= pcb2
lw    k1 0(s2)  ; change CP+4
lw    gp 4(s2)  ; change gp <= glob2
lw    sp 8(s2)  ; change sp
nop
b restore
nop


Lisp skrev:(define (length lst)
 (define (length-aux lst count)
   (if (list? lst)
       (length-aux (cdr lst) (+ count 1))
       0))
 (length-aux lst 0))


...

Två "språk" men ack så stor skillnad.

Assemblerspråken programmerar man direkt mot processorarkiteturen, det är alltså ett låg-nivå språk. Exremt tekniskt, blir snabb och optimerad kod, men det är bundet till den arkitekturen man skriver mot.

Lisp däremot, är något helt annat. Det är ett högnivåspråk där data och funktioner definieras enligt samma syntax, språket har en makrofunktionalitet vilket gör att man (på statisk/kompilationsnivå) kan definierar makron som abstraherar bort befintlig syntax.

....

Assembler: http://www.youtube.com/watch?v=IomG94o_ ... re=related (gäsp...)

Lisp: http://www.youtube.com/watch?v=n_i5Ca1FYko

...

Det är alltså skillnad på teknik och teknik.

Användarvisningsbild
Avantgardet
Inlägg: 8884
Blev medlem: 06 okt 2006 22:33
Ort: Socialklass III

Inläggav Avantgardet » 27 nov 2008 04:45

Du förväntar dig väl inte att vi vanliga dödliga skall förstå nåt överhuvudtaget? Och tänka sig, än mindre skulle vi förstå om du gick in på detaljerna. Vad jag har för behållning av ditt inlägg här är att du talar om två olika programmeringsspråk, och om det var den insikten som skulle förmedlas (att det rör sig om två olika språk) så var valet av teknik förtjänstfull. Om du avsåg förmedla något utöver det så är jag rädd för att jag själv måste läsa på om det hela. Och vad var min poäng med detta? Tror den går att greppa på vanlig prosaisk svenska.
En god vän om mig: "Inte ens hans egen mor tycker om honom!"

Användarvisningsbild
Algotezza
Inlägg: 20935
Blev medlem: 21 jul 2006 21:36
Ort: Lund
Kontakt:

Inläggav Algotezza » 27 nov 2008 10:35

Innehållet är allt. Teknikaliteter ett yttre skal. De skiftar ständigt. Utan innehåll - vem behöver dessa?

Med vänlig hälsning Algotezza
Algotezza aka Algotezza

Användarvisningsbild
Avantgardet
Inlägg: 8884
Blev medlem: 06 okt 2006 22:33
Ort: Socialklass III

Inläggav Avantgardet » 27 nov 2008 11:49

Existerar skalet, som skal vanligtvis gör, så torde det också ha utsträckning, vilket ger att det också är att betrakta som innehåll. En teknikalitet kanske...
En god vän om mig: "Inte ens hans egen mor tycker om honom!"

Användarvisningsbild
FIG
Inlägg: 836
Blev medlem: 21 apr 2006 20:04
Ort: Bortom All Tid
Kontakt:

Inläggav FIG » 27 nov 2008 14:27

Inte viste jag att det finns fler här som kan programmera.
Men nu blir jag nyfiken, vad exakt gör dessa två programmen?
Själv så jobba jag mest med högnivåspårk, så som php, javascript, lite java.
Och lite andra script spårk.

Men Jag förstå vad du tänka, i dessa två språken är det stor skillnad i den logiska uppbyggnad, för systemet.

Själv jag vilja säga att det är sällan som man behöver en exstra datakraft som vi kunna firgöra med hjälp av assemble, är väll bara inom avancerad beräkingsteiori. eller? någon som inte dela min tanke här?

/ FIG
Men kommihåg: Vi Alla Är Vilsen, Men Ändå Fångar I Denna Värd
www: Fig.Maxxflow.com
Mail: fig.ghd742@gmail.com

Användarvisningsbild
Algotezza
Inlägg: 20935
Blev medlem: 21 jul 2006 21:36
Ort: Lund
Kontakt:

Inläggav Algotezza » 28 nov 2008 09:00

Avantgardet skrev:Existerar skalet, som skal vanligtvis gör, så torde det också ha utsträckning, vilket ger att det också är att betrakta som innehåll. En teknikalitet kanske...


Hört talas om tomma skal?

Finns...

Visst de innehåller alltid "något", lite luft...

Med vänlig hälsning Algotezza
Algotezza aka Algotezza

Användarvisningsbild
Avantgardet
Inlägg: 8884
Blev medlem: 06 okt 2006 22:33
Ort: Socialklass III

Inläggav Avantgardet » 28 nov 2008 21:51

Men är det lämpligt att tala om föreställningar som saker? Är det inte ärligare att tala om dem som just föreställningar? Måhända, på något sätt, nödvändiga föreställningar men föreställningar likväl. Vad är det för en nöt vars skal per definition inte kan knäckas?
En god vän om mig: "Inte ens hans egen mor tycker om honom!"

Användarvisningsbild
andersholmstrom
Inlägg: 64
Blev medlem: 23 sep 2006 14:01
Ort: Taiwan
Kontakt:

Inläggav andersholmstrom » 29 nov 2008 00:18

På tal om programmering, jag skrev för ett tag sedan en text som förklarade diskursanalys utifrån programmeringsspråk (python i mitt fall). Om någon är intresserad kan jag klistra in det hela här, men det är ganska mycket text så känns onödigt att kladda ned tråden med ovälkommen prosa.

JimmyAberg
Inlägg: 932
Blev medlem: 05 aug 2008 01:56

Inläggav JimmyAberg » 29 nov 2008 01:13

Låter intressant, kladda på!

Användarvisningsbild
andersholmstrom
Inlägg: 64
Blev medlem: 23 sep 2006 14:01
Ort: Taiwan
Kontakt:

Inläggav andersholmstrom » 29 nov 2008 12:13

Med reservation för stavfel och bristande programmeringskunskap:

---

Jag är inte en fullfjädrad diskursanalytiker, vilket jag är ganska säker på då ordet diskursanalys fortfarande skrämmer mig mer än fyller mig med varma metodkänslor (i motsats t.ex. ”hermeneutik”). Snarare är jag en nybörjare, en gröngöling, en ’noob’. Jag är inte heller en programmerare. Detta kan jag bevisa för mig själv väldigt lätt, genom att helt enkelt erinra hur jag för mindre än ett dygn sedan satt och läste på www.w3schools.com om XML och vad det faktiskt är.

Det är därför – med min begränsade kunskap inom både programmering och diskursanalys – som jag med glädje nu skall syntetisera de båda i ett försök att förklara diskurs som begrepp. Vad är det? Vad innebär det? Varför är det ett centralt begrepp inom många akademiska fält? Varför är det inte detsamma som t.ex. diskussion? Det finns en risk att den enda av mina läsare som förstår programmeringsdelen är min bror, så jag tänker därför börja med att lite lätt förklara vad det är i programmering jag kan använda mig av för att förklara diskurser, och sedan utveckla just det fältet lite smått. Observera att jag tänker förenkla programmeringsspråket lite så att det blir mer lättförstått – ni (min bror och eventuellt andra programmeringskunniga människor) behöver alltså inte kommentera eventuella syntaxfel och liknande. Låt oss nu börja.

Det enda programmeringsspråk jag har det minsta koll på heter Python. De filer man skriver i Python har filändelsen ”.py”. Låt oss säga att vi skriver två lätta program. Ett som adderar siffror och ett som adderar ord. Alltså: Ett av programmen vi skapat tar två siffror vi anger, t.ex. 1 och 2, adderar dessa och berättar sedan vad resultatet är: 3. Det andra programmet vi skapat adderar två ord vi anger, t.ex. ”banan” och ”äpple” och berättar för oss vad resultatet är: ”bananäpple”. Två ytterst simpla och dumma program, men det är just den strikta, logiska enkelheten i programmering jag vill åt – och det faktum att det utifrån detta kan göras (och de facto görs) otroligt komplexa system, program, spel och så vidare.

Okej, så vi har alltså två program. Det första programmet som adderar siffror döper vi till ”siffror.py”, det andra programmet som adderar ord döper vi till ”ord.py”. Som ni minns är ”.py” filändelsen för den fil (det program) vi skrivit i Python – programmen sparas alltså i två olika filer, helt separata från varandra. Om ni nu säger att vi vill skriva ett tredje program, en kalkylator som kan addera både siffror och ord, så kommer vi vilja använda de två tidigare programmen vi skapat – ord.py och siffror.py. I detta tredje program – kalkylator.py – använder vi oss således av en importeringsfunktion som heter ”import”. Genom detta importerar vi programfunktionerna från ett annat program – i detta fall först från ord.py och siffror.py. Vi gör detta genom att i vårat kalkylatorprogram skriva ”import ord.py” och sedan ”import siffror.py”. Vi har nu gjort så att vi i kalkylatorprogrammet kan komma åt både ordadderingsprogrammet och sifferadderingsprogrammet. Men nu stöter vi på ett problem.

Inom programmering finns något som kallas ”namespace”, vilket är ett avgränsat område (t.ex. en fil, ett program eller dylikt) där ett visst ord betyder en viss sak. Detta är relevant i förhållande till vårat exempel, ty i ordadderingsprogrammet (ord.py ) så betyder ”addera” just ”lägg ihop två ord”. I sifferadderingsprogrammet däremot, så betyder ”addera” det samma som ”lägg ihop två siffror”. Det här är inte ett problem så länge de båda programmen har olika namespaces, vilket är just vad de har så länge de håller sig till sina egna filer. Men när man vill importera de båda programmens olika adderingsfunktioner (ordaddering/sifferaddering) till vår kalkyleringsfil (kalkyl.py) så hamnar de i samma namespace, och ”addera” har plötsligt två betydelser – en omöjlighet i programmeringsfallet. Detta löser man genom att referera till ordadderingen som ”ord.addera” och sifferadderingen som ”siffror.addera” (alltså namnet på originalfilen, en punkt och sedan den funktion/det ord man vill använda). Man signalerar alltså genom detta att ”nu använder jag ”addering” enligt dess funktion/betydelse i ordprogrammet” och vice versa. De båda ”addera”-funktionerna får således samsas genom att man alltid refererar till dem med dess originalfilsnamn först. Att bara referera till ”addera” har faktiskt ingen funktion alls i vårat nuvarande kalkyleringsprogram. Men föreställ er att vi tycker att sifferadderingen är den viktigaste typen av addering (”ordaddering är ett konstigt påhitt som vi dessutom inte kommer använda oss av så mycket – addering betyder ju faktiskt i dess grundform sifferaddering!”). Då kanske vi vill göra så att ”addera” (utan ”siffror.” framför) automatiskt syftar till addering av siffror i vårat kalkyleringsprogram. Då använder viss oss inte av ”import siff ror”, utan ändrar på vårat kommando till ”from siffror import addera”. Nu tar vi ”addera” och importerar det direkt till vårat kalkyleringsprogram utan att gå omvägen genom dess originalfil – vi kan således referera till sifferaddering endast genom ”addera” och inte längre genom ”siffror.addera”.

Nu är den huvudsakliga programmeringsbiten av det hela avklarat. Om du känner dig väldigt förvirrad så är det synd men förståeligt, då saker som ”namespace” från början fick mig att rynka på näsan när jag läste om det. Jag skall nu försöka trolla om vårat programmerings-/adderingsexempel till ett diskurs-/politikexempel. Jag tänker använda mig av ordet ”kvinna” som ersättare av ”addera” och vårat kalkylatorsprogram kommer att bytas ut mot ”politiken”. Istället för filändelsen ”.py” kommer jag skriva ”.dis” som står för diskurs. Alltså – varje fil i programmeringsexemplet är nu en diskurs, och för att tydliggöra detta avslutar jag varje diskurs med ”.dis” i kommande exempel. Innan jag börjar med syntetiseringen av programmerings- och diskursbegreppen skall jag ge en kort sammanfattning av hur jag ser på begreppet diskurs:

Diskurs är ett uttryck för en viss gruppering av åsikter, betydelser och diskussionsförutsättningar i vilken man i förhållande till andra diskurser (likartade i form men inte i innehåll) försöker göra anspråk på att vara bärare av de rätta definitonerna, åsikterna, betydelserna etc. Diskurer är alltså något högst språkbaserat, men det är inte för detta overkligt – snarare är det grunden till all kollektiv påverkan av verkligheten vi lever i (”politik”, vill jag kalla det). Ni kan säkert redan nu förstå vart jag vill ta programmeringsexemplet. Låt mig därför börja.

Istället för ordaddering kontra sifferaddering kommer jag nu prata om två olika innebörder av ordet ”kvinna”. Låt oss ta två grovt förenklade (och därför väldigt klara) exempel. I vår ena diskurs som härstammar ur ett klassiskt mansbaserat samhälle från 1700-talet (man1700.dis) bär ordet kvinna på tre innebörder: ”tar hand om hem och familj”, ”saknar rationell förmåga”, ”underlägsen mannen”. I vår andra diskurs som härstammar ur en feministpolitik från 2000-talet (fem2000.dis) bär ordet kvinna på tre helt andra innebörder: ”jämställd mannen”, ”rationell”, ”fri att göra egna livsval”. Så länge ”kvinna” bara existerar i de separata diskurserna – alltså två helt olika namespaces, för att prata programmeringens logiska språk – så är allt frid och fröjd och det uppstår inte några problem. Men sekunden de båda möter varandra i ett politiskt sammanhang (som i sig själv är en diskurs – ”politik.dis”) så uppstår en motsättning. I denna vår väldigt förenklade politiska diskurs så importeras de båda diskursernas begrepp - hade det varit ett datorprogram hade vi skrivit ”import man1700.dis” och ”import fem2000.dis”. Vi refererar alltså i politik.dis till två olika definitoner av kvinna – man1700.kvinna och fem2000.kvinna – med helt olika innebörder. Skillnaden mellan diskurserna och programmeringsfilerna är dock efter detta stor: Filerna är viljelösa och neutrala och de styrs av programmeraren själv, en person med endast en vilja som lätt kan manipulera programmen han själv skapat. I diskursfallet är det hela såklart mycket, mycket svårare och mer komplext. För det första styrs varje fil (varje diskurs) inte av en, utan av en multitud av personer. Diskurserna vill hävda sig själva och drivs av diskursdeltagarna till att fastslå sin definition av ett begrepp som det rätta. Så länge 2000-talets feministers kvinna alltid refereras som till ”fem2000.kvinna” så är de inte nöjda, utan nöjer sig först när deras definition av kvinna refereras till som just ”kvinna” och inget annat. På samma sätt så vill de personer som sluter sig till 1700-talets manliga diskurs att ”man1700.kvinna” refereras till som endast ”kvinna”.

Frågan nu är – so what? Jag har kanske egentligen pratat om självklarheter än så länge. Men poängen – en poäng som jag själv missat en längre tid – är att det i definitionen av ett begrepp ligger en väldig makt. För den sekund där ”man1700.kvinna” blir till endast ”kvinna”, så är det endast den diskursens kvinnosyn som kan refereras som den sanna kvinnan, endast den diskursens definition som är riktig. När ”kvinna” är detsamma som ”man1700.kvinna” så är kvinnan begränsad till de funktioner/egenskaper som man1700.dis har gett henne. Alltså är det då omöjligt att åberopa, aktivera eller använda sig av några andra begrepp av kvinnan än de som finns i man1700.dis. För att likna det hela vid programmering igen: Det är omöjligt att åberopa ”kvinna.fri” om man importerat ”man1700.dis” kvinnobegrepp till det namespace som ”politik.dis” besitter. Då kan man endast åberopa ”kvinna.irrationell”, ”kvinna.underlägsen”, ”kvinna.hemochfamilj”. Med ”åberopa” åsyftar jag egentligen den bild av kvinnan som skapas och gång på gång fastslås bland deltagarna i den politiska diskurs där en viss bild av kvinnan är fastslagen som den ”sanna” och därför ständigt nämns. Det är i detta diskursens sanna maktbegrepp/maktanspråk/makt ligger. Det är endast när en annan diskurs ställer sig emot allmänt accepterade begrepp och ifrågasätter dem – som var och är fallet med fem2000.dis – som man har en chans att förändra förlegade, bakåtsträvande och negativa synsätt.

Två sista punkter. För det första vill jag snabbt notera att min text innehåller idéhistoriska, genusvetenskapliga, programmeringsbaserade och språkliga misstag. Jag laborerar med enkla exempel men sanningen är att sanningen inte alltid kan förklaras på enkla sätt. Och i relation till detta, den sista och avslutande punkten:

Som jag sade i början ville jag åt programmeringens simpla och ganska så självklara logik, men också det faktum att man utifrån detta kan bygga extremt komplexa system. Förklarat som ovan så verkar diskurer (förhoppningsvis?) som något ganska enkelt och okomplicerat, något det inte är. För faktum är att varje diskurs, varje ”.dis” innehåller ett oändligt antal anda diskurser, importeringar från diskurser och anspråk på att skapa nya diskurser, utomstående originaldiskursen. Precis på samma sätt som varje datorprogram består av en uppsjö av filer, referenser, funktionsimporteringar och mindre program som sedan tas upp i det större. Det är ännu en gång samma princip, med en stor, för diskurserna extremt viktig och central skillnad: I datorprogrammen finns det ett slutgiltigt, allomfattande program, som alla andra mindre program baseras på. Kalkylatorprogrammets princip finns i Excel, Excel finns i ett ramverk av andra program, och alla dessa program existerar som processer under ett operativsystem. I diskurserna finns inte denna hierarki. Tvärtom är alla diskurser likvärdiga, alla ”.dis” kan importera och exportera och skapa hur de vill, utan krav på att vara allomfattande – faktum är att de omöjligt kan vara det. Det finns alltså ingen omslutande diskurs, ingen meta-diskurs, inger ramverk inget operativsystem. Det finns bara diskurser i relation till andra diskurser. Vår ”politik.dis”, i vilken vi pratade om hur begreppet ”kvinna” styrs av olika diskurser, är också den full av diskurser, subjugerad andra diskurser etc. Innebörden av begreppet ”politik” diskuteras i andra diskurser precis på samma sätt som begreppet ”kvinna” diskuteras i vår ”politik.dis”. Verkligheten är alltså ett virrvarr av diskurser, vilket gör diskursanalys ett ganska komplext förehavande – dock är diskursens princip just precis lika enkel som programmeringens grundlogik. Det är mångfaldigandet av diskurser, inte diskursprinciper, som gör det hela komplicerat. Men det gäller såklart bara min definition av ”diskurs” – alltså den i ”anders.dis” – diskursbegreppet själv är i allra högsta grad utsatt för diskurspåverkan och förändring, precis som alla andra begrepp... och diskurser.

---

Användarvisningsbild
Algotezza
Inlägg: 20935
Blev medlem: 21 jul 2006 21:36
Ort: Lund
Kontakt:

Inläggav Algotezza » 02 dec 2008 15:00

Avantgardet skrev:Men är det lämpligt att tala om föreställningar som saker? Är det inte ärligare att tala om dem som just föreställningar? Måhända, på något sätt, nödvändiga föreställningar men föreställningar likväl. Vad är det för en nöt vars skal per definition inte kan knäckas?


Alla skal kan knäckas med lämpliga verktyg - men alla skal innehåller inte en kärna. Alla skal som innehåller en kärna innehåller inte en grobar kärna. Alla skal innehåller inte en ätlig kärna. Men en del kärnor är både ätliga och grobara. Kan man se på skalet vad det innehåller? Om vi nu skall dra ut på metaforen.

Frågan kvarstår dock om det jag skrivit på denna tråd är av "tomtskalkaraktär" eller  en "ätbar-grobar kärna". Förmodligen det förra.

Dock skulle jag vilja lära så mycket basal programmering (eller vad det skall kallas)  att jag skulle kunna sköta en egen hemsida. Några tips om var man startar (från scratch)?

Med vänlig hälsning Algotezza
Algotezza aka Algotezza

JimmyAberg
Inlägg: 932
Blev medlem: 05 aug 2008 01:56

Inläggav JimmyAberg » 02 dec 2008 21:55

Algotezza skrev:Dock skulle jag vilja lära så mycket basal programmering (eller vad det skall kallas)  att jag skulle kunna sköta en egen hemsida. Några tips om var man startar (från scratch)?
Alltså, det finns ju många bra verktyg som man ta hjälp av. Men vill du koda själv och köra 98-stuket på hemsidor så är det väldigt lätt att komma igång.

<html>
<body><h1>Cool hemsida version 1.0</h1><img src=""/></body>
</html>


Men det är kanske lättast med att börja med en egen blogg...

Användarvisningsbild
FIG
Inlägg: 836
Blev medlem: 21 apr 2006 20:04
Ort: Bortom All Tid
Kontakt:

Inläggav FIG » 02 dec 2008 22:43

Ja du JimmyAberg, bero helt på vilken nivå man vill läga sig på,
Men om du vill göra det lite svåare än lättas så är program htmledit
http://www.htmledit.net/ något jag vill rekommendera dig, och sedan http://www.w3schools.com/

mvh FIG
Men kommihåg: Vi Alla Är Vilsen, Men Ändå Fångar I Denna Värd

www: Fig.Maxxflow.com

Mail: fig.ghd742@gmail.com

Användarvisningsbild
Algotezza
Inlägg: 20935
Blev medlem: 21 jul 2006 21:36
Ort: Lund
Kontakt:

Inläggav Algotezza » 03 dec 2008 12:17

JimmyAberg skrev:
Algotezza skrev:Dock skulle jag vilja lära så mycket basal programmering (eller vad det skall kallas)  att jag skulle kunna sköta en egen hemsida. Några tips om var man startar (från scratch)?
Alltså, det finns ju många bra verktyg som man ta hjälp av. Men vill du koda själv och köra 98-stuket på hemsidor så är det väldigt lätt att komma igång.

<html>
<body><h1>Cool hemsida version 1.0</h1><img src=""/></body>
</html>


Men det är kanske lättast med att börja med en egen blogg...


Jodå, jag bloggar lite grann (men ingen jävel läser mina "lustigheter")  och har ett picasa-album för bilder men jag skulle vilja känna mig fri att lägga in lite vad jag själv vill, bild, text, ljud...

Jag har fö vista hemma på datorn. Finns något programmeringsspråk som funkar då? Fler  som ofta ser "(svarar inte)" på skärmen med vista?

För övrigt anser jag att officepaketet 2007 är kasst. Finns inte längre möjlighet att via OCR göra scannade boksidor till wordfiler genom Office-verktyg eftersom dessa är borttagna nu!

Med vänlig hälsning Algotezza
Algotezza aka Algotezza

Användarvisningsbild
FIG
Inlägg: 836
Blev medlem: 21 apr 2006 20:04
Ort: Bortom All Tid
Kontakt:

Inläggav FIG » 03 dec 2008 12:59

Nu så kommer vi nog i från ämnet men Algotezza,
Jag vill rekomidera openoffice (3) som är ett bra altinativt till word.
Se mer ut som det gamla heldiga office, ( tex 97)

/ FIG
Men kommihåg: Vi Alla Är Vilsen, Men Ändå Fångar I Denna Värd

www: Fig.Maxxflow.com

Mail: fig.ghd742@gmail.com


Återgå till "Tankar och känslor"

Vilka är online

Användare som besöker denna kategori: 0 och 0 gäster