palou said:
Zkuq said:
Also, machine learning is cool, C++ and Python are not (in my opinion - I don't want to start a war ).
|
Just a question - why don't you like them? Python has huge libraries, giving you easy access to more complex procedures, and c++ is pretty straight-forward, a good language if you want to do the nitty-gritty and understand it fully, in my opinion... I'm actually slightly pissed that I have to use Java in my new course - what's the advantages?
|
I don't like Python mainly because it's dynamically typed, but I'm also not a fan of how whitespace has grammatical meaning. It's fine in languages that don't have long blocks, but with long blocks, it's too easy to mess up with it. The errors resulting from incorrect indentation are easy enough to fix, but they're still annoying. As for C++, I don't like it mainly because of its ridiculous include system and because there's so many different build systems/project formats for it. I like writing platform-independent code where possible, and C++ makes it much harder than it needs to be. Also, it's a huge and complex language.
I realize they both have their good sides, especially in the form of having a ridiculous amount of libraries and support available, but I'd rather avoid them if I can. The thing is, I'm not really happy with any language right now. Rust is probably my favourite, but I'm still fighting with the borrow checker, so I consider it a bit hard to use. Also, because of the ownership system, apparently it has problems with cyclical data structures (IIRC). I also like C# quite a bit, but it doesn't work that well for platform-independent software. I also like functional programming right now, but forcing everything to be immutable makes some things either unnecessarily hard or probably too inefficient.
As for Java, I think it's like C# but much worse. I sort of like the language though, it's just that if feels pretty limited.