Minimalism (dator)

Inom datoranvändning hänvisar minimalism till tillämpningen av minimalistiska filosofier och principer i design och användning av hårdvara och mjukvara . Minimalism, i denna mening, innebär att designa system som använder minsta möjliga hård- och mjukvaruresurser.

Historia

I slutet av 1970-talet och början av 1980-talet arbetade programmerare inom ramen för relativt dyra och begränsade resurser på vanliga plattformar. Åtta eller sexton kilobyte RAM var vanligt ; 64 kilobyte ansågs vara en enorm mängd och var hela adressutrymmet tillgängligt för de 8-bitars processorer som dominerade under de tidigaste generationerna av persondatorer . Det vanligaste lagringsmediet var en 5,25-tums diskett som rymmer från 88 till 170 kilobyte. Hårddiskar med kapaciteter från fem till tio megabyte kostar tusentals dollar.

Med tiden utökades persondatorernas minneskapacitet i storleksordningar och vanliga programmerare drog fördel av det extra lagringsutrymmet för att öka deras programvaras kapacitet och för att göra utvecklingen lättare genom att använda språk på högre nivå . Däremot systemkraven för äldre programvara desamma. Som ett resultat verkar även de mest utarbetade, funktionsrika programmen från förr i tiden minimalistiska i jämförelse med nuvarande mjukvara. Många av dessa program anses nu vara abandonware .

Ett exempel på ett program vars systemkrav en gång gav det ett tungt rykte är GNU Emacs textredigerare, som fick baknamnet "Eight Megabytes And Constantly Swapping" i en tid då 8 megabyte var mycket RAM. Idag använder Emacs huvudsakligen textbuffertbaserade paradigm mycket färre resurser än skrivbordsmetafor GUI IDE med jämförbara funktioner som Eclipse eller Netbeans . I ett tal vid den internationella Lisp-konferensen 2002, Richard Stallman att minimalism var ett bekymmer i hans utveckling av GNU och Emacs, baserat på hans erfarenheter av Lisp och systemspecifikationer för low-end minidatorer vid den tiden.

Eftersom kapaciteten och systemkraven för vanliga datorprogram och operativsystem växte under 1980- och 1990-talen, och när mjukvaruutveckling dominerades av team som förespråkade motstridiga, moderiktiga mjukvaruutvecklingsmetoder, antog vissa utvecklare minimalism som en filosofi och valde att begränsa sina program till en förutbestämd storlek eller omfattning. Ett fokus på mjukvaruoptimering kan resultera i minimalistisk mjukvara, eftersom programmerare minskar antalet operationer som deras program utför för att påskynda exekveringen.

I början av 2000-talet har nya utvecklingar inom datoranvändning fört minimalism i förgrunden. I vad som har kallats efter PC-eran är det inte längre nödvändigt att köpa en avancerad persondator bara för att utföra vanliga datoruppgifter. Mobila datorenheter , som smartphones , surfplattor , netbooks och pluggdatorer , har ofta mindre minneskapacitet, mindre kapabla grafikundersystem och långsammare processorer jämfört med den persondator som de förväntas ersätta. Dessutom tar kraftig användning av grafikeffekter som alfablandning ur batteriet snabbare än ett "platt ui". Den växande populariteten för dessa enheter har gjort minimalism till ett viktigt designproblem.

Googles webbläsare Chrome och ChromeOS nämns ofta som exempel på minimalistisk design . I Windows 8 beslutade Microsoft att släppa det grafikintensiva Aero - användargränssnittet till förmån för det "enkla, kvadratiska" Metro - utseendet, som krävde färre systemresurser. Denna förändring gjordes delvis på grund av ökningen av mindre, batteridrivna enheter och behovet av att spara ström. Version 7 av Apples iOS gjorde liknande ändringar av användarupplevelseskäl .

Användande

Utvecklare kan skapa användargränssnitt för att vara så enkla som möjligt genom att eliminera knappar och dialogrutor som potentiellt kan förvirra användaren. Minimalism används ibland i dess bildkonstbetydelse , särskilt i den industriella designen av hårdvaruenheten eller mjukvaran .

Vissa utvecklare har försökt skapa program för att utföra en viss funktion på så få rader kod, eller minsta möjliga kompilerade körbara storlek på en given plattform. Vissa Linux- distributioner nämner minimalism som ett mål. Alpine Linux , Arch Linux , Puppy Linux , Bodhi Linux , CrunchBang Linux , dynebolic och Tiny Core Linux är exempel. Den tidiga utvecklingen av Unix- systemet skedde på hårdvara med låg effekt, och Dennis Ritchie och Ken Thompson har uttalat sin åsikt att denna begränsning bidrog till systemets "elegans av design".

Programmeringsspråksdesigners kan skapa minimala programmeringsspråk genom att undvika syntaktisk socker och omfattande biblioteksfunktioner . Sådana språk kan vara Turing-tarpits på grund av att de inte erbjuder standardstöd för vanliga programmeringsuppgifter. Att skapa en minimal Lisp- tolk är en vanlig inlärningsuppgift som ställs inför datavetenskapsstudenter . Lambdakalkylen , utvecklad av Alonzo Church är ett minimalt programmeringsspråk som endast använder funktionsdefinitioner och funktionsapplikationer . Scheme , Forth och Go nämns som exempel på praktiska, minimala programmeringsspråk.

Programmeringshobbyn kodgolf resulterar i minimalistisk programvara, men dessa är vanligtvis övningar eller kodpoesi , inte användbar applikationsprogramvara.

John Millar Carroll, i sin bok Minimalism Beyond the Nürnberg Funnel påpekade att användningen av minimalism resulterar i "omedelbar användning" enheter som videospel, bankomater , röstningsmaskiner och köpcentrets kiosker med liten eller ingen inlärningskurva som gör det. kräver inte att användaren läser manualer. Forskare i användargränssnittet har utfört experiment som tyder på att minimalism, som illustreras av designprinciperna sparsamhet och transparens , stärker effektivitet och lärbarhet. Minimalism är implicit i Unix-filosofierna om "allt är en textström" och "gör en sak och gör det bra", även om moderna Unix/Linux-distributioner inte så strikt håller fast vid denna filosofi.

Se även