One of the co-founders of Nanosoft CJSC,
Dmitry Popov , wrote a note from the CAD series in Russia series on facebook ... It is clear that this is biased, without pretending to historical accuracy. But it seemed to us that it was interesting and quite suitable for Habr for the Friday mood: someone would learn something new, someone would remember, and someone would understand that it was not Gods who were burning pots. Sharing a note in “as is” mode ...

From the author
Some time ago I was asked to write about CAD in Russia for one independent portal, but the natural laziness and the fact that this task was of low priority led to the fact that not a single line had been written for several months. What you are reading is not a statement of facts at all, but rather it is very subjective, with a certain amount of fiction, memories and reflections. Perhaps with a slight prokhanovsky aftertaste.
Russia is the birthplace of elephants
Least of all, I would like these notes to be perceived as another argument in the senseless and stupid dispute between those who believe that Russia is so harsh that it can bite Europe, and gobble up America for dinner and those who believe that nothing good has been created for us, all that is done is done poorly and our hands do not grow where all progressive humanity has. This dispute has no more grounds than a dispute between “physicists” and “lyricists” in the USSR in the 60s of the last century. Don't you even know about the existence of such a dispute? That's what I'm talking about.
')
Let's start with the “prehistoric times”, when even the parents of the generation of “iPhones, iPads, diapers” were themselves in diapers and sliders. Back to the USSR!
If someone thinks that CAD has appeared in Russia thanks to Autodesk, which began selling AutoCAD to dark Russian engineers shortly before the collapse of the Soviet Union, then this is not so. Not at all. CAD, like sex in the USSR was, and was very serious. But it was not at all such a CAD system as we know it and love it now. There was no interactivity in it, almost completely. What remains? That's right, calculations, automated calculations. And the main idea was to optimize everything, starting from the efficiency of using computational resources and ending with the optimization of the design of the designed product.

Graduates of technical universities throughout the country developed programs that theoretically were to become components of large CAD systems. For example, the author of these lines wrote as a diploma some kind of APT, working on MINSK 32 and issuing a control program for a CNC machine. O unforgettable chatter of a perforator! It was by no means a prestigious capital university, and this meant that CADs were doing quite a lot to themselves, the 70s were coming to an end, and then the USSR did not even begin to fall apart before our eyes, like a leper at the last stage of the disease.
Not everything contributed to these activities, there were no graphic displays, not that at all, but practically. Well, there were nowhere massively at that time, but especially in the USSR. And here we come to the memories of the future. So the USSR was in the state of somewhere 8-9 stages of international sanctions, by analogy with the current situation. All computing equipment and software fell under the so-called prohibition of COCOM. That is, these technologies could not be sold legally in the USSR. Legally. If you can not, but really want, then there are special services for this. Therefore, all the necessary equipment just in those ministries where it is by no means, from the US point of view, should not be - in the Ministry of Medium Machine Building (nuclear weapons), the Ministry of Aviation Industry (missiles and airplanes) and further down the list. Of course, at a higher price, but “after all, we all need one victory, one all, we will not stand up for the price”. To the note - the sanctions really hit not on those for whom they are designed, but primarily on those who have nothing to do with. Civilian casualties, so to speak. But in war, as in war ...
The arrival of computer technology from the USA in a roundabout way in the USSR was classified, so it was not in universities that trained engineers for unclassified sectors of the national economy and they used to drag decks of punched cards in their portfolios in the old manner, took a turn to complete their tasks and were happy when they managed to agree with operators on admission to the night shift. Exactly the same situation was with graduate students. And with scientists ... Want a future like that?

But everything in life has two sides, yin and yang. The full yang of the CAD position in the USSR gave rise to a completely unique generation of developers, although his subsequent fate was not at all what they wanted. For many, reality has surpassed the wildest dreams, but for others ... But this is life, not a Hollywood blockbuster, who said that everything good should be good in the end?
Let's go back 30 years. Can you imagine that you are debugging a program with an iteration in one day? And that is exactly what happened. Can you imagine that the program should not even occupy megabytes, but kilobytes? That the program should decide for itself what choice of possible options to do, and not ask for hints from an engineer, then there is no interactivity? Former engineers, and now programmers understood that without serious mathematical training they simply have nothing to do here. In addition to the deepening of discrete mathematics, they tried to constantly expand their mathematical horizons in search of the holy grail to solve everything. Variational calculus, the theory of fuzzy sets, the construction of specific algebras for modeling production processes, the theory of artificial intelligence and much more. This I listed a small fraction of those sections of mathematics that were used in the dissertations on CAD of my friends in the department of a Moscow university. These people were very different from graduates with a degree in CAD now. They were fundamentally different. Some of them resembled Lefty from Leskov's book, they could really shoe a flea - simulate the process of cutting metal when turning on a computer Electronics 60 with 64 KB of addressable memory.
Gradually, graphic displays appeared that emulated Tektronix terminal commands and on a CM4 computer, a seamless Soviet analog of DEC PDP 11, it became possible to work with interactive graphics. Until the end of the USSR remained a few years. And at that time, the first PCs, the first graphic editors, Unix on PCs for advanced users appeared and we didn’t have time to port something of our own, like AutoCAD came from somewhere.
What was our reaction to the first AutoCAD for PC? He looked funny. We understood that drawing something once faster on the drawing board, but if you can use standard elements, then AutoCAD will probably be useful. But this is not CAD. This is not a CAD at all, as it was understood at that time. Where is the real help to the engineer in the calculations, the most labor-intensive part of his work? Where is the search for design options? How can this craft help in the design of the technological process? Pretty uncomfortable electronic drawing board. In general, the reaction of dinosaurs to the appearance of the first mammal.

AutoCAD - , ...
But AutoCAD was not hopeless, it had a built-in LISP interpreter. Well, yes, among us, only those who were turned on the problems of artificial intelligence were familiar with LISP, but this language is extremely simple syntactically and could be mastered in a couple of days. As they said, this is the language for true adepts of AI, because "those who lack their own are engaged in artificial intelligence." In the original implementation from Autodesk, LISP was monstrously slow, falling. It was clear that nothing serious could be written on it. But later, he became exactly the weapon that allowed AutoCAD to trample down competitors in the CAD niche for PCs. And this victory weapon forged for Autodesk two Russian scientific employee by the name of Petrov and ... Petrov.
Petrov squared and Richard Hendyside
In the fall of '89, the Autodesk assault force, accompanied by a circus of trained partners, landed on the territory of the AZLK Conference Center, which was then quite a living factory. This operation was commanded by one of the founders of Autodesk, Richard Hendyside. The queue of engineers, graduate and postgraduate students of technical universities for this exhibition was longer than to Lenin's mausoleum. For those who have been there, it was the first acquaintance with an interactive CAD system, even if it was poor, but really existing. Displays 20 ", plotters and digitizers and all this does not work with the cabinets CM4 or EC computers, but with a gray box IBM PC, standing on the standard Soviet desk-desk of chipboard. It turns out that for AutoCAD there are already companies that write programs on LISP that extend its functionality to the level of parametric design (Cyco Software), does LISP really do anything? Most inexperienced Soviet engineers were impressed no less than the brilliance of the beads on the Papuan. But some realized that there are great opportunities in this, that you can start writing programs that will use AutoCAD as an interactive graphical editor, and design programs that previously required complex input of arrays of source data will receive them directly from the drawing and the result will also be on this drawing. Here are just LISP ...
One of these developers was Petr Petrov, who worked at a slightly closed research institute to create end-to-end CAD systems for a specific engineering industry. He had a friend, also by the name of Petrov, by name - Yuri. And it so happened that they had previously had experience in developing compilers. In general, they looked at this LISP in AutoCAD and realized that in order to use it for more or less serious applications, it should be able to convert the source code into an unreadable form for everyone (close it), and it is better to compile into directly executed commands . That is, to make a specialized LISP compiler for AutoCAD. The idea is no better and no worse than most of the others born for a glass of tea at gatherings of programmers and research workers. And maybe this is how it remained in the form of a prototype that would exist in the depths of a slightly closed scientific research institute, but everything has already changed in the USSR. There was a joint venture (joint venture) Parallel, which became the first partner of Autodesk. Employees of Parallels translated AutoCAD into Russian and began to implement it.
It is possible that AutoCAD in Russia would not have received such a distribution if it were not for the talent of Richard Hendiside to gather around him interesting people. He believed that in order to sell a product well it was not enough to demonstrate it, it was necessary to teach him how to work. And since Autodesk itself had very few resources at that time, we must look for partners, the more the better, we must expand the circle of those who will help to adapt AutoCAD to local conditions. And he began to help local developers to show their programs at trade shows. For this, Autodesk provided space on its stands to small firms that offered something that helped AutoCAD. These were the manufacturers of graphics peripherals and software complimentary to AutoCAD. In the USSR, it was a program, the iron “Made in the USSR” was not at all advanced. In one of the visits of Richard he was introduced to a pair of Petrovs. At that time, they did not have a complete solution for compiling and executing LISP programs for AutoCAD, but they guaranteed that if they got access to the internal functions of AutoCAD, they could do it in a very limited time. Even if they do not get access, they will be able too, but it will be a little longer.
And then there was this. Richard discussed this idea with other founding fathers and the two Petrovs went to Sosalito, California to bring their decision to release. I must say that by this time they had already cracked the code of AutoCAD and were able to connect the compiled LISP modules directly, but they did not tell Richard about this. All that was required was actually debugging rather than refinement. In general, they did everything in record time and mostly devoted their long business trip to studying the life of the aborigines of Silicon Valley.

,
Perhaps it was the first time that Autodesk paid Russian developers for using their software components in AutoCAD. But the most interesting is that it was not the last contract of Petrov for the sale of Autodesk components for working with AutoLISP. What has been done has provided third-party source code protection. They could now sell their programs written in LISP without fear that the results of their work could be easily copied. The number of AutoCAD enthusiasts began to grow rapidly, and the international community of AutoCAD developers began to emerge. Thanks to the compiler, LISP programs were executed much faster and with their help it became possible to perform quite serious calculations. And two Russian guys named Petrov, each in their own way overcame the beginning of the era of change. Silent backwater, which was the USSR, turned into a bubbling whirlpool of the 90s, when teachers of the departments, candidates of technical sciences in CAD systems traded on the market during their free days, opened cooperatives selling personal computers, canned meat, cigarettes and until the last tried to get at least some - financing of their projects from their home state or foreign companies, but in the end they just left the country, adding to the Russian diaspora at Parametric Technologies, Microsoft, Apple ...
Autodesk Petrovs did not forget, the contract for technical support was not signed with them at the beginning, so they received orders several times to adapt their code for each subsequent version of AutoCAD. I would not be surprised if it turns out that such a lucrative contract for the Petrovs and slightly unprofitable - for Autodesk was made by Richard Hendiside deliberately, because at that time no one in the USSR had any idea how much their qualification actually cost. And so that the three pennies received under the original contract did not become beads for the Papuans, in exchange for which a gold bar was received, Hendiside placed a small bomb under the Autodesk Finance Department, as a result of which the temporary creative team Petrov + Petrov received more and more serious contracts for revision once sold code.
These are my conjectures, but Richard Hendyside is one of the few businessmen with whom fate has confronted me, and who evoked a feeling of unconditional respect as a person, so it is possible that everything was just that.
VisualLISP or Petrov returns
The amazing thing about this story with Petrov and Autodesk is that it did not end with the advent of a software interface to AutoCAD in C, AutoLISP survived. Even the transition of AutoCAD from DOS to Windows and the use of a large number of tools available in Windows did not turn LISP into a relic of the past. Too many AutoCAD developers and advanced users are hooked on LISP. They learned to bypass the limitations inherent in the implementation of AutoLISP, understood the benefits of the interpreted language, evaluated its flexibility with an absolute minimum of syntax.
Forcing parting with the key founding father, architect of exotic AutoCAD software interfaces: AutoLISP, Diesel and DCL, John Walker did not help rid AutoCAD of all the strange development tools, moreover, they survived to the present. By the way, it's good that Walker did not have time to implement an object-oriented environment for developing applications based on the language with the reverse Polish Forth, instead of C ++, as he intended. This would be a nightmare for developers.

And then, in the second half of the 90s, among the basic wishes of users was the requirement of a modern development environment for AutoLISP. In vain, Autodesk persuaded the developer community to move to Visual Studio, the sins of the past in the form of thousands of lines written in AutoLISP pulled back. And Microsoft was in no hurry to add LISP to the languages ​​supported by Visual Studio. As the song was popular in those days: “I need a hero!” I needed an epic hero who would save everyone - Autodesk from an unusual development of creating a modern programming and debugging environment for the language inherited from the eccentric Walker and users— developers forced to use tools from the past computer age to write and debug LISP programs. Truly “I need a hero!” And Russia responded to this call.
The whirlpool of the 90s tore the creative team of Petrovs into components. Petr Petrov decided to try to realize the great American dream and went to the USA to become another of those Russians who create the superiority of American CAD. This time everything was adult. Was opened the company Basis Software Inc., which dealt mainly with what you think? That's right, she developed a modern visual programming environment on LISP - Vital-LISP! By the way, this was not the only project, moreover, it was actually a side effect, but ... They wanted to make the same foothold that Archimedes needed in order to turn the Earth around. Unfortunately, the bar was set too high, so we would never know what would have happened with CAD if Basis Software had managed to realize its plans.
However, the first component was created - a visual programming environment on LISP, but the money began to run out, funding for the continuation of the project was nowhere to take. And an old friend turned out to be better than the new two - Autodesk saw in the development of Basis Software a solution to all his problems. They bought Vital-LISP, renamed it to VisualLISP and included it in AutoCAD. A huge number of users around the world once again felt comfortable, not only AutoCAD keeps up with the times, but also the old AutoLISP dressed up in the latest fashion from Microsoft.
Yes, Petya Petrov did it again, he again sold his LISP Autodesk. And you say that the shells do not fall twice in one funnel, or that you cannot enter the same river twice. Everything is possible, if Peter Petrov takes it!