5 ms·
Please let me join this thread with an ad for Ada, which belongs to the same family: While I appreciate work on Modula 2, I'd like to point out that Ada (and i
by jk4930 11y ago
Please let me join this thread with an ad for Ada, which belongs to the same family:
While I appreciate work on Modula 2, I'd like to point out that Ada (and its subset Spark with a focus on verification) already fulfills the project's goals (correctness, safety, reliability and readability).
Plus it's battle-proven (literally) and ready to use. There exists an open source version with the GNAT compiler and it's part of the GCC (and AdaCore is really into FOSS). The literature is sparse but high quality. Programs are usually of good quality and require fewer developers (compared to C++). Real-time, embedded, systems, high-integrity, concurrent, distributed programming -- it's all there. It's suitable for large, long-lived projects.
http://libre.adacore.com/ http://libre.adacore.com/
http://www.ada2012.org/ http://www.ada2012.org/
http://spark-2014.org/ http://spark-2014.org/
- mhd 11y agoThey still have the runtime under the GPL, right? So you'd have to pay for the Pro version to distribute non-libre binaries.
- pekk 11y agoYou probably know better, but I want to dispel some misunderstandings this post might unintentionally create. I am not a lawyer, nor am I associated with FSF, nor am I associated with AdaCore. Using a compiler licensed GPL does not mean that you have to release your software under GPL or a compatible license. As far as inclusion of runtimes into binaries, gcc has the "GCC runtime library exception" so that binaries compiled with its runtime don't have to be GPL-compatible. And FSF versions of GNAT have something comparable, via the "GNAT-Modified GPL" which also has a runtime exception. AdaCore is not FSF, it's a for-profit software company. If you are talking specifically about AdaCore compilers, it seems they intentionally removed their runtime exception as an incentive to buy AdaCore GNAT Pro, if you want to use their compiler to release commercial software. So I guess if you insist on using AdaCore compilers, AND you want to make money on your products, you will have to pay the company whose product you are using to make money. If AdaCore chose to release their teaser/free product under a proprietary license, I suspect nobody would be complaining about GPL here. They just happened to make the free product available under GPL.
- mhd 11y agoI obviously don't know better, which is why I was asking a question. Not being a lawyer, all those exceptions and their conditions are a bit hard to parse… And, well, they basically have to offer the GPL version, as they're based on GCC. Same as NeXt/Apple did with objective-c, same as Sencha did with ExtJs, if I don't mix legal terms up here, too. And like the latter, it's aimed at enterprises, so there's quite often a huge jump between doing an app for free and paying for the compiler. Heck, there's not even a publicly available price, which puts this more into Oracle's territory… Which is fine for corporate environments, where more figures on the bill is actually a bonus for managers (for lack of better knowledge, money == quality). Or when Ada is actually mandated. But for small-timers, it's a hard sell if other related languages would be available -- which this thread is all about. It definitely seems more in the K/APL territory regarding the price structure than e.g. freemium 3D engines.
- Avshalom 11y agodepends. If you jump onto debian and do apt-get gnat you'll pull down the FSF distribution. The FSF standard library/runtime is under the GNAT-modified gpl which is basically the LGPL and you can use it commercially. I think it's usually about 18 months behind Adacore's version but the standard library is very mature so it's not actually an issue. Much like there's no real problem using an older C standard library on Debian Stable or RHEL. It hasn't been updated for the recent gnat-5 release but more info here: https://people.debian.org/~lbrenta/debian-ada-policy.html https://people.debian.org/~lbrenta/debian-ada-policy.html