There are hundreds if not thousands of programming languages, which may seem very daunting at first, but what one plans to accomplish can help focus the languages one needs to learn.  My previous article, reviewed some of the resources available online to learn how to program. but where should one start?

Basic Websites:  Static Websites

  • HTML- Hypertext Markup Language, or  HTML is the basic building blocks of web development; and is the first language any web developer should learn. HTML 5 is the most recent version of  HTML which provides a lot of powerful functionality such as animations.
  • CSS- CSS stands for cascading style sheets and gives designers an advanced design capibilities for their website. A good way to think of CSS is that HTML is like the building blocks of a website, CSS is like the paint and is used for the more advanced design aspects. HTML can be used for some basic design elements but, CSS allows users to have a lot more control over the design of their page.

Web Application/Social Networking: Dynamic Web applications

  • HTML- Even if an application or a site is written in another language, HTML will still be used for basic page layout.
  • CSS- As with basic pages, CSS is used for all advanced design aspects of the page.
  • PHP- PHP is a server-side scripting language used for  many of the most popular dynamic websites.
  • MySQL- Data stored by a site or service is usually stored in a database. MYSQL is one of the most popular database systems, especially as used in conjunction with PHP.
  • Javascript- Another scripting language frequently used by web developers and can be used in concert with other languages.
  • JQuery- JQuery is a simplified version of Javascript that is frequently used.
  • Ajax- Ajax is a hybrid often used for advanced web application development.
  • Honorable Mention: Adobe Flash: Before the age of tablets and smartphones, Adobe Flash was one of the most used web development tools. Now, it is still used for some things but is not nearly as prominent  due to the rise of iPhones and iPads that do not allow Flash to run. Adobe has also discontinued the mobile version of Adobe Flash and recommended using HTML 5 instead.

Windows Desktop Applications: Windows Desktop Software

  • C- C is a general-purpose programming language used for many desktop applications.
  • C++- C++ is a further developed version of C that adds object oriented features.
  • C#- C# is another iteration of C developed by Microsoft.

Macintosh Applications: Mac OSX Applications

  • C
  • C++
  • Objective-C- Objective C is a specialized version of C used by Apple for Mac OSX and iOS development.
  • Java- Another General purpose programming language that can run across a wide variety of platforms. Java applications, or applets as they are called can run across multiple platforms without having to re-compile them.

Linux Applications: Linux Desktop Applications

  • ADA
  • C
  • C++
  • Java
  • Fortran- Outdated programming language that is no longer widely used.
  • Python: Very basic scripting language, but a good language to start with when beginning to learn how to program.

iOS Applications/Games:  iPhone, iPad and iPod Touch Native Applications

  • Objective-C: For all native app development for iOS. Also see Cocoa Touch and 
  • HTML5: For web app development like before Apple released the iOS SDK. Also use CSS See Web Applications list above

Android Applications/Games:Android Tablet and smartphone applications

  • Java
  • Google App Inventor:  Makes it easy to develop Android Applications for programming novices. App Inventor  is a  good way to get started developing mboile applications.
  • HTML5: For web applications like in iOS.


About the Author

MikeMike Gdovin has been blogging about technology since 2006 on his blog, He has a Bachelor of Science degree in Electronic Media from Kutztown University with a minor in Journalism, Public Relations and Business. In addition to blogging about technology, Mike is a video producer, technology consultant and social media expert.