Best XAML Alternatives in 2025
Find the top alternatives to XAML currently available. Compare ratings, reviews, pricing, and features of XAML alternatives in 2025. Slashdot lists the best XAML alternatives on the market that offer competing products that are similar to XAML. Sort through XAML alternatives below to make the best choice for your needs
-
1
Prolog
Prolog
Prolog is a logic language that is associated with artificial intelligence (AI) and computational linguistics. Prolog's roots are in first-order formal logic. Unlike many other programming languages Prolog is primarily intended as a declarative language. The program logic is expressed as relations, represented by facts and rules. The computation is started by running a query on these relations. Prolog is one of the earliest logic programming languages. It remains the most popular today, with many free and commercial implementations. The language is used for natural language processing, theorem-proving, expert systems and term rewriting. Modern Prolog environments allow for the creation of graphical interfaces as well as administrative applications and networked applications. -
2
QML
Qt
FreeQML is a declarative language which allows user interfaces to describe themselves in terms of their visual components, and how they interact with each other. It is a highly readable language, which allows components to be interconnected dynamically. Additionally, components can be reused and customized within a user-interface. Designers and developers can create fluid animated user interfaces using QtQuick. They also have the option to connect these interfaces with any back-end C++ libraries. QML is both a programming language and a specification of user interfaces. It allows designers and developers to create visually appealing, performant, and fluidly animated applications. QML is a declarative, JSON-like syntax that is highly readable and supports imperative JavaScript expressions with dynamic property bindings. -
3
Component Pascal
Component Pascal
FreeComponent Pascal is a general purpose language in the tradition Oberon, Modula-2 and Pascal. It has the following key features: block structure, modularity and static typing with strong type-checking (also across module boundaries), type extension using methods, dynamic loading modules and garbage collection. Component Pascal is an object-oriented language because it supports type extension. An object is a variable in an abstract data type that contains private data (its state), and the procedures that operate on it. Extensible records are used to declare abstract data types. Component Pascal covers the majority of terms in object-oriented languages using the established vocabulary for imperative languages to reduce the number of notions related concepts. Component Pascal is a component-oriented language. It has complete type safety and requires a dynamic object model. -
4
Visual Basic
Microsoft
FreeMicrosoft has developed Visual Basic, an object-oriented programming language. Visual Basic makes it easy and fast to create type-safe.NET applications. Visual Basic focuses on supplying more of the features of the Visual Basic Runtime (microsoft.visualbasic.dll) to .NET Core and is the first version of Visual Basic focused on .NET Core. Visual Basic Runtime relies heavily on WinForms. These will be added to a later version. .NET is an open-source platform that allows you to build many types of apps. Regardless of the type of app you are building,.NET makes your code and project files look and behave the same. Each app has the same runtime, API and language capabilities. Visual Basic programs are built from standard building blocks. A solution can be made up of one or more projects. Each project can contain one or more assemblies. Each assembly is compiled using one or more source files. -
5
Crystal
Crystal
FreeCrystal's syntax is heavily inspired from Ruby's. It feels natural to read, easy to write, with the added benefit that it requires less learning curve for Ruby devs. Crystal is statically type-checked so errors in type will be caught before they reach runtime. Crystal also has type inference built-in, which means that most type annotations are unnecessary. Crystal makes all types non-nilable. The available variables are represented by a union of the type and null. The compiler will check for null references during compile time. Crystal's solution to metaprogramming is a powerful macro-system that covers everything from types inspection and basic templating to types inspection and running arbitrary programs. -
6
Cython
Cython
FreeCython, an optimizing static compiler, is available for both the Python programming languages and the extended Cython programming languages (based on Pyrex). It makes it as easy to write Python extensions using C. Cython combines the power of Python with C, allowing you to write Python code that calls back to C or C++ natively at any time. Static type declarations can be used to convert readable Python code into plain C performance. Combine source code level debugging to identify bugs in Python, Cython and C code. Large data sets can be interacted with efficiently, e.g. Multi-dimensional NumPy arrays. You can quickly build your applications in the mature, well-used CPython ecosystem. The Cython language, which is a superset Python language, supports calling C functions as well as declaring C types on variables or class attributes. -
7
LOLCODE
LOLCODE
FreeLOLCODE can read files from either standard input or a file. Although spaces are used to demarcate tokens within the language, some keyword constructs may contain spaces. Tabs and multiple spaces are considered single spaces, and are therefore irrelevant. Indentation is not necessary. A command begins at the beginning of a line. A newline indicates that the command is over, except in exceptional cases. Multiple commands can be placed on one line if they're separated by a comma The comma acts like a virtual newline, or soft command break in this instance. You can combine multiple lines into one command by adding three periods or the Unicode Ellipsis character (u2026) at their end. Lines with line continuation may be strung together in a row to allow a single command that spans more than one or two lines. Each line that ends with three periods will be included in the next line, until there are no more periods. -
8
Scala
Scala
FreeScala combines object-oriented programming with functional programming in a single, concise language. Scala's static type system helps avoid bugs in complex applications. Its JavaScript and JVM runtimes allow you to build high-performance systems and have easy access to large libraries. Scala is intelligent about static types. You don't usually need to tell Scala what the types of your variables are. Instead, it will use its powerful type inference to figure them out. Scala uses case classes to represent structural data types. They implicitly equip the class using meaningful toString, equals, and hashCode methods. They also have the ability to be deconstructed using pattern matching. Scala functions are values. They can be described as anonymous functions using a concise syntax. -
9
Vala
The GNOME Project
FreeVala is a programming language that uses modern high-level abstractions and does not impose additional runtime requirements. Vala can be used in many other situations where native binaries are needed. More. GNOME Discourse is available for general discussion and developer discussions. For questions and discussions with developers, you can also join the Vala Matrix channel. Vala is a cross-platform development tool that includes third party distributions that provide binaries for Windows, macOS Linux, BSDs, and other platforms. -
10
CSS
CSS
FreeCascading style sheets, also known as CSS, is a style language that web developers use to organize the HTML and other elements on a website. CSS is one of most popular languages on the internet. -
11
QBasic
QBasic
FreeQuickBasic and QBasic are both easy-to-learn programming languages (and therefore great for beginners). They are based on DOS operating systems, but can also be used on Windows. QBasic is a slimmed down version of QuickBasic. QBasic is less powerful than QuickBasic because it does not have a compiler. QBasic can't be used to create executables (.exe) files. The built-in QBasic interpreter cannot execute the source code (normal files with a.bas extension). QuickBasic also has a wider command set than QBasic. A lightweight programming language and a simple compiler are the best tools to learn how to program. Qbasic (short for QB) offers many advantages to beginners and professionals that other compilers don't. QB IDE was very popular back then, when DOS was still the most widely-used operating system. QBasic/QuickBASIC is required on current Windows systems. DOSBox. -
12
XSharp (X#)
XSharp
FreeX# is an open source development language for.NET that is based on xBase. There are many flavors available, including Core, Visual Objects and Vulcan.NET. xBase++ is Harbour, Foxpro and more. Roslyn, an open-source architecture that powers the Microsoft Visual Basic and Microsoft C# compilers, has been used to build X#. A new options page has been added (tools/options/text edit/X#). This allows you to control the suggestions that the editor will make in the "general code completion list". After a colon or a dot, code completion will show namespaces and types as well as members. Code completion after AS or IS will display types and namespaces. Several preprocessor fixes have been made to make the preprocessor compatible with FoxPro++ and Xbase++. We also added #if and #stdout command. To improve compatibility with Visual Objects and FoxPro, we made several small changes to the RDD system. -
13
Perl
Perl
FreePerl is a powerful, feature-rich programming language that has been in development for over 30 years. Perl is a powerful, feature-rich programming language that has been in development for over 30 years. Perl can be used on more than 100 platforms, from mainframes to portables. It is well-suited for rapid prototyping as well as large-scale development projects. "Perl" is a language family. "Raku", formerly "Perl 6", is a part of this family. However, it is a separate language with its own development team. Its existence does not have any impact on the development of Perl. Perl has powerful tools to process text, making it ideal for working in HTML, XML and other mark-up languages. Perl can handle encrypted Web data including e-commerce transactions. -
14
C++/CLI
Microsoft
FreeVisual Studio 2022 defaults to 6.0 as the target framework for.NET Core project. The default target framework for.NET Frameworks projects is 4.7.2. The.NET Framework version selection is located on the configure new project page of create a project dialog. C++/CLI is not installed by default when installing a Visual Studio C++ workload. After Visual Studio has been installed, open Visual Studio Installer. Select the Windows Start menu and search for visual studio installer. Select the Modify button next to Visual Studio. Select the tab Individual components. Scroll down to the compilers and build tools section and select C++/CLI Support for v143 build Tools (Latest). Click modify to download the files and update Visual Studio. C++/CLI allows you to create C++ programs that can use native C++ types as well as.NET classes. C++/CLI can be used in console applications. -
15
WebAssembly
WebAssembly
FreeWebAssembly, also known as Wasm, is a binary instruction format that can be used to build a virtual machine using a stack-based architecture. Wasm is a portable compilation target for programming language, which allows deployment on the internet for client and server applications. The Wasm stack machine was designed to be encoded using a small and efficient binary format. WebAssembly is designed to run natively on a wide variety of platforms, taking advantage of common hardware capabilities. WebAssembly describes a memory safe, sandboxed execution system that can even be implemented within existing JavaScript virtual machines. WebAssembly, embedded in the web will enforce the same-origin security policies as the browser. WebAssembly was designed to be printed in a textual format. This allows for debugging and testing, optimizing, optimizing, optimizing, learning, teaching, writing programs by hand, and experimenting. This textual format is used to view the Wasm modules' source on the internet. -
16
Assembly
Assembly
Assembly language is a low level computer programming language that can be used to control the hardware of a computer. It is composed of symbols and words that are specific instructions for the processor. Assembly language is used to optimize programs written using higher-level languages. It can be more efficient to access memory and other resources. -
17
Swift
Apple
FreeSwift code is interactive and fun to write. The syntax is concise and expressive, and Swift has modern features developers love. Swift code is safe and produces software that runs lightning fast. Swift is the result years of experience building Apple platforms and the most recent research on programming languages. Swift's APIs are easy to understand and maintain because the names of parameters are written in a simple syntax. You don't even have to use semi-colons. Modules eliminate headers and provide namespaces, while inferred types make code more readable and less likely to be misinterpreted. Strings support international languages and emoji best. They are Unicode-correct and use UTF-8-based encoding to maximize performance for a wide range of use cases. Concurrent code can be written with simple keywords that define asynchronous behavior. This makes your code easier to read and less likely to make errors. -
18
Ring
Ring
FreeThe Ring is a multi-paradigm, general-purpose language. The supported programming paradigms include imperative, procedural and object-oriented programming. The language can be used on Windows, Linux, macOS and Android. It can be used to create Consoles, GUIs, Web, Games, and Mobile apps. The language is simple, small, and flexible. The language is simple and aims to be natural and encourage organization. It also has transparent and visual implementation. It has a compact syntax and a number of features that allow the programmer create natural interfaces as well as declarative domain-specific language languages in a fraction time. It is small and flexible, and has a smart garbage collector that allows the programmer to control the memory. It supports many programming paradigms and comes with useful and practical libraries. -
19
Nix
NixOS
FreeNix is a tool which takes a unique approach in package management and system configuration. Learn how to create reliable, reproducible, declarative systems. Nix creates packages isolated from each other. This makes them reproducible and doesn't have undeclared dependency. So if a package is working on one machine, it will also on the other. Nix makes it easy to share development and build environments with your projects regardless of the programming languages or tools you use. Nix makes sure that other packages are not broken by installing or upgrading one package. It allows you to rollback to previous versions and ensures no package is in an unaligned state during an update. Nix is a functional package manager. It treats packages as values in pure functional programming languages like Haskell. Packages are built using functions that have no side effects and never change after they are built. -
20
AssemblyScript
The AssemblyScript Project
FreeWebAssembly uses a language similar to TypeScript. AssemblyScript targets WebAssembly specifically and gives developers low-level code control. Its similarity to TypeScript makes it easy for WebAssembly to be compiled without having to learn a new language. It integrates with the existing Web ecosystem. There are no complicated toolchains to set it up. It's as easy as npm installing it! AssemblyScript is open-source software that is free and available under the Apache License Version 2.0. It builds upon Binaryen and is built on the WebAssembly specification. These amazing people brought it to you: -
21
PascalABC.NET
PascalABC.NET
FreeThe new generation Pascal programming language combines classic Pascal's simplicity with many modern extensions and the wide-ranging capabilities of Microsoft.NET Framework. IDE that is free, simple, and powerful. Built-in form designer allows for rapid development Windows desktop applications. Get the latest version PascalABC.NET with a built-in form designer. There are many extensions to the Pascal language: the foreach operator and in-block variable definitions. Auto type deduction in variable declarations. Simplified syntax of units. A new operator for object construction. Anonymous classes, auto-classes. BigIntegers. Modern programming language features include n-dimensional dynamic arrays and generics, interfaces. Operator overloading, exceptions. garbage collection, and lambda statements. IDE that integrates debugger, IntelliSense, code templates, auto-formatting, and code templates. -
22
YAML
YAML
FreeYAML: YAML Isn't Markup Language™. YAML is a human-friendly data Serialization Language for all Programming Languages. -
23
Cedar
Amazon
FreeCedar is a policy language and evaluation tool developed by AWS for fine-grained application access control. It allows developers to define concise and clear authorization policies by decoupling application logic from access control. Cedar supports common authorizations models, such as role-based and attribute-based control. This allows for a more expressive and analyzable definition of policy. Its design is based on readability and performance. This ensures that policies are easy to understand and enforce. Cedar allows applications to make precise authorization decisions. This enhances security and maintainability. The policy structure has been designed to be indexable for quick retrieval, and to support real-time evaluation with a limited latency. It allows you to use analyzer tools that can optimize your policies and prove that your security model is as you believe it to be. -
24
Deno
Deno
FreeDeno is a modern, secure, and simple runtime for JavaScript and TypeScript. It is built in Rust and uses V8. Deno includes a manual that explains in detail the more complex functions, introduces the concepts Deno is built upon, details about Deno's internals, how to embed Deno into your own application, and how to extend Deno with Rust plugins. Deno provides a list with audited standard modules, which have been reviewed by Deno maintainers. They are guaranteed to work with the specific Deno version. These modules are available in the denoland/deno_std repository. -
25
Objective-C
Objective-C
Objective-C is the primary programming language that you use to create software for iOS and OS X. It's a superset the C programming language, and provides object-oriented capabilities as well as a dynamic runtime. Objective-C inherits C's syntax, primitive types and flow control statements. It also adds syntax for creating classes and methods. It adds language-level support to object graph management and object literals. Additionally, dynamic typing and binding are provided. Many responsibilities are deferred until runtime. You will spend most of your time building apps for iOS or OS X using objects. These objects are Objective-C classes that you can create yourself or Cocoa Touch. -
26
The Java™, Programming Language is a general purpose, concurrent, strongly typed and class-based object-oriented programming language. It is usually compiled according to the Java Virtual Machine Specification's bytecode instruction set. All source code in the Java programming language is first written in plain text files that end with the.java extension. The javac compiler compiles these source files into.class files. A.class file doesn't contain native code for your processor. Instead, it contains bytecodes (the machine language of the Java Virtual Machine1 [Java VM]). The java launcher tool will then run your application with an instance Java Virtual Machine.
-
27
Mojo
Modular
FreeMojo - a new language for AI developers. Mojo combines Python's usability with C's performance, unlocking AI hardware programmability and extensibility that is unmatched. Scale Python down to the metal. Programming low-level AI hardware. No C++ or Cuda required. With the most advanced compilers and runtimes, you can harness the full power of your hardware, including the multiple cores, vectors and exotic accelerators. You can achieve performance comparable to C++ and CUDA, without the complexity. -
28
Clojure
Clojure
FreeClojure is a robust and practical programming language that is fast and easy to use. It also has a number of useful features that make it a powerful, simple, and coherent tool. Clojure is a dynamic programming language that can be used for general purposes. It combines the simplicity and interactivity of a scripting language and an efficient and robust infrastructure to support multithreaded programming. Clojure can be compiled, but it is completely dynamic. All features supported by Clojure are supported at runtime. Clojure has easy access to Java frameworks. It also supports type hints, type inference, and optional type hints. This allows Java calls to avoid reflection. Clojure is a dialect Lisp and shares the code-as data philosophy and powerful macro system. Clojure is a functional programming language that features a rich array of persistent, immutable data structures. Clojure provides a software transactional memory and reactive agent system for mutable states. -
29
Apache Groovy
The Apache Software Foundation
FreeApache Groovy, a powerful, optionally-typed, dynamic language for Java, with static-typing capabilities and static compilation capabilities. It is designed to improve developer productivity through a simple, easy to understand syntax. It seamlessly integrates with any Java program and delivers powerful features to your application, including scripting capabilities and Domain-Specific Language authoring, runtime, compile-time metaprogramming and functional programming. It is easy to understand for Java developers thanks to its concise, readable, and expressive syntax. Closures, builders and runtime & compiler-time meta-programming. Functional programming, type inference and static compilation. Advanced integration & customization mechanisms, flexible syntax, and customizable syntax allow you to integrate readable business requirements into your applications. This is a great tool for writing concise, manageable tests and automating all your build and automation tasks. -
30
C#
Microsoft
FreeC# (also pronounced "See Sharp"), is a modern, object oriented and type-safe programming language. C# allows developers to create many types of secure, robust applications that run in.NET. C# is rooted in the C family languages and will be familiar to JavaScript, C++, Java and JavaScript programmers. This tour will give you an overview of the main components of C# 8 or earlier. C# is an object-oriented and component-oriented programming language. C# supports these concepts directly with language constructs. This makes C# an easy language to create and use software components. C# has been evolving over time to support new software design practices and workloads. C# is an object-oriented programming language. You can define types and their behavior. -
31
Lua
Lua
FreeLua is an efficient, lightweight, embeddable, scripting language that is powerful and easy to use. It supports procedural, object-oriented, functional, data-driven programming and data description. Lua combines simple procedural syntax and powerful data description constructs that are based on extensible semantics and associative arrays. Lua is dynamically-typed and interprets bytecode using a register-based virtual computer. It also has automatic memory management and incremental garbage collection making it ideal for configuration and scripting as well as rapid prototyping and prototyping. Lua is well-respected for its performance. Lua is aspired to be "as fast" as other scripting languages. Multiple benchmarks have shown Lua to be the fastest language in the world of interpreted scripting. Lua is fast in benchmark programs but also in real-life. Lua has been used to write large portions of large applications. -
32
Unlambda
Unlambda
FreeUnlambda can be described as a programming language. There is nothing extraordinary there. Unlambda's uniqueness is its unexpected intersection of two marginal languages. Functional programming languages are a group that includes Scheme (a Lisp dialect). This means that the primary object that is manipulated by the language, and indeed the only one for Unlambda, is the function. Unlambda, on the other hand, uses a functional approach in programming. Functions are the only objects it can manipulate. Each function takes a function and returns it. Unlambda has many built-in functions, including a binary "apply", which returns a function. The most important are the K and S combinators. Unlambda doesn't have variables so user-definable functions can be created but not saved or named. -
33
Dylan
Dylan
FreeIt is dynamic, while offering a programming model that supports efficient machine code generation. This includes fine-grained control of dynamic and static behaviors. This document describes the Open Dylan implementation, including a core set Dylan libraries and a library interchange mechanism. The core libraries include many language extensions, a threads interface and object finalization and printing and output formatting module. There are also modules that provide an interface to operating system features like the file system, time, date information, and foreign function interfaces. -
34
JavaScript
JavaScript
JavaScript is a web scripting language and programming language that allows developers to create dynamic elements on the internet. Client-side JavaScript is used by over 97% of all websites. JavaScript is the most popular scripting language on the internet. -
35
D
D Language Foundation
FreeD is a general-purpose programming languages with static typing, system-level access and C-like syntax. The D Programming Language allows you to write fast, read fast and run fast. D is possible thanks to the dedication and hard work of many volunteers and the coordination and outreach by the D Language Foundation, which is a 501(c),(3) non-profit organization. Support the Foundation to help develop the D language and grow our community. You can discuss D on the forums, join IRC channel, read the official Blog, and follow us on Twitter. You can browse the wiki to see the vision and high-level goals of the D Language Foundation. Refer to the Phobos documentation and the language specification. The DMD manual explains how to use the compiler. To deepen your understanding, you can read various articles. -
36
Zig
Zig Software Foundation
FreeZig is a general purpose programming language and toolchain that allows you to maintain robust, optimal, and reusable software. Instead of worrying about your programming language knowledge, focus on debugging the application. A new approach to metaprogramming that relies on compile-time execution and lazy evaluation No hidden control flow. There are no hidden memory allocations. No preprocessor, no macros. Any function can be called at compile-time You can manipulate types as values with no runtime overhead. Comptime imitates the target architecture. Zig is a zero-dependency drop-in C/C++ compiler, which supports cross-compilation right out-of the box. Use zig build to ensure consistency across platforms. You can add a Zig compilation unit into C/C++ projects. Cross-language LTO is automatically enabled. -
37
Rust
Rust
FreeRust is lightning fast and memory efficient. It doesn't require a runtime or garbage collector and can run on embedded devices and integrate with other languages. Rust's rich type system, ownership model, and memory-safety guarantee thread-safety. This allows you to eliminate many types of bugs at compile time. Rust is a great tool with excellent documentation and a friendly compiler that displays useful error messages. Rust's strong ecosystem makes it easy to create a CLI tool. Rust makes it easy to maintain your app and distribute it with confidence. Rust can be used to turbocharge JavaScript one module at a while. You're ready to go! -
38
PowerShell
Microsoft
1 RatingPowerShell is a cross platform task automation and configuration management framework. It consists of a command-line shell as well as a scripting language. PowerShell, unlike other shells that accept and return text, is built on top the.NET Common Language Runtime. (CLR) and accepts and returns.NET object. This fundamental change introduces new tools and methods of automation. PowerShell cmdlets can deal with objects, rather than traditional command-line interfaces. An object is structured information, which is more than the string of characters displayed on the screen. Command output always contains additional information that you can access if you require it. You'll notice a difference in how text-processing tools behave in PowerShell if you've previously used them to process data. To extract specific information, you don’t usually need text-processing software. You can directly access parts of the data by using standard PowerShell object syntax. -
39
FLooP
Ziring
FLooP was a simple recursive block-structured language that Douglas Hofstadter invented for his book Godel Escher Bach. It has a simple subroutine structure and very simple number- and boolean handling. FLooP supports unbounded loops, unlike its cousin BLooP. This allows it to have the full power of Turing machines, making it a good candidate for many undecidability theories. FLooP's syntax is quite complex but not difficult to understand. Although Hofstadter does not mention it in GEB FLooP is very similar to early exercises exploring the computational model for "Random Access Machines". You will notice the use of "CELL(0) = 2" and similar constructs. FLooP was never meant to be more than an academic exercise. However, Perl was able to implement FLooP. It is not easy to find. S - Block-structured language type. -
40
CoffeeScript
CoffeeScript
FreeJavaScript's beautiful heart lies beneath the awkward Java-esque patina. CoffeeScript is an attempt at exposing the best parts of JavaScript in an easy way. CoffeeScript's golden rule is "It is just JavaScript." The code is compiled one-by-one into the equivalent JS and there is no interpreter at runtime. CoffeeScript can be used to seamlessly import any JavaScript library (and vice versa). The compiled output is easy to read and can be printed. It runs as fast as handwritten JavaScript. Node 7.6+ can run most modern JavaScript features, which means that Node can run CoffeeScript output without any additional processing. This list is not complete and may exclude versions of Node that support older features behind flags. Please refer to Node.green for more details. To see what your browser supports, you can run the tests in your browser. -
41
Sciter
Sciter
$310 one-time paymentSciter integrates web technologies into desktop UI design. Web designers and developers can use their expertise and experience to create desktop applications that look modern. Various GUI frameworks provide different UI declaration languages and styling languages such as QML (Microsoft WPF) and XAML. Sciter, on the other hand, allows the use time-proven robust and flexible HTML and CSS to define GUIs and GPU-accelerated rendering. The Sciter UI engine is the secret weapon for the success of some of the leading antivirus products, including Norton Antivirus and Internet Security (now Norton Internet Security), Comodo Internet Security (now ESET Antivirus), BitDefender Antivirus (now BitDefender Antivirus), and others. The use of HTML/CSS allowed their UIs to remain in touch with modern GUI trends for all these years, and will continue well into the future. Sciter Engine is one compact DLL that is 5+ Mb. -
42
HTML
HTML
HTML is shorthand for HyperText Markup Language. It is the markup language used by all websites on the internet. HTML is the code websites use to create and structure their websites and web pages. -
43
Racket
Racket Language
Racket is an all-purpose multi-paradigm language. It is a descendant and modern dialect of Lisp. It is a platform that allows developers to create domain-specific languages and general-purpose programming languages. Racket's language core includes features like macros, modules and lexical closures. It also has delimited continuations (fluid variables), green threads and OS threads. The language comes with primitives such as event space and custodians that control resource management. This allows the language to act as an operating system by loading and managing other applications. The powerful macro system can be used to create further extensions to the language. This system, along with the module system and customized parsers, controls all aspects of the language. Racket implements most language constructs as macros. -
44
XML
World Wide Web Consortium (W3C)
FreeExtensible markup language (XML), a very simple and flexible text format, is derived from SGML. (ISO 8879). Originally created to address the challenges of large-scale electronic publication, XML plays an increasingly important role in the sharing of a wide range of data on the Web. -
45
Common Lisp
Common Lisp
FreeCommon Lisp, a modern multi-paradigm, high performance, compiled, ANSI standard, most prominent (alongside Scheme) descendant from the long-running Lisp family of programming languages, is the modern, multiparadigm, high performing, compiled, ANSI standardized, most prominent (alongside Scheme). Common Lisp is well-known for its flexibility, excellent support for object-oriented programming, and rapid prototyping capabilities. Common Lisp also features a powerful macro system that allows for you to tailor the language to your applications. It also has a flexible runtime environment that allows modification of running programs and debugging (excellent for server-side programming and critical software). It supports multiple paradigms, so you can choose the right approach for your application. -
46
Erlang
Erlang
FreeErlang is a programming language that allows you to create highly scalable soft real time systems. It also requires high availability. It is used in e-commerce and instant messaging, banking, telephony, and telecoms. Erlang's runtime system supports concurrency distribution and fault tolerance. OTP is a set of Erlang libraries, design principles, and middleware that allows you to develop these systems. It also includes a distributed database, applications that can interface with other languages, and debugging, as well as release handling tools. -
47
Silq
Silq
Silq, a high-level quantum computing programming language with a robust static type system developed at ETH Zurich, is a new high level programming language. Silq was first published at PLDI '20. -
48
MoonScript
MoonScript
MoonScript is dynamic scripting that compiles to Lua. It combines the power of a fast scripting language with a rich feature set. MoonScript can be compiled in Lua to run later, or dynamically compiled using the moonloader. It is compatible with LuaJIT and other Lua implementations, as it compiles directly into Lua code. MoonScript can be run directly from the command-line using the command-line tools, just like any other scripting language. MoonScript uses a clean syntax that is free of the usual Lua script keyword noise. It also adds table understandings, implicit returns on functions, classes and inheritance, scope management statement import & export, as well as a convenient object-creation statement called with. -
49
LabVIEW
NI
$453 per yearLabVIEW provides a graphical programming method that allows you to visualize every aspect of your application including hardware configuration, measurement data and debugging. This visualization allows you to easily integrate measurement hardware from any vendor. It also allows you to represent complex logic on a diagram, create data analysis algorithms, or design custom engineering user interfaces. LabVIEW and the NI DAQ hardware allow you to create a custom measurement solution that can visualize and analyze real-world signals and make data-driven decisions. LabVIEW, NI and third-party hardware can be used to automate product validation in order to meet difficult time-to-market or performance requirements. LabVIEW allows you to create flexible test applications that control multiple instrument and design user interfaces to maximize your manufacturing test throughput. LabVIEW makes it easier to create industrial equipment and smart devices faster. -
50
BLooP
BLooP
FreeWelcome to the Dictionary of Programming Languages. This is a collection of computer coding methods that was created to help you understand computer science history. Douglas Hofstadter created BLooP, a simple recursive block-structured language for his book Godel Escher Bach. It has a simple subroutine structure, simple number and boolean handling and recursion. The most interesting thing about BLooP is that it only offered bounded loop constructs and was thus incapable of expressing general recursive computations.