3 ms·
I use Julia extensively for scientific research. It's such a great language though that I wish I could use it for more than that. I find that writing Python c
by Xcelerate 11y ago
I use Julia extensively for scientific research. It's such a great language though that I wish I could use it for more than that. I find that writing Python code irks me after programming in Julia for a day.
I almost feel like there should be two versions of Julia: a commercial version that focuses on stability and is usable in production systems, and a scientific version that undergoes constant revision/feature overhaul to produce the best programming language for numerical computing.
- sgt101 11y agoI've been messing about with Julia for a couple of years, I did a few tech talks about it at work and wrote a few side projects in it. At work most people agreed with the technical insights - it's just a super language, but everyone thought that it was impossible to use it in any real project and very quickly discarded it even as a hobby tool. The clue is / was in the versioning - 0.3; 0.4 now 0.5. Things are broken and major things will change. I think that this is really good, and important. Getting Julia right may really matter in the future. Code that costs less to write, runs faster and is easier to maintain is an underpinning capability for our economy and for science. Julia could be a huge enabler. Having said that I find myself having a meltdown over 0.5 (specifically I had a tantrum yesterday when everything broke). I wanted to do some stuff on a private laptop so set up an env under windows. I jumped versions from 0.3.9 to 0.5.3478 because - why not? I'd also been using a 0.4 dev version sometimes, it worked ok but there was one issue that made me normally run 0.3.9 which was fine. However, Atom couldn't cope because HttpServer is @unix_only (whatever the that means, even the complier didn't know, it just said "documentation error")... I had about 100 compile errors in my code due to "' ' not allowed before '(' in foo (bar, bee)" but ok I just fixed those, one of the things that attracted me to Julia was whitespace liberalism, a minor irritation with Python, I find it easier to read code with a bit more whitespace. The trip wire was that I got the same thing from dependencies - like DataStructures.jl This is intentional by the devs (I put an issue on GitHub and it got closed with that note). I do like "lets get it right", but even as someone just messing about with prime numbers in the evenings I can feel the pain of anyone who is trying to do more significant things. On the other hand a fork like the one you describe is going to be bad - Python 2/3 bad, and Julia is in no way as established as Python was when it had it's fork. The consequences are that the stable libraries are going to have to focus on the stable build and the problem is that at that point the dev version is irrelevant. For Julia that is a big problem. There is a lot to do in terms of developing the core infrastructure in the language, see the idea of a registry in 0.6 or shrinking base and having a standard library for example. I do think that there is a worry that in covering off all cases and requirements the lovely simplicity of Julia may get diluted, the registry is especially a worry here because dealing with config files and issues is one of my bugbears and I was hoping Julia would stop this nonsense by "just use Git". Still - I picked up Java at 0.7 and it really became useful at 1.4 Julia is on a much better trajectory already!
- pjmlp 11y agoI wonder how you managed to have public access to Java 0.7, internal Sun releases?
- sgt101 11y agoDo you know, I simply don't remember - maybe it was 1.0, but I have a feeling that I downloaded a beta and was overjoyed at being able to scrap all my hoaky c++ sockets / CORBA code and reimplement in something amazingly easy called RMI ! Not sure why I thought 0.7, perhaps I was wishful thinking wrt. how much change happened in early Java, but I think that the conventions of version numbering hadn't settled in the same way as they have now.
- pjmlp 11y agoThe public release was 1.0, quickly followed by 1.0.1. I also shared the same feeling, given the chaos of writing portable C++ code back then.