4 ms·
I feel like the degenerate case is the happy path for basically any sorting algorithm: the computer doesn't need to do work. That'd make the leftmost skewer in
by nrr 2y ago
I feel like the degenerate case is the happy path for basically any sorting algorithm: the computer doesn't need to do work. That'd make the leftmost skewer in the Wikipedia version of DRAKON quicksort perfectly fine.
As far as recursion is concerned, consider that DRAKON has exactly the expressiveness of assembly language. For environments where modified condition/decision coverage[0] is important (where analysis of branches at the object code level is commonplace), recursion is very likely undesirable, so not having a good way to express it is probably more a feature than a bug.
The only seemingly verifiable claim I can find to DRAKON's lineage in aerospace has to do with the Fregat upper stage[1] (though, I don't read Russian beyond an elementary school level, so I don't know what is actually said here), but given what I know of DO-178B and applicable NASA standards for safety-critical systems, it'd make sense to have DRAKON as part of the tooling.
0: https://shemesh.larc.nasa.gov/fm/papers/Hayhurst-2001-tm210876-MCDC.pdf https://shemesh.larc.nasa.gov/fm/papers/Hayhurst-2001-tm2108...
1: https://www.laspace.ru/upload/iblock/db0/db01beb741f3e811d58abadbb4fae34a.pdf https://www.laspace.ru/upload/iblock/db0/db01beb741f3e811d58...
- cyberax 2y ago> The only seemingly verifiable claim I can find to DRAKON's lineage in aerospace I've been extremely annoyed by DRAKON cultists since 2005 (no, I'm not joking). They were basically claiming: "We have a tooling so powerful that it's used to produce ultra-reliable software for spacecraft, including Buran". When asked to show it, they replied that it's all super-secret. "Buran" is a Russian "Space Shuttle", btw. Back then, my parents were still working in a factory that produced some of the "Buran" components. So I asked them to try to get me in touch with software developers who might have worked on anything related to "Buran". They got me in touch with a couple of developers responsible for parts of software in the ground monitoring system, but nobody heard anything about DRAKON. So it might have been used somewhere, but it certainly was not super-important. Since then, DRAKON cultists have not produced anything significant worth of value. The largest project is, probably, the editor. And if you look at it, it's just a bunch of scripts where Drakon doesn't add much clarity. You can also see that their tooling has zero practicality, it makes any sort of collaboration impossible. Drakon files are binary and can't be diffed sanely.
- nrr 2y agoForgive me, but I'm left scratching my head. I can't find where I mentioned any of this. Buran's cancellation predates (given my limited command of Russian, what I think is) the first evidence of DRAKON's production use in the engineering process for avionics systems by almost a decade. Nowhere did I bring up that particular orbiter. I'm also unsure where I wrote that DRAKON by itself is machine consumable. I'm only familiar with it as a pattern language for drawing diagrams, and that's the extent of my experience with it.
- cyberax 2y agoRussian Wikipedia details the claims: https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E... You can do machine translation for the article, it's not bad. It also details claims that it's an actual programming language (what we call now "no code"): https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D#%D0%A4%D0%B8%D0%BB%D0%BE%D1%81%D0%BE%D1%84%D0%B8%D1%8F_%C2%AB%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%B2%C2%BB._%D0%9E%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D0%B0 https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E.... > I'm also unsure where I wrote that DRAKON by itself is machine consumable. I'm only familiar with it as a pattern language for drawing diagrams, and that's the extent of my experience with it. The cultists claim that it IS a machine language. I don't mind it as a documentation language for simple algorithms, but it's not what they claim.
- nrr 2y ago"The cultists claim that it IS a machine language." Cultists? I'm still left scratching my head as to how this is relevant to my comment. I wrote about the Fregat upper stage, DRAKON's expressiveness as it relates to recursion with an example of an environment where it might be undesirable, and how the implementation of quicksort shown on Wikipedia is "perfectly fine." Where are the cultists there?
- troupo 2y ago> The only seemingly verifiable claim I can find to DRAKON's lineage in aerospace has to do with the Fregat upper stage It's not verifiable. It's once again co-authored by Drakon's author, and there is no other independent confirmation that any of his claims are true. On the contrary, the main Drakon discussion forum has multiple threads and discussions trying and failing to even produce the simplest algorithms in Drakon. Much less anything as complex as aerospace requirements. Drakon's author himself repeatedly fails to answer any questions about how to implement stuff in Drakon, and only answers with pseudo philosophical demagoguery. The only notable software produced for Drakon is Drakon Editor https://drakon-editor.sourceforge.net/ https://drakon-editor.sourceforge.net/ which is essentially a UML editor with code concatenation
- nrr 2y ago"The only notable software produced ... is ... essentially a UML editor ..." Yes, correct. It's a CASE tool, at least when you have a computer to assist with using it. For harder-hitting software applications, I never took much stock in using it as much more than a better way to diagram out the basic blocks when analyzing the disassembly of something, and I'm usually doing that by hand, without computer assistance. More broadly, I never expected much from my CASE tools actually generating code for me: the scaffolding was possible, but any sophistication beyond that just never materialized. That ship sailed right around the turn of the millennium, and none of what DRAKON does innovates on that. "It's not verifiable." Thanks. I always figured that a lot of this chaff was just marketing.
- troupo 2y agoThat's why I can't believe it keeps appearing on HN's front page :D
- badsectoracula 2y agoI'm pretty sure 60% of the reason is that it has a cool name :-P. The rest 40% is that at least the part you can easily see, like the comparison between arbitrary spaghetti flowcharts and much more tidy looking DRAKON flowcharts, do look convincing enough. Since 2-3 years now there is even a web-based editor you can play around with, which adds to its shareability. Of course its mystique association with the USSR space program also helps despite supposedly all being classified (which, if anything, adds to the mystique), but IMO even without those, the cool name would do enough to be shared :-P.