4 ms·
Julia's main focus is on scientific computing. Basically think of it as a Matlab or Python + Numpy or even a C++ replacement for numeric computing. A lot of th
by 4thaccount 8y ago
Julia's main focus is on scientific computing. Basically think of it as a Matlab or Python + Numpy or even a C++ replacement for numeric computing.
A lot of the libraries are focused on optimization, differential equations, statistics, matrix operations...those sorts of things. It doesn't have classes in the way you would probably think (not really an OO language).
- hawski 8y agoGo and C do not have classes either. If it's a bit comparable it would be a plus for me. I'm mainly a C++ programmer by trade by I don't enjoy it and in my free time I use mainly C with some shell glue and some Go. I read that their focus is on scientific computing, but I feel that there is a growing effort to expand Julia's use cases. Also I think that some end user applications could gain a bit from optimized statistics or matrix operations.
- 4thaccount 8y agoAh, yea if you're ok with that then great. I like it myself. A lot of folks are dismayed by that though. I find that the language itself has the ease of Python with the performance of a language with static (or is it strong?) types, JIT, and a design focused on performance. The REPL functionality and package manager are pretty good too.
- Tarrosion 8y agoAs far as the language goes, Julia is absolutely awesome for general purpose work, including web development, scripting, glue language, etc. The associated libraries are, unfortunately but understandably, less well developed than counterparts in other languages. E.g. right now I'm happily using AWS[Core/SQS/S3], which are highly functional community developed AWS packages, but they're definitely less full featured than boto3. My impression is this situation is common for a variety of web and database packages.
- gugagore 8y agoI'm not sure if you're suggesting that an "OO language" is a better match for web development, but in case you love some of the OO features like inheritance of fields, you can check out https://github.com/rjplevin/Classes.jl https://github.com/rjplevin/Classes.jl
- 4thaccount 8y agoI think OO or FP probably works best for enterprise apps. I don't see it as necessary for a lot of scientific apps though.
- pjmlp 8y agoMultimethods are OO.
- 4thaccount 8y agoPolymorphism yes, but there is no class structure to combine state and behavior. I suppose OO is pretty subjective and I should say most folks wouldn't consider Julia to be OO in nature.
- pjmlp 8y agoSure there is, by changing struct fields content upon a multmethod dispatch. There are many ways to do OOP. I advise to read the "The Art of Metaobject Protocol".
- 4thaccount 8y agoI respect your lisp skills, but isn't what you're saying that "sure a tank can fly...you just need really big wings and and a giant rocket engine strapped on the back"? I'll agree that you can hack on your own object system, but aren't you essentially towing a yacht with a Honda Fit? Or do I misunderstand?
- pjmlp 8y agoYou misunderstand. There are many ways to do OOP from CS point of view, be curious, learn them.