Showing posts with label languages. Show all posts
Showing posts with label languages. Show all posts
Sunday, February 15, 2015
Top 5 Programming Languages That Are In Demand By Employers
With the entire buzz about learning to code and how programming is the new superpower, it become imperative to know at least one of the programming languages so as to gain a leeway over others. Even if you are not a novice, and already have some knowledge of programming than also it is quite fruitful to know which language is having the maximum traction in the tech world.
Also Read: Top IT Certification Programs for Beginners in 2014
Also Read: List of Biggest and Popular Programming Contests
Are you a developer looking to polish your coding skills? Or you must be a novice caught in midst of the current wave of learn-to-code, looking for a language skill that can provide you reliable employment in the New Year. With so many programming languages out there it can be daunting task for even a seasoned professional to decide which one is the best for making a career. Here are listed 5 programming languages that will remain as a top employable skill for a long time to come.
Java
Easily one of the most important programming languages of the modern computing era, Java is a higher level language that was designed by James Gosling of Sun Microsystems, and released in 1995. The biggest benefit of Java has been its “Write once, run anywhere,” (WORA), meaning that the code written once can be used multiple times on multiple platforms. This is the reason that Java is the first preference for developing most enterprise applications.
Today, Java is one of the most popular languages, having around 10 million developers, creating client-server web applications. Even after being around for more than 15 years, and emergence of many other languages, Java is yet to witness any decline in its popularity, a part of which can be credited to its secure features. Java also happens to be one of the most well paid programming skills, with a Java developer earning an average annual base salary of $95,000.
SQL
Structured Query Language is a specialized programming language that was designed for managing data in relational database management systems (RDBMS). It is a fourth generation language, originally developed by IBM in early 1970s and has since undergone multiple changes over the course of time. The average salary of a person trained in SQL is around $90,000 and the top employers include big names like Microsoft, Dell, Disney, Amazon, UnitedHealth Group, Amazon amongst others.
C
C is one of the oldest programming languages still in wide usage and still continues to remain the most popular, according to the Tiobe Programming Community Index. A number of other new languages such as C#, Java, Python, PHP and Perl have borrowed concepts from C. The powerful, stable and easy availability of its libraries make C a reliable choice to fall back upon.
It also serves as the introduction to the world of programming, as learning C makes it easier to learn other languages. The average salary of a candidate with expert skills in C is around $93,000. Most C programmers spend their time creating highly complex applications such as video games, and high-frequency trading apps.
Also Read: 6 Tools to make JavaScript Development a Cakewalk
Also Read: 6 FAQs on Graphic Designing as a Career
Python
Python is a high level language, created by Guide van Rossum as a successor to ABC language. It was designed keeping in mind the human readability limitations, which is the reason that it doesn’t take as much code to execute a particular function as it does in other programming languages. It is an object-oriented language that developers can put to use in many different ways.
The streamlined syntax makes it easier for newbie programmers to pick up the concepts, and also encourages them to take it up as a career. With internet explosion, use of Python has picked up pace for creation of web based apps. Currently it powers some of the most popular websites of the world, which includes names like Instagram.com, and Pinterest.com, amongst others. Python developers can expect to earn anything in the range of $83,000 annually.
PHP
PHP (Hypertext Processor) is a server side scripting language popular in web development. Easy to learn, PHP powers more than 244 million websites, including the top content management systems WordPress, Joomla, Drupal amongst others. The relatively young language has found favor owing to its ability of being easily embeddable within the codes of HTML. Learning PHP is indispensable for someone who is looking to make a full time career out of web development. There are a huge number of employment opportunities for individual with skills in PHP programming.
Learning to code in 2014 should be one of your resolutions for the New Year.
Author Bio:
Saurabh Tyagi took to writing at a tender age of ten, when he submitted his first essay for the school magazine. He is also a hobbyist programmer, going as far as pursuing multiple courses in the popular programming languages.
Thursday, February 12, 2015
Top 10 Popular Programming Languages of All Time
In this article I am giving the list of top 10 popular programming languages which was shared by IEEE Spectrum. The ranking of these languages are based on 12 metrics that are Google search, Stack Overflow, Hacker News, Reddit, Career Builder, Google trends, Github, Dice, Topsy, and IEEE Xplore. Java language is at first position while MATLAB at tenth. This list also contains popular programming languages that are ranked from 11th to 30th position. So if you are thinking to learn a programming language and start your career in programming then this list can help you to find the best.
Also Read: List of Biggest and Popular Programming Contests
Also Read: Top 5 Programming Languages That Are In Demand By Employers
Also Read: List of Biggest and Popular Programming Contests
Also Read: Top 5 Programming Languages That Are In Demand By Employers
List of Top 10 Popular Programming Languages
![]() |
| (Click on the image to enlarge) |
Source: http://spectrum.ieee.org/computing/software/top-10-programming-languages
Tuesday, January 27, 2015
Seven Languages in Seven Weeks Scala Day 3
After some functional programming on day two, its time for the third and final day of Scala in Seven Languages in Seven Weeks.
Scala, Day 3: Thoughts
After two lengthy chapters on the object oriented and functional programming syntax/options in Scala, the third day rushes through some of the most intriguing features, including pattern matching and concurrency via actors. I would have preferred to spend a bit more time on these complicated topics.
In fact, I had the same complaint on Day 3 of IO, where we also blasted through a discussion of concurrency in just a few pages. I respect the difficulties of plowing through seven different languages in a single book and dont expect deep discussions of any one of them, but I think the book wouldve been stronger if it had a greater bias towards the more advanced "day 3" topics of each language instead of basic syntax discussions in day 1 or 2.
Scala, Day 3: Problems
Extend the "sizer" application to count and size links
Take the sizer application (code, output) and add a message to count the number of links on a page. Follow these links and calculate their size as well, so you get the total size for each page.
The code:
The output:
This problem was a great way to experiment with actors in Scala. The sequential solution is self explanatory, so heres an outline of the concurrent one:
The sequential code takes nearly 20 seconds to run while the concurrent code takes less than 3 seconds, a 7x improvement. The concurrent code is definitely more complicated, but not unreasonably so. Even though it was my first time using Scala actors, the code took less than 30 minutes to get working, much of it spent learning about the self keyword. In fact, I find it very easy to reason about Scalas actors, which is not something I can say for Javas synchronized keyword, Executors, Runnable, and various other concurrency constructs.

User experience counts. Not only for products, but for programming languages too.
How many features can you pile into one language before it becomes too cumbersome? How much syntax sugar do you need to understand to be able to read or write code? How many paradigms and mental models do I need to juggle to follow along? Do so many options make a language more flexible or less? Will there be such a thing as "idiomatic Scala" or will it be a free-for-all? Is it better to have a dozen ways to do something or one "proper" and well known way?
I dont know the answers to these questions, but I suspect theyll have a large impact on Scalas adoption. In the meantime, Ill keep hacking away at it to see what I can learn.
On to Erlang
Read on to learn about the next language in the book, Erlang.
Read more »
Scala, Day 3: Thoughts
After two lengthy chapters on the object oriented and functional programming syntax/options in Scala, the third day rushes through some of the most intriguing features, including pattern matching and concurrency via actors. I would have preferred to spend a bit more time on these complicated topics.
In fact, I had the same complaint on Day 3 of IO, where we also blasted through a discussion of concurrency in just a few pages. I respect the difficulties of plowing through seven different languages in a single book and dont expect deep discussions of any one of them, but I think the book wouldve been stronger if it had a greater bias towards the more advanced "day 3" topics of each language instead of basic syntax discussions in day 1 or 2.
Scala, Day 3: Problems
Extend the "sizer" application to count and size links
Take the sizer application (code, output) and add a message to count the number of links on a page. Follow these links and calculate their size as well, so you get the total size for each page.
The code:
The output:
This problem was a great way to experiment with actors in Scala. The sequential solution is self explanatory, so heres an outline of the concurrent one:
- The caller creates B Base Actors, one for each of the B base URLs.
- The caller then calls receive to await a message from each Base Actor.
- Each Base Actor concurrently loads its base URL, finds the links on the page, and creates L Link Actors, one for each of the L links on the page.
- The Base Actor then calls receive to await a message from each of its Link Actors.
- Each Link Actor concurrently loads the page for its given link and sends a message to its parent Base Actor with the size of that page.
- When the Base Actor has received a message form each of his Link Actors, it sends a message to the caller with the total size.
- When the caller has received B messages from the Base Actors, we are done.
The sequential code takes nearly 20 seconds to run while the concurrent code takes less than 3 seconds, a 7x improvement. The concurrent code is definitely more complicated, but not unreasonably so. Even though it was my first time using Scala actors, the code took less than 30 minutes to get working, much of it spent learning about the self keyword. In fact, I find it very easy to reason about Scalas actors, which is not something I can say for Javas synchronized keyword, Executors, Runnable, and various other concurrency constructs.
Wrapping up Scala
Im a bit torn when it comes to Scala. Most of the time, I saw it as a vastly improved version of Java. The support for closures, functional programming, pattern matching, and actors all seem like genuinely useful tools that would dramatically improve productivity, code readability, correctness, and expressiveness. Ive already used Scala in a few of my projects to build some features that wouldve been nearly impossible or incredibly ugly in Java.
However, even in my limited exposure to Scala, Ive already come across a number of hiccups. As I mentioned on day 1, the API docs are not helpful and look like they are written for academics. The IDE support is vastly inferior compared to Java. Ive now tried both Eclipse and IntelliJ, and each one has significant problems: e.g. missing compile errors on some code; finding errors on other code thats actually valid; broken/missing auto complete; issues with the refactor/rename functionality; poor support for running scripts. The compiler is slow. The type hierarchies are complicated. Type inference doesnt always work as well as youd hope.
However, there is one issue that worries me above all else: feature overload. It seems like Scala is trying to be all things to all people. Its object oriented; its functional; it has type inference; it has lots of syntactic sugar; it has actors; its compatible with Java; it has first class support for XML; they are even trying to add macros. While all of these features could lead to an incredibly powerful language, they could also lead to one thats incredibly complicated and difficult to use.

How many features can you pile into one language before it becomes too cumbersome? How much syntax sugar do you need to understand to be able to read or write code? How many paradigms and mental models do I need to juggle to follow along? Do so many options make a language more flexible or less? Will there be such a thing as "idiomatic Scala" or will it be a free-for-all? Is it better to have a dozen ways to do something or one "proper" and well known way?
I dont know the answers to these questions, but I suspect theyll have a large impact on Scalas adoption. In the meantime, Ill keep hacking away at it to see what I can learn.
On to Erlang
Read on to learn about the next language in the book, Erlang.
Subscribe to:
Posts (Atom)
