Unattainable Goals that are Silll Worse Pursuing
Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Tue, 22 Apr 2008 04:39:22 +0300
| Newsgroups | gmane.culture.hackers.israel |
|---|---|
| Message-ID | <[email protected]> |
[ Note: This essay has a more universal message than computers, but it also
applies to it, as I shall demonstrate. I'd like to post it on my blog, but
I'm going to use you guys as my guinea pigs. Comments are welcome. ]
One thought that occured to me lately was the fact that there are some goals
in
life that can never be fully attained, but are nevertheless worth pursuing and
getting nearer and nearer to them. Like an asymptotic function in mathematics
if you may.
One example that I thought about it (and I think was featured in Hackers-IL
before) is the case of objectivity. Human beings are subjective by nature
and so can never be completely objective. However, it doesn't mean that we
shouldn't try to be as objective as possible, or completely give up on being
objective. (And by being objective I don't mean
http://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view ). Other people
can disagree with me that objectivity is a virtue but it's besides the point.
Now a co-worker of mine is a Hassidic Jew, and when I told him that I'm
an Objectivist, he said that one cannot be completely Objective. He then
gave the fact that it is said that God brought the great
draught because "Yetzer ha'adam Ra' Mine'urav" (= the desire of the Human
is bad from his youth.), and later on decided not to do it again for
the same reason. He brought that as an indication that the Jewish sources
indicated that a man is not Objective by nature.
I thought about it for a moment and understood that the same can be said
about honesty (or "righteousness" in a more religious language). We can never
be completely honest and never lie or do the right thing everytime. But that
doesn't mean we shouldn't constantly try to be as honest as possible, or
worse succumb to complete dishonesty.[1]
{{{{
[1] - I was told Immanuel Kant said something along the lines that if one
wished, for example, to be sincere, he must not lie even if threatened
by death. However, this is silly, because ethical and moral ideals are
supposed
to help you lead a happier life (as identified by Aristotle in the first
part of "Nicomachean Ethics"), not to terminate them prematurely under
someone who employs force or threat of force against you, who otherwise
did not do anything wrong.
}}}}
After I told it to my co-worker in an MSN conversation he agreed with me
that I was right on both the honesty aspect and, in accordance with
the prinicipal, also the Objectivity one.
This concept can be applied to many other values or capabilities
we desire. For example, one can always improve as a programmer, which is
evident by the fact that most good programmers who take a look at their
old code are unhappy with it. But it doesn't mean we shouldn't try to always
improve as programmers.
Likewise, if a particular computing technology is large (e.g: Perl, Java, PHP,
.NET) and also has possibly spanned a large number of halo technologies (e.g:
CPAN, Apache Jakarta, etc.), then mastering the core language would be hard,
and time consuming. In the Perl world we constantly say that "no one knows
all of Perl, not even Larry Wall". But it doesn't mean you shouldn't do
your best to master as much as you can out of it, or need to.
One example that I'm especially sensitive about is politics in a software
project (possibly an open-source one ). Obviously, there can never be zero
politics, but the project leaders and members should always try to reduce its
amount, because not keeping it at bay is a recipe for disaster. I constantly
hear about important features that are not implemented or even bugs that are
left unfixed in open-source projects due to political reasons.
I can give Subversion ( http://subversion.tigris.org/ ) and to a lesser extent
the perl5-core development tools as good examples of projects with very little
politics and a value-maximising attitude.
One can think of many other examples.
My point is that while it is true that we are humans and can never be perfect,
we should always aim for perfection in some aspects. And given enough
willingness and by learning from our mistakes, we can remain close to
perfection in those respects all the time.
Regards,
Shlomi Fish
---------------------------------------------------------------------
Shlomi Fish shlomif-ik1l9ssToec+JF/[email protected]
Homepage: http://www.shlomifish.org/
The bad thing about hardware is that it sometimes work and sometimes doesn't.
The good thing about software is that it's consistent: it always does not
work,
and it always does not work in exactly the same way.