[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Moving from a proprietary OS - unnecessarily inful experience -- was [Re: I wish to advocate linux]



Le Mar 5 mars 2013 16:37, Martin McCormick a écrit :
> Miles Fidelman writes:
> In Linux/Unix in general, we have a concept that is
> rather old of output being something you can send where it needs to go
> because you may not always predict where somebody will need to send it for
> a particular job.

> In Windows and nitch operating systems for many
> purposes, Some designer just figured the screen was good for everybody and
> there is no way to divert text and numbers to any other device.

Well, sorry, I have to disagree here.
The short (and trollesque) version:
*Linux:
_ systemd: happy trolling, I won't go further :P
_ xorg: this link
(http://wayland.freedesktop.org/faq.html#heading_toc_j_6) explains
correctly that Xorg needs tons of stuff which is no longer used nowadays.
I think we often call unused stuff: bloat.
*Windows:
_ coreutils: are implemented. Just an example, of course, since I myself
am able to implement tools I do in a portable way, and I love to create
CLI stuff. Drawing windows is quite boring IMHO...

The longer version:
The problem is not *nix vs windows, or linux vs whatever, and the problem
is not age of dev, too.

It is only a problem of philosophy. UNIX starting philosophy was that
softwares should only do one thing, and do it well. It also states that
they should use text human readable inputs and outputs.
Few months ago (maybe 2 years?), I have simply made the link with object
oriented programming.

In both ways of thinking, you have highly specialized softwares/classes
and easy to understand interfaces.
But, I also think that both ways of thinking are hard to follow, because
they require the ability to *focus* on one task at a time, to refrain the
will to add "useful" features, to accept that the first idea you had
and/or stuff other says are not the best solutions, and many other
qualities.
All those qualities needs time to be acquired.
But how many depends on people: some will understand basics of OOP quite
fast, other will need years. I am (I hope I *was* but I can not judge
that, only other people can say if a software is clean or not. And when I
encounter a kind of problem for the first time, I'm still doing dirty code
first...) in the second group.

When you have understood OOP's principles, you notice that your programs
are simple libraries, for which you write front-ends (command line or
ncurses or gtk or qt... those are only front-ends anyway). CLI interfaces
are easier to debug (because they are easier to automate) so I prefer to
firstly implement this one, but not always (a drawing software does not
really take sense in CLI, by example. At least, _I_ do not see the
point.).
Strangely, when I take a look at projects, I more often see one binary
containing logic and interface (and sometimes more than one interface... I
did not take a close enough look at aptitude, but I bet all source code is
in the same binary?).
And I bet it was the same 15 years ago. My teachers tried to taught me to
do like that... When I think about that, I feel quite happy to have
started learning long before having programming lessons.

> Younger people tend to be cought up in what's here now
> and, if they are not careful, they think it is as good as it gets.

But, their teachers said them that if the user is not happy, he will buy
hardware. Yes, really. I have heard mines saying that about memory usage,
and I bet that if at that moment I had asked them about blind people and
such kind of stuff they would have said "do not worry about that too".
And my teacher who said that people have just to buy some more RAM units
was not really someone I would qualify of young man.

> That is just one example of countless other examples and
> I don't wish for a minute that we were in an earlier time, but
> let's value collective wisdom. It can sure save us a lot of trouble if we
> take advantage of it.

Well, when things come to computer sciences, I would not trust too
strongly the collective wisdom. Take a look at modern stuff, and you will
understand:
HTML5, an adaptation of a network protocol specialized in downloads with
format detection, is now used to stream videos, play games... and people
says that's a good news.
XML is now often seen as the ultimate format (and HTML5 is only derived
from it, of course...), but it is very, very verbose. Considering that
network bandwith is not an infinite resource, and that parsing XML is not
something which cost nothing, I have real difficulties to understand
why... JSON sometimes takes the advantage on XML. It is a little less
verbose, so I think it is a little better.
Nowadays, your favorite IDE will probably implement a plug-in interface.
This interface will be specific to IDE, of course. Some of it's uses will
be, by example, to know your files' names, and where they are. Most IDE's
users will quickly say that it is easier than command-line stuff... but
why those tools does not simply use "ls" or "dir" (depending on the OS) ?

Those are a small samples of collective wisdom, linked to computer
sciences. We could find many other, in various domains. People have to
listen it, but should avoid to follow it blindingly.
To be honest, I often use pieces of what we call in French "sagesse
populaire". The translation is near collective wisdom, but a better one
would be "popular wisdom". I often uses it, but always with great care: by
example "only truth hurts" is a complete lie.

> It kind of reminds me of the squirrels and electric
> power poles. Ever so often, we hear a raucous explosion in the
> neighborhood. A squirrel has just learned a mortal lesson that 7200 volts
> will make your body explode and ruin your day. Squirrels do not have a
> history of symbolic language or written communication so if some other
> squirrels see their comrade change from carbon-based life form to just a
> hand full of carbon in a millisecond, they have no way to tell the rest of
> the squirrels not to walk around on all those neat perches at the tops of
> the poles, and so ten minutes later, another squirrel, another explosion. I
> sometimes wonder how much smarter are we than those squirrels? I guess
> that's for the philosophy mailing list.:-)

Well, taking a look at humanity's past, present and future, I see
religious wars, jealous people, and so much. I think squirrels are
wiser...
I fear that the will of systematically send philosophy stuff in a
specialized way is the cause of many problems. In programming, philosophy
could, by example, help people to master various paradigms, and this would
allow far better softwares. Instead, people focus on languages, and says
"each language have it's use" which is just... wrong. The fact is that,
each language uses some paradigms, and each paradigms have their uses.
In fact, I think that the best way to acquire wisdom is a subtle mix
between knowledge and philosophy. And wisdom should be always used,
including in technical discussions. Hopefully I'll become wise, one day :D

At least, this is what I think, and actually, I have seen no reason to
think in a different way :)


Reply to: