Index

Languages

Browse language profiles by practical fit, runtime, memory model, typing, tooling, and verified sources.

CFML

CFML is a tag-and-script server-side web language best known through Adobe ColdFusion and Lucee, used for database-backed web applications, intranet systems, forms, reports, and long-lived JVM-hosted business apps.

  • active
  • dynamic
  • server-side scripting
  • tag-based programming
Runtime
CFML source compiled or interpreted by engines such as Adobe ColdFusion or Lucee, commonly running on the JVM inside an application server, servlet container, or bundled server distribution
Memory
managed by the CFML engine and JVM, with request, session, application, server, cache, database, and Java object lifetimes controlled by application configuration and engine behavior
Tooling
ColdFusion Package Manager, CommandBox, ForgeBox

Crystal

Crystal is a statically typed, Ruby-inspired compiled language for native tools, web backends, C-adjacent applications, and scripts that benefit from Ruby-like syntax, type inference, native executables, fibers, channels, macros, and Shards.

  • active
  • static
  • object-oriented
  • imperative
Runtime
ahead-of-time native compilation through the Crystal compiler and LLVM, with a runtime for garbage collection, fibers, channels, I/O scheduling, and standard-library services
Memory
automatic garbage collection for heap-allocated reference types, with explicit care still required for C-managed resources and finalizers
Tooling
Shards, crystal build, crystal run

Dart

Dart is a Google-developed, soundly typed application language built around the Dart VM, ahead-of-time native compilation, JavaScript and WebAssembly web compilation, and Flutter's multi-platform UI framework.

  • active
  • static
  • object-oriented
  • imperative
Runtime
Dart VM with JIT for development, AOT native compilation for production, JavaScript or WebAssembly for web targets
Memory
managed by the Dart runtime garbage collector
Tooling
pub, pub.dev, Flutter SDK

Elixir

Elixir is a dynamically typed, functional language for the Erlang VM, centered on lightweight BEAM processes, OTP supervision, message passing, Mix and Hex tooling, Erlang interoperability, and Phoenix web applications.

  • active
  • dynamic
  • functional
  • concurrent
Runtime
compiled to BEAM bytecode and run on Erlang/OTP
Memory
automatic memory management on the BEAM, with isolated process heaps managed by the Erlang runtime
Tooling
Mix, Hex, Rebar3

JavaScript

JavaScript is a dynamically typed, garbage-collected, prototype-based language standardized as ECMAScript and used across browsers, servers, edge runtimes, tools, and application scripting.

  • active
  • dynamic
  • multi-paradigm
  • prototype-based object-oriented
Runtime
browser, server, edge, and embedded JavaScript runtimes
Memory
garbage collected by host engine
Tooling
npm, pnpm, Yarn

Kotlin

Kotlin is a statically typed JetBrains language for JVM, Android, JavaScript, Wasm, and native targets, best known for Java interoperability, null-safety features, coroutines, and Kotlin Multiplatform shared-code workflows.

  • active
  • static
  • object-oriented
  • functional
Runtime
JVM bytecode, Android, JavaScript, Wasm, or native binaries through Kotlin target backends
Memory
managed by target runtime, including JVM garbage collection and Kotlin/Native tracing garbage collection
Tooling
Gradle, Maven, Maven Central

PHP

PHP is a dynamically typed, garbage-collected scripting language centered on server-side web applications, content management systems, request/response backends, and Composer-based package ecosystems.

  • active
  • dynamic
  • imperative
  • procedural
Runtime
Zend Engine interpreter for web server SAPIs, PHP-FPM, CLI scripts, workers, and embedded runtimes
Memory
automatic memory management through reference counting and cyclic garbage collection
Tooling
Composer, Packagist, PECL

Prolog

Prolog is a logic programming language for expressing facts, rules, relations, and queries, with unification, backtracking, recursion, and constraint logic programming as its central practical tools.

  • active
  • dynamic
  • logic
  • declarative
Runtime
interactive and compiled Prolog systems, commonly using a WAM-style abstract machine or implementation-specific bytecode/native compilation, with SWI-Prolog as a common open source environment
Memory
implementation-managed stacks, heaps, trails, and garbage collection for terms, choice points, variables, and compiled predicates; ordinary Prolog code rarely performs manual memory management
Tooling
SWI-Prolog packs, implementation libraries, OS packages

Python

Python is a dynamically typed, general-purpose language centered on readability, a large standard library, and a broad package ecosystem for scripting, automation, web services, data work, scientific computing, and machine learning.

  • active
  • dynamic
  • multi-paradigm
  • procedural
Runtime
interpreted bytecode on CPython and other Python implementations
Memory
garbage collected; CPython primarily uses reference counting plus cyclic garbage collection
Tooling
pip, PyPI, venv

Ruby

Ruby is a dynamically typed, garbage-collected language centered on expressive object-oriented programming, productive scripting, RubyGems and Bundler package workflows, and web application development shaped heavily by Ruby on Rails.

  • active
  • dynamic
  • object-oriented
  • imperative
Runtime
interpreted bytecode on CRuby/MRI and other Ruby implementations
Memory
automatic garbage collection
Tooling
RubyGems, Bundler

Rust

Rust is a statically typed systems language for software that needs low-level control, predictable performance, and strong compile-time memory and concurrency checks without a required garbage collector.

  • active
  • static
  • systems
  • multi-paradigm
Runtime
native binaries with a small standard runtime; no required garbage collector
Memory
ownership, borrowing, lifetimes, and RAII without a required garbage collector
Tooling
Cargo, crates.io, rustup

TypeScript

TypeScript is a typed superset of JavaScript that adds static analysis and type annotations while compiling to JavaScript for existing runtimes.

  • active
  • static
  • multi-paradigm
  • object-oriented
Runtime
JavaScript runtime
Memory
host runtime managed
Tooling
npm, pnpm, Yarn

Visual Basic

Visual Basic is Microsoft's approachable BASIC-family language line, now centered on stable .NET application and library maintenance, with classic VB and VBA still important around Windows desktop, COM, and Office automation.

  • active
  • static and dynamic
  • object-oriented
  • imperative
Runtime
compiled to .NET assemblies for modern Visual Basic; classic VB6 compiles to 32-bit Windows applications that use the VB6 runtime; VBA runs inside Office host applications
Memory
managed by the .NET garbage collector for modern Visual Basic; classic VB and VBA rely on COM reference counting, runtime objects, forms, controls, and host application lifetimes
Tooling
NuGet, dotnet CLI, MSBuild