I'm trying to learn C++, but it's hard. I'm thinking about trying to learning something else instead of C++. I prefer programming languages similar to Ruby.
There are a lot of scripting languages out there, but Python comes to mind quickly.
If you want other programming languages that are different than Ruby, but closer to C++, I would recommend Java, simply because there are a lot of resources out there aimed at people of all skill levels (from no programming experience through seasoned veteran).
Perl is fun. And very similar to Ruby.
Some people think that using perl automatically means that your code looks like spaghetti. Maybe for them it does. Perl has a lot to offer for everyone. It has some aspects of imperative programming (like C), some object oriented programming (like C++, Java, C#), some functional programming (like Lisp) and lots in-between (apologies to the many languages that I left out). And if you are really good, bits of your programs might even read almost like an English sentence (it's creator, Larry Wall, is a linguist with an interesting sense of humor). For advanced text handling/munging, I can't think of a better tool. I use Perl regularly for various utilities that I keep around to help me work more efficiently.
Perl doesn't enforce any stylistic conventions (unlike Python), in fact for almost any aspect of perl, "There is more than one way to do it". I believe this is what scares a lot of people off from the language. There may be a perfectly easy way to write a beautiful piece of code, but there may be an equally easy way to write an ugly piece of code to perform the exact same task. Back during the first internet boom, Perl was very popular, but apparently learning to program properly (like writing maintainable code) wasn't.
Getting started with perl is quite easy, as there is no required boilerplate:
print "Hello World!\n";
I also usually prefix my programs with:
use strict;
use warnings;
Which tells perl to be more strict and verbose about potentially programming problems. The book Learning Perl (now in its 5th edition) seems to be one of the more popular ways to learn the language, but there are also plenty of guides on the internet, and Perl itself comes with very good documentation.
For completeness, I should add that I also like Python. As a language, and also from the perspective of third-party libraries (I work with Red Hat/CentOS/Fedora a lot, and it seems like most of the tools and infrastructure are written in Python), Python has much to offer. Contrasted to Perl, Python offers a more rigid syntax structure, and the general trend seems to be toward "there should be a single canonical way to do it". There are strengths to that argument, but remember, everything in moderation, your mileage may vary, etc...
Python is often used as a counter-example to anything Perl. Python's strict syntax rules mean that for most programs, most of the time, your program will be formatted nicely. It's still quite possible to write unreadable code in Python, just as it is easy to write readable code in Perl. There are times (rare though they may be) that Python's rigidity means that you can't format your source code in the most readable way possible.
As always, pick the best tool for the job. And learn lots of programming languages.
Grab the PickAxe book (you can find it online for free but for an older version). Ruby is a pretty good little language and has a VERY good community. Don't give up yet!
Python, Perl and Smalltalk each have several points in common with Ruby, because Ruby's designer was inspired by each of them in some measure.
Why not use Ruby? If you have a specific reason, then you could try Python, Perl, or even Scheme.
EDIT: Lua is also a good option!
I guess your question was What is Ruby like- is it difficult to learn or easy? If that's the question - Ruby is easier to learn than C++ because it is a higher level language in many respects than C++. You have lots of options from the core language and easy to get stuff done. But C++ is more basic and it will enable you to learn a lot of core CS material and better aligned with Java, C# etc.
They're not like Ruby but if you're finding C++ to hard you might try Java or C# they both have similar syntax to c++ and so would be easy to move to from C++.
Learning a dynamic language like Ruby or Python won't teach you much about C++.
The initial fear of languages "being hard" goes away after a little getting used to.
I'm curious, why do you want languages like ruby, but not ruby? Ruby is awesome :)
Maybe Processing? I don't know it very well myself so I'm probably in a bad position to recommend it, but given its graphics/visualization focus I can see it being something that will grab your attention better than writing Hello World command-line apps. The syntax is like the C/C++/Java language family though.
According to the Greenspun's Tenth Rule of Programming, you should take a shortcut - and look at Common Lisp.
p.s. this is intended as a joke, not as a flamebait :-)
Before you completely give up on C++, give Accelerated C++ a read first. It tries a new approach at teaching C++ that is actually pretty good.
Anyone have bets on how quickly this gets down voted?
Python is a great lightweight language thats easy to pick up and be productive with.
I generally think of ruby as Perl + Smalltalk + Python.
So, if you like the scripting (just hack and go) feel of ruby, defiantly check out either of those two. On the other hand, Ruby's object model really comes from Smalltalk. If you like dealing with ruby objects in a clean, consistent way and languages like C give you the heeby-jeebies, defiantly look at smalltalk. The syntax tends to scare people with a C++/Java background, but coming from ruby you should feel pretty comfortable.
I've been learning scala with Odersky's book. It's still very much JVM and java lib based, but the syntax, actor model and functional aspects are surprisingly flexible.
As far as the metaprogramming / DSL aspect of ruby, javascript and scheme fit the bill, for more mainstream dynamic/ scripting languages. And i think Ruby's debt to to haskell and smalltalk has been acknowledged
For things like this, I often reference Wikipedia:
Influenced by: Smalltalk, Perl, Lisp, Scheme, Python, CLU, Eiffel, Ada, Dylan
Influenced: Groovy, Nu, Madness Script
You might also refer Comparisons of Programming languages on Wikipedia. It may help to answer your questions in greater depth.
Quitting because it's hard? I really don't think Ruby or any other language will be easier. When you are starting out it is all about fundamentals and C++ has all the fundamentals (OO, non OO alike, generics, etc). C++ is a great place to start because you can branch out easily to all of the related languages (Java,C#, and C).
Give a look at the Savitch book http://www.amazon.com/Absolute-C-Walter-Savitch/dp/0201709279
Is a great book for learning C++
Scala is a statically typed language that is quite similar to ruby in many ways
Scala - inspired from many languages such as Ruby, Erlang, Groovy, Java, LISP etc