I have learned some python, and it came relatively easy to me, but it wasn't as powerful as I thought it would be. So, with in mind that python came easy to me, and that I want something more powerful, what is a good programming language to learn after that?
Python is pretty powerful. What sort of limitations are you running into? It's probably not very good for a 3D game but overall I'd say there's very little you can't do with it.
But if you want to try somethings else there's the mainstream managed languages like C# and Java which compile to byte code or use JIT so have better performance but still have the benefits of garbage collection and higher level abstraction. They're very "general purpose" OOP languages for everyday serious development.
At the lower level you have C and C++. C++ has more abstraction and less dangerous memory management than C if you use smart pointers but both are pretty bare bones programming when you need maximum performance from native code. For high performance major software development C++ is still the gold standard, although it's a very complicated language to learn. C is good for really working "close to the metal" and as a beginner it's a simple language to learn while working on concepts like manual memory management, data structures, and algorithms.
If you want to learn another dynamic/scripting language you have PHP/perl. PHP is more for web programming and perl is more general purpose like python. You also have ruby which is a bit different but popular for a lot of web development these days because of ruby on rails.
If you want to try something completely different you can move away from these imperative/procedural/OOP languages and have a look at functional programming. The big language here is Haskell. This is a completely different approach to writing software and is probably a good idea to learn even if you don't want to use it. Here's a good intro to the language
I've been doing Python for 2 years, and I'm still learning what it can do and how powerful it is. Just because it's "simple" doesn't necessarily mean that it isn't powerful.
Rollback Post to RevisionRollBack
"If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy. The loss of Liberty at home is to be charged to the provisions against danger, real or imagined, from abroad." - James Madison
Methinks you need to explore Python's libraries a bit more. The power of a language is determined by the extensiveness of its libraries, and Python has some very extensive libraries.
Learning many languages is a pretty good idea if you wish to make serious applications in the futur.
I'd consider giving C# (with the visual studio 2010 express) and Java (with Eclipse For Java) a try, as they are both popular with many help that can be found over the internet.
Personnally, i'd ignore C entirely. Go for C++ instead. You won't regret it. There's a good framework with C++ that you can use to make graphics and small games : Qt. Take the opensource version. It's best if you learn the basics of C++ beforehand, otherwise you'd be lost within 5 minutes.
Rollback Post to RevisionRollBack
"If you aren't ashamed of what you coded 6 months ago, you aren't progressing as much as you should." - My Website : Altar-Apps,Applications, Libraries, APIs, Code snippets and the Heart of Sin roguelike game!
What exactly are you trying to do with it?
What do you mean it's "not as powerful" as you thought it would be?
Didn't you only start learning a few weeks ago?
But if you want to try somethings else there's the mainstream managed languages like C# and Java which compile to byte code or use JIT so have better performance but still have the benefits of garbage collection and higher level abstraction. They're very "general purpose" OOP languages for everyday serious development.
At the lower level you have C and C++. C++ has more abstraction and less dangerous memory management than C if you use smart pointers but both are pretty bare bones programming when you need maximum performance from native code. For high performance major software development C++ is still the gold standard, although it's a very complicated language to learn. C is good for really working "close to the metal" and as a beginner it's a simple language to learn while working on concepts like manual memory management, data structures, and algorithms.
If you want to learn another dynamic/scripting language you have PHP/perl. PHP is more for web programming and perl is more general purpose like python. You also have ruby which is a bit different but popular for a lot of web development these days because of ruby on rails.
If you want to try something completely different you can move away from these imperative/procedural/OOP languages and have a look at functional programming. The big language here is Haskell. This is a completely different approach to writing software and is probably a good idea to learn even if you don't want to use it. Here's a good intro to the language
Welp just my 2C idk
I'd consider giving C# (with the visual studio 2010 express) and Java (with Eclipse For Java) a try, as they are both popular with many help that can be found over the internet.
Personnally, i'd ignore C entirely. Go for C++ instead. You won't regret it. There's a good framework with C++ that you can use to make graphics and small games : Qt. Take the opensource version. It's best if you learn the basics of C++ beforehand, otherwise you'd be lost within 5 minutes.
- My Website : Altar-Apps, Applications, Libraries, APIs, Code snippets and the Heart of Sin roguelike game!