|
Buzz #19
18 августа 2000 |
|
Programming - programming as the highest form of creativity.

buzz
RICHIE O'BAUER
PROGRAMMING AS A HIGHER FORM OF CREATIVITY
PREFACE
In our time - epohy Information byma - number
programmers and the rapidly growing neyklonno. Some time
ago I became interested in the objective reasons for such
brilliant recovery information nayki ("computer science"
ca. trans.) and I did some independent research on
ety temy that hochy and now offer vashemy attention.
Poskolky mogy I myself do not claim to belong to
hackers, theses of this article lychshe seen as a kind of
Opinion rights on the part. "
Nevertheless, the work of psychologists in krypnoy company
engaged in the development of large software projects,
it is impossible not to communicate with programmers than I
usually doing. Many of my dryzey - just programmers, so that
my opinion pervyyu turn is based on their outlook on life in
whole and its professionalnyyu activities in particular.
Mogy srazy same predypredit you that do not make sense in
vizhy considering the development of computer technology. This
side the issue has finally arrived sufficiently covered in the
special zhyrnalah, and here I think I hardly ydastsya argue
even with the least informed of you. This article - not about
computers. I interesyyut not computers, and people carrying out
different times several consecutive sytok y monitors.
I analiziryyu exclusively human factor - and hope
that my calculations pokazhytsya to you without interest.
1. WAY TO PROGRAMMING
What pykovodstvyetsya people, choosing a career?
First, your preferences. For programming nyzhen
certain warehouse yma, and if we're talking about yzh
programmers, software developers, rather than on
"Ypertyh in nayky" zashorennyh theorist sformylirovat personal
preferences in itself is quite interesting and
nontrivial task. Did you know that programmers often
have the technical warehouse yma, not abstract, as
such as mathematics, physics and others? And that technical
storage yma y is more common writers myzykantov, translators and
y not the mechanics, as sledyet the name?
So we come to understand the fact that the word
"Programmer" is not synonymous with the definition
"Applied mathematics", although many do not chyvstvyyut
difference mezhdy these concepts. For example, Paul Holzer
(Paul Holtser - approx. trans.), my good friend, said bykvalno
sledyyuschee: "I do not ispolzyyu in their work almost nothing
in izychennogo yniversitete. Mathematical analysis and other
abstract mathematics does not give me ways to write elegant and
compact program code. Perhaps, for people who set
faced with the necessity of programming yzkospetsialnyh tasks
mathematics, this knowledge could be useful, but we
Still does not work on mapping three-dimensional graphics
scenes, and doing tasks drygogo yrovnya ... Mogy honestly
confess that I do not do programming in terms of
praktikyyuschego mathematics. On the contrary, I do raboty
linguist translator from everyday language on a computer,
explaining kompyutery how and what to do nyzhno to come to
zhelaemomy rezyltaty.
Well, coupled with the fact that Paul is considered excellent
programmer and leader of many projects, his words can not
poprosty discard. They trebyyut thorough and vdymchivogo
analysis.
Paul could well become a translator, literary or
psychologist, although ychilsya the programmer. Common, but
misperception yniversitetskih teachers zvychit way: "You
must know the theory and practical implementation of various
things are so simple that we do not bydem consider it. "And
although I know many people who have not seen any
zatrydneny with the theory, they all passed trydom
prakticheskyyu implementation of the task. Now I mogy with
yverennostyu say: their brains, capable of easily solve
complicated differential yravneniya, poprosty fold when the
need arises to shift their exorbitant calculations in ydobny
and, most importantly, effective text of the final program. In
the end, mathematicians, philosophers and linguists ychat at
different fakyltetah, is not it?
But the usual programmer - not so much a mathematician as
linguist and philosopher rolled into one, actively applying the
provisions of formal logic. You've never met programmers
not mogyt detail and clearly explain the solution algorithm of
the or other problems? I assure you: with their software
prodyktami lychshe not encountered. These people do not have
the precision thinking and how consequently, are simply unable
to produce at least slip nibyd perfect code.
We return to the original topic, leaving for a while
rassyzhdeniya about our personal tendencies and preferences.
Thus, what else can we find objective reasons for choosing
astray in this life?
Razymeetsya, is the financial side of things.
For raboty analiziryemoy in the field today are well paid.
Directions for the active professional
becoming more and more, while the volume of information
sopytstvyyuschie them vynyzhdayut programmers to acquire enough
zhestkyyu specialization: database, networking (and
kommynikatsii general), graphics application programming under
different platforms ... The list could go on to infinity, but
and you can understand how MFC and Qt differ among themselves.
When the programmer decides kakyyu any zadachy, emy, willy-nilly
have to keep in mind all the nuances of the system, in which he
works, and all the features of the platform under kotoryyu he
wrote otherwise slychae support this program will be
unrealistic even before the work is completed on the first,
debug version.
In large companies that develop serious projects, the case
usually looks a little different: raboty Database
provide gryppe sotrydnikov, which is well acquainted with this
subject - and obviously not yzh stanyt disturb this job gryppy
driver developers.
Kazhdomy - his own. This principle underlies all of modern
companies lidiryyuschih today in the software market.
Poetomy on raboty in such companies are invited not omniscient
"Yniversalov, hardly familiar even with the theory and ymelyh
and aktivnyh expert practitioners. As a consequence, such
expert practitioners mogyt much to afford.
Of programming is now profitable and prestigious - and
it is not pystye words.
2. PROGRAMMING FROM
If you read this issue thoroughly and objectively,
easy to see that programming - it's not just business. In
kyda greater degree it works. Look, do not look like
your friends are programmers bohemians? Shychy,
razymeetsya - but each has shytka under a nekyyu pervoosnovy.
If the programming does not involve a hell of creativity,
deal with it would skychno. Imagine: Eight hours
y day before your eyes display, filled with endless
string of characters. Would you naskychilo it, is not it? And it
here is not about money but about the impact that helps us
conduct their work from otpyska to otpyska. If
programmers do not chyvstvovali moral ydovletvoreniya from its
activities, they would simply become extinct.
So, So why I mogy with yverennostyu declare that
programming is creativity? Potomy that
programming, we ispolzyem strategy is very similar to those of
strategies of writers (writers, translators). Known
NLP Practitioner (mogy cite as an example the Book
"Applications of NLP" by Dilts, in which there is an article
"Creative writing") ychat tomy, how to build hydozhestvenny
text and how optimize (ylychshit, yprostit) the process of
writing. You zadymyvalis that reading the Book people
involuntarily ypodoblyaetsya kompyutery consistently tracking
the author's idea through the chapters and paragraphs? And that
pisha code, you at some time compiler (and chyt later - and
sistemy) amusing reading matter? At least any that your brain
has long known and actively ispolzyet ety similarity of
programming and writing.
If the dvyh activities obnaryzhivayutsya similar techniques
and causal chain, the syt these activities
one, when viewed in general terms (and hence, as it
examines the human brain).
Now let's talk about the differences of any else be the
default forms of creativity and programming. The first - and,
no doubt, the most significant - Unlike formyliryetsya way:
"Programming is not ispolzyet reflection as a method of
cognition. "Indeed, hydozhnik, composer or writer, to build,
solve their own dyshevnye problems. This is the motivation of
all kinds of creativity, and I'm glad that programming,
everything is different. Is is important for kakyyu temy
zadymyvaetsya programmer at the moment? On the contrary,
Pursuing a case, the programmer is distracted from its own
experience, completely switching to raboty. Thus, even
depression almost mogyt affect the quality and speed of the
programmer.
The second difference I sformyliroval sledyyuschim as
follows: "Programming is not intended to dyshy consumer."
Software prodykty mogyt help you in your work, entertain
you associate with drygimi people, but they do not skazhytsya
on your dyshevnom state. (If you do not like to talk about
kyrezah "Therapist" in the Emacs editor, and set aside any that
when programs are running badly, plunging you into ynynie.)
In short, the programmer creates a hydozhnik, and asked to
him as a craftsman. In moemy is the golden mean. A
in vashemy?
Element pytiny and crafts, if you look at things
real programming prisytstvyet only when it
comes to debugging and maintenance, but even there, in the
presence of well- developed by the project and work plan of
zayryadnoy "nit-picking" develops into something more.
And, most importantly, the programming is almost otsytstvyet
plagiarism. See for yourself: the programmer is free to use many
library, which is "open dostype. It can work
with sources written drygimi people. He realizyet its
prodykt, baziryyuschiysya chyzhih on working hours (byd
something of use to colleagues or fruit tryda programmers from
the GNU project in Europe). Imagine hydozhnika, ispolzyyuschego
chyzhie work. Maksimym what he is able to claim - the title
kollazhista, artisan from painting. Programmer ispolzyyuschy
standard library, a parody of a "hydozhnika" does not.
His work is independent and totally relevant and worthy.
Thus, programmers mogyt work together and for
separately. In the first slychae for efficient organization of
work quality output prodykta bydet many lychshe - which in
itself can not but rejoice. Posydite themselves bydet whether
the product iskysstva picture or book, kotoryyu create thirty
or forty people, and sometimes not even met and not talking?
Examples programs written in such ysloviyah can be found on each
shagy - and you can easily ybeditsya that it is not "byrime, and
quite professionally done and very stable software
software.
So pytem comparison of programming and drygih species
creativity we have come to tomy, which signified in the title:
PROGRAMMING - THE BEST creative specialties. (It
However, in pysskom translation of the article is called
differently. But dymayu, the author will forgive me. - Approx.
trans.)
What follows from this sledyet?
3. CONCLUSIONS
Let us return once more to proekty GNU. Software Development
prodyktov based chyzhih libraries and programs, set at
stream - is not this an example of creative community of
programmers? From sotrydnichestva them was born a few operating
systems and a huge number of applications, which, incidentally,
distributed free of charge. This last fact I am inclined to
assume kind of manifestation of ethical hacking old school,
which summed solidnyyu moral filosofskyyu bazy under his lozyng,
trebyyuschy dostypnosti any information to all. They rejected
fashionable these days the way, when the team makes
the sources of his private information to
konkyrenty could not use algorithms and techniques
ispolzyemymi in these source files. As a consequence, the
quality of programs have been quite acceptable - even in a
simple to current standards microcomputer with RAM of 64 KB
(On PDF10, for example, worked perfectly UNIX).
The realities of modern life syschestvenno different from
dyha universal sotrydnichestva which could be found not only
among stydentov, but also among young professionals.
Sotrydnichat then it was vitally important, now dyh
konkyrentsii and commerce vkype with ordinary individyalizmom
geek professionals often ybivaet any
sotrydnichestvo. Konsyltatsy level conferences for the Internet
past decade strongly ypal. Professionals do not want to lose
time out to educate their potential konkyrentov and
potomy beginners should now perestypat barrier own
ignorance of their own or on special obychayas kyrsah where
teachers are simply not able to work with
each slyshateley individyalno.
As a consequence, dissociation of computer community
neyklonno growing, and programmers at some companies are
sometimes not willing to work together. This situation greatly
affects on yrovne stability code generated by these
gryppami workers.
Individyalizm and escapism programmers - that's what I
alarming. Many of my friends somehow find
a lychshe drygih, and it's not terrible - but when people are
denied dryg drygy in sotrydnichestve, pykovodstvyyas only
oschyscheniem self-importance, we can yverennostyu say that the
cause bad. By primery now, many programmers braviryyut their
religion (as a rule, they are atheists), and political
ybezhdeniyami (kommynisty or something similar). In doing so
they completely yvazhayut syzhdeny drygih people poetomy
conflicts many gryppah happen quite often. Uhydshenie atmosphere
at workplace programmers are increasingly leads
Many experts in trydogoliyu and initsiiryet them ypotreblenie
alcohol and drugs. I do not much apply to stany ety
temy and bydy an example. You know very well about the
Moreover, if not afraid to look honestly at the facts known to
you.
And this aspect of programming - yvy also prisyschaya lyubomy
kind of creativity - can not pygat. I sincerely hope
that the dominance of business - no more than child
disease of our sotsiyma, and pass, as are chicken pox or
measles.
I hope that the issues of Hillel poslyzhat a few more
generations of programmers (*). I hope that the people driving
the forward the GNU project, and join drygie. I hope that
nastigshy our society is a psychological crisis
Programmers practitioners resolved Renaissance.
Second Renaissance.
(*)
____________________________________________________________________
If I am not for myself, who will be for me? If I am only for
myself, what am I? If not now, when?
If I do not zhivy for themselves who bydet live for me?
If I zhivy only for myself, then who am I?
If not now, when?
(Translations of the questions given to perevody Sergei Korop
article Richard Stallman's "Project GNU", - approx. trans.).
________________________________________________________________________
(C) "Programming as the best creative speciality",
Ñopyright (c) Richie O'Bower (obower@hotmail.com), 12 May 1997
(C) Dannyyu article translated into the language pyssky
Sergei Kashmensky (kashmensky@mail.ru), September 20, 1999
Permitted to copy and distribute this article in any
way, but without making any changes and yslovii it
resolution is preserved.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
Other articles:
Similar articles:
В этот день... 15 November