1 |
24.02.2014 02:32, Alan McKinnon wrote: |
2 |
> On 23/02/2014 20:18, Canek Peláez Valdés wrote: |
3 |
>> I don't think forking would attract much developers. Writing something |
4 |
>> new trying to follow "the*nix design principles", but being modern and |
5 |
>> with the same features (all of them optional, of course) of systemd |
6 |
>> will have more chances; although I think it will fail because most of |
7 |
>> the people that can code "better" actually like the systemd design, |
8 |
>> and would prefer to contribute to it. |
9 |
>> |
10 |
>> And if you found enough of this mythical good-coders, good luck |
11 |
>> defining what it means "the*nix design principles". |
12 |
> |
13 |
> |
14 |
> I've been wondering about this concept of "the*nix design principles"... |
15 |
> |
16 |
> I've now concluded it's a myth, much like invisible pink unicorns. |
17 |
|
18 |
I may not be an authority, too. But please allow me to refute your |
19 |
arguments. |
20 |
|
21 |
> Is it like the kernel? A huge monolithic chunk of code with support for |
22 |
> modules? |
23 |
|
24 |
It ain't. No monolithic chunk of code, it's configurable. |
25 |
|
26 |
> Is it like X11? A huge monolithic chunk of code that has a bizarre build |
27 |
> system for years, and took something like 5 years of hard work to get it |
28 |
> modular? And is 20 years behind the times? And *still* requires devs to |
29 |
> jump through hoops to get a rendered image through a compositor and back |
30 |
> up the the GPU? |
31 |
|
32 |
It's grown to that, but in the beginning it was (striving to be) a clean |
33 |
system doing generally one thing (graphical client/server) and doing it |
34 |
well. |
35 |
[1] |
36 |
It's not X11 devs' fault that GPUs and all that multidisplay/ multimedia |
37 |
stuff don't work well with client/server arch because they were designed |
38 |
for some other, you know which, OS. I assume if the GPU vendors had |
39 |
their specs opened "20 years" ago, some wayland-like stuff would have |
40 |
been ready near that time. |
41 |
|
42 |
> Is it like perl? Support every possible way to do something if it |
43 |
> remotely makes sense to do it, no matter how bizarre the syntax? |
44 |
|
45 |
Perl (I suppose you know what it stands for) is great (probably the |
46 |
greatest) for what it was invented for: text manipulation/analysis. It |
47 |
could have been a good replacement for many things like awk, sed, tr |
48 |
etc. if the author were less ambitious to conquer the world with Perl. |
49 |
|
50 |
> Is it like python? Pick ONE way to do it and stick with it dammit! |
51 |
|
52 |
You misquoted. The phrase is: "there should be one—and preferably only |
53 |
one—obvious way to do it", *one* meaning 'at least one', complemented |
54 |
with *should be* and *obvious*. |
55 |
|
56 |
> Is it like php? Do whatever you feel like? |
57 |
|
58 |
Php was a Unix design? LOL. Php wasn't a design at all. It was just |
59 |
another personal home pages perl script. |
60 |
|
61 |
> Is it like command line text processing tools that only do one narrow |
62 |
> thing well? [1] |
63 |
|
64 |
Perfectly well. |
65 |
|
66 |
> Is it like bash? I can't find a decent description of how bash came to |
67 |
> be except it's like Vogons - wasn't designed and didn't evolve, it just |
68 |
> sort of ... congealed |
69 |
|
70 |
Bash or sh? What about ksh, csh, zsh etc? Well, a shell actually does |
71 |
two things: interactive shell and scripting. Let's ponder on how they |
72 |
can be separated? |
73 |
|
74 |
> Not to rain on anyone's parade, but there's a prize of 40 internets up |
75 |
> for the first person who can clearly and unambiguously define "Unix |
76 |
> design principles" with specificity so that it is globally applicable. |
77 |
|
78 |
A truism: There's nothing globally applicable. |
79 |
|
80 |
> Best I can come up with is "Use common sense and build stuff that can be |
81 |
> used and maintained" which is wonderfully descriptive but really sucks |
82 |
> as a definition. |
83 |
|
84 |
Something like this, but neither is it globally applicable. |
85 |
|
86 |
> |
87 |
> |
88 |
> [1] For lack of a better term, let's just call systemd here a "system |
89 |
> controller". What is this ONE thing a system controller should do and do |
90 |
> it well? |
91 |
|
92 |
An init daemon generally does one thing well. |
93 |
|
94 |
|
95 |
[1] http://en.wikipedia.org/wiki/X11#Principles |
96 |
|
97 |
-- |
98 |
Regards, |
99 |
Yuri K. Shatroff |