codeThis article is directed at those who want to begin a promising career in Programming and Software Development. It is my belief that after carefully going through this write-up you will be better informed at selecting the right language to start achieving with.

Software is as diverse as most fields and keeps diversifying at an even faster rate. It also has the shortest shelf-life in terms of skill relevance. What I mean is that the fact that that Java Programmers or Windows is hot today doesn’t mean its going to be relevant in 5yrs time, this is unlike so many other professions where what you learnt in University will see you eating fat throughout the rest of your life.

In Software development you have to learn and keep learning rapidly to stay on top of your game.

As we all know a Programming language consists of a vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Programming languages can be used to create programs that control the behaviour of a machine, to express algorithms precisely, or as a mode of human communication. What I intend to do in this article is to quickly review some popular software fields. These are just broad classifications, they are not necessarily that distinct, the fact is that in the art of Software development features of some applications encompass multiple skill sets. It is also impossible to cover all aspects/categories as innovations continue to arise by the day.

Away with the stories, lets now get down to profiling these fields as well as reviewing the Programming languages that make it possible to develop applications on them.


  1. WEB APPLICATION DEVELOPMENT

A web application is a software that is accessed over the Internet/Intranet using a web browser.

If you want to develop web applications like Facebook, Yahoo Mail, Wikipedia and Google this is a field you cannot ignore.

Listed below are the languages you need to learn in-order to be employable, independent and indispensable.

Learn all of these

  • HTML

  • XML

  • CSS

  • JavaScript

  • SQL

  • any Server-Side programming language(used to create dynamic websites that interface with a database).It runs on the server and not the browsers machine

Examples of Server Side languages are:

Learn any one of these

  • PHP

  • ASP/ASP.NET

  • JSP(JavaServer Pages)

  • PERL

  • Python

  • ColdFusion Markup Language

  • Ruby

The Server Side language you choose to adopt for the creation of a web application must be available or supported by your Web Host. The most supported or popular languages in this regard are PHP and ASP.


2. MOBILE APPLICATION DEVELOPMENT

This section takes a look at popular mobile phone Platforms/Operating Systems and the programming languages you need to develop exciting applications on them.

Operating System

Programming Language

Windows Mobile OS

Visual Basic, Visual C++, C#, Java, JavaFX

Palm webOS

HTML, CSS, and JavaScript

BlackBerry OS

Java

iPhone OS

Objective-C , Ruby, Python, C/C++, JavaScript/C#

Symbian OS(Nokia)

Java, JavaFX, C/C++, Python, Flash Lite, Ruby, .NET,

Google Android OS

Java

Most Phones allow you to use a variety of languages to create applications on them. for example Symbian allows you to use anyone of the 7 languages listed in the table above. The same concept is applicable to Windows Mobile and iPhone.

If you check the August 2009 smartphone statistics from Gartner it’s easily seen that Symbian is currently the most popular platform, followed by BlackBerry and then iPhone. Also obvious is the fact that Symbian is losing its market share to BlackBerry and iPhone which are catching up quickly.

This should tell you one or two things about which platform you intend to target.

3.  WIDGET/GADGET DEVELOPMENT

Widgets are small, smart, cool looking applications that do useful things. like Clock, Weather, News, Calculator e.t.c. Widgets usually serve a single purpose or perform a particular function.

widget

widget

Typical Widget Engines/Platforms:

A widget engine is a software service available to users for running and displaying applets on a graphical user interface, such as that of the desktop.

There are 4 types of widget engines, which are Desktop widgets, Mobile widgets, TV set widgets and Web widgets(i.e. FaceBook, WordPress). However I will only elaborate on Desktop Widgets below.

Examples of Desktop widget engines include:

Engine

Programming Language

Tools

Opera Widgets

HTML, CSS, JavaScript, SVG, AJAX.

The Opera Widgets SDK,

Widget Emulator,

Opera Dragonfly,

DOM Inspector.

Yahoo! Widgets

XML, JavaScript

Konfabulator SDK

Windows Vista Sidebar Gadgets

HTML, CSS, JavaScript

Any good text editor, consult MSDN

Google Desktop Gadgets

XML, JavaScript, C#, VB.NET, C or C++

Google Desktop SDK

In addition to the tools listed in the table above the following tools/resources are also very useful for widget development:

Mozilla Firefox Web browser, Netbeans IDE, Adobe Dreamweaver, Firebug, W3c schools.

It can be interpreted from the table that widgets/gadgets are easy to create, particularly if you are already familiar with HTML and scripting languages

4. EMBEDDED SYSTEM DEVELOPMENT

According to wikipedia an embedded system is a computer system designed to perform one or a few dedicated functions, often with real-time computing constraints. It also refers to any electronic system that uses a CPU chip, but that is not a general-purpose workstation, desktop or laptop computer. Embedded systems generally use microprocessors, or sometimes custom-designed chips or both.

It is used in various applications such as vehicles, POS terminals, Game consoles, Satellite Decoders, Medical equipment, machine tools e.t.c

RetailPOS

pos

Programming Language:Assembly, C/C++, B#, Hex Files e.t.c

I intend to bring a POS software Guru here in a few weeks to show us one or two things about developing smart POS applications, so watch-out.

5.  MOZILLA FIREFOX TOOLBAR/EXTENSIONS

I have already covered this subject, follow this link.

If you care about popularity of programming languages, Tiobe Software and langpop try to provide relevant rankings. The most popular language is not necessarily the best or most relevant, your interests, which should include: requirements of the task at hand and industry relevance should always determine the choice.

The next step for you is to get a listening mentor or peer to guide and motivate you.

No related posts.