let's see how this late-entered comment that is only mildly off-topic fares
against the great mass of fervent clickmongers that comprise the slashdot
readership...
first off, i sometimes
write and most of the time maintain free software
(released under GNU GPL or LGPL, no exceptions)
for my own happiness and other reasons. you may call it "open source" or
whatever, but that particular confusion does not enter here. the relevant
point is that writing computer programs is a skill that i search to improve in
myself, and both the end product (software) and the search for self
improvement are (for the most part) rewarding.
now, i'm not going to tell my personal sob story here on slashdot, but
suffice to say that after a bit of looking around, i see enough suffering in
the world to conclude that whatever i can do to help others cope w/ it, would
be a Good Thing, not just for others but also for myself in that (like the
improvement in skills associated with writing software), i can improve my own
self-understanding in the process.
but what can i do to help others "cope"? i don't know anything more than
how to think logically and to type quickly some
strange symbols into the
keyboard. and why just "cope"? that's pretty lame when it comes to helping
people w/ their suffering compared to, say, providing health care or
friendship or even a willing (if unprofessional) ear to the stricken.
my answer to this is to try to encourage people to write free software,
since it is the only thing i am certain of. i imagine that if i were a user
of software w/o ability to read, modify, change and share the software,
the frustration upon encountering a bug or misfeature must be similar in some
way to the suffering of others who may not have insight enough into themselves
or their situation to read, modify, change and share the improved situation.
suffering is a bug in the happiness (or merely serenity if happiness is
too much of a reach) of a person. to "cope" is to work around the bug. to
improve the situation is to fix the bug. but to fix the bug you need the
source code.
because i cannot relieve people of their suffering, the least i can do is
to show
a methodology for gaining insight into something (that being
the source code of computer programs) and hope that the techniques can be
transferred to other things.
anyway, that's why i do what i do. i have not answered the OP's question,
but then again, i feel the answer i have given shares some overlap w/ the intent of
the question. momentary overlap is what life is all about, after all...
i think it is precisely those who do a lot of programming who might hold
the view you are arguing against. like they say, "familiarity breeds contempt".
many programmers, for good or ill, hold separate "coding" from "design
work", and then use this distinction to help define themselves. we all
need to define ourselves somehow, after all.
if the people have given the state the right
to spy on them, tag them, track, divide and thus conquer them,
then the people have lost their innocence. it will be difficult
to find it again because corruption doesn't kill innocence, it
defaces it and leaves it the subject of mockery. in this way,
the mean spirited ride the tides of entropy over their and in fact all
unborn children.
can corruption be eased-off, or must it be broken?
tell them that your job is the last refuge for the honest, in today's
world full of deception and corruption, that writing programs is the oasis of
sanity in a world gone bad. the computer (and the computer programs you
write):
cannot be lied to
will not lie to you (unless you add that capability)
make plain your mistakes (unless you choose not to see)
tell them what you do can be applied to how you do it. as you write
programs (and fail to write programs), you can improve your craft and (given a
certain approach and a little luck), you can write programs to improve your
craft. this is like "go go gadget grow" for your soul.
the smarter you are the more you understand the difficulty of crossing the
gaps between where you are, where you would like to be, where you would
like other people to think are, and where you would like other people to think
you would like to be.
truth has nothing to do w/ it. thus, being right or wrong has nothing to
do with it, except peripherally; it's about seeing the spaces between right
and wrong.
good administration (remember the "A" in "MBA"?)
requires understanding how to meld the
ideal (scamming --er-- making lots of money from your suckers --er--
clients/consumers) w/ the real (in this context, the fact that
digital anything is infinitely reproducible w/ infinitessimal cost).
when you forget that and start thinking that the "M"
stands for "marketing", you lose. your loss may be immediate
or it may be drawn out, but in the end that is not where you
want to be. sure, a few years in $lopping it up in the trough
before it all goes to shit is a worthy aspiration -- if that's
what you believe, fine.
if technical people (those more rooted in reality than you)
tell you it's not going to fly, do everyone a favor and listen
to them. maybe you will stop being such pompous jackasses w/ a
little practice.
one answer would be that the practice of writing software,
unlike many other practices that involve moving physical objects
around, is highly amenable to reflection (and thus improvement).
unfortunately, reflection requires visibility requires openness,
and finding the right balance between that and the secrecy
prevalent (in many cases sensibly so) in the physical-objects-munging
world, is difficult for large organizations, especially those used
to hierarchy and control.
reflection is difficult even for small organizations and
individuals, but most programmers have overcome that diffculty
(only to find other difficulties;-)...
when the issue of freedom "gets old" to you, that means you are ready to
die. the dead don't care about freedom of others, having truly found it for
themselves. this is no surprise.
if you want to be entertained by novelty, consider taking RMS's position
and surprising the people around you by your actions.
your main argument of momentum is indisputable, however "fundamental
change to the algorithm" is overstepping the rhetoric a bit.
if the bug is in the implementation of functionality (and
interface) that is well-specified, fixing it does not imply a
fundamental change in the algorithm, but rather the opposite.
if you can understand this, and morever understand how your bosses (and
whoever they consort w/ to set the party line) do not or will not understand
this, you will understand also how and why people scorn usloth.
i don't think the word "debate" applies these days, but anyway...
xemacs folks basically said "we don't like lawyers; we don't need to talk
to them" whereas (that most hoary programmer;-) rms knew to stop w/ the first
clause and furthermore acted to overcome his dislike to secure top-flight
legal advice. the result is a situation that is fundamentally (at the
foundation at the base, upon which all other problems and/or solutions must
rest) irreconcilable.
in a world where the big nasties are just waiting to legislate your every
breath into a revenue-generating activity, the last breath you want to utter
is "i don't care". insert quote about vigilence and freedom, here.
you can pour a gallon of perfume on shit, but it is still shit.
if you accept "open on the outside but proprietary on the inside"
you do not understand what it takes to be truly open. you have
lost to the marketeers and spin artists, and given up your only
true possession -- your mind and its ability to think critically.
probably time would be even better spent writing free software (as opposed to any form of discussion about it).
of course, i immediately made a base case, trapped the fowl and filled my belly (to put into practice such sound advice, you see ;-).
mmmm, cs stew...
let's see how this late-entered comment that is only mildly off-topic fares against the great mass of fervent clickmongers that comprise the slashdot readership...
first off, i sometimes write and most of the time maintain free software (released under GNU GPL or LGPL, no exceptions) for my own happiness and other reasons. you may call it "open source" or whatever, but that particular confusion does not enter here. the relevant point is that writing computer programs is a skill that i search to improve in myself, and both the end product (software) and the search for self improvement are (for the most part) rewarding.
now, i'm not going to tell my personal sob story here on slashdot, but suffice to say that after a bit of looking around, i see enough suffering in the world to conclude that whatever i can do to help others cope w/ it, would be a Good Thing, not just for others but also for myself in that (like the improvement in skills associated with writing software), i can improve my own self-understanding in the process.
but what can i do to help others "cope"? i don't know anything more than how to think logically and to type quickly some strange symbols into the keyboard. and why just "cope"? that's pretty lame when it comes to helping people w/ their suffering compared to, say, providing health care or friendship or even a willing (if unprofessional) ear to the stricken.
my answer to this is to try to encourage people to write free software, since it is the only thing i am certain of. i imagine that if i were a user of software w/o ability to read, modify, change and share the software, the frustration upon encountering a bug or misfeature must be similar in some way to the suffering of others who may not have insight enough into themselves or their situation to read, modify, change and share the improved situation.
suffering is a bug in the happiness (or merely serenity if happiness is too much of a reach) of a person. to "cope" is to work around the bug. to improve the situation is to fix the bug. but to fix the bug you need the source code.
because i cannot relieve people of their suffering, the least i can do is to show a methodology for gaining insight into something (that being the source code of computer programs) and hope that the techniques can be transferred to other things.
anyway, that's why i do what i do. i have not answered the OP's question, but then again, i feel the answer i have given shares some overlap w/ the intent of the question. momentary overlap is what life is all about, after all...
if you don't try to write OO code in lisp, how do you know it cannot be done (and done well)?
hint: AOP is just half-assed CLOS.
(no worries, i don't use any of this stuff, either. ;-)
behind closed doors...
internal manglement
ah... 10am, bed, what a nice combination. :)
i think it is precisely those who do a lot of programming who might hold the view you are arguing against. like they say, "familiarity breeds contempt".
many programmers, for good or ill, hold separate "coding" from "design work", and then use this distinction to help define themselves. we all need to define ourselves somehow, after all.
check out zen and the art of motorcycle maintenance by robert m. pirsig. it is nice book if you're given to wondering where and/or how to wander.
first key concept: late-binding.
second key concept: single-root.
summary: this article talks about a non-single-root late-binding architecture. there are, of course, other organizations: the quintessential single-root late-binding program, and the raft of non-late-binding programs.
thus ends our cs moment of the day. we now return you to your regularly scheduled inanity...
if the people have given the state the right to spy on them, tag them, track, divide and thus conquer them, then the people have lost their innocence. it will be difficult to find it again because corruption doesn't kill innocence, it defaces it and leaves it the subject of mockery. in this way, the mean spirited ride the tides of entropy over their and in fact all unborn children.
can corruption be eased-off, or must it be broken?
yeah, i know the feeling. :)
your words demonstrate a portion of the culture dealing w/ self-repression.
what you repress is willingness to drop the quantitative when discussing the qualitative.
self-repression is common everywhere, so you are not alone.
tell them that your job is the last refuge for the honest, in today's world full of deception and corruption, that writing programs is the oasis of sanity in a world gone bad. the computer (and the computer programs you write):
tell them what you do can be applied to how you do it. as you write programs (and fail to write programs), you can improve your craft and (given a certain approach and a little luck), you can write programs to improve your craft. this is like "go go gadget grow" for your soul.
tell them no other job has this potential.
the smarter you are the more you understand the difficulty of crossing the gaps between where you are, where you would like to be, where you would like other people to think are, and where you would like other people to think you would like to be.
truth has nothing to do w/ it. thus, being right or wrong has nothing to do with it, except peripherally; it's about seeing the spaces between right and wrong.
well, i'm not a big fan of prescriptive labeling in general.
i wrote some elisp to play GNU Go in an Emacs buffer. check it out! (fishing for bug reports; patches welcome.)
see also: GoMode (emacswiki)
good administration (remember the "A" in "MBA"?) requires understanding how to meld the ideal (scamming --er-- making lots of money from your suckers --er-- clients/consumers) w/ the real (in this context, the fact that digital anything is infinitely reproducible w/ infinitessimal cost).
when you forget that and start thinking that the "M" stands for "marketing", you lose. your loss may be immediate or it may be drawn out, but in the end that is not where you want to be. sure, a few years in $lopping it up in the trough before it all goes to shit is a worthy aspiration -- if that's what you believe, fine.
if technical people (those more rooted in reality than you) tell you it's not going to fly, do everyone a favor and listen to them. maybe you will stop being such pompous jackasses w/ a little practice.
"why should software be treated differently?"
excellent question!
one answer would be that the practice of writing software, unlike many other practices that involve moving physical objects around, is highly amenable to reflection (and thus improvement).
unfortunately, reflection requires visibility requires openness, and finding the right balance between that and the secrecy prevalent (in many cases sensibly so) in the physical-objects-munging world, is difficult for large organizations, especially those used to hierarchy and control.
reflection is difficult even for small organizations and individuals, but most programmers have overcome that diffculty (only to find other difficulties ;-)...
speak for yourself, 3-neuron wonder!
i would rather see one window!
yours truly, a 2-neuron programmer...
when the issue of freedom "gets old" to you, that means you are ready to die. the dead don't care about freedom of others, having truly found it for themselves. this is no surprise.
if you want to be entertained by novelty, consider taking RMS's position and surprising the people around you by your actions.
there is no sin w/o a sinner. to hate the sin is to hate the sinner. to not hate the sinner one must not hate the sin.
we can go further: there is no hate w/o love. to espouse love is to espouse hate. to not espouse hate one must not espouse love.
but where does that leave us? is there a place beyond love and hate?
feh, too much work. i'd rather distract myself with emacs.
your main argument of momentum is indisputable, however "fundamental change to the algorithm" is overstepping the rhetoric a bit.
if the bug is in the implementation of functionality (and interface) that is well-specified, fixing it does not imply a fundamental change in the algorithm, but rather the opposite.
if you can understand this, and morever understand how your bosses (and whoever they consort w/ to set the party line) do not or will not understand this, you will understand also how and why people scorn usloth.
good luck in the bowels of the beast!
i don't think the word "debate" applies these days, but anyway...
xemacs folks basically said "we don't like lawyers; we don't need to talk to them" whereas (that most hoary programmer ;-) rms knew to stop w/ the first
clause and furthermore acted to overcome his dislike to secure top-flight
legal advice. the result is a situation that is fundamentally (at the
foundation at the base, upon which all other problems and/or solutions must
rest) irreconcilable.
in a world where the big nasties are just waiting to legislate your every breath into a revenue-generating activity, the last breath you want to utter is "i don't care". insert quote about vigilence and freedom, here.
you can pour a gallon of perfume on shit, but it is still shit.
if you accept "open on the outside but proprietary on the inside" you do not understand what it takes to be truly open. you have lost to the marketeers and spin artists, and given up your only true possession -- your mind and its ability to think critically.