Which Programming Language Should You Learn For Software Development?
|
| ||||||||
| Compare: | Web Design Calculator | Web Design Cost Guidelines |
Are you an E-Commerce Web Designer? Add a Free Listing
When starting on the path of programming, it’s important you invest your time wisely in choosing to learn something that will both benefit you in the immediate future with visible results on your platform of choice, as well as getting you set up for any future languages. Your choice will depend upon a number of factors, so let’s take a look at their characteristics, ease of learning, and likelihood of earning you a living. I’ll also show you some code to display “hello world”, the first application many people write when learning a new language.
In this first part, we’ll be looking at languages used to program software – as in applications which run on the computer or mobile devices. Next time we’ll look at the increasingly significant area of web-programming languages, used to create dynamic websites and interactive browser-based user interfaces.
There are two previous articles in this series which discuss some fundamentals of any programming languages, so if you’re new to programming then be sure to read those too:
Java
Java is a full object-oriented language, strongly typed, with an extensive feature set focused on networking and cross-platform compatibility. Applications written in JAVA can run on virtually any OS – though the performance won’t be as good as something designed to run natively.
It is the language of choice for most Computer Science courses, and consequently almost everyone has at least a little Java programming experience. Android applications are written in Java too, though you can’t simply run a regular Java app on your Android mobile nor vice-versa.
Likelihood Of Making You Money
If you can make an app worth charging for on the Android marketplace, then the world is yours for the taking. There’s also a lot of enterprise-level Java jobs, but the competition is high and pay low.

[Note: Don’t confuse Java with Javascript, which is a completely different language used for web programming - we’ll look at this more next time].
C/C++
Though actually separate languages, they are often grouped together, as C++ is basically an enhanced version of C, adding object oriented features. C++ is the serious programmer’s language of choice, forming the basis of most computer games and most advanced Windows software. It’s high performance, but requires a lot more precision on the programmers part when it comes to memory management and consequently has a steep learning curve. Not recommended for absolute beginners.
Likelihood Of Making You Money
With less competition than Java, C++ programmers will always be in demand and paid well, especially in the games industry.

C#
Pronounced C sharp, this is Microsoft’s clone of Java (though the two have since diverged with more pronounced differences) – a general purpose object-oriented strongly-typed language. Performance is good, though not as fast as C++. Software written in C# requires .Net framework to run and is Windows-only.

Likelihood Of Making You Money
There’s a good number of corporate C# jobs out there for enterprise solutions, but you’re unlikely to make money on a single piece of software unlike mobile development. Still, it’s a fun language and easy to learn for beginners, certainly I’d recommend it if you’d like to focus on Windows only.
You can download Microsoft Visual Studio Express for free, which helps greatly with GUI designing and code completion. You can also use it for Visual Basic and many other Microsoft-branded programming languages.
Visual Basic
Another of Microsoft’s contributions, Visual Basic is an event-driven language focussed on simple GUI-based apps. Event-driven means that the code you write will generally be reacting to what the user does – what happens when they click that button, for example. It’s incredibly easy to learn and get a simple app up and running, but ultimately limited and perhaps not the best for actually learning fundamental programming concepts.

Objective-C / Cocoa
This is the Apple Mac language upon which most OSX and iOS applications are built. Technically, Objective-C is an extended version of C with object-oriented features, much like C++, but is nearly always combined with the Cocoa framework for building graphical user interfaces and higher level features on the Mac platform. You must also be careful with memory management.
The syntax and concepts you need to learn are quite complex compared to a language like Java or C#, but on the other hand, Apple provides a comprehensive free development environment (XCode) and tools which make the process of creating real, useable apps fairly easy. There’s also a wealth of written and video tutorials out there to guide you, so it’s certainly more accessible than C++. It’s basically your only choice for OSX and iOS development, but you’ll be able to write for both the Apple desktop and mobile environment with the one language.

Likelihood Of Making You Money
With a developer account ($99 yearly) and a killer app, you have the potential to make a lot – Apple has paid out $2 billion so far. App Store developers stand a better chance than Android developers for making money with paid apps, while Android developers tend to see more returns on in-app advertising.
That’s all the languages I’m going to cover today, and they form the majority of real-world software development on PCs, Macs and mobile environments. Before I get blasted in the comments, I’ve decided to include Python in the web-based list because that seems to be where it’s used most.
The truth is that once you have the basics down in any language, it’s relatively easy to learn another; just as knowing Chinese kanji makes reading and writing Japanese easier – programming languages often cross over and borrow from each other, sharing the same set of basic characteristics and syntaxes. Stay tuned for the next article in which I’ll look at web-based languages such as JavaScript and PHP.
Hat-tip to Jeffery, an avid commenter here at MakeUseOf and often on-hand to help out in the tech Answers section, who suggested this article and some of the languages it should cover.
Fri, 04 Nov 2011 17:01:09 GMT
Tags: coding, Developers, learning, programming, study,
Knoxville E-Commerce | Hemlock E-Commerce | Aliso Viejo E-Commerce | Port Arthur E-Commerce | Austell E-Commerce | Coleraine E-Commerce | Yucca Valley E-Commerce | Marshall E-Commerce | Johns Creek E-Commerce | Kiev E-Commerce |
coding
Time To Try A Slick, New Text Editor Called Tincta [Mac]
While you may already think you've found the text editor love of your life, you could hardly stand by it honourably without giving the competition a go. So, today we'll introduce you to a sleek new player in the Mac text editor game called Tincta. It's
4 Hacker Software Tools Every Budding Coder Should Have
If you’re a computer geek, chances are you like fiddling around with things. You are, in short, a hacker. Although most hackers probably use Linux, there are some that use Windows. Maybe your business requires you to use Windows. This post covers some ess
Make A Product Review Database With WordPress: Custom Post Types, Custom Fields, Featured Images & Widgets!
Last time we showed you how to create a simple events listing using perhaps the most powerful feature of WordPress 3.0 - custom post types. After some requests to develop this further, today we’ll be creating a product review database to tie together ever
Developers
The Basics Of Computer Programming 101 – Variables And DataTypes
Having introduced and talked a little about Object Oriented Programming before and where its namesake comes from, I thought it's time we go through the absolute basics of programming in a non-language specific way. This is the kind of stuff computer scie
learning
The Stuff You Should Know Podcast: A Wealth Of Accessible Information From HowStuffWorks [iTunes]
For months now I have been well-and-truly hooked on the Stuff You Should Know podcast, and I felt it was time I shared my number one boredom killer, and a smattering of favourite episodes with MakeUseOf. Each week knowledgeable hosts Josh and Charles sett
5+ Free Apps To Help You Learn & Play Guitar [iOS]
If you’re a keen guitarist with an iPhone, iPad or similar, then you may or may not be aware of the plethora of apps aimed at musicians out there. Some apps can be quite expensive, and professional grade music equipment isn’t cheap either - so if you’re e
5 Online Teaching Tools That Help Your Child Learn The Periodic Table
The periodic table is one of the key fundamentals that you or your child has to master when it comes to mastering Chemistry. Fortunately, there are online tools available that can make the study not only easier, but also more fun. Here are five tools that
Need E-commerce Design? Check out our member profiles:
Thompson Web Development is a business that was founded out of a desire to serve small and medium sized business's that want high quality internet marketing.
Charleston, South Carolina US
We are a ISO 9001:2008 certified company and STPI registered. Our Services are: Web designing, Web Development, Content & Article Writing, SEO, SEM, SMM
Kolkata, West Bengal IN
We handle the entire web design package including form to email and/or database, php, css, flash, photoshop and graphic designs, video, e-commerce & DVD production. Rates on a case basis...contact us!
Chattanooga, Tennessee US
IceStar Media are a successful team of website designers, IT consultants and software programmers who have a proven track record in designing and delivering reliable business applications and websites
Stevenage, England GB
Developing custom eCommerce and eBusiness solutions since 2005. Bespoke software applications builders for web, desktop and mobile platforms.
Athens, Attica GR
ecommerce website solutions for 100 products to 100,000 products. easy to use admin area, exert hosting services. turn key solution
De Pere, Wisconsin US
Located in Irvine, CA, over 100 clients across North America and Asia engage Forge Web to strengthen their marketing initiatives, identify and expand revenue sources, and increase conversion rates.
Irvine, California US
North Georgia website designer/developer. We also design E-Commerce websites. www.corporatewebdesigns.net 678-644-9556
Cumming, Georgia USInstapaper Launches Version 4.2 For iOS With A Slew Of Awesome New Features [Updates]
The major iOS application updates are coming fast and furious Instapaper is not one to be left behi
Mega Bundle from VectorPack.net Only $29! ($545 Value)
img src http rss buysellads com img php z 1264761 k bb78eac5744533b69852b62261051c57 a 1222
The 9 Best Questions From You [MakeUseOf Answers]
Every Friday MakeUseOf Answers honors the Best Answer of the Week to reward the skill and time inves
Cool Websites and Tools [July 29th]
Check out some of the latest MakeUseOf discoveries Most of the listed websites are FREE or come wit
Collection Of Websites With Unique Layouts
When we look at some sites the layout feature can only attract attention The layout can be simple
Using Your F-Keys For Launching Applications & Finder Items [Mac]
The F keys on your Mac keyboard can be a powerful set of application and Finder item launchers savi
Install The Release Build Of iOS 5 Right Now [News]
If you are impatient and just can t wait until Apple pushes iOS 5 out to the world on October 12th y
Article Tags
E-commerce Design Articles
Web Apps & Internet (369)
News (290)
Web Apps (129)
Inspiration (128)
Music (119)
iPhone / iPad / iPod (114)
cool web apps (108)
Mobile Tips (100)
Google Android (100)
Announcements (99)
deals (88)
Games & Gaming Tips (84)
Tech Deals (82)
Opinion & Polls (76)
Cool Software Apps (76)
Browser Tips & Tricks (66)
iOS (66)
Social Media (65)
iPhone Apps (59)
Photography (58)
Freebies (58)
geeky fun (58)
iphone (55)
Google (53)
troubleshoot (53)
android (52)
Photoshop (52)
Graphics (51)
facebook (50)
How-To Articles (50)
Friends:
E-Commerce Website Pricing
Web Design Quote
Website Design
Graphic Designers