Difference between revisions of "Programming Languages"

From HPC Wiki
Jump to navigation Jump to search
(Created page with "Category:HPC-User Among the decades, very many [https://en.wikipedia.org/wiki/Programming_language programming languages] has been evolved. We list some most widely used...")
 
Line 6: Line 6:
 
== Low-Level programming languages ==
 
== Low-Level programming languages ==
 
* Machine code: That are 10001001011110 your computer can understand. You likely not.
 
* Machine code: That are 10001001011110 your computer can understand. You likely not.
* Assembler: human-readable (to somehow extent; many says 'for special humans'), but still very low-level. Allows the programmer to get the very ''last'' possible performance crumbs from the hardware, but in turn is hardware-dependent and very tedious to program. Highly-tuned libraries often contain ASM parts, often making this software less-portable.
+
* Assembler: human-readable (to somehow extent; many says 'for special humans'), but still very low-level. Allows the programmer to get the very ''last'' possible performance crumbs from the hardware, but in turn is hardware-dependent and very tedious to program. Highly-tuned libraries often contain ASM parts, often making this software less-portable. You should not start at assembler level when programming an application.
  
 
== High-level programming languages: ==
 
== High-level programming languages: ==

Revision as of 14:26, 5 May 2020


Among the decades, very many programming languages has been evolved. We list some most widely used in the context of HPC here.

Low-Level programming languages

  • Machine code: That are 10001001011110 your computer can understand. You likely not.
  • Assembler: human-readable (to somehow extent; many says 'for special humans'), but still very low-level. Allows the programmer to get the very last possible performance crumbs from the hardware, but in turn is hardware-dependent and very tedious to program. Highly-tuned libraries often contain ASM parts, often making this software less-portable. You should not start at assembler level when programming an application.

High-level programming languages:

... readable by humans. The source code is a text file, to be modufie to an executable file by a compiler. Portability

  • Fortran, the 1st wide-used high-level programming, used in HPC since 1954 and will likely be used for a lomg time, as there are still many Fortran projects around. Fortran handles multi-dimensional arrays comfortably. Due to some restrictions i the language
  • C and C++
  • JAVA

Script / interpreted languages

  • Shell
  • Python
  • Perl

Other

  • MATLAB

References