开发者

For improving my programming skills I want to follow "learn a new language a year". What we can learn in 2011

I want to learn a new开发者_C百科 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).


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. :)


jQuery, what about platforms such as AJAX and MVC? Kind of depends on what you already know and which platforms you're targeting.


I find visual material much more appealing to learn from, like video tutorials, etc. But theres tons of stuff, like reading tons of blogs, or if u dont have the time, download the pod cast so you listen on your way work (which what I sometimes do).

Basically you have to be displined in making time to learn, and you will always be on top of most things.

Sk8tz

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜