I want to learn a new programming language in 2011. I am a java progmrammer, with not more than a year experience. I want to learn something which is really new and exciting, but not related to mobiles (iPhone, Android, iPad, Symbian).
If you're just beginning to learn how to code, you might want to start by learning Python because many people learn it faster. It's simple and more concise, while Java has more lines of complex code.
Why learn SQL? If you're pursuing a career that even tangentially relates to data manipulation or analysis (e.g., back end programming, data science, cybersecurity, etc.,) you need to learn SQL. As mentioned earlier, SQL is the standard query language used to interact with relational databases.
No year in the past two decades has passed without JavaScript being the most used programming language. Anyone can predict the same in the future after reading the above statistics.
It is always good to move to Python. I don't see the downsides of it. However, it's also about what you want to achieve. Java is a very strong language (as in strongly-typed) and being a compiled language, it is more performant than Python.
I would suggest that you should give Scala a try.Its a language which runs on JVM and it is very much like Java syntactically,so you can easily pick up.Python is another good option.
Learn Rich Internet Application development (RIA). This is "new and exciting", especially if you don't care about mobile stuff. This means (and both of these primary languages, C# and ActionScript, are similar enough to Java that you'll easily meet your 1 year goal):
Silverlight / WPF Language=C# and xaml (Microsoft has come a long way in a short time with this and the quality of the tools in comparison to what's out there for Java/Flex stuff is impressive.)
Adobe Flex Language=ActionScript and mxml (If you want to stay in Java this is probably your better choice. For the record, Java/Flex is my primary skill set and has been for years, but as I've said above, their .NET equals are very attractive nowadays and I'm starting to learn C#/WPF/Silverlight now as a result.)
(JavaFX perhaps also, but I've never used it and it's widely not considered as mature as the other two.)
Techs like these are very well suited to controlled environments such as the business world (internal intranets) where it's easy to push out Flash player or Silverlight to all workstations you need it on. (So it's nice on a resume if you're job seeking.) In the Internet world it's a little more iffy, but still not too bad since deployment rates for Flash 9+ are pretty good now, and Silverlights are quickly rising as well.
"AJAX" and all it's dependent "stuff" (DHTML, DOM, CSS, etc etc) is common, but I wouldn't consider it new or particularly exciting. It's a bigger deal in the mobile scene where a lot of hardware either can't run more advanced virtual machine environments or they're intentionally crippled in an attempt to prevent this (Apple products).
Google created a new language this year called "Go". You could give that a try.
From the Go home page:
The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
http://golang.org/
I want to learn something which is really new and exciting, but not related to mobiles (iPhone, Android, iPad, Symbian).
How about something completely esoteric and not very useful, such as a Turing tarpit language like brainf**k?
Have a look at nodejs!
http://nodejs.org/
http://en.wikipedia.org/wiki/Nodejs
If you want to explore some new stuff but still be close to java, start learning Scala. It's a great JVM-based language, almost as fast as java, but with tons of new features. It mixes object-oriented and functional programming. Functional programming is gaining more popularity now, because of scalability and concurrency, so it's better to stay close to it. You can also learn about concurrency in a more natural way with Scala.
If you want to go into web-development, Ruby and Rails is a good choice.
Learn D, and if you really like it, help make the compiler better! D has practically every single feature you can think of, and then some (you can read about it on the website, I won't list things here), and it's much more powerful than C++ in some ways (it certainly isn't less powerful in any way except--maybe--for the lack of multiple inheritance, which I personally don't like anyway). The only thing it really lacks right now is a good, bug-free compiler, but for the most part it's just purely amazing. Just look at its features and you'll see. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With