Etikett: programmering

  • Emacs – textredigeraren som blev ett helt universum

    Emacs är en av datorvärldens mest långlivade och mytomspunna textredigerare. Född på 1970-talet i akademiska datorsalar har den vuxit från ett tekniskt hjälpmedel till ett helt ekosystem för skrivande, programmering och informationshantering. För vissa är Emacs bara ett verktyg – för andra är det en livslång arbetsmiljö, formad efter användarens egna idéer och behov.

    Om du någon gång har hört uttrycket att vissa textredigerare känns som “ett helt operativsystem”, så är chansen stor att det handlade om Emacs. Emacs är inte bara ett program för att skriva och redigera text – det är en hel familj av redigerare som förenas av en idé: att användaren ska kunna bygga om verktyget efter sin egen hjärna.

    Det kan låta överdrivet, men Emacs har i årtionden lockat programmerare, forskare, skribenter och teknikentusiaster just för att det inte nöjer sig med att vara “lagom”. Emacs vill vara formbart.

    Från 1970-talets terminaler till dagens datorer

    Emacs föddes i mitten av 1970-talet i en miljö som i efterhand nästan blivit mytisk: MIT AI Lab. Där arbetade man på stordatorer (som PDP-10) och använde en äldre textredigerare som hette TECO. TECO var inte som moderna redigerare där du bara skriver och ser texten direkt. I stället växlade man mellan olika lägen: ett för att skriva text och ett för att ge kommandon.

    Det var i denna värld som David A. Moon och Guy L. Steele Jr. 1976 skapade de första Emacs-varianterna – som en samling makron för TECO. Namnet EMACS kom från “Editor MACros” (eller “Editing MACroS”, beroende på vilken källa man följer). Idén var enkel men kraftfull: om du ändå sitter och hackar ihop makron hela tiden, varför inte göra en redigerare där det är normalt att bygga ut den?

    “Det extensibla” som blev identiteten

    Det som skiljer Emacs från många andra redigerare är att den inte bara låter dig ställa in färger och genvägar. Den låter dig lägga till helt nya funktioner som om de alltid hade funnits där.

    Därför brukar Emacs beskrivas som extensibel, anpassningsbar, självdokumenterande och en redigerare där ändringar syns direkt på skärmen när de görs.

    Lisp: hjärnan i Emacs

    Emacs är starkt kopplad till Lisp. I moderna Emacs-implementationer finns en Lisp-dialekt (i GNU Emacs heter den Emacs Lisp) som gör att användaren kan definiera nya kommandon, ändra befintliga och bygga små “appar” i redigeraren.

    Poängen är att Emacs inte bara har plugins som ett extra lager. Många av dess funktioner är skrivna i Lisp, vilket gör att gränsen mellan redigerare och programmeringsmiljö suddas ut.

    Kommandon, makron och muskelminne

    Emacs har tusentals kommandon, och användare kan dessutom spela in sina egna arbetsflöden som tangentbordsmakron: du gör något en gång, spelar in, och låter Emacs upprepa det.

    Det finns också ett särskilt sätt att “prata” om tangenttryckningar, där Ctrl och Meta (ofta Alt) skrivs som korta prefix. Det är därför Emacs-kulturen ibland låter som magiska formler.

    Fönster är inte fönster

    En klassisk Emacs-detalj är att den använder ord på ett annorlunda sätt än moderna gränssnitt. Det som många program kallar fönster kan Emacs kalla frames, och det som många kallar paneler/splitar kan Emacs kalla windows.

    Det är en rest av historien, men också ett tecken på hur Emacs alltid byggts på sina egna begrepp.

    Emacs som livsmiljö

    Många använder Emacs till långt mer än kod: filhantering, fjärrredigering över SSH, e-post, anteckningar och planering, Git, RSS – och även spel som Tetris.

    Det finns ett gammalt skämt: Emacs är ett bra operativsystem, men det saknar en bra textredigerare. Skämtet är orättvist, men fångar känslan av att Emacs kan bli en hel arbetsmiljö.

    Editor wars och “Kyrkan Emacs”

    Emacs är, tillsammans med vi, en av de två stora symbolerna i de klassiska “editor wars”. Konflikten är mest på skoj, men den har blivit en del av datorkulturen.

    Richard Stallman har också drivit med detta genom “Church of Emacs”, en parodireligion där man skojar om vi som “editorn av odjuret”. Mest humor – men också ett exempel på hur Emacs är mer än bara teknik.

    Varför lever Emacs fortfarande?

    Emacs är gammalt, men inte föråldrat. Det lever vidare eftersom grundidén fortfarande är modern: verktyget ska kunna växa med användaren.

    När många program idag är strömlinjeformade och stängda, är Emacs motsatsen: ett verktyg som säger “du bestämmer hur jag ska fungera”.

    Emacs är inte bara en textredigerare. Det är en redigerare som låter dig bygga din egen redigerare.

    Emacs sida på wiki.linux.se

    https://wiki.linux.se/index.php/Emacs

    Faktaruta: Emacs
    Typ
    Familj av textredigerare (med fokus på extensibilitet)
    Ursprung
    MIT AI Lab, mitten av 1970-talet
    Första Emacs
    TECO-makron (1976), av David A. Moon och Guy L. Steele Jr.
    Kändaste variant
    GNU Emacs
    Styrka
    Extensibel och anpassningsbar med Emacs Lisp
    Typiska användningsområden
    Programmering, textredigering, anteckningar (Org-mode), Git (Magit), fjärrredigering (TRAMP)
    Kuriosa
    Känd från “editor wars” (Emacs vs vi) och “Church of Emacs” som parodisk kulturreferens
  • Sinclair ZX81 – Hemdatorn som förändrade allt

    När Sinclair ZX81 kom 1981 blev den många familjers allra första dator – en liten svart plastlåda med 1 kilobyte minne som kopplades till tv:n i vardagsrummet. Trots sina extrema begränsningar lärde den en hel generation att programmera, skapade en våg av hemmabyggda spel och gjorde hemdatorn till en del av vardagen istället för en dyr leksak för företag och entusiaster.


    När Sinclair ZX81 lanserades 1981 kostade den mindre än ett par snygga skor. Den såg ut som en svart plastlåda med en nästan oanvändbar tangentmatta – men den öppnade dörren till datorvärlden för hundratusentals människor. I en tid då hemdatorer ofta kostade lika mycket som en begagnad bil, gjorde ZX81 det möjligt för vanliga familjer att köpa sin första dator. Resultatet blev en teknisk revolution som inspirerade en hel generation programmerare och spelutvecklare.

    ZX81 kunde egentligen väldigt lite jämfört med dagens teknik. Den hade bara 1 kilobyte internminne – ungefär lika mycket som krävs för att skriva några textmeddelanden. Den använde en svartvit TV som bildskärm och sparade program på kassettbandspelare. Trots det lyckades entusiaster skapa spel, matematikprogram och till och med schackspel på mindre än tusen byte kod.

    Datorn såldes både färdigmonterad och som byggsats, vilket tilltalade både teknikintresserade och nyfikna nybörjare. För många blev ZX81 den första kontakten med programmering. I Storbritannien ledde det till att en stor del av 1980-talets unga lärde sig BASIC-kod från köksbordet – en utveckling som senare bidrog till att Storbritannien blev ett av Europas ledande länder inom spel- och IT-utveckling.

    Till skillnad från amerikanska hemdatorer som såldes för spel, marknadsfördes Sinclair ZX81 som ett ”inlärningsverktyg”. Den lilla datorn gav användarna möjlighet att skriva egna program från grunden. Tangenterna var tryckkänsliga och saknade mekanisk känsla, vilket gjorde skrivandet svårt och ibland frustrerande. Men samtidigt väckte det kreativitet – när varje rad kod tog tid, tänkte man efter innan man skrev.

    Trots tekniska begränsningar sålde ZX81 över 1,5 miljoner exemplar. Den såldes via postorder och i bokhandelskedjan W. H. Smith – vilket gjorde den till den första datorn som vanligen såldes på huvudgatan i brittiska städer. Snart växte en hel marknad fram med tillbehör som bättre tangentbord, minnesexpanderare och otaliga program på kassettband.

    ZX81 blev en symbol för att teknik inte måste vara dyr eller komplicerad. Den inspirerade framtida spelutvecklare, ingenjörer och datorpionjärer. Många som började sin resa med den lilla svartvita lådan fortsatte senare att forma IT- och spelindustrin globalt.

    I dag ses Sinclair ZX81 som ett ikoniskt exempel på hur begränsad teknik kan driva innovation. Den hade inga ljud, inga färger – och bara fyra chip. Men den hade något viktigare: förmågan att få människor att tänka, skapa och programmera själva.

    Exempel på vad entusiaster lyckades göra på 1 KB:

    • Ett schackspel med regler i endast 672 byte kod
    • 3D-spel (’3D Monster Maze’) med labyrint och monster
    • Simuleringar, matematiska verktyg och hobbyprogram

    Slutsats:
    Sinclair ZX81 var inte den kraftfullaste datorn – men kanske den mest inflytelserika. Den lade grunden för hemdatortekniken, väckte programmeringsintresset hos tusentals och visade att framtiden kunde skrivas i svartvit kod på en vanlig TV.

    Fakta: Sinclair ZX81

    Lanseringsår: 1981 (Storbritannien)

    Utvecklare: Sinclair Research

    Tillverkning: Timex, Dundee i Skottland

    Mål: Billig hemdator för vanliga hushåll och nybörjare

    Pris vid lansering: £49,95 som byggsats, £69,95 färdigmonterad

    Sålda enheter: Över 1,5 miljoner världen över

    Processor: Zilog/NEC Z80A @ 3,25 MHz

    Minne: 1 KB RAM (officiellt expanderbart till 16 KB, inofficiellt upp till 56 KB användbart)

    Lagring: Bandspelare med kassett (ca 250–300 bit/s)

    Video: Monokrom bild på vanlig tv via RF-modulator

    Upplösning: 24 rader × 32 tecken eller ca 64 × 48 semigrafik-pixlar

    Tangentbord: 40-tangenters membrantangentbord med BASIC-nyckelord på tangenterna

    Operativmiljö: Inbyggd Sinclair BASIC i 8 KB ROM

    Strömförsörjning: 9 V DC, ca 420 mA

    Efterföljare: Sinclair ZX Spectrum

    Betydelse: Gjorde hemdatorer till en massmarknad i Storbritannien, inspirerade tusentals att lära sig programmera och lade grunden för många spel- och mjukvaruföretag.

    Filmer på youtube om Zx80 och ZX81