Mit jelent számodra/szerinted a UNIX filozófia?

Címkék

Egy program / programrészlet CSAK EGY dolgot csináljon. Komplexebb megoldás moduláris felépítéssel. (lsd. Git, Linux)
70% (163 szavazat)
Egy program / programrészlet TÖBB dolgot is csinálhat, de azokat a lehető legjobban. (lsd. Fossil, BusyBox / ToyBox)
3% (8 szavazat)
Egyéb leírom
5% (11 szavazat)
Nem tudom mi az a UNIX filozófia / Nem érdekel
22% (51 szavazat)
Összes szavazat: 233

Hozzászólások

a wikipedián massziv mennyiségű infó van összeszedve, hogy mit is gondoltak a UNIX megalkotói a UNIX filozofiáról

Ken Thompson and Dennis Ritchie, key proponents of the Unix philosophy
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development. It is based on the experience of leading developers of the Unix operating system. Early Unix developers were important in bringing the concepts of modularity and reusability into software engineering practice, spawning a "software tools" movement. Over time, the leading developers of Unix (and programs that ran on it) established a set of cultural norms for developing software, norms which became as important and influential as the technology of Unix itself; this has been termed the "Unix philosophy."

The Unix philosophy emphasizes building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed by developers other than its creators. The Unix philosophy favors composability as opposed to monolithic design.

https://en.wikipedia.org/wiki/Unix_philosophy

6 Eric Raymond’s 17 Unix Rules
6.1 Rule of Modularity
6.2 Rule of Clarity
6.3 Rule of Composition
6.4 Rule of Separation
6.5 Rule of Simplicity
6.6 Rule of Parsimony
6.7 Rule of Transparency
6.8 Rule of Robustness
6.9 Rule of Representation
6.10 Rule of Least Surprise
6.11 Rule of Silence
6.12 Rule of Repair
6.13 Rule of Economy
6.14 Rule of Generation
6.15 Rule of Optimization
6.16 Rule of Diversity
6.17 Rule of Extensibility

--
Live free, or I f'ing kill you.

Ha a második pontnál fontosnak érezted leírni, hogy a „lehető legjobban”, akkor ez miért nem volt fontos az elsőnél?

Eddigi tapasztalatom: Ilyen módszerekkel a marketingesek szoktak élni. Valahova odatesznek egy pozitív kicsengésű félmondatot, ezzel ösztönözve a kitöltőt, hogy azt a választ jelöljék be.

Csak ennek most semmi értelme, mert bármilyen eredménye is lesz a szavazásnak, nem valószínű, hogy hasznod származik belőle.

Sosem értettem ezt az EGY vagy TÖBB dolgot. Hol húzzuk meg a határt? Kötve hiszem, hogy bármilyen mérce szerint például a BusyBox többféle dolgot csinálna, mint a Linux kernel.

Az "ls" parancs az 50 kapcsolójával csak EGY dolgot csinál, de az "ls" meg a "stat" együtt már TÖBBet? És ha a kettő funkciója össze lenne olvasztva eggyé?

Miért tud rendezni az "ls", ha lehet pipe-olni is egy jó bonyolultan felparaméterezett "sort" parancsba?

Ha egy webböngésző meg tud jeleníteni PDF-et is, akkor már TÖBBféle dolgot csinál? Ha az "mc" fájlkezelő, fájlnézegető és szövegszerkesztő is egyben, akkor az TÖBBnek számít?

Az egyik terminál emulátornak még scrollback buffere sincs, azt mondják, használj tmux-ot. A másik meg tucatnyi egyéni kiegészítéssel enged ugrálni a korábbi parancsok kimeneteinek kezdetére, highlight-olni regex találatokat, rakat egyéb feature mellett speciel még tmux integrációja is van, bármit is jelentsen. Akkor ez az utóbbi jócskán TÖBB dolgot csinál?

Tényleg, komolyan kérdezem: mi az "egy dolog" legalább hozzávetőleges definíciója?

az mcedit-nél új PID keletkezik, ha szerkesztek valamit. Az mcview-nél nem. ... és mind a kettő simlink az mc-re.
gondolom, takarékosabb volt argv[1] alapján eldönteni, hogy most fájlkezelőként, nézőként, vagy editorként fusson.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

A Busybox mint svájci bicska több dolgot is csinálhat, pont ezért szeretjük. Egyébként meg az egy a nyerő :) De van létjogosultsága a többnek is, de nem a Systemdnek. Az elrettentésnek jó.

--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!

Nem teljesen ertem eleve a kiirast. A linux kernel meg a git is egy csomo mindent csinal, a busybox meg attol hogy egy executable-be van beleforditva egy halom unix utility meg nem lesz kevesbe modularis mint egy .so+egy halom executable melle. Vagy ha a linux kernelben letiltom a module supportot es mindent statikusan beleforditok ami kell akkor mar magikusan atmegy a masodik kategoriaba?

I hate myself, because I'm not open-source.

egyiket se. A unix filozófia a többfelhasználós oprenccert jelenti. Ez kábé a 80-as évek végéig élt.

--
GPLv3-as hozzászólás.

Egy dolgot csináljon, de azt nagyon. Mint a klasszikus unix-os tool-ok. cat, ls, grep, stb.. Hogy hol a határ, jó kérdés.... Nos, azok a funkciók, amik a tool alap céljához kapcsolódik, belefér. Pl. ls-nél a kimenet rendezése. De amikor már tudna ls tud http directory listinget kiírni, rendezni, vagy még specifikusabban mittomén google találatokat, vagy facebook üzenőfalat, na ott már nemkicsit félrement a dolog.
--
"Sose a gép a hülye."

Nem tudnám pontosan megmondani, de valami olyat várok el egy "unixos" programtól, hogy
-jól definiált feladatot hajt végre
-parancssorból indítható, szkriptelhető
-sallangmentes

Számomra a unix:

1. Futási és fejlesztési környezet.
2. Csinálj egy jól definiálható dolgot és azt jól, optimalizáltan.
3. A rendszerelemek egységes koncepció mentén működnek.
pl#1: A rendszerelemek bemeneteket kezelnek és kimeneti értéket adnak vissza.
pl#2: A rendszerelemek csak akkor szólnak, ha baj van.

> Sol omnibus lucet.

Annak idején évtizedekkel ezelőtt jelentett valamit, amit a mai világban igen nehéz alkalmazni (k sok és k gyorsan változó igény).

--
arch,ubuntu,windows,libreelec,omnirom,microg
zbook/elitebook/rpi3/motog4_athene

Az unix filozófia elvileg az, hogy eszközöket fájlként használhatjuk. ... ugye a /dev könyvtár.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba

Nekem azt jelenti, hogy jól működik, és azt tudja, amit ígér. Nem üres marketing, hanem ipari értelemben vett működés.

Én meg két percet dobtam rá, hogy mindkettőnél példaként szerepel valami lsd nevű program.... :-D
Próbáltam kirakni, hátha valami Linux System akármi, vagy Linux Service akármi....