7 ms·
Plankalkül
- tevrede 4y agoPlankalkül (German pronunciation: [ˈplaːnkalkyːl]) is a programming language designed for engineering purposes by Konrad Zuse between 1942 and 1945. It was the first high-level programming language to be designed for a computer.
- ho_schi 4y agoC is a pretty name for a language. C++ also. But Plankalkühl is awesome.
- kaapipo 4y agoSo how does that language seem so much more advanced than the ones that came after it?
- nn3 4y agoBecause it was more a theoretical exercise. The later languages were much more constrained by actual implementations. On the other hand the later implementors realized that some convenience is needed, for example even the earliest languages (like autocode) had variable names instead of variable numbers.
- gnulinux 4y agoBecause it says: > Plankalkül was more comprehensively published [vague] in 1972. The first compiler was implemented by Joachim Hohmann in his 1975 dissertation. Other independent implementations followed in 1998 and 2000 at the Free University of Berlin. So it was never implemented until mid-1970s, which likely made its design process less constrained than languages that came soon after it in 1950s etc.
- jandrese 4y agoPart of it was that they weren't bound by the limitations of early computers. Those later languages were heavily stripped down because that was all that could fit on a machine made out of vacuum tubes and mercury delay lines.
- RugnirViking 4y agosomewhat entertaining reading the section about him working on it for months (years?) on his own before entering the formal field and seeing that most of what he was working on had already been developed. Even more impressive that he managed to swallow his pride, draw parallels between his own thoughts on the matter and the research, and then develop novel research.
- Teever 4y agoI don't know too much about Zuse but from what I do know he was far ahead of his time / environment. From my understanding the way his ideas surrounding computer design developed was dependent on the limitations of German resources during the war. As such Zuse was focused on mechanical designs while others in the rest of the world focused more on electromechanical dominated designs. The end result is that Zuse spent a lot of time going in different directions after the war, developing things that seemed to be curiosities at the time but may end up being critical in space exploration. https://www.youtube.com/watch?v=odwgpKRnWM8 https://www.youtube.com/watch?v=odwgpKRnWM8 https://www.iaarc.org/publications/proceedings_of_the_27th_isarc/the_helixtower_by_konrad_zuse_automated_con_and_deconstruction.html https://www.iaarc.org/publications/proceedings_of_the_27th_i... http://zuse.zib.de/assemblyLineSelfReplicatingSystems http://zuse.zib.de/assemblyLineSelfReplicatingSystems
- deleted 4y ago[deleted]
- soperj 4y ago"Some features of the Plankalkül:[22] ... functions do not support recursion" That's not a feature, that's a bug.
- egormakarov 4y agoMISRA-ready!
- kibwen 4y agoWhat mechanism does it use to prevent recursion? To even raise the question seems to imply that it supports function calls, and it's easy for recursion to just kind of happen unless there's a specific implementation detail that prevents it. For example, maybe instead of a growable function stack, every function has dedicated stack space allocated up front, and recursive calls would scribble over the local variables of calls higher in the stack?
- shash 4y agoI know that at least LabVIEW (which is otherwise Turing complete) will throw a compiler error when you try to call a function anywhere within its own code. Actually, being a graphical language with hardly a difference between “function”, “module” and “user interface”, it’s a bit more involved, but it goes through some length to make sure it’s non-trivial without resorting to something like shell scripting to make a recursive call. It doesn’t really have any dynamic programming capabilities as far as I know so a static analysis is probably enough for the compiler. Apparently recursion was deemed “too confusing”… On the other hand, it sounds like Plankakül was more of an intellectual exercise than an implementation, so we don’t know how much extant implementations comply with that spec…
- guenthert 4y agoNot supporting a feature doesn't mean actively preventing you from attempting to use it. It might just have not given the expected result. > To even raise the question seems to imply that it supports function calls Yes, but it doesn't imply a stack or support for reentrance. If the language supports only global (pre-allocated) variables like early versions of FORTRAN and BASIC, then there's no allowance for recursion.
- avg_dev 4y agoWow, this is fascinating. > Plankalkül (German pronunciation: [ˈplaːnkalkyːl]) is a programming language designed for engineering purposes by Konrad Zuse between 1942 and 1945. It was the first high-level programming language to be designed for a computer. Apparently it influenced ALGOL 58 as well. Implementations were made: > Plankalkül was more comprehensively published [vague] in 1972. The first compiler was implemented by Joachim Hohmann in his 1975 dissertation. Other independent implementations followed in 1998 and 2000 at the Free University of Berlin. Here is something about primitive data types: > The only primitive data type in the Plankalkül is a single bit or boolean (German: Ja-Nein-Werte – yes-no value in Zuses terminology). It is denoted by the identifier S 0 {\displaystyle S0} {\displaystyle S0}. All the further data types are composite, and build up from primitive by means of "arrays" and "records". Cool. Also this reminded me - nothing happens in a vacuum: > In 1945, Zuse described Plankalkül in an unpublished book. The collapse of Nazi Germany, however, prevented him from submitting his manuscript. I don’t know what the significance of that statement is and I won’t baselessly speculate, but it sure makes me curious. It also reminds me of some messages I remember seeing from Russian founders in the recent past.
- retrac 4y ago> I don’t know what the significance of that statement is and I won’t baselessly speculate, but it sure makes me curious. Zuse wrote an autobiography, and it has been translated into English -- https://www.amazon.ca/Computer-My-Life-Konrad-Zuse/dp/3540564535 https://www.amazon.ca/Computer-My-Life-Konrad-Zuse/dp/354056... Chapter 5 - Origins of the Z4 - News from the United States - Attempt at a Ph. D. dissertation - Computing machine for logic operations - Final months of the war in Berlin - The evacuation - Z4 completed in Göttingen - Final war days in the Allgäu Early in the war, he got drafted into the army and got a release for his technical work. By the end of the war, he was working on the Z4 to assist calculations for war work at a lab in Berlin. In early 1945, his labs and work were heavily damaged by bombing, some of the machines destroyed. He packaged up what remained physically and shipped it by rail to a town to the southeast. He resumed work there for a few weeks. He then they fled, as many other groups did at this time, to the very south in German-controlled territory that would become part of the American sector. He does write a bit about that period: > Dr. Funk obtained the necessary papers for me, my wife and all my assistants to get out of Berlin. Only a few chose to stay. It was painful for me to leave my parents behind in Berlin. They had supported me all those years. I was able to take the most important papers with me. But what was important? With hindsight I would have known better. On this occasion, too, much of value was lost. > In Gottingen, a relative calm filled the weeks that followed. The Z4 was assembled in the Aerodynamischer Versuchanstalt. We were able to get it running so well that it executed the first program-controlled calculations. While we demonstrated for the gentlemen of the Aerodynamischer Versuchanstalt, including the famous Professors Prandtl and Kuessner -- we could aready hear the thunder of the cannons in Kassel. today we know that we could have been overrun in Gottingen, but at the time no one could have known what would happen. Gottingen could have become a theater of the war, for it was not far from the great underground ordinance factories in the Harz region. Later, Gottingen was occupied by the British. They definitely would have been very interested in the Z4. And we could have been sent to England along with our machine. But this was not to be. > The Z4 was our first priority. Finally we got the "order" to deliver it to one of the underground ordinance factories. The visit there was for us - we were completely accustomed to the Berlin bombings - deeply shocking. For the first time we stood face to face with the inhuman atrocities of the Third Reich. Twenty thousand concentration camp prisoners worked under unimaginable conditions in kilometre-long tunnels. During the retreat from the East, far too many prisoners were assembled together here, and no provisions had been made to assure that there would be enough food for them. After the visit we told ourselves, "Anywhere, but not here!" We asked them for just one Wehrmacht truck and trailer with which to transport the device. > Around the same time Wernher von Braun's team was moved from the Harz to Bavaria; and through General Dornberger we were able to get our marching orders for Bavaria, along with a thousand liters of diesel fuel. For fourteen days we fled along the front, past burning neighborhoods and over bombed-out streets. We usually drove at night; during the day we found makeshift shelter with the farmers. [...] > The night drive through Munich was really eerie: the streets were deserted, the city veiled in darkness, air raids were expected. But nothing happened this night. There was a ghostly silence. We drove straight through and did not stop until we reached the Alps. For the first time in my life, I saw the high mountain region. How peaceful the cloister of Ettal seemed. But we had to push on. In Oberjoch bei Hindelang we finally found temporary quarters, which we shared with Wernher von Braun and his assistants.
- haskellandchill 4y agoI found this, https://github.com/peter-shoes/plankalkul https://github.com/peter-shoes/plankalkul, a Java implementation based on the 2000 modernization by Raul Rojas. And another one, https://github.com/Hovestar/Plankalkul https://github.com/Hovestar/Plankalkul, based on a bachelors thesis, http://www.cs.ru.nl/bachelors-theses/2010/Bram_Bruines___0213837___Plankalkul.pdf http://www.cs.ru.nl/bachelors-theses/2010/Bram_Bruines___021.... This one in Ruby by a GraalVM member has the best examples I think: https://github.com/timfel/plankalkul2ruby https://github.com/timfel/plankalkul2ruby.
- BeenAGoodUser 4y agoVery nice to read! Interesting to see how long those ideas took to go from theory to application. In the "Two-dimensional syntax" section, the first example variable type is "m × 2 × 1 · N" and is described as "list of m pairs of values of type S1 · N", but shouldn't it be "m × 2 × S1 · N" then? Is it a shorthand syntax or just a typo?
- mikeponders 4y agoI saw Zuse's Z1 computer on the Museum of Technology of Berlin and I was astonished. Truly a work of art. He was the real world equivalent of WWII scientist characters that you find in comics.
- gallier2 4y agoHe appeared also several times in TV in his late years and it was always a delight. He was more a painter as a scientist in his late years but always funny and very nice.
- dang 4y agoRelated: The “Plankalkül” of Konrad Zuse: The first high level programming language - https://news.ycombinator.com/item?id=26593656 https://news.ycombinator.com/item?id=26593656 - March 2021 (1 comment) Plankalkül: The First High-Level Programming Language and Its Implementation - https://news.ycombinator.com/item?id=23364898 https://news.ycombinator.com/item?id=23364898 - May 2020 (1 comment) Antedating “datatype” all the way to Plankalkül (2017) - https://news.ycombinator.com/item?id=18975279 https://news.ycombinator.com/item?id=18975279 - Jan 2019 (2 comments) https://news.ycombinator.com/item?id=14406853 https://news.ycombinator.com/item?id=14406853 (May 2017) Plankalkül - https://news.ycombinator.com/item?id=10909784 https://news.ycombinator.com/item?id=10909784 - Jan 2016 (14 comments)
- jaspa99 4y agoThe first computer and high-level programming language were invented in Germany. What took place between this time and the present which made Germany much less of an innovative place computer/software-wise?
- codethief 4y agoI think we were busy recovering from a war that we had started for 10-20 years or so. :) I guess by that time it was hard to catch up. Also, many of our scientists had left for the US during the war.
- actionfromafar 4y agoAnd "encouraged" to go to Soviet lands, too.
- flohofwoe 4y agoMore like hijacked: https://en.wikipedia.org/wiki/Operation_Osoaviakhim https://en.wikipedia.org/wiki/Operation_Osoaviakhim
- actionfromafar 4y agoCities laid to waste and the partition of the entire country into two, as well as prosecution and murder of much of its population, and a good chunk of the rest sent to die in the Army, in no particular order.
- kybernetyk 4y agoGerman society which values security over risk taking and adds a shame component to failure.
- em-bee 4y agothat's pretty much every society which doesn't have an immigration history like the US.
- realworldperson 4y ago[dead]
- vt85 4y ago[dead]