Live data from Hacker News

Tips for stable and portable software

begriffs.com

61–63 of 63 posts

Re: Tips for stable and portable software

#61
post #2

> Tips for stable and portable software I think a more accurate title would be "Tips for stable and portable C programs"

The author lists a number of languages considered stable, C being one of them because of widespread support and portability. Java isn't portable for example because it depends on the JVM (and I know GraalVM is a thing but will you still be able to use it in ten years?).

The JVM has multiple implementations across a huge range of architectures. Java is managed by a standards process.

Once excluded, the article goes into depth on a range of things that one could argue Java specifically addresses and in a better, more portable way.

One could argue about GUIs, but the portability of GUIs is not just a Java/Swing problem.

Re: Tips for stable and portable software

#62

Earlier quoted context omitted.

The author lists a number of languages considered stable, C being one of them because of widespread support and portability. Java isn't portable for example because it depends on the JVM (and I know GraalVM is a thing but will you still be able to use it in ten years?).

Show me a JavaScript developer that cares deeply about POSIX or the operating system they are running on. And what about Windows? It is still used on 80% on all computers? So why is POSIX essential?

Haven't done much work with servers I take it.

Almost any OS running on a server is going to be POSIX, probably Linux or BSD.

Re: Tips for stable and portable software

#63
post #5

One day, maybe when I am retired, I am going to develop a programming language-agnostic algorithm specifying language with which you can generate code for programming languages ;-). A kind om Mathematica, but than for software.

> programming language-agnostic algorithm specifying language with which you can generate code for programming languages That's just a programming language tailored for transpilation, no? Theoretical computer science shows us there is no 'one true representation' for algorithms.

I have to admit that I was little joking about this. But I do think it is possible to specify an implementation of how a complex operation can be achieve by combining more primitive operations. With digital computers, data is usually represented by certain representation of bits. An operation is usually defined on these kind of representation. Think for example of an operation for adding two numbers in a certain representation, resulting in a result with a certain representation. In computers, two most primitive adding operations are usually adding modulo some power of 2. But with these, we can implement adding for much large numbers (also using other kinds of operations and/or intermediate storage).
Post reply on HN