What language would you recommend for "hobby", non professional programming education?

What language would you recommend for "hobby", non professional programming education?

Ruby, Python or Go?

Writing general purpose programs, solving puzzles, such simple hobby programming.

Ruby.

Golang is not appropriate for beginners. Python and Ruby are.

But between Ruby and Python, Ruby is far superior.

From a language perspective, both languages are very clean and beautiful. With that said, however, a fairly large majority of the people I know who have coded in both prefer Ruby syntax.

From a beginner perspective, there is usually no better advantage than rapid prototyping/debugging. Between irb/rails console, and tools like rspec and capybara, ruby (and rails, if you feel like using it) definitely fulfills this role.

I would also heavily argue with the comment made by James Endicott that "Ruby on Rails has some great uses as a web framework (there's no other reason to learn Ruby)." Ruby is the most elegant mainstream programming language, it manages to mix imperative, OO, and functional syntax perfectly (making it a great introduction to all three), MRI is continually getting faster (Most benchmarks place it ahead of Python (Ruby vs Python 3), although, honestly, neither of them is going to come anywhere close to C), and at this point, I can think of no reason not to learn it. If you care a lot about speed, you can use JRuby, which runs several times faster, but has higher memory usage.

That said, there is one advantage of Python over Ruby. If you are looking to code something related to mathematics or science, python has some very nice libraries (like SciPy) associated with those things.

Out of the three listed, Python is the

- easiest to learn
- easiest to debug
- most general-purpose
- most used/ has the largest community

Also, get Python 3 (not 2.x)

Thank you.

if you want to churn some quick shit - go python 3.
If you want to cum at every single line you write - go haskell, it's too fucking perfect.

>- easiest to debug
python has a lot of good points - but this is a plain lie.
It has some evil quirks inside its object system that will drive you mad. I generally agree with you though

Object pascal in Lazarus for using winapi

Avoid go if you don't want to write dozens of
if err != nil {
return nil, err
}

or variants thereof, and if you don't want to write function signatures multiple times because you use interfaces for testing, or if you don't want to have to copy-paste code because you need abstractions. I've written 2000 lines for a hobby project in go and I kinda regret it, I wish it were python, ruby, perl6 or even erlang.

english

Python and Ruby both fulfill very similar roles and both will do the job fine but Python is a lot more popular, so I would go with that.

I'd recommend python

C# in any way. Got beside to Java the best understandable syntax and you learn it very fast.

learn any C language and you propably master every language

Ruby would be the most pleasant language for a hobby, it's a language designed to make programmers happy

>most used/ has the largest community
This is the only true statement of your post.

They are all crap for that.
Pascal is still the best tool for education.

I wanna fuck her...

I want you to die, pedo scum

python

Python by far.

Nim

Google is insane with their error handling. I had to remove a ton of exceptions from legacy third party C++ code while I was there. A bunch of functions that were something like so:
int doSomething() {
if (uncommoncondition) {
throw IncrediblyRareException;
}
return whatever_value;
}

Would get refactored to something like:
statusOr doSomething() {
if (uncommoncondition) {
return status::failure;
}
return whatever_value;
}
and then gradually update all their calling methods.

It was complete shit and only made the code harder to read. Hilarious that they built this exhausting behavior into golang (which I never got a chance to use there).

cotd.
The result was that every call of doSomething() would go from:
int val = doSomething()
to
StatusOr val = doSomething() and the error checking was much more tedious. Plus it didn't work in constructors so you had to change constructors to do nothing and then add an extra StatusOr Create() method on top of that.

The most useful from these languages is python, simply because there is a lot more documentation for it and because it is used much more often.
But as for languages good for beginners I would suggest prolog or scheme.

Python is the best choice if you want to just start doing stuff with tutorials and not waste time reading books. Its a good 'black box' language that you can use without understanding how it works and just get by using the docs.

If youre the kind of person who needs to understand how something works before you can start using it then learn Ruby.

I wish Javascript was a general purpose scripting language but its not and Node does not qualify as a general purposes standard library.

If you are a complete and total geek then learn Perl.

this is incredible stupid.

If you want to go full ADTs it should return status::value(whatever_value).

Malbolge

Crystal

Why not 2.x?

python 2 is going into ded language territory

Noted. Thanks.

The whole thing is stupid because returning a status is silly because 99.99% of the time it's success. This is why exceptions are called "exceptions."

whatever your friends know
whatever your friends know
whatever your friends know

ruby's 21 now, it's okay!

My nigga

>friends

this

same here user

C is the only real choice.

Ruby is quite nice but Python has a LOT of libraries that will let you get quick results.

Go suckless is cancer.