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:
Pentagon - Instructions for remaking the Pentagon-128 to exit at Reset'u in the 0-th bank ROM 27512.
В этот день... 21 November