6 ms·
Julia seems like a nice programming language. Is it still worth learning, though, since ChatGPT can write all software now?
by contemplatter 3y ago
Julia seems like a nice programming language. Is it still worth learning, though, since ChatGPT can write all software now?
- usrbinbash 3y agoPrompt: "Write a software that does exactly what the Product Owner wants. Here is is email *copy pasted email*" The result was...disappointing.
- HexDecOctBin 3y agoAgree. Me think me learn english, but me too think ChatGPT come, then why learn English? So me not learn now, only wait for ChatGPT.
- bryanrasmussen 3y agoBizarro hate Superman, but ChatGPT hate Superman better, that mean Bizarro love Superman!
- gjadi 3y ago> Agree. Me think me learn english, but me too think ChatGPT come, then why learn English? So me not learn now, only wait for ChatGPT. > write above proper english I agree. I thought about learning English, but I also thought since ChatGPT is available, why bother learning it? So I decided not to learn it now and just wait for ChatGPT.
- amval 3y agoIs it still worth posting, since ChatGPT can write all comments now?
- staunton 3y agoIf you know Python, you can learn Julia in a day.
- rsfern 3y agoGenerally agree, but if you write pythonic Julia it can lead to performance issues (in particular for numerical code, which I realize is not the focus of this post). It’s taken me a while to unlearn the numpy/torch style of heavily array broadcasting instead of writing more loops and functions
- UncleEntity 3y agoSo, in theory, someone who’s fairly proficient at python but never used numpy/torch could pick it up quite easily without having to unlearn things? Just asking because I don’t want to start poking at the ML stuff but don’t have any experience/baggage to go along with it.
- staunton 3y agoYou can mostly convert Python code to Julia line by line (in fact ChatGPT can do it, albeit not very well since there aren't that many Julia examples in the training data). Sometimes you have to look up a function that doesn't have the same name. Writing new Julia code is often even easier than Python since you can write loops in numeric code and have good performance (also you have opt-in rigorous type checking which helps define interfaces and catch bugs, an excellent package manager, as well as sane threading/multiprocessing, contrary to Python). However, I must caution against trying to replace Torch within Julia. The Julia ecosystem does not have these huge libraries for neutral networks yet. Building such a thing requires a huge investment (by a company like Google or Facebook) and Julia is not there yet. You can do neural networks with GPU support in Julia (even with extremely fancy autodiff capabilities) but it's not "production ready" in that you will have to deal with the quickly moving ecosystem and probably even end up contributing to it, if you stick with it long enough to build something interesting. On the other hand, if you ever wanted to add a "neutral network term" to a PDE to simultaneously solve and train the network, Julia is the place to go. It's crazy what kinds of modeling you could potentially do with stuff like that.
- rsfern 3y agoYes, I agree with the sibling poster that it’s a pretty straightforward transition, especially without array broadcasting baggage. Personally I think programming in Julia is usually more fun than python, and I think my python code has also benefited from learning Julia as well Maybe I was too broad in my initial statements about pythonic code, because comprehensions for example work pretty much the same as in python, and they are fast. It’s just that if you’re used to mind bending array broadcasting tricks in numpy or whatever, there’s usually a more Julian way to get it done with better simplicity and performance. BenchmarkTools.jl and some of the standard library tools are also really great for getting a sense of what matters
- hsjqllzlfkf 3y ago[dead]