Unix filosofi

Unix-filosofin  är en uppsättning kulturella normer och filosofiska tillvägagångssätt för mjukvaruutveckling baserat på erfarenheterna från de ledande utvecklarna av Unix- operativsystemet .

McIlroy: A quarter of a century of Unix

Doug McIlroy , uppfinnaren av Unix-rör och en av grundarna av Unix-traditionen, sammanfattade filosofin på följande sätt:

"Unix-filosofin säger: Skriv program som gör en sak och gör det bra. Skriv program som fungerar tillsammans. Skriv program som stöder textströmmar eftersom det är ett generiskt gränssnitt."

Vanligtvis kommer dessa uttalanden ner till en sak, "Gör en sak, men gör det bra."

Av dessa tre principer är bara den tredje specifik för Unix, även om Unix-utvecklare är mer benägna än andra att betona alla tre principerna.

Mike Guntzarz: The Unix Philosophy

1994 kombinerade Mike Gancarz sin erfarenhet av Unix (han är medlem i X Window Systems utvecklingsteam ) med kommentarer från diskussioner han haft med andra programmerare och personer från andra områden, beroende på Unix på ett eller annat sätt, för att skapa Unix Philosophy , som kokar ner till 9 grundläggande principer:  

  1. Vackert liten.
  2. Låt varje program göra en sak, men väl.
  3. Bygg ett prototypprogram så tidigt som möjligt.
  4. Föredrar portabilitet framför effektivitet.
  5. Lagra data i vanliga textfiler.
  6. Dra nytta av befintliga mjukvarulösningar.
  7. Använd skriptspråk för att minska arbetskostnaderna och förbättra portabiliteten.
  8. Undvik användargränssnitt som begränsar användarens förmåga att interagera med systemet.
  9. Gör varje program till ett "filter".

Mindre viktiga 10 principer har inte blivit allmänt accepterade som en del av Unix-filosofin, och i vissa fall har de varit föremål för het debatt ( monolitisk kärna vs mikrokärna ):

  1. Låt användaren anpassa miljön.
  2. Håll operativsystemets kärnor små och lätta.
  3. Använd små bokstäver och håll titlar korta.
  4. Förvara inte programtexter i form av utskrifter (”Spara träden!”).
  5. Berätta inte för användaren det uppenbara ("Tystnaden är gyllene").
  6. Bryt ner komplexa uppgifter i enkla, parallella uppgifter ("Think Parallel").
  7. De sammanslagna delarna av helheten är mer än bara deras summa.
  8. Letar efter en 90-procentig lösning .
  9. Om det är möjligt att inte lägga till ny funktionalitet, lägg inte till den (" Ju värre, desto bättre ").
  10. Tänk hierarkiskt.

Raymond: Konsten att programmera Unix

Eric Raymond ( eng.  Eric S. Raymond ), i The Art of Unix Programming, sammanfattade Unix-filosofin som den allmänt använda ingenjörsfilosofin "Keep it simple, fool" ( KISS-principen ). Han beskrev sedan hur denna generaliserade filosofi gäller som Unix-kulturella normer. Detta trots att det är lätt att hitta flera kränkningar i följande aktuella Unix-filosofi:

De flesta av dessa konventioner accepteras utanför Unix-gemenskapen – även om de inte var det när de först tillämpades på Unix, har de sedan dess blivit det. Dessutom är många regler inte unika eller originella för Unix-gemenskapen. Men anhängare av Unix-programmering tenderar att acceptera en kombination av dessa idéer som grunden för Unix-stilen.

Citat

Kritik

UNIX-HATERS Handbook

UNIX-filosofin kritiserades i The UNIX-HATERS Handbook , publicerad i början av 1990-talet.

Men samtidigt är de tillvägagångssätt som kritiseras i den här boken, som började i *NIX, smidigt motiverade i Microsoft Windows och Apple Mac OS .

Anteckningar

Länkar