Earlier it was pretty easy to decide what language to learn next. For example, during my graduation days, the choice was very simple - learn first C, C++ and then we used to go for either JAVA or C#.NET...thats it!!
But then after 2010, the platforms were trying to relocate...bikes superseded by mopeds, laptops by palmtops and ancient nokia kind of cellphones by qwerty keypads and again by screentouch.
This screentouch laid tremendous change in the era of computing. The phase changed from 0 to 1 directly. On the other hand, the great computer scientist were breaking their head to centralize the data, resources and all available computing peripherals in a consolidated way. This made the rise of the term CLOUD COMPUTING...here they introduced the terms "pay per use" and "on demand".
The concepts like IAAS, PAAS, SAAS made the techniques of virtualization the real powerful cloud computing. Now the entire industry was trying to be open source oriented and increase their revenues...windows 7 was out-chosen and Ubuntu was a priority of technical users.
And then came ANDROID - which actually made NOKIA out of market (it was nokia's biggest mistake not to support android since they had complete faith in simbion). Because of the rise of Android, programmers from the entire world started freelancing development and this is actually contributing a lot. The depth of the computer applications, as you can observe, is never before deep & getting more deeper.
Because of this scenario, many small scale industries survived and could fetched up more number of trusted customers. At this point, thinking ways differed, logics generated, efficacy was given top priority, requirements changes a lot and it made the great comuter scientist again to think and develop new consoles, compilers and languages.
Languages like JAVA, Python, Scala, Perl, Ruby, Groovy, APL, Clojure, Lisp and Brainfuck was adopted for different purposes. Never before in the history of computer science have we had so many choices before us.
A friend, who is involved in big data, analytics and cloud computing, is learning and using Scala for his work. Scala is a language that targets Java platform; it merges both object-oriented and functional feature. {Now a days one more thought process is picking up - "functional programming", the colors of this are really blooming than object oriented programming. Object Oriented programming is a old one now.} Because of Scala's fuctional capabilities, it is good for writing concurrent codes and for analysing large quantities of data. But there is a risk of getting trapped in unreachable code and one can end up with while writing in Scala.
Grovvy - a superset of Java. Another friend works on developing software for the financial domains and is currently learning Grovvy which has productivity of scripting languages in Java-like syntax. If you are a java programmer and want to be more productive go for this language.
Another old friend of mine had an unusual transition from fixing bugs in C/C++ compiler to programming the web using javascript! She is exploring a growing list of languages like Dart, TypeScript that are trying to replace JavaScript. However she finds CoffeeScript to be a sweet spot since it compiles to javascriptand she can seemlessly use her existing javascript code and third-party libraries in it.
Suggestions for learning new languages based on real world experience include :
- Cojure (with a warning not to give up learning because of its Lisp syntax)
- Ruby
- Python (for a wide range of pogramming tasks - from automation to web programming)
- Scala (for concurrent programming).
Thinking about what programming language one should learn next, I realized that this is a deeply personal matter. Just like preferences for different brands differ from person-to-person, choosing programming language depends on an individual's personal likes and dislikes, preferences and the kind of work one does. Hence before deciding on which language to learn next, seriously consider the following factors :
- How much time can you afford to spend on learning a new language?
- Does the new language help you solve your problems more effectively?
- Does the new language match your way of thinking?
- Does the new language help you think differently?
- Does the new language excite you?
We are also at a point of transition - the erstwhile mainstream languages like C, C++, JAVA were designed for the old era. In this decade in which computers are shrinking to the size of a button, the internet is becoming ubiquitous, computing is becoming paid and pervasive service, and data is growing to the order of exabytes, the dominants languages will be completely different. More than anything else, learning a new language is fun! So what are you waiting for - go ahead, carefully choose, and then enjoy learning a new programming language!
[thanks to Ganesh S.]
Vintage Tribute Ring of Steel - TITS-TIT-IARANES
ReplyDeleteVintage Tribute Ring titanium tv apk of Steel - titanium wallet TITS-TIT-IARANES. 토토사이트 Vintage Tribute Ring of Steel - nano titanium flat iron TITS-TIT-IARANES. Vintage Tribute Ring of Steel - TITS-TIT-IARANES. Vintage Tribute Ring of titanium pipe Steel - TITS-TIT-IARANES.
hf466 replica handbags,newfakebags,replica bags designe,fake bags,replica bags,fake designer bags,fakebagsok,replica bags,replica bags ol221
ReplyDelete