martinfjohansen's comments

martinfjohansen | 7 years ago | on: Converting an ILS Localiser Simulator from 1980’s Turbo Basic to Java

Those are good questions, I should have written more about that in the article! I'll give some brief answers:

Regarding the age of the converter: Even though it is new it is thought through. Check out the detailed documentation and technical articles on the website for an explanation. The converter basically deals with floating point computations carefully and in a way programmers commonly deal with them when doing scientific computations.

The reimplemented standard library are methods such as draw a line from point a to b, or draw this text at this point. Draw pixels at a certain coordinate, check if a key was pressed. So, the basic answer is that the functions were quite simple to get right. Had the library been more complicated, it would have been a different story.

Yes, you are right about the 5% edits. I should have added a section on Q&A done after the translation was done. It is of course very important to test code carefully after translation.

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

> You would still need the compiler to be written in progsbase too: is it?

Currently no, but the progsbase language is very simple and contains only well-known constructs. So creating a compiler is very simple, it would take only a few days. This is like the point you make about forth, except forth contains less well known constucts.

> open source

The progsbase specification is also open: https://docs.progsbase.com/

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

As I explained in another response, progsbase is very different from Haxe. Haxe is an independent language. If you use Haxe, then you depend on the Haxe compiler. Progsbase is completely in other languages, meaning the progsbase tools are only support tools which gives you certain benefits such as being able to translate. You code remains pure Java which you develop with Java tools.

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

See the answer I gave maxxxxx above.

Further, progsbase is not a brand new language, it is (mostly) a subset of most existing languages. The selection of the subset is new, but not the contents. This is why the progsbase repository contains examples that can be translated into Java, C, C++, JavaScript, C#, PHP, Python and Visual Basic.

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

The reason the name "infrastructure instruction" was coined for this article is that it includes instructions such as "int", "rdtsc", which do not deal with only input and output, but deal with more complex things inside a CPU, such as timers and CPU privilege levels.

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

The argument was that a program written with proven, solid programming constructs, then it will last a long time. The example language is very simple: It contains things like: +, -, *, /, log, sin, cos, exp, functions, ifs and for loops. These things will not be unexecutable any time soon. These were basically in Charles Babbage's programming language for the Analytical Engine designed in the 1830s, two centuries old already.

martinfjohansen | 7 years ago | on: Software Rot and Classes of Rot Resistance

The removed instructions were binary-coded-decimal instructions, push / pop of CS/DS/ES/SS. These are minor instructions, but if your program used them, that alone means it no longer works, and that was the point.
page 1