Language | Typical Usage | Notes |
---|---|---|
General Purpose Compiled Programming Languages | ||
C | Low level system programming. Older language used for Linux/Unix kernel. | The foundation of UNIX and the the father of Java, C++, ObjectiveC and C#. Developed in 1969. Used heavily in the 1970's-1990's. "Procedurual" (Not Object Oriented) |
C++ | Common language for performance centric tasks. Large API / Vendor support. | Object oriented additions to C. Very widely used. High learning curve. Lots of features. First standardized in 1989. |
Objective C | Primary development language for Mac OSX/iOS development. | Another object oriented language based on C. Has a "dynamic runtime" while C++ is static. Has notably different syntax than C, C++, and Java. |
Swift | Supported by Apple for Mac OSX/iOS development. | A newer option from Apple for native iPhone and Mac development. |
General Purpose Interpreted or Semi-Compiled Languages | ||
Javascript | Any dynamic web page. | Not the same as Java! Built into web browsers. Used for dynamic web pages in HTML5 as well as almost every web site on the internet. |
Java | Cross platform and enterprise development. Minecraft! | Well known. Taught in colleges. Considered "High Ceremony" since lots of code is required even to do small things. Somewhat similar syntax to C/C++. Generally does not perform as well as "compiled' languages like C, C++, Objective C. |
C# (C-Sharp) | Java-Like language for Microsoft Windows development |
Runs on a VM just like Java.
|
Python | A great general purpose scripting language. Capable of a wide variety of tasks such as web sites, database communication, games, and image processing. | Integrates with many entertainment industry software packages like Maya, Houdini, and Nuke. Scripting language with clean readable code. Easy to learn and maintain. Surpassed Java as top learning language in schools. |
Perl | Systems administration. Text parsing and data manipulation. | Powerful scripting language. Can do a lot with small amounts of code. Often referred to as a "write only" language because loose formatting constraints makes it difficult to read others code. |
PHP | "Back End" web pages | Generally used as a server-side language for websites. Code is executed on the server per page request and is usually written to output HTML or other browser interpreted data. |
Data Description Languages | ||
XML | Data description and transfer language for data files and web sites. | |
HTML | Web page description language interpreted by web browsers | |
JSON | Data description and transfer language for data files and web sites. | Considered by some to be easier to read than XML. Often used when returning data from web sites. |
Application Specific Languages | ||
SQL | Used for database queries to relational databases | Runs within many different brands and types of relational database. |
Bash/Tcsh/Csh | Quick utilities. Systems administration. Unix automation tasks. | Scripting language that runs within the specific UNIX shell environment. |
MEL | Application specific language for Maya. Used for Maya plugins and automation. | Scripting language that runs within Maya. Being displaced by Python. |
HScript | Application specific language for Houdini. Used for Houdini plugins and automation. | Scripting language that runs within Houdini |
Cuda | NVidia specific graphics processing language. Used to optimize applications to run on the graphics card. (GPU) | |
GLSL | Open GL Shading Language. Used in real time tools to offload graphics processing to the graphics card (GPU) | Replacement for OpenGL |
About Me
- Matt Schnittker
- Santa Clarita, Ca, United States
- I work as a Technology Manager in the Entertainment Industry. My first film was Disney's Dinosaur and have been credited on several films since. I love working on old electronics, especially old radios. I am also passionate about technology and education. I have 4 kids and you can read about us on our family blog.
Friday, September 5, 2014
Some Common Programming Languages
People will often ask me questions like like "How is C different from C++?", "What makes folks use Python instead of Perl?", "Are Java and Javascript the same?", "What is an HTML programmer?" Of course, these questions could have long, detailed, technical responses. Though, I find usually that's not what folks want. They simply want a one or two sentence simple explanation. So, I put together this languages matrix to try and answer these simple questions with simple, one or two sentence answers. I hope it helps.
Subscribe to:
Posts (Atom)