Introduction to programming languages
Repositories for common programming languages, frameworks, and compilers
- C# / .NEThttps://github.com/dotnet
- D: a statically typed general-purpose language designed primarily for systems programminghttps://github.com/dlang
- Darthttps://github.com/dart-lang
- Gohttps://github.com/golang/
(Fork of Go from Microsoft: https://github.com/microsoft/go/ )
- Java / JDKhttps://github.com/openjdk/jdk
Latest version: https://github.com/openjdk/jdk21
- Juliahttps://github.com/JuliaLang/julia
- Kotlinhttps://github.com/Kotlin
- Lean (a language with a strong emphasis on mathematics)https://github.com/leanprover/lean4
- Mojo (a language that aims to provide an alternative to Python, has a similar syntax, is compatible with Python, but offers greater performance)https://github.com/modularml/mojo
- Nimhttps://github.com/nim-lang/Nim
- OCamlA functional, statically typed language from the ML family of languages, it provides a modular system coupled with an object-oriented, class-based approach.
- Odinhttps://github.com/odin-lang/Odin
- PHPhttps://github.com/php/php-src
- Rubyhttps://github.com/ruby/ruby
- Rusthttps://github.com/rust-lang/rust
- Perlhttps://github.com/Perl/perl5
- Swifthttps://github.com/swiftlang
- V8 JavaScript Enginehttps://github.com/v8/v8
- Vhttps://github.com/vlang/
- Valhttps://github.com/val-lang/val
- Zighttps://github.com/ziglang/zig
- RacketA general-purpose, cross-platform language for a wide variety of tasks—web applications, systems programming, network applications, and graphical applications. It’s more similar to functional languages, but as stated on the Racket website, it’s a “Language-Oriented Programming Language.”
- HaareA systems programming language similar to C, but simpler than C.
The language utilizes manual memory management and static typing. It is optimized for low-level tasks (development of operating systems, compilers, network applications, and system utilities that require maximum performance and full execution control). A minimal runtime environment is attached for application execution, and a standard library of functions is distributed for development. This library provides access to the operating system’s core interfaces and offers functions for working with common algorithms, protocols, and formats.
- Reasonhttps://github.com/reasonml/reason
- Grainhttps://github.com/grain-lang/grain
- GuileA free implementation of the Scheme functional programming language that supports embedding code into applications written in other programming languages.
- UniconA cross-platform, high-level programming language that evolved from the Icon language.
- Cheerp – C/C++ code compiler to WebAssembly or JavaScripthttps://github.com/leaningtech/cheerp-compiler
- jsiiA modification of the TypeScript compiler that enables the creation of class libraries in TypeScript that can be used in C#, Go, Java, and Python projects by translating them into native modules for those languages that provide the same API.
- FableF# to JavaScript, TypeScript, Python, Rust, and Dart compiler
- PRQLa language for simplifying the creation of complex queries on data that compiles to SQL
- C3 (c3lang)A systems programming language based on C. It is an evolution of C, allowing the use of the same paradigms while preserving, as much as possible, the same syntax. Although the syntax differs somewhat from standard C.
- ReScript (c3lang)A statically typed functional programming language that can run in the browser or in a Node.js environment.
- PharoObject-oriented language, a dialect of Smalltalk
- BorgoA language written in Rust with similar syntax, but compiled to Go. This is an attempt to make the language less complex than Rust and more expressive than Go.
- ErlangThe language is primarily designed for creating scalable and fault-tolerant real-time services.
- jankA general-purpose language that is a Clojure dialect and runs on top of LLVM, with the possibility of integrating native C++ code.
- TinyGoA Go language compiler designed for use in small applications such as microcontrollers, WebAssembly (wasm/wasi), and command-line tools. Based on LLVM.
- RyeA high-level dynamic programming language based on Rebol, with some additions from Factor, the Linux shell, and Golang.
C/C++
- GCChttps://github.com/gcc-mirror/gcc
- LLVMhttps://github.com/llvm/llvm-project
- Intel® Implicit SPMD Program CompilerA C compiler from Intel. It’s cross-platform—compatible with Windows, MacOS, and Linux—and can be compiled for both Intel and ARM processors.
- TinyCC (a compact and fast C compiler)https://github.com/TinyCC/tinycc
- CompCertA compiler for a subset of the C programming language that generates code for PowerPC, ARM, x86, and RISC-V processors.
- Open64 (compiler for C/C++)https://github.com/open64-compiler/open64
- Cosmopolitanhttps://github.com/jart/cosmopolitan
A library that allows you to compile a C program once and run it anywhere, like Java, except it doesn’t require an interpreter or virtual machine. Instead, it reconfigures standard GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux, Mac, Windows, FreeBSD, OpenBSD, NetBSD, and BIOS with maximum performance and minimal footprint.
- Fil-CA memory-safe compiler for C and C++. Compatibility with other C and C++ compilers is incomplete.
Python
- Pythonhttps://github.com/python
- Codon is a Python compiler.https://github.com/exaloop/codon
- RustPython is a Python interpreter written in Rust.https://github.com/RustPython/RustPython/
- Kuroko (Python dialect)https://github.com/kuroko-lang/kuroko
- Nuitka (a Python compiler written in Python)https://github.com/Nuitka/Nuitka
Pascal
- PascalABChttps://github.com/pascalabcnet/pascalabcnet
- Free Pascalhttps://github.com/fpc/FPCSource
Common Lisp
- CLISPhttps://gitlab.com/gnu-clisp/clisp
- SBCL (Steel Bank Common Lisp) – implementation of the Common Lisp languagehttps://github.com/sbcl/sbcl
- CCL (Clozure Common Lisp) is an implementation of the Common Lisp language.https://github.com/Clozure/ccl
- Clasp is a Common Lisp implementation that uses LLVM.https://github.com/clasp-developers/clasp
- ABCL (Armed Bear Common Lisp) is a Common Lisp implementation that uses the JVM.https://github.com/armedbear/abcl
- ECL (Embeddable Common-Lisp) is an implementation of Common Lisp aimed primarily at embedded systems.https://github.com/armedbear/abcl
- Movitz (Embeddable Common-Lisp) is a Common Lisp implementation primarily aimed at running on bare metal under x86.https://github.com/PuercoPop/Movitz
Assemblers
- YASM assemblerhttps://github.com/yasm/yasm
- NASM assemblerhttps://github.com/netwide-assembler/nasm
- FASM assemblerhttps://github.com/tgrysztar/fasm
Basics
- FreeBASICA cross-platform BASIC compiler with syntax similar to MS-QuickBASIC, adding new features such as pointers, OOP, unsigned data types, assembly language insertions, etc.
- FSmall Visual Basic (sVB)A compiler and development environment for the BASIC dialect, designed for educational purposes and reminiscent of Visual Basic
- QB64a cross-platform BASIC compiler that maintains compatibility with QBasic/QuickBASIC 4.5
Explore More IT Terms
#
A
- A Guide to SQL Query Formatting
- A/B testing
- Agile
- Algorithm complexity in 5 minutes
- Algorithms and Data Structures in C#
- An overview of the C # programming language
- An overview of the Python programming language
- Anaconda Python
- Android
- Android App Bundle
- Android SDK
- Angular
- Ansible
- Apache
- Apache Airflow
- Apache Kafka
- Apache Tomcat
- App Store
- AppCode
- Array-based stack
- ArrayList
- ASCII
- ASP.NET
- Assembly Language Lessons
B
C
D
- Data Analytics: applications of data analysis in companies
- Data Engineer - Who is it, what does a data engineer do, and an overview of the profession
- Data modeling: what it is, types, and process steps.
- Data preprocessing: a complete guide for beginners and professionals.
- Data structure
- Data structures
- Defining Aliases
- Defining Arrays
- Deque
- Developing a Website from Scratch
- Digital data: understand the importance of this asset for businesses.
- Doubly linked lists
E
F
H
- Handling errors and exceptions
- How to effectively organize your workflow
- How to Learn Java: Tips for Beginner Developers
- How to Learn PHP: A Beginner's Guide
- How to Use S3 Storage in Kubernetes with CSI
- HTML
- HTML and CSS: Definition, Application, and Operating Principles
- HTML and CSS. Layout from Scratch: What to Learn, Where to Learn, and How Long Will It Take?
- HTML Frame Structure
- HTML Link Formatting
I
- if..else construction
- Inheritance in Java: A Complete Guide to Principles and Implementation
- Inserting an Image
- Interactive Python Tutorial – Learn Programming from Scratch
- Interview Problem: Finding a Deleted Element in O(N)
- Interview Scare: The FizzBuzz Challenge
- Introduction to C++
- Introduction to Machine Learning
- Introduction to programming languages
- IT Specialist Resume (CV)
J
K
M
O
P
S
- SFML Graphics Library Tutorials
- SQL commands: see what they are, what the main ones are + examples
- SQL Interview Questions and Tasks
- SQL Lessons
- SQL Stored Procedures
- SQL Syntactic Sugar: The COALESCE Function
- Stack
- Start in analytics: Python or R
- Statistical analysis: importance for decision making.
- String formatting in Python
- Swift Lessons
- switch/match construct
T
W
- What are databases, and why do they need DBMS and SQL?
- What do Linux distributions consist of?
- What is .NET and what is it used for?
- What is a GPU in a computer, in simple terms?
- What is Big Data? Introduction, Types, Characteristics, and Examples
- What is Golang and what is it used for?
- What is Haskell and what is it used for?
- What is Kotlin and what is it used for?
- What is Linux? The History of Linux
- What is machine learning, and how does it work?
- What is Power BI: everything about the data analytics software
- What is the C++ programming language?
- What is the OSI Model: A Complete Explanation of the Seven Layers and Their Role in Networking
- Where to start learning the C programming language?
- Which Linux distribution should you choose? A Linux distribution overview
