I feel like it's time to learn something new. I've been using C++ for a year now and I think I need to get familiar with some other programming paradigms before I get stuck with OOP!
I'm looking into Scheme and Perl now.
Can you suggest me something (preferably a skill that will be useful later on when I get into the job field!)
It'll teach you how to write dynamically-typed programs that don't require debugging. Debugging a dynamically-typed program can be a nightmare sometimes. :/
It'll also teach you about regular expressions which at this moment aren't yet fully implemented in C++.
It'll possibly teach you about the applicability of different languages in different situations.
How about a scripting language like PHP? Last time I checked it was pretty close to C(++) syntax-wise, but the applications are generally much different. Plus, it's much easier to toy around with some SQL if you're working in PHP. Databases are important!
ASM or Haskell. Not necessarily something you will ever use, but they're both good at widening your understanding of things. There isn't much you could lean from other procedural/oop languages that you don't know yet.
Python, JavaScript, and Java are pretty hot on the job market right now. Python and JavaScript are simple to learn if you already know C/++.
Edit: Java is also pretty similar
The top tools that I use in order of frequency are C++, Java, and PHP, respectively. Looking to the future, however, it would seem that mobile development will be in high demand.
*I'd actually recommend learning Java. Since you already know C++, it shouldn't take very long to adjust to the syntax. There are quite a few nice toys that Java offers such as applets, JNLP, JNA, and the core API documentation blows all other languages' docs out of the water, hands down.
Everyone will suggest you his/her favourite language. I recommend Scala. It catches in the financial and web sector very quickly and is already considered a Java for power-users. It may look like a Java/C++ with a very terse scripting-like syntax at the first glance, but when you get deeper into it, it offers some extremely powerful (but sometimes hard to grasp) tools, especially for library-writers, e.g. higher-kinded types, covariant generics, pattern matching, traits, parser combinators, continuations, embedded DSLs etc.
And contrary to many other interesting niche languages (e.g. D, Ceylon or Google Go), it has already a production ready compiler, debugger, IDEs, documentation, rock solid runtime, and huge and very advanced community so you can devote your time to really programming instead of fighting bugs in the tools.
I think what the OP wants is to learn something different from C++. :\
hmm, the points of interest that I read in the OP
~ I need to get familiar with some other programming paradigms before I get stuck with OOP
~ preferably a skill that will be useful later on when I get into the job field!
reasons for suggesting pure C
~ I consider programming in C sufficiently different from programming in C++ too make a minor detour into learning it worthwhile.
~ there is a lot of code out there written in pure C
~ it is likely to give you more practice in designing and implementing algorithms that yo have taken for granted in C++.
...
If you really want something entirely different, get into J/APL. I have no idea how it works, but the code snippets I've seen on projecteuler are fascinating. They're solving highly complex problems in a single line of code.