C++, then what next?

Ok so after a good 4 or so years of off and on tinkering with C++, I think I finally am at least experienced with the language features. I've finally just recently gotten up to templates and generic programming. Well, after all this time I'm at a loss. I feel like I just hit a wall and don't have anywhere to go, and I have heard this happens with people often actually. And they recommend learning a new language with a new paradigm. So, what is everyone's suggestion for where to go next? I know a bit of Java, it's actually what my university uses as their main language :/
Template meta-programming maybe?

Or you could use your new found knowledge to build something useful.
Yea I'm not sure what I could make that would be useful is the problem.
You help out on an existing Open Source project.
closed account (1yR4jE8b)
Learn a functional language like F# or Scala.
Learn a functional language like F# or Scala.
What about haskell?
closed account (1yR4jE8b)
Haskell is a pretty sweet language. I suggested F# and Scala because of their integration with the .NET Framework and JVM respectively, making them more practical IMO.
Well, my CS teacher seems to like Haskell a lot so take from that what you will.
closed account (1yR4jE8b)
Well it makes sense from an academic point of view. I've never wanted or needed to use Haskell in the work I've done, and I've used plenty of Scala and started using F# quite a bit as well.
I've learned a bit of Haskell and, although it's really, really confusing, it's also awesome. It's had a pretty significant affect on my C programming as well because now I tend to try and write short (3-5 lines), value-returning functions with no side-effects with one slightly longer (10-15 lines) function at the end of each file.
Last edited on
Here's the thread I meant to reply in! I keep hearing that Haskell is great for broadening your knowledge, but it's not widely used. And F# and Scala are more used? Would I gain the same knowledge from learning them as I would Haskell?
Haskell is purely functional, AFAIK the other two are only "partly functional".
They aren't "partly" functional. They are not pure, but that doesn't mean you can't write pure functional code in them.

Among the three (Haskell, F#, Scala), Scala is the only that got serious use in industry, especially in financial sector and web-startups and there are even companies that sell support and trainings.

http://www.indeed.com/jobtrends?q=scala%2C+haskell%2C+f%23&l=
Last edited on
You say
I've finally just recently gotten up to templates and generic programming
.
Template are a very wide suject of c++ learning, just google the world "template metaprogramming" there is plenty of books on the suject.
@rapidcoder,
I used the word "partly" because I didn't know the correct terminology for something that is functional but not pure.
Well, it might not get you a job, but Haskell is definitely fun.
although it's really, really confusing
Only at the beginning. Stuff makes a lot more sense later on - except for some rather strange decisions, like head throwing an exception on empty lists.

Well, it might not get you a job, but Haskell is definitely fun.


There are some jobs in Haskell, as well.
But Scala is just as great fun, especially now that they added powerful compile-time, typesafe metaprogramming system.
Last edited on
There are a few Scala jobs around too.
Topic archived. No new replies allowed.