📜 ⬆️ ⬇️

Programming is not a pound of raisins

Recently, articles began to appear, insistently inviting the average person to plunge into the magical world of programming. I think this is due to the fact that large software makers, from smartphones to web applications, want to see their users more technically prepared for a brighter IT future. Manufacturers of programming courses happily support this initiative. But many programmers are very skeptical of this idea. Despite the fact that on the eve of the summer holidays, in a naive attempt to “make a monkey a man”, I presented my 14-year-old nephew the book Programming for Children, I also belong to the camp of convinced skeptics. On Geektimes, a note was already published trying to refute the thesis "Coding is fun", but in spite of the correct title, the arguments in it, in my opinion, were very doubtful. Therefore, when I came across "Coding is not 'fun', it's technically and ethically complex," I could not resist the desire to share it. True, in the second part of the article the author exacerbates a little, but in this drama I see a rational grain.




Programming - what could be easier! At least, world-famous IT gurus are trying to convince us of this. From the promise of Code.org, “Everyone can learn!” To Apple CEO Tim Cook’s expression that programming is “fun and interesting,” everyone is trying to convince us that the art and science of creating programs are now as accessible as the alphabet.


Unfortunately, this picture in pink colors has little to do with reality. The very thinking style of programmers is alien to neophyte. Being deeply analytical and creative, he, at the same time, requires almost superhuman concentration necessary to overcome the complexity of the tasks. Manic attention to detail is absolutely necessary, any negligence or carelessness is prohibited. To achieve this level of concentration requires a state of consciousness called the “ flow ”, a quasi-symbiotic relationship between man and machine that increases the productivity and motivation of the programmer.


Programming is not the only area that requires deep concentration. But you will never hear that neurosurgery is fun, or that building design is easy. Why, when it comes to programming, are managers and technologists pretending to do the opposite? For some, it helps to tempt people to move into new areas of activity in an era when software (according to venture investor Mark Anderson) "devours the world", and thus expanding the labor market, thereby controlling wage growth. Another reason is that the word “programming” itself sounds so ordinary and so often repeated, as if there is a magic key that programmers mechanically use to solve any task. Hollywood only exacerbates the stereotype, creating the image of a "coder" as an asocial beat-in-clave-think-then hacker, certainly a white man, endowed with the ability to easily destroy the plans of the Nazis and penetrate the CIA computers.


Insisting on glamor and ease of programming is the wrong way for children to learn computer science. This offends their intellect and creates in their heads the pernicious notions that they don't need to study to get progress. Although anyone with minimal software development experience knows that a minute of tapping on the keyboard costs an hour of training.


It is necessary to recognize that programming is difficult, both from a technical and ethical point of view. Computers, at the moment, exclusively execute commands of varying degrees of complexity. And the developer must clearly understand: the machine does what it says, and not what it meant to say. More and more “solutions” are delegated to computers, including life and death issues: autopilot cars, semi-autonomous weapons, Facebook and Google draw conclusions about your marital, mental, physical condition and sell this information to the highest bidder. And it is not in the interests of companies and governments to encourage our interest in what is behind these processes.


All of these scenarios are built on elegant technical solutions. But we cannot respond to them by answering exclusively technical questions. Programming is not a detail that can be left to the discretion of "techies", falsely pretending that their decisions will be "scientifically neutral." Society is too complicated, both algorithmically and politically. Automation has already deprived the work of low-skilled cadres of factories and warehouses around the world. White-collar workers are next in line. The industrial giants of tomorrow will need only a fraction of the involved workers of today's IT giants. The irony of fate is that the involvement of more people in programming only slowly prepares the ground for the fact that tomorrow they will join the ranks of the unemployed.


In a more confused and connected world than ever, in which software plays an increasingly important role in everyday life, it is irresponsible to speak of programming as a kind of lightweight exercise. Software - not simple lines of code, not faceless technical solutions. In just a few years, understanding the essence of programming will become an obligatory part of the life of an active citizen. The idea that programming offers trouble-free ways of social progress and personal self-improvement works for the growing techno-plutocrats who are hiding behind their own technologies.


')

Source: https://habr.com/ru/post/357664/


All Articles