24 ms·
Don't want to be off-topic but just wanted to share the info about a Modula-3 project hosted at https://modula3.elegosoft.com/cm3/ https://modula3.elegosoft.com
by brakmic 11y ago
Don't want to be off-topic but just wanted to share the info about a Modula-3 project hosted at https://modula3.elegosoft.com/cm3/ https://modula3.elegosoft.com/cm3/
They've also moved their sources to GitHub: https://github.com/modula3/cm3 https://github.com/modula3/cm3
- jk4930 11y agoPlease 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
- mhd 11y agoIs there some actual longterm activity there (roadmap, more than 1-3 contributors)? Modula-3 was quite exciting in the 90s, but never quite took off and then Java practically ate its lunch. I'd love to see it resurrected, and moving to LLVM seems like the right step.
- brakmic 11y agoRegarding the GitHub-release activity the project is still alive and producing binaries for different systems. https://github.com/modula3/cm3/releases https://github.com/modula3/cm3/releases
- amyjess 11y agoI would dearly love to see a full-blown Modula-3 revival. It's one of these old, moribund languages that I have a huge soft spot for, especially since I'm a Pythonista and large parts of Python were lifted directly from Modula-3. I also kind of have a thing for innovative languages that never really took off. Not just M3, but I'm also deeply fascinated by Algol 68.
- brakmic 11y agoI have some problems with compiling the latest sources from their GitHub pages. I'm using Win 10 x64 and don't know if this is a Win-only issue. I'll also try to build it under Linux Mint. Here's my GitHub issue: https://github.com/modula3/cm3/issues/8 https://github.com/modula3/cm3/issues/8 But at least the compiler from 2011 (v.5.9.0) can be directly downloaded and used: https://modula3.elegosoft.com/cm3/ https://modula3.elegosoft.com/cm3/ Regards,
- brakmic 11y agoI'm currently trying to compile the Modula-3 sources from GitHub. It's been a long time since I have done this. I'm fighting with the compiler because it refuses to compile under x64 arch. Also, one must use an older m3-compiler to compile the newer sources. sigh I think I should write a little tutorial for us, 80/90es kids (and older) ... you know, nostalgia, mid-life-crisis etc. ;) Regards,
- brakmic 11y agoHere are the new releases for Windows, Linux and OSX: https://github.com/modula3/cm3/releases https://github.com/modula3/cm3/releases