Math is going to perpetually be the downfall of most morons wanting to computer science.
I’ll die on this hill.
If you want an easy language for beginners, Ruby is a much better alternative. It’s like a simpler Python, and aside from a crazy loop syntax teaches clean programming principles better than most languages.
With that said, Rails IS a ghetto, and many of the kinds of companies that use Ruby as their main language are stuck in the past or are full of the biggest toolbags you’ll ever meet. DHH, in particular, built a reputation on being a programming contrarian, so much so that there’s a golden rule where if he says something, the opposite is probably the correct choice.
Who is DHH?
Sure python may be easier to learn, but it makes learning actual programming more difficult. Ever since the CS department switched to python, my workload as a computer systems TA has doubled.
I learned Python after I already knew C, and I will forever be grateful for that.
I took an Operating Systems class in undergrad whose first assignment was to implement a simple web server in C, and it was fine. Later, I took the same prof’s grad-level class and had to do basically the same assignment again, and all I could think was “wow, this is incredibly tedious: this whole thing would be literally two lines of Python.” Python absolutely ruined my patience for writing C (or at least, for writing C socket code that has to manually juggle IPv4 and v6
struct addrinfo
s and whatnot).Everybody hating on Java being the de facto language every student learns first (at least back when I was in university) but I think it’s actually a great first language while I don’t think python is for one simple reason: it has types but tries to hide them from you. It is soooo important to understand types early though.
Java was my first language over ten years ago. I haven’t touched it in a decade (I’m mostly a hobbyist). I am grateful that I had to type all that shit out, and grateful that I don’t have to anymore (I’ve been using python since then).
I just recently helped a younger friend with their Java homework. I had to Google the syntax, but otherwise helped them ace it. I’ve mostly used Python since then, but learning java gave me such a good base of the fundamentals
The main problem with Java (or garbage collected languages in general) as a first language is needing to unlearn the bad habits it ingrains when you move to a systems programming language with manual memory management. Other than that it’s a pretty good first language, though I’d suggest learning a bit of C at the same time just to get a basic grip on things like pointers and stack vs heap.
Strictly-typed languages are the BEST for learning programming. I also like Java for it because there’s a difference between int and Integer (forcing you to learn about objects)
Sure, python is easy. But have you tried package management in python versus other languages?
I remixed the meme: https://lemmy.world/post/19849935
This exactly how learning Python is like.
handing my friend a screwdriver
“You can use this for simple crafts and home repairs”
Me, backing away from the screwdriver in terror
“Nice try, but I know what that is. They use that thing to build the Space Shuttle.”
are you sure python is a screwdriver? Its not the all new AI-driven Smart screwdriver that requires an account, wifi connection, and for you to input the name of your project before you can use it?
Yes.
alright, if python is a regular screwdriver, what is C? a single iron filing?
screwdriver that’s awkward to hold
Two sticks you can rub together.