this post was submitted on 06 Jul 2023
77 points (98.7% liked)

Programming

17326 readers
296 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

And yet another time I disagree with pretty much all you've said.

you can do about anything with python.

And this thinking is why we have sloppy running UI with 10000 times the power of devices compared to say 20 years ago (where UI was not sloppy...).

Why sacrifice performance, language ergonomics(!) and write something in python for production? I get why (AI) researchers are using it because it's easy to quickly hack stuff together, and prototype stuff.

But as soon as it's something larger with a bigger team you want to have static typing. because working in a team is pain in the ass with a untyped languages á la javascript or python. Also think about something like IDE tooling, it's so much more comfortable to use rust-analyzer (which I think really is generally the best LSP by now), compared to all the python tooling I tried (and that was a lot...).

Dealing with large projects? Go with C/C++ then ;-) I mean it’s all about architecture.

Sorry, but you sound a little bit unexperienced, I really would suggest learning a few more programming languages, it's not "all" about architecture. The languages/paradigms kind of suggest how you should layout your architecture, e.g. OOP by using classes (unfortunately often promoting the IMHO anti-pattern inheritance) , or functional by composing everything together without side-effects in functions.

C++ is absolutely the last language I would choose nowadays, it's an absolute techdebt mess, promoting all kinds of anti patterns IMHO (I've got roughly 10+ years of experience in it, for context). You really have to have a real good discipline and idea how to write programs to make a reasonable choice in architecture. And if you do it's ugly as hell anyways (using iterators for example is pain in the ass although you should do that). I just default to Rust, it's so much more comfortable than C++ in pretty much every aspect, way better designed language...

Really learning new languages also helps thinking about architectures/laying out your code in other languages, and generally helps improving your technical skill.