Introduction to programming languages
Introduction to C#
C# is a general-purpose, multi-paradigm programming language.
C# encompasses static typing, strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines.
C# was designed by Anders Hejlsberg from Microsoft in 2000 and was later approved as an international standard by Ecma in 2002 and ISO in 2003.
Microsoft introduced C# along with .NET Framework and Visual Studio, both of which were closed-source:
- At the time, Microsoft had no open-source products
- Four years later, in 2004, a free and open-source project called Mono began, providing a cross-platform compiler and runtime environment for the C# programming language
- A decade later, Microsoft released Visual Studio Code (code editor), Roslyn (compiler), and the unified .NET platform (software framework), all of which support C# and are free, open-source, and cross-platform
- Mono also joined Microsoft but was not merged into .NET
Content source:
https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
Introduction to JavaScript
JavaScript often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS.
Over 97% of websites use JavaScript on the client side for web page behavior, often incorporating third-party libraries.
All major web browsers have a dedicated JavaScript engine to execute the code on users’ devices.
JavaScript is a high-level, often just-in-time compiled language that conforms to the ECMAScript standard.
It has dynamic typing, prototype-based object-orientation, and first-class functions.
It is multi-paradigm, supporting event-driven, functional, and imperative programming styles.
It has application programming interfaces (APIs) for working with text, dates, regular expressions, standard data structures, and the Document Object Model (DOM).
Content source:
https://en.wikipedia.org/wiki/JavaScript
Introduction to Python
Python is a high-level, interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.
Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small- and large-scale projects.
Python is dynamically-typed and garbage-collected.
It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming.
It is often described as a “batteries included” language due to its comprehensive standard library.
Guido van Rossum began working on Python in the late 1980s as a successor to the ABC programming language and first released it in 1991 as Python 0.9.0.
Python 2.0 was released in 2000 and introduced new features such as list comprehensions, cycle-detecting garbage collection, reference counting, and Unicode support.
Python 3.0, released in 2008, was a major revision that is not completely backward-compatible with earlier versions. Python 2 was discontinued with version 2.7.18 in 2020.
Content source:
https://en.wikipedia.org/wiki/Python_(programming_language)
Introduction to Java
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.
It is a general-purpose programming language intended to let programmers write once, run anywhere, meaning that compiled Java code can run on all platforms that support Java without the need to recompile.
Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture.
The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them.
The Java runtime provides dynamic capabilities (such as reflection and runtime code modification) that are typically not available in traditional compiled languages.
As of 2019, Java was one of the most popular programming languages in use according to GitHub, particularly for client–server web applications, with a reported 9 million developers.
Content source:
https://en.wikipedia.org/wiki/Java_programming_language
Introduction to Go
Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson.
It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency.
It is often referred to as Golang because of its former domain name, golang.org, but its proper name is Go.
There are two major implementations:
- Google’s self-hosting “gc” compiler toolchain, targeting multiple operating systems and WebAssembly
- gofrontend, a frontend to other compilers, with the libgo library. With GCC the combination is gccgo; with LLVM the combination is gollvm
A third-party source-to-source compiler, GopherJS, compiles Go to JavaScript for front-end web development.
Content source:
https://en.wikipedia.org/wiki/Go_programming_language
Introduction to Rust
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency.
It is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references.
It achieves memory safety without garbage collection, and reference counting is optional.
It is a systems programming language with mechanisms for low-level memory management, but also offers high-level features such as functional programming.
First appearing in 2010, Rust was designed by Graydon Hoare at Mozilla Research with contributions from Dave Herman, Brendan Eich, and others.
The designers refined the language while writing the Servo experimental browser engine and the Rust compiler.
Rust’s major influences include C++, OCaml, Haskell, and Erlang.
Rust has seen increasing use and investment in the industry, with adoption by companies including Amazon, Discord, Dropbox, Facebook (Meta), Google (Alphabet), and Microsoft.
Content source:
https://en.wikipedia.org/wiki/Rust_programming_language
Introduction to TypeScript
TypeScript is a programming language developed and maintained by Microsoft.
It is a strict syntactical superset of JavaScript and adds optional static typing to the language.
It is designed for the development of large applications and transpiles to JavaScript.
As it is a superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.
TypeScript may be used to develop JavaScript applications for both client-side and server-side execution (as with Node.js or Deno).
Multiple options are available for transpilation.
The default TypeScript Checker can be used, or the Babel compiler can be invoked to convert TypeScript to JavaScript.
TypeScript supports definition files that can contain type information of existing JavaScript libraries, much like C++ header files can describe the structure of existing object files.
Content source:
https://en.wikipedia.org/wiki/TypeScript
Introduction to Dart
Dart is a programming language designed for client development, such as for the web and mobile apps.
It is developed by Google and can also be used to build server and desktop applications.
It is an object-oriented, class-based, garbage-collected language with C-style syntax.
It can compile to either native code or JavaScript, and supports interfaces, mixins, abstract classes, reified generics and type inference.
Content source:
https://en.wikipedia.org/wiki/Dart_programming_language
Introduction to Scala
Scala is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming.
Designed to be concise, many of Scala’s design decisions are aimed to address criticisms of Java.
Scala source code can be compiled to Java bytecode and run on a Java virtual machine (JVM).
Scala provides language interoperability with Java so that libraries written in either language may be referenced directly in Scala or Java code.
Like Java, Scala is object-oriented, and uses a syntax termed curly-brace which is similar to the language C.
Since Scala 3, there is also an option to use the off-side rule (indenting) to structure blocks, and its use is advised.
Martin Odersky has said that this turned out to be the most productive change introduced in Scala 3.
Content source:
https://en.wikipedia.org/wiki/Scala_programming_language
Introduction to Kotlin
Kotlin is a cross-platform, statically typed, general-purpose programming language with type inference.
Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin’s standard library depends on the Java Class Library, but type inference allows its syntax to be more concise.
Kotlin mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React) or native code via LLVM (e.g., for native iOS apps sharing business logic with Android apps).
Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.
On 7 May 2019, Google announced that the Kotlin programming language is now its preferred language for Android app developers.
Since the release of Android Studio 3.0 in October 2017, Kotlin has been included as an alternative to the standard Java compiler.
Content source:
https://en.wikipedia.org/wiki/Kotlin_programming_language
Introduction to PHP
PHP is a general-purpose scripting language geared toward web development.
It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994.
The PHP reference implementation is now produced by The PHP Group.
PHP originally stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor.
PHP code is usually processed on a web server by a PHP interpreter implemented as a module, a daemon or as a Common Gateway Interface (CGI) executable.
On a web server, the result of the interpreted and executed PHP code - which may be any type of data, such as generated HTML or binary image data - would form the whole or part of an HTTP response.
Various web template systems, web content management systems, and web frameworks exist which can be employed to orchestrate or facilitate the generation of that response.
Additionally, PHP can be used for many programming tasks outside the web context, such as standalone graphical applications and robotic drone control.
Content source:
https://en.wikipedia.org/wiki/PHP
Introduction to C++
C++ is a general-purpose programming language created by Bjarne Stroustrup as an extension of the C programming language, or “C with Classes“.
The language has expanded significantly over time, and modern C++ now has object-oriented, generic, and functional features in addition to facilities for low-level memory manipulation.
It is almost always implemented as a compiled language, and many vendors provide C++ compilers, including the Free Software Foundation, LLVM, Microsoft, Intel, Oracle, and IBM, so it is available on many platforms.
C++ was designed with an orientation toward systems programming and embedded, resource-constrained software and large systems, with performance, efficiency, and flexibility of use as its design highlights.
C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications, video games, servers (e.g. e-commerce, web search, or databases), and performance-critical applications (e.g. telephone switches or space probes).
Content source:
https://en.wikipedia.org/wiki/C%2B%2B