5 ms·
"So you have no excuses not to build your CLI tools in Clojure now." Except that the toy program is 25MB and takes multiple minutes to compile...
by me_again 8y ago
"So you have no excuses not to build your CLI tools in Clojure now."
Except that the toy program is 25MB and takes multiple minutes to compile...
- msgilligan 8y ago25 MB almost fits on a floppy disk! That's acceptable to avoid dynamic linking or external dependencies. And that 25 MB is a fixed-cost (a JVM-subset, libraries, etc) and as the app adds functionality the fixed 25 MB cost becomes less as a percentage. It's not viable for built-in Linux tools, etc. But for a custom tool where performance matters, it's a great solution.
- nikanj 8y agoA floppy is 1.44MB, so off by more than an order of magnitude
- msgilligan 8y agoI was being a little silly, but there are "floppies" with capacity up to 240 MB: https://en.wikipedia.org/wiki/Floppy_disk#Sizes,_performance_and_capacity https://en.wikipedia.org/wiki/Floppy_disk#Sizes,_performance...
- msgilligan 8y ago... and the multiple minute compile is only for _release_ builds.
- kodablah 8y agoThat and you are using proprietary Oracle tech.
- kimi 8y agoThe CE?
- kodablah 8y agoYes. It's not like it's donated to the OpenJDK community or anything even though they are going to start shipping with it. It may not affect you and you may not mind, but I personally avoid software owned by that company when I can (which is of course not always). I am also always wary of developer languages/libraries that use the freemium model.
- DannyB2 8y agoGPL + classpath exception seems to be about as free as it gets.
- kodablah 8y agoIf you're responding to my comment about the owner, we cannot tell what the future will hold, we can only judge by the owner's past conduct. If you're responding to my comment about freemium, the concerns aren't the current license of the free version, but the decisions that come about when there is a monetized and non-monetized version. While it's often reasonable in other forms of software, in developer languages/libraries I think it is dangerous to build reliance on anything with that kind of conflict.
- msgilligan 8y agoIt's Open Source: https://github.com/oracle/graal https://github.com/oracle/graal I made a very small contribution (removing 4 incorrect quote characters from some sample JSON code)
- kodablah 8y ago> It's Open Source: https://github.com/oracle/graal https://github.com/oracle/graal Sure. That doesn't change my statement though.
- deleted 8y ago[deleted]
- zbentley 8y ago> Proprietary software is non-free computer software for which the software's publisher or another person retains intellectual property rights—usually copyright of the source code... https://en.wikipedia.org/wiki/Proprietary_software https://en.wikipedia.org/wiki/Proprietary_software
- kodablah 8y agoWhich is the case here for Graal (there are differing definitions of "free"). From your link: > While most proprietary software is distributed without the source code, some vendors distribute the source code Source code available, or even under an open source license, does not change whether it is proprietary. Not sure this is the best place to discuss the nuances of these terms. Essentially, they retain the IP, have shown a willingness to go after those doing things like re-implementing it, and in general should give people pause about using tech owned by them.
- msgilligan 8y agoYou can use it under the terms of GLP 2 w/classpath exception, which is what Google eventually decided to do. I'm not defending Oracle's business practices, just saying that Java and Graal are both Open Source™ and could be maintained by the community completely free of Oracle under the terms of GPL 2 w/classpath exception.
- DannyB2 8y agoIf you are referring to Java, I would point out: Oracle's JDK is based on Open JDK. Open JDK is licensed under GPL + the classpath exception. (eg, the Open JDK is under GPL, but when used as a runtime for other software, then that other software does not come under the scope of the GPL.) There are multiple other sources to get pre-build binaries for the Open JDK without going to Oracle. Azul Zule built for multiple platforms including Linux, Mac OS, Windows. https://www.azul.com/downloads/zulu/ https://www.azul.com/downloads/zulu/ And Zulu for Raspberry PI: https://www.azul.com/downloads/zulu-embedded/ https://www.azul.com/downloads/zulu-embedded/ Open JDK Build: https://github.com/ojdkbuild/ojdkbuild https://github.com/ojdkbuild/ojdkbuild (click the 'releases' link) Adopt Open JDK: https://adoptopenjdk.net/index.html https://adoptopenjdk.net/index.html (offers choice of HotSpot or IBM's Open J9 technology) There's also Red Hat, for free, but you must create an account. And IBM makes their own builds, but they are typically bundled with some other product such as Eclipse, so a bigger download.
- kodablah 8y ago> If you are referring to Java [...] I'm not.
- alain_gilbert 8y agolol, and I thought my 5MB golang binary was huge!
- liveoneggs 8y agostrip it
- alain_gilbert 8y agoI use upx if I don't plan on having binary patch updates. But I wanted to be fair with the article. Well, to be fair with Go, I should say 2MB for an hello world app like the one they have.
- kimi 8y agoThe hello world app has Clojure Schema and Orchestra validators built in, that's not very simple (though you don't see it).