Languages




Listed here are a number of programming, scripting, and web developing languages that I have run across in my career as a Computer Scientist. I've also included descriptions and some useful links for anyone not familiar with each language. Click on the individual titles to view each language's description. You can minimize the description by clicking on the title again.



Programming Languages

C


Description: C is one of the earlier programming languages that came out. It is a low-level language that allows its users to implement data structures, functions and strict data types in code. Due to its basic nature, C is a very efficient and moderately easy language to use. If you are just starting to learn how to program, I would highly recommend starting with C.


Compiler: There are two compilers that you can use: jGrasp and Microsoft Visual Studio. I'd recommend trying both of them and seeing which one you like more. I personally prefer Microsoft Visual Studio. There are many more compilers out there, so if neither of these work for you, try doing a web search for "C compiler". NOTE: Both of these compilers work for both C and C++.

  1. jGrasp Download Page
  2. Microsoft Visual Studio 2008 Express Edition Download Page

Useful Links:

  • C Tutorial: An excellent tutorial that covers everything from the basics to the advanced parts of the C language.
  • C Quick Reference Sheet: A quick reference sheet that you can print out. Always good for when you can't remember the syntax for a line of code or need to look up one of the standard functions.


C++


Description: C++ is a mid-level programming language that was designed as an extension of C. It offers many of the features that C offers plus support for object-oriented programming (OOP). The object-oriented programming model combined with the low-level memory accessibility from C makes this language a very powerful and efficient programming language to code in. Many graphic intensive video games and performance-driven software applications are written in C++ nowadays due to the performance it provides.


Compiler: There are many different compilers that you can use to compile C++ code. The compiler that I use is Microsoft Visual Studio. You can download it at the Microsoft Visual Studio 2008 Express Edition Download Page.


Useful Links:

  • C++ Tutorial: A very thorough tutorial that covers the base C elements as well as the more advanced elements of the C++ language.
  • C++ Quick Reference Sheet: A quick reference sheet that you can print out. Always good for when you can't remember the syntax for a line of code or need to look up one of the standard functions.


C#


Description: C#, pronounced C Sharp, is the latest extension of C/C++ with the Microsoft .NET Framework. The goal for C# is to simplify the C/C++ syntax and improve upon the object-oriented model of C++. Although the C# syntax is much simpler than its predecessors, it requires a large amount of system resources to run due to the .NET Framework, resulting in decreased performance. If pure performance is your main concern for your program, C/C++ is still the better option.


Compiler: Microsoft Visual C# is your best bet. You can download the Express Edition at the Microsoft Visual Studio 2008 Express Edition Download Page.


Useful Links:

  • C# Tutorial: This is the tutorial I'm going to use to learn C#.
  • Microsoft Visual Studio 2008/.NET Framework 3.5: This is the latest version of the .NET Framework published by Microsoft. Listed here are all of the standard functions defined for the .NET Framework (and thus, C#).
  • C# Quick Reference Sheet: The ever useful quick reference sheet. You can print it out and keep a copy by your side in case you forget the C# syntax.


Java


Description: Java is a high-level object-oriented programming language that is widely used in the software industry for projects ranging from small web applets to colossal desktop applications. its refined object-oriented programming model makes learning and programming with Java a breeze if you are familiar with object-oriented languages. One of the shining elements of Java is its cross-platform compatibility; unlike C++ and similar languages, once compiled, Java applications are capable of running on many different platforms (OS's, computer architectures, etc.). Java also automatically handles memory usage for you with its garbage collection feature. The downside to this, however, is that your program will suffer from slightly decreased performance due to the processes that Java is running in the background. If you plan to make a career as a programmer, Java is definitely a language you will want to familiarize yourself with.


Compiler: With how popular Java is, there are quite a few compilers out there for Java. I personally prefer JCreator as my free compiler. You can download this compiler at the JCreator Download Page.


Useful Links:

  • Java Tutorial: A tutorial provided by Sun Microsystems, Java's developing company, themselves.
  • Java API: The Java API is a very thorough documentation of all of the standard Java classes, functions, etc. Very useful for looking up classes and functions that you might need.
  • Java Quick Reference Sheet: A quick reference sheet that you can print out. Always good for when you can't remember the syntax for a line of code or need to look up one of the standard functions.


MIPS Assembly Language


Description: MIPS is the second lowest level language that you can program in, coming in right after machine code itself. Most higher level languages compile in to MIPS (or a similar language) before finally being converted into machine code. Using MIPS, you are sending instructions directly to the hardware (usually the processor) of the system. Because of this, MIPS is one of the most efficient languages to program in if you are looking to maximize your program's output. However, because of how advanced most compilers are nowadays, you usually won't have to write code in MIPS to achieve maximal output. Many compilers nowadays can compile code into a much more efficient set of MIPS instructions than even seasoned MIPS coders can write. It's still a good idea to learn at least the basics of the MIPS assembly language so that you understand how compilers and assemblers work. In the long run, it will help you code more efficiently than you would without knowledge of the MIPS assembly language.


Assembler: SPIM is the assembler that I use to assemble my MIPS instruction sets. You can download it here: SPIM Download Page. Make sure to download the appropriate version for your OS. There are installation instructions on the website and usage instructions are included with the installation.


Useful Links:

  • MIPS Assembly Language Guide: A very useful (albeit old) document on the MIPS assembly language. It also includes examples of MIPS code.
  • SPIM Quick Reference Page: A quick reference guide that lists out all of the MIPS instructions, what they do and how to use them.


Visual Basic 6.0


Description: On the business level, Visual Basic is one of the most-used programming languages out there. It is specifically designed to be very easy to learn and use by even a novice programmer. Visual Basic allows its users to easily create graphical user interfaces (GUI) and access data stored in databases, to name a few of the many features it offers. If you're going to make a career as a programmer, it's more than likely that you will come across Visual Basic in some form or another on the job.


Compiler: You can download Microsoft Visual Basic 2005 at the Microsoft Visual Studio 2005 Express Edition Download Page.


Useful Links:



Visual Basic.NET


Description: Visual Basic.NET is Microsoft's latest expansion of Visual Basic with the Microsoft .NET Framework. It has implemented a modern object-oriented model, resulting in compatibility issues with older versions of Visual Basic. (The syntax of VB.NET and VB6 vary significantly.) Also, because of the addition of the .NET Framework, it is believed that Visual Basic.NET will cause a significant run-time increase over Visual Basic 6.0. Many Visual Basic programmers still prefer to program in Visual Basic 6.0.


Compiler: You can download Microsoft Visual Basic 2008 Express Edition at the Microsoft Visual Studio 2008 Express Edition Download Page.


Useful Links:





Scripting Languages

ActionScript (integrated w/ Flash)


Description: ActionScript is an object-oriented scripting language used primarily with Adobe Flash to create some pretty impressive graphics. If you want to learn how to make those spiffy Flash graphics and websites, you will need to learn how to code with ActionScript.


Compiler: There are a few compilers out there for ActionScript if you want to familiarize yourself with it. I use the SE|PY ActionScript editor which can be downloaded at the SE|PY ActionScript Editor Download Page. Unfortunately, you won't really be able to make any of those snazzy Flash graphics without actually acquiring a copy of Adobe Flash. Adobe is offering a free trial of Adobe Flash here. Other than that, I currently don't know of any ways to legally acquire a free working copy of Adobe Flash.


Useful Links:



JavaScript


Description: JavaScript is one of the more prevalent scripting languages on web pages nowadays. Much like PHP and ASP, it enables its users to create dynamic and interactive web pages. However, unlike PHP and ASP, it is run client-side so the burden of processing the code is on the visitor's computer instead of the server that the web page is hosted on. JavaScript opens up a whole new frontier of web developing for those who were previously only exposed to HTML. A definite must-learn for anyone who plans to get into web developing!


Compiler: There aren't really many actual compilers out there for JavaScript that I know of. Compiling JavaScript isn't very useful, anyway, since it is a scripting language. Unfortunately, there aren't very many free editors out there, either. There are two editors that I would recommend using to script in JavaScript:

  1. Windows Notepad: Just like with HTML, Notepad is perfectly fine for editing your JavaScript. You won't have any of the fancy features that the advanced editors offer, but it's good practice working on JavaScript with Notepad.
  2. Adobe Dreamweaver: Dreamweaver offers excellent support for JavaScript within its HTML editor. Adobe is offering a free trial of Dreamweaver here.

Useful Links:



Perl


Description: Perl is a general-purpose scripting language that was designed to be easy to script with. It's a pretty powerful and easy-to-learn scripting language that is praised for its text processing power. Definitely worth picking up if you'd like to learn a new scripting language.


Compiler: ActiveState offers a free version of their Perl compiler, ActivePerl, here. Entering in your contact information is optional.


Useful Links:



Python


Description: Python is a high-level, open source programming language that is categorized as a scripting language due to the fact that it is loaded and interpreted at run-time and does not require its own environment to run in. It is praised for the readability and the overall productivity of its code. You can download the latest release of Python here.


Editor: I use SPE when editing my Python code. There's some better Python IDEs out there, but I found this one to be easy to install and use on my Windows machine. Note that SPE also requires you to install wxPython 2.6.1.0 or later, which you can download here.


Useful Links:



VBScript


Description: VBScript, in short, is Microsoft's version of JavaScript. Much of the syntax and functionality is taken from Visual Basic, so if you are familiar with Visual Basic, then picking up VBScript will be pretty easy. For the most part, VBScript is used for embedding scripts in HTML to create dynamic and interactive web pages. ASP web pages are mostly written in VBScript. It is also sometimes used on the desktop application level for creating short scripts that perform simple tasks on Windows machines (e.g. moving a file to another folder).


Editor: Microsoft Visual Studio 2008 offers a limited VBScript editor. You can download the Express Edition version here. Other than that, I normally just use Notepad to edit my VBScript scripts.


Useful Links:





Web Developing Languages

AJAX


Description: AJAX, short for Asynchronous JavaScript and XML, isn't really a new language in its own right. It uses existing languages (mostly JavaScript) to create a much more efficient means of loading web pages into a user's web browser. Instead of reloading an entire web page every time the user goes to a new page, with AJAX, a web developer can design their web page to only load the new content onto the web page and retain the rest of the web page without loading it again. Especially on larger websites that reuse titles, sidebars, etc. on every page, this can result in significantly cutting down on bandwidth usage. With these added benefits come some limitations, however. Wikipedia lists out the limitations here.


Useful Links:

  • AJAX Tutorial: A good tutorial for AJAX provided by w3schools.com. This will give you a good idea of what AJAX is capable of.
  • AJAX Quick Reference Sheet: A quick reference sheet that lists the properties and methods of the XMLHttpRequest object.


ASP


Description: ASP, short for Active Server Pages, is a server-side scripting language used by web developers to create dynamic web pages and tools. It is mostly written in VBScript, so if you are familiar with Visual Basic, learning ASP should be pretty easy. ASP offers a number of built-in objects that allows developers to access data from databases and pass data from web page to web page, to name a couple. ASP was integrated with the Microsoft .NET Framework in 2002 and is now referred to as "Classic ASP." You can still use ASP to develop web pages, though it is now generally recommended to use ASP.NET due to the new functionality that ASP.NET offers.


Editor: You can create and design ASP web pages with Microsoft Visual Web Developer 2005. You can download it at the Microsoft Visual Studio 2005 Express Edition Download Page.


Useful Links:

  • ASP Tutorial: An ASP tutorial provided by w3schools.com. A definite must-read if you plan to eventually learn ASP.NET.
  • ASP Quick Reference Page: A quick reference page for ASP provided by w3schools.com.


ASP.NET


Description: ASP.NET is Microsoft's latest extension of ASP with the Microsoft .NET Framework. It is a server-side scripting language used by web developers to create dynamic web pages and tools. It can also be used to link web pages in to online SQL tables such as MySQL. It seems to have fewer security flaws than PHP.


ASP.NET Editor: You can download the .NET Framework Version 2.0 Software Development Kit here.


Useful Links:

  • ASP.NET Tutorial: An excellent tutorial provided by w3schools.com. Very useful if you're just starting out with ASP.NET.


CSS


Description: CSS, short for Cascading Style Sheet, is a great way for web developers to save a ton of time and space when it comes to designing the looks of their page. Using a Cascading Style Sheet, you can specify the style of your entire web site with one simple file, which helps greatly in keeping a consistent look for your web site. You can make some pretty neat effects on your web page using CSS; for example, the links at the top of this web page were made using CSS. The W3C highly recommends the use of Cascading Style Sheets for all web sites.


Editor: Notepad works perfectly fine for doing CSS. Adobe Dreamweaver also has fantastic support for writing up a CSS file. Adobe is offering a free trial of Dreamweaver here.


Useful Links:

  • CSS Tutorial: Another tutorial provided by w3schools.com. Well-written and very helpful as usual!
  • CSS Quick Reference Sheet: A quick reference sheet in case you need to look up something real fast.


HTML


Description: HTML, short for "Hypertext Markup Language," is the language used by most web developers to define the overall structure and content of a web site. A definite must-know if you ever want to get in to web design!


HTML Editors: There are more HTML editors out there than I could ever count. Here are two that I use:

  1. Windows Notepad: That's right, that old little text editor that comes with Windows that most of us never use! You can design your own web pages in Notepad with enough HTML knowledge. I'd recommend using Notepad at first while you are learning HTML then moving on to a more advanced HTML editor once you get the hang of it.
  2. Adobe Dreamweaver: I started using Dreamweaver a few weeks ago and have never looked back. I'm still discovering new features with it every day. It helps you with the syntax of HTML, scripting, CSS; checks your page compatibility with all of the web browsers out there; and even validates your web pages against w3.org's specifications. In short: Dreamweaver rocks. Adobe is offering a free trial of Dreamweaver here.

Useful Links:

  • HTML Tutorial: An excellent tutorial provided by w3schools.com. Everything you need to know and more!
  • HTML Quick Reference Page: A very handy and very thorough quick reference that should prove useful for anyone designing a web site.


PHP


Description: PHP, short for Hypertext Preprocessor, is a programming language used mostly by web developers for server-side scripting. It allows its users to dynamically add, remove and modify elements of their web site, making it possible to create interactive web pages and tools. However, the versatility that PHP offers creates a potential security risk: visitors to your web site can use PHP to inject harmful scripts into your web site, which can do anything from simply modifying text to deleting your entire web site. If you want to use PHP on your web site, make sure you understand PHP and its potential security flaws fairly well before enabling it.


PHP Editors: Zend, the developing company of PHP, offers a free trial of their PHP editor at their Zend Studio Free Trial Download Page. I'm still on the lookout for a good, free PHP editor. Anyone know of one? If so, please with the details.


Useful Links:

  • PHP Tutorial: An excellent tutorial provided by w3schools.com. Very useful if you're just starting out with PHP.
  • PHP User Manual: A user manual that covers all of the features of PHP. It has a Security section that I'd highly recommend reading.
  • PHP Quick Reference Sheet: Quick reference sheet for PHP 4 that you can print out and easily refer to.


XML


Description: XML, short for Extensible Markup Language, is a general-purpose markup language that is used to store and transport data. Though it can be used in other areas, it is mostly used for the storing and transporation of data over the Internet. XML does not actually do anything itself like other languages do; its primary function is to describe data so that it can be efficiently queried at a later time and formatted by other markup languages, such as HTML. XML is highly recommended by the W3C for use in storing and transferring data over the Internet. If you plan to get into web developing, you will want to know XML.


Editor: Microsoft offers a free XML editor called XML Editor 2007. You can download it here. Adobe Dreamweaver also has a built-in XML editor. You can free trial of Dreamweaver here


Useful Links:

  • XML Tutorial: A very useful tutorial provided by w3schools.com. It covers the basics of XML along with some of the more advanced applications of XML, such as the XMLHttpRequest.
  • XML Quick Reference Sheet: A quick syntax reference sheet for XML.


XHTML


Description: XHTML, short for Extensible HyperText Markup Language, is HTML with the strict formatting requirements of XML applied to it. XHTML was created in an attempt to eliminate "bad" HTML that may cause some browsers to misinterpret a markup, or perhaps not even interpret the markup at all. By complying with XHTML standards, you will make your web site much more browser-compatible and decrease the chance of your web pages being displayed improperly. It is highly recommended by the W3C to conform to XHTML standards when designing a web site.


Editor: Refer to the HTML section for more information regarding HTML/XHTML editors.


Useful Links:

  • XHTML Tutorial: A short tutorial covering the basics of XHTML provided by w3schools.com.
  • XHTML Quick Reference Sheet: A very useful quick reference sheet that shows all of the HTML/XHTML markup tags and points out the differences between HTML and XHTML.




Misc. Languages

SQL


Description: SQL, short for Structured Query Language is a language used for extracting, creating, modifying and deleting data and tables in SQL databases. SQL statements aren't compiled into executable software applications like most programming languages. Instead, they are run on and interpreted by SQL server databases such as Microsoft SQL Server 2005, MySQL and Oracle, to name a few. SQL is used widely by companies that have to store and process large amounts of data in an efficient manner.


SQL Servers: Microsoft SQL Server 2005 Express Edition is a good, free SQL server to practice on. You can download it at the Microsoft Visual Studio 2008 Express Edition Download Page.


Useful Links:




© 2007-2008 Randy Olson. All rights reserved.
Any questions, comments or concerns?