Difference between revisions of "Programming Languages"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
* 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. | * 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 == |
− | ... readable by humans. The source code is a text file, to be modufie to an executable file by a [[Compiler|compiler]]. Portability | + | ... are readable by humans. The source code is a text file, to be modufie to an executable file by a [[Compiler|compiler]] (we do not want to introduce the definition bush about compiled and [https://en.wikipedia.org/wiki/Interpreted_language interpreted languages] here). |
+ | |||
+ | |||
+ | 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 | * 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 | ||
Revision as of 14:32, 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
... are readable by humans. The source code is a text file, to be modufie to an executable file by a compiler (we do not want to introduce the definition bush about compiled and interpreted languages here).
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