Alternatives to BASIC

Compare BASIC alternatives for your business or organization using the curated list below. SourceForge ranks the best alternatives to BASIC in 2024. Compare features, ratings, user reviews, pricing, and more from BASIC competitors and alternatives in order to make an informed decision for your business.

  • 1
    Oxygene

    Oxygene

    RemObjects Software

    Pascal is more relevant today than ever, and modern Pascal implementations such as Oxygene have a lot to bring to the table. Oxygene is a powerful general-purpose programming language, designed to let developers create all imaginable kinds of projects on a wide variety of platforms. To achieve this, it provides a combination of language features that ease the development processes, from basic object-oriented language concepts found in most modern languages (such as the concept of classes with methods, properties, and events) to sophisticated specialized language features that enable and ease specific development tasks (such as creating safe, multi-threaded applications), many of those unique to Oxygene. All of the provided features are based on the foundation of Object Pascal and stay true to the language design paradigms that make Pascal great, readable, and discoverable. As an object-oriented language, most code written in Oxygene lives in "classes".
    Starting Price: $199 one-time payment
  • 2
    Clojure

    Clojure

    Clojure

    Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic, every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language and features a rich set of immutable, persistent data structures. When a mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system.
    Starting Price: Free
  • 3
    Scheme

    Scheme

    Scheme

    Scheme is a general-purpose computer programming language. It is a high-level language, supporting operations on structured data such as strings, lists, and vectors, as well as operations on more traditional data such as numbers and characters. While Scheme is often identified with symbolic applications, its rich set of data types and flexible control structures make it a truly versatile language. Scheme has been employed to write text editors, optimize compilers, operating systems, graphics packages, expert systems, numerical applications, financial analysis packages, virtual reality systems, and practically every other type of application imaginable. Scheme is a fairly simple language to learn since it is based on a handful of syntactic forms and semantic concepts and since the interactive nature of most implementations encourages experimentation. Scheme is a challenging language to understand fully.
    Starting Price: Free
  • 4
    MATLAB

    MATLAB

    The MathWorks

    MATLAB® combines a desktop environment tuned for iterative analysis and design processes with a programming language that expresses matrix and array mathematics directly. It includes the Live Editor for creating scripts that combine code, output, and formatted text in an executable notebook. MATLAB toolboxes are professionally developed, rigorously tested, and fully documented. MATLAB apps let you see how different algorithms work with your data. Iterate until you’ve got the results you want, then automatically generate a MATLAB program to reproduce or automate your work. Scale your analyses to run on clusters, GPUs, and clouds with only minor code changes. There’s no need to rewrite your code or learn big data programming and out-of-memory techniques. Automatically convert MATLAB algorithms to C/C++, HDL, and CUDA code to run on your embedded processor or FPGA/ASIC. MATLAB works with Simulink to support Model-Based Design.
  • 5
    Fortran

    Fortran

    Fortran

    Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast. Fortran is statically and strongly typed, which allows the compiler to catch many programming errors early on for you. This also allows the compiler to generate efficient binary code. Fortran is a relatively small language that is surprisingly easy to learn and use. Expressing most mathematical and arithmetic operations over large arrays is as simple as writing them as equations on a whiteboard. Fortran is a natively parallel programming language with intuitive array-like syntax to communicate data between CPUs. You can run almost the same code on a single CPU, on a shared-memory multicore system, or on a distributed-memory HPC or cloud-based system.
    Starting Price: Free
  • 6
    Ring

    Ring

    Ring

    The Ring is a practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable (Windows, Linux, macOS, Android, WebAssembly, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be simple, small and flexible. The language is simple, trying to be natural, encourage organization and comes with transparent and visual implementation. It comes with compact syntax and a group of features that enable the programmer to create natural interfaces and declarative domain-specific languages in a fraction of time. It is very small, flexible and comes with smart garbage collector that puts the memory under the programmer control. It supports many programming paradigms, comes with useful and practical libraries.
    Starting Price: Free
  • 7
    D

    D

    D Language Foundation

    D is a general-purpose programming language with static typing, systems-level access, and C-like syntax. With the D Programming Language, write fast, read fast, and run fast. D is made possible through the hard work and dedication of many volunteers, with the coordination and outreach of the D Language Foundation, a 501(c)(3) non-profit organization. You can help further the development of the D language and help grow our community by supporting the Foundation. Discuss D on the forums, join the IRC channel, read our official Blog, or follow us on Twitter. Browse the wiki, where among other things you can find the high-level vision of the D Language Foundation. Refer to the language specification and the documentation of Phobos, D's standard library. The DMD manual tells you how to use the compiler. Read various articles to deepen your understanding.
    Starting Price: Free
  • 8
    Zig

    Zig

    Zig Software Foundation

    Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software. Focus on debugging your application rather than debugging your programming language knowledge. A fresh approach to metaprogramming based on compile-time code execution and lazy evaluation. No hidden control flow. No hidden memory allocations. No preprocessor, no macros. Call any function at compile-time. Manipulate types as values without runtime overhead. Comptime emulates the target architecture. Use Zig as a zero-dependency, drop-in C/C++ compiler that supports cross-compilation out-of-the-box. Leverage zig build to create a consistent development environment across all platforms. Add a Zig compilation unit to C/C++ projects; cross-language LTO is enabled by default.
    Starting Price: Free
  • 9
    Odin

    Odin

    Odin Language

    Odin is a general-purpose programming language with distinct typing built for high performance, modern systems and data-oriented programming. Odin is the C alternative for the Joy of Programming. Odin has been designed for readability, scalability, and orthogonality of concepts. Simplicity is complicated to get right, clear is better than clever. Odin allows for the highest performance through low-level control over the memory layout, memory management and custom allocators and so much more. Odin is designed from the bottom up for the modern computer, with built-in support for SOA data types, array programming, and other features. We go into programming because we love to solve problems. Why shouldn't our tools bring us joy whilst doing it? Enjoy programming again, with Odin!
    Starting Price: Free
  • 10
    OCaml

    OCaml

    OCaml

    OCaml is a general-purpose, industrial-strength programming language with an emphasis on expressiveness and safety. OCaml’s powerful type system means more bugs are caught at compile time, and large, complex codebases are easier to maintain. This makes it a good language for running critical code. At the same time, sophisticated inference makes the type system unobtrusive, creating a smooth developer experience. One is a bytecode compiler which generates small, portable executables and is very fast. The other is a native code compiler that produces more efficient machine code; its performance matches the highest standards of modern compilers. OCaml has great support for the most popular editors. VS Code is recommended for beginners, and for power users there is deep integration with Vim and Emacs. OCaml has a rich and dynamic community and best-in-class tooling.
    Starting Price: Free
  • 11
    Component Pascal

    Component Pascal

    Component Pascal

    Component Pascal is a general-purpose language in the tradition of Pascal, Modula-2, and Oberon. Its most important features are block structure, modularity, separate compilation, static typing with strong type checking (also across module boundaries), type extension with methods, dynamic loading of modules, and garbage collection. Type extension makes Component Pascal an object-oriented language. An object is a variable of an abstract data type consisting of private data (its state) and procedures that operate on this data. Abstract data types are declared as extensible records. Component Pascal covers most terms of object-oriented languages by the established vocabulary of imperative languages in order to minimize the number of notions for similar concepts. Complete type safety and the requirement of a dynamic object model make Component Pascal a component-oriented language.
    Starting Price: Free
  • 12
    Unlambda

    Unlambda

    Unlambda

    Unlambda is a programming language. Nothing remarkable there. The originality of Unlambda is that it stands as the unexpected intersection of two marginal families of languages. Functional programming languages, of which the canonical representative is Scheme (a Lisp dialect). This means that the basic object manipulated by the language (and indeed the only one as far as Unlambda is concerned) is the function. Rather, Unlambda uses a functional approach to programming: the only form of objects it manipulates are functions. Each function takes a function as an argument and returns a function. Apart from a binary “apply” operation, Unlambda provides several built-in functions (the most important ones being the K and S combinators). User-defined functions can be created, but not saved or named, because Unlambda does not have any variables.
    Starting Price: Free
  • 13
    C

    C

    C

    C is a programming language created in 1972 which remains very important and widely used today. C is a general-purpose, imperative, procedural language. The C language can be used to develop a wide variety of different software and applications including operating systems, software applications, code compilers, databases, and more.
  • 14
    Pascal

    Pascal

    Pascal

    Pascal is a procedural and imperative programming language. Pascal is a simple and efficient programming language designed for developers that want to build applications in structured ways. Free Pascal is a mature, versatile, open source Pascal compiler. It can target many processor architectures: Intel x86 (16 and 32 bit), AMD64/x86-64, PowerPC, PowerPC64, SPARC, SPARC64, ARM, AArch64, MIPS, Motorola 68k, AVR, and the JVM. Supported operating systems include Windows (16/32/64 bit, CE, and native NT), Linux, Mac OS X/iOS/iPhoneSimulator/Darwin, FreeBSD and other BSD flavors, DOS (16 bit, or 32 bit DPMI), OS/2, AIX, Android, Haiku, Nintendo GBA/DS/Wii, AmigaOS, MorphOS, AROS, Atari TOS, and various embedded platforms. Additionally, support for RISC-V (32/64), Xtensa, and Z80 architectures, and for the LLVM compiler infrastructure is available in the development version. Additionally, the Free Pascal team maintains a transpiler for pascal to Javascript called pas2js.
  • 15
    Tcl

    Tcl

    Tcl

    Tcl is a very simple programming language. If you have programmed before, you can learn enough to write interesting Tcl programs within a few hours. This page provides a quick overview of the main features of Tcl. After reading this you'll probably be able to start writing simple Tcl scripts on your own; however, we recommend that you consult one of the many available Tcl books for more complete information. Each Tcl command consists of one or more words separated by spaces. In this example there are four words: expr, 20, +, and 10. The first word is the name of a command and the other words are arguments to that command. All Tcl commands consist of words, but different commands treat their arguments differently. The expr command treats all of its arguments together as an arithmetic expression, computes the result of that expression, and returns the result as a string. In the expr command the division into words isn't significant.
    Starting Price: Free
  • 16
    Java

    Java

    Oracle

    The Java™ Programming Language is a general-purpose, concurrent, strongly typed, class-based object-oriented language. It is normally compiled to the bytecode instruction set and binary format defined in the Java Virtual Machine Specification. In the Java programming language, all source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes — the machine language of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application with an instance of the Java Virtual Machine.
    Starting Price: Free
  • 17
    AutoIt

    AutoIt

    AutoIt

    AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement, and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages. We looked at many editors to see which one was the most useful editor for AutoIt. We found SciTE and saw its potential and wrote a customized Lexer for the syntax highlighting and syntax folding and created a special installer called SciTE4AutoIt3. AutoIt was initially designed for PC "roll out" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying "runtimes" required.
  • 18
    Prolog

    Prolog

    Prolog

    Prolog is a logic programming language associated with artificial intelligence and computational linguistics. Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily as a declarative programming language, the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations. Prolog was one of the first logic programming languages and remains the most popular such language today, with several free and commercial implementations available. The language has been used for theorem proving, expert systems, term rewriting, type systems, and automated planning, as well as its original intended field of use, natural language processing. Modern Prolog environments support the creation of graphical user interfaces, as well as administrative and networked applications.
  • 19
    Swift

    Swift

    Apple

    Writing Swift code is interactive and fun, the syntax is concise yet expressive, and Swift includes modern features developers love. Swift code is safe by design and produces software that runs lightning-fast. Swift is the result of the latest research on programming languages, combined with decades of experience building Apple platforms. Named parameters are expressed in a clean syntax that makes APIs in Swift even easier to read and maintain. Even better, you don’t even need to type semi-colons. Inferred types make code cleaner and less prone to mistakes, while modules eliminate headers and provide namespaces. To best support international languages and emoji, Strings are Unicode-correct and use a UTF-8 based encoding to optimize performance for a wide-variety of use cases. You can even write concurrent code with simple, built-in keywords that define asynchronous behavior, making your code more readable and less error-prone.
    Starting Price: Free
  • 20
    GAUSS

    GAUSS

    Aptech Systems

    An easy-to-use data analysis and visualization environment based on the powerful, fast and efficient GAUSS Matrix Programming Language. Prototype to production: Embed custom GAUSS analytics directly in enterprise or web-applications. Customizable programs that extend the GAUSS platform in the fields of econometrics, finance, risk analysis, statistics and more. You can code ideas and techniques straight from the latest journals in GAUSS as quickly as you can with a pen and paper. The GAUSS matrix language is the most natural way to bring cutting edge math, statistics and machine learning to life. GAUSS is the product of more than three decades of innovation and refinement of efficient, native code. This combined with our optimizing compiler and modern threading capabilities, allows you to get your answers before the competition.
  • 21
    Vala

    Vala

    The GNOME Project

    Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C. Vala uses the GObject type system and has additional code generation routines that make targeting the GNOME stack simple. Vala has many other uses where native binaries are required. More. There is GNOME Discourse for developer and general discussions. You can also join the Vala Matrix channel for asking questions and talking with the developers. Vala is a cross platform development tool with third party distributions providing binaries for Windows, macOS, Linux, BSDs and other platforms.
    Starting Price: Free
  • 22
    Visual Basic

    Visual Basic

    Microsoft

    Visual Basic is an object-oriented programming language developed by Microsoft. Using Visual Basic makes it fast and easy to create type-safe .NET apps. 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. Many portions of the Visual Basic Runtime depend on WinForms and these will be added in a later version of Visual Basic. .NET is a free, open-source development platform for building many kinds of apps. With .NET, your code and project files look and feel the same no matter which type of app you're building. You have access to the same runtime, API, and language capabilities with each app. A Visual Basic program is built up from standard building blocks. A solution comprises one or more projects. A project in turn can contain one or more assemblies. Each assembly is compiled from one or more source files.
    Starting Price: Free
  • 23
    PascalABC.NET

    PascalABC.NET

    PascalABC.NET

    The new generation Pascal programming language combines the simplicity of classic Pascal, a great number of modern extensions, and the broad capabilities of Microsoft .NET Framework. Free, simple, and powerful IDE. Built-in form designer for rapid development of Windows desktop applications. Download the latest version of PascalABC.NET with a build-in form designer. Several extensions of the Pascal language, including the foreach operator, in-block variable definitions, auto type deduction in variable definitions, simplified syntax of units, method implementations inside classes and records, a new operator for object construction, anonymous classes, auto-classes, BigIntegers, etc. The most modern features of programming languages like n-dimensional dynamic arrays, generics, interfaces, operator overloading, exceptions, garbage collection, and lambda expressions. IDE with integrated debugger, IntelliSense system, code templates, and code auto-formatting.
    Starting Price: Free
  • 24
    RemObjects Mercury

    RemObjects Mercury

    RemObjects Mercury

    Mercury is an implementation of the BASIC programming language that is fully code-compatible with Microsoft Visual Basic.NET™, but takes it to the next level, and to new horizons. With Mercury, you will be able to build your existing VB.NET projects and leverage your Visual Basic™ language experience to write code for any modern target platform. You can mix Mercury code with any of the other five Elements languages in the same project if you like! The Mercury language will be deeply integrated into our development environments. Develop your projects in our smart yet lightweight IDEs, Water on Windows or Fire on Mac, with project templates, code completion, integrated debugging for all platforms, and many other advanced development features. Of course, Mercury will also integrate into Visual Studio™ 2017, 2019 and 2022. With Elements, all languages are created equal. Even within the same project, you can mix Mercury, C#, Swift, Java, Oxygene and Go.
    Starting Price: $49 per month
  • 25
    Small Basic

    Small Basic

    Small Basic

    Small Basic is the only programming language created especially to help students transition from block-based coding to text-based coding. By teaching the fundamental elements of syntax-based languages in an approachable manner, Small Basic gives students the skills and confidence to tackle more complex programming languages such as Java and C#. You can also build applications for Kinect, Lego Mindstorm, Raspberry Pi, Arduino, Oculus Rift, and more using Small Basic. Small Basic combines a friendly environment with a very simple language and a rich and engaging set of libraries to make your programs and games pop! In a matter of a few lines of code, you will be well on your way to creating your very own game! Share your programs with your friends and let them import your published programs and run them on their computers. Using the Silverlight player, you can even post your games on your own blogs and websites and play them in the browser.
    Starting Price: Free
  • 26
    QBasic

    QBasic

    QBasic

    QBasic as well as QuickBasic is an easy-to-learn programming language (and therefore ideal for beginners), based on DOS operating system, but also executable on Windows. QBasic is the slimmed-down version of QuickBasic. Compared to QuickBasic, QBasic is limited as it lacks a compiler. Therefore QBasic cannot be used to produce executables (.exe files). The source code (usual files with .bas extension) can only be executed immediately by the built-in QBasic interpreter. Furthermore, QuickBasic has a more extensive command set than QBasic. The best way to learn to program is to start with a lightweight programming language and a simple compiler. Qbasic (short: QB) has great advantages for pros and beginners that other compilers can't offer. Back then, when DOS was the most widely used operating system, QB IDE enjoyed great popularity. On current Windows systems, QBasic/QuickBASIC requires a DOS emulator, e.g. DOSBox.
    Starting Price: Free
  • 27
    GameMaker Language (GML)
    The GameMaker Language (also called simply GML) is the proprietary GameMaker scripting language. This language is structured to permit users to create their games in an intuitive and flexible way while offering all the power of any other major programming language. It is also the basis for GML Visual and can be used in conjunction with that if required. Each event has its own tab in the editor and you can add, edit, or remove code from them at any time (for more information on events see Object Events). The code itself must have a basic structure and can contain resource indices, variables, functions, expressions, keywords, etc. all of which are explained in the sections below. If you are a novice to programming or making the switch from GML Visual, it is recommended that you start with the page on basic code structure and then read through all the other pages in this section, testing code from each one within GameMaker itself.
    Starting Price: Free
  • 28
    TLA+

    TLA+

    TLA+

    TLA+ is a high-level language for modeling programs and systems--especially concurrent and distributed ones. It's based on the idea that the best way to describe things precisely is with simple mathematics. TLA+ and its tools are useful for eliminating fundamental design errors, which are hard to find and expensive to correct in code.
    Starting Price: Free
  • 29
    JavaScript

    JavaScript

    JavaScript

    JavaScript is a scripting language and programming language for the web that enables developers to build dynamic elements on the web. Over 97% of the websites in the world use client-side JavaScript. JavaScript is one of the most important scripting languages on the web. Strings in JavaScript are contained within a pair of either single quotation marks '' or double quotation marks "". Both quotes represent Strings but be sure to choose one and STICK WITH IT. If you start with a single quote, you need to end with a single quote. There are pros and cons to using both IE single quotes tend to make it easier to write HTML within Javascript as you don’t have to escape the line with a double quote. Let’s say you’re trying to use quotation marks inside a string. You’ll need to use opposite quotation marks inside and outside of JavaScript single or double quotes.
  • 30
    Crystal

    Crystal

    Crystal

    Crystal’s syntax is heavily inspired by Ruby’s, so it feels natural to read and easy to write, and has the added benefit of a lower learning curve for experienced Ruby devs. Crystal is statically type-checked, so any type errors will be caught early by the compiler rather than fail on runtime. Moreover, and to keep the language clean, Crystal has built-in type inference, so most type annotations are unneeded. All types are non-nilable in Crystal, and available variables are represented as a union between the type and nil. As a consequence, the compiler will automatically check for null references in compile time. Crystal’s answer to metaprogramming is a powerful macro system, which ranges from basic templating and AST inspection to types inspection and running arbitrary external programs.
    Starting Price: Free
  • 31
    ZenScript

    ZenScript

    CraftTweaker

    ZenScript originated from MineTweaker where a simple programming language is needed to allow users without programming knowledge to be able to execute simple commands by following the tutorials for it. Originally MineTweaker had a simple one-line-at-a-time parsed scripting system, but it quickly became clear that it wasn't flexible enough, so a simple parsed language was created. This parsed language worked quite well but was very inefficient as each value was wrapped into its own object. ZenScript allows mixed typed and typeless behavior. You don't need to define types anywhere, the compile will infer them where possible and exhibit typeless behavior when the type is effectively unknown. In nearly all the cases, the type is perfectly known and execution runs at native Java speed. Since there are types, they can be documented and enforced.
    Starting Price: Free
  • 32
    C#

    C#

    Microsoft

    C# (also known as C Sharp, pronounced "See Sharp") is a modern, object-oriented, and type-safe programming language. C# enables developers to build many types of secure and robust applications that run in .NET. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers. This tour provides an overview of the major components of the language in C# 8 and earlier. C# is an object-oriented, component-oriented programming language. C# provides language constructs to directly support these concepts, making C# a natural language in which to create and use software components. Since its origin, C# has added features to support new workloads and emerging software design practices. At its core, C# is an object-oriented language. You define types and their behavior.
    Starting Price: Free
  • 33
    Haskell

    Haskell

    Haskell

    Every expression in Haskell has a type that is determined at compile time. All the types composed together by function application have to match up. If they don't, the program will be rejected by the compiler. Types become not only a form of guarantee, but a language for expressing the construction of programs. Every function in Haskell is a function in the mathematical sense (i.e., "pure"). Even side-effecting IO operations are but a description of what to do, produced by pure code. There are no statements or instructions, only expressions that cannot mutate variables (local or global) nor access state like time or random numbers. You don't have to explicitly write out every type in a Haskell program. Types will be inferred by unifying every type bidirectionally. However, you can write out types if you choose, or ask the compiler to write them for you for handy documentation.
    Starting Price: Free
  • 34
    JSON

    JSON

    JSON

    JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. JSON is built on two structures: 1. A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. 2. An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. These are universal data structures. Virtually all modern programming languages support them in one form or another.
    Starting Price: Free
  • 35
    Lua

    Lua

    Lua

    Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping. Lua has a deserved reputation for performance. To claim to be "as fast as Lua" is an aspiration of other scripting languages. Several benchmarks show Lua as the fastest language in the realm of interpreted scripting languages. Lua is fast not only in fine-tuned benchmark programs, but in real life too. Substantial fractions of large applications have been written in Lua.
    Starting Price: Free
  • 36
    Scala

    Scala

    Scala

    Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries. The Scala compiler is smart about static types. Most of the time, you need not tell it the types of your variables. Instead, its powerful type inference will figure them out for you. In Scala, case classes are used to represent structural data types. They implicitly equip the class with meaningful toString, equals and hashCode methods, as well as the ability to be deconstructed with pattern matching. In Scala, functions are values, and can be defined as anonymous functions with a concise syntax.
    Starting Price: Free
  • 37
    Common Lisp

    Common Lisp

    Common Lisp

    Common Lisp is the modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages. Common Lisp is known for being extremely flexible, having excellent support for object oriented programming, and fast prototyping capabilities. It also sports an extremely powerful macro system that allows you to tailor the language to your application, and a flexible run-time environment that allows modification and debugging of running applications (excellent for server-side development and long-running critical software). It is a multi-paradigm programming language that allows you to choose the approach and paradigm according to your application domain.
    Starting Price: Free
  • 38
    Dart

    Dart

    Dart Language

    Mature and complete async-await for user interfaces containing event-driven code, paired with isolate-based concurrency. A programming language optimized for building user interfaces with features such as sound null safety, the spread operator for expanding collections, and collection if for customizing UI for each platform. Write code using a flexible type system with rich static analysis and powerful, configurable tooling. Target the web with complete, mature, fast compilers for JavaScript. Run backend code supporting your app, written using a single programming language. This collection is not exhaustive—it’s just a brief introduction to the language for people who like to learn by example. You might also want to check out the language and library tours, or the Dart cheatsheet codelab.
  • 39
    Cython

    Cython

    Cython

    Cython is an optimizing static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. Cython gives you the combined power of Python and C to let you write Python code that calls back and forth from and to C or C++ code natively at any point. Easily tune readable Python code into plain C performance by adding static type declarations, also in Python syntax. Use combined source code level debugging to find bugs in your Python, Cython, and C code. Interact efficiently with large data sets, e.g. using multi-dimensional NumPy arrays. Quickly build your applications within the large, mature, and widely used CPython ecosystem. The Cython language is a superset of the Python language that additionally supports calling C functions and declaring C types on variables and class attributes.
    Starting Price: Free
  • 40
    Erlang

    Erlang

    Erlang

    Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools.
    Starting Price: Free
  • 41
    Ada

    Ada

    AdaCore

    Ada is a state-of-the-art programming language that development teams worldwide are using for critical software, from microkernels and small-footprint, real-time embedded systems to large-scale enterprise applications, and everything in between. Why use Ada? In short, because you want to write reliable and efficient code, with confidence that it works, and not waste time and effort in the process. Ada is unique among languages in how it helps you detect and eliminate bugs early in the software life cycle when they are least expensive to correct. And as evidenced by the many successfully fielded applications that need to meet a hard time or space constraints, Ada helps you build software that is reliable, safe, and secure without sacrificing performance. At the technical level, Ada has everything you might expect in a modern language. Concurrent programming features, including support for multicore.
  • 42
    Objective-C

    Objective-C

    Objective-C

    Objective-C is the primary programming language you use when writing software for OS X and iOS. It’s a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime. When building apps for OS X or iOS, you’ll spend most of your time working with objects. Those objects are instances of Objective-C classes, some of which are provided for you by Cocoa or Cocoa Touch and some of which you’ll write yourself.
  • 43
    Dylan

    Dylan

    Dylan

    It is dynamic while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors. Describes the Open Dylan implementation of the Dylan language, a core set of Dylan libraries, and a library interchange mechanism. The core libraries provide many language extensions, a threads interface, and object finalization, printing and output formatting modules, a streams module, a sockets module, and modules providing an interface to operating system features such as the file system, time and date information, the host machine environment, as well as a foreign function interface and some low-level access to the Microsoft Win32 API.
    Starting Price: Free
  • 44
    QML
    QML is a declarative language that allows user interfaces to be described in terms of their visual components and how they interact and relate with one another. It is a highly readable language that was designed to enable components to be interconnected in a dynamic manner, and it allows components to be easily reused and customized within a user interface. Using the QtQuick module, designers and developers can easily build fluid animated user interfaces in QML, and have the option of connecting these user interfaces to any back-end C++ libraries. QML is a user interface specification and programming language. It allows developers and designers alike to create highly performant, fluidly animated and visually appealing applications. QML offers a highly readable, declarative, JSON-like syntax with support for imperative JavaScript expressions combined with dynamic property bindings.
    Starting Price: Free
  • 45
    Synergy DBL

    Synergy DBL

    Synergex

    Synergy DBL is a proven, ANSI-standard business language with class libraries, a high-performance database, and .NET interoperability at the heart of the Synergy/DE product suite. Flexible and reliable, it gives you the power to create scalable, portable enterprise applications and supports both object-oriented and structured programming techniques. Synergy DBL comes in two forms: traditional Synergy DBL and Synergy DBL for .NET. Traditional Synergy DBL supports numerous open technologies (including XML, HTTPS, SSL, and ActiveX) that allow you to interface with third-party applications and data. The multi-pass Synergy DBL compiler supports strong prototyping and other strict error-detection features. Synergy DBL for .NET enables you to create Synergy libraries and applications that run natively in the .NET framework, then extend your applications by taking advantage of .NET Framework libraries and third-party controls and interoperating with applications written in other languages.
    Starting Price: Free
  • 46
    Eclipse Ceylon

    Eclipse Ceylon

    Eclipse Ceylon

    Eclipse Ceylon is a language for writing large programs in teams. To learn more, read the 15 minute quick intro, before taking the tour of the language. The best way to try it out is to download the IDE and write some code. Then you can explore the modules in Ceylon Herd. Or you can try it online. This is a community project. Everything we produce is open source and all our work happens out in the open on GitHub and GitHub. Eclipse Ceylon's powerful flow-sensitive static type system catches many bugs while letting you express more, more easily: union and intersection types, tuples, function types, mixin inheritance, enumerated types, and reified generics. We spend more time reading other people's code than writing our own. Therefore, Eclipse Ceylon prioritizes readability, via a highly regular syntax, support for treelike structures, and elegant syntax sugar where appropriate.
    Starting Price: Free
  • 47
    Nim

    Nim

    Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Nim generates native dependency-free executables, not dependent on a virtual machine, which are small and allow easy redistribution. Nim's memory management is deterministic and customizable with destructors and move semantics, inspired by C++ and Rust. It is well-suited for embedded, hard-realtime systems. Modern concepts like zero-overhead iterators and compile-time evaluation of user-defined functions, in combination with the preference of value-based datatypes allocated on the stack, lead to extremely performant code. Support for various backends: it compiles to C, C++ or JavaScript so that Nim can be used for all backend and frontend needs.
    Starting Price: Free
  • 48
    NoSQL

    NoSQL

    NoSQL

    NoSQL is a domain-specific programming language used for accessing, managing, and manipulating non-tabular databases. A NoSQL (originally referring to "non-SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL databases are increasingly used in big data and real-time web applications.NoSQL systems are also sometimes called Not only SQL to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures. Many NoSQL stores compromise consistency (in the sense of the CAP theorem) in favor of availability, partition tolerance, and speed. Barriers to the greater adoption of NoSQL stores include the use of low-level query languages.
  • 49
    VBScript

    VBScript

    Microsoft

    VBScript is a programming language included with Microsoft Internet Explorer. For other browsers, contact your vendor about support. VBScript 2.0 (or later) is recommended for use with Agent. Although earlier versions of VBScript may work with Agent, they lack certain functions that you may want to use. You can download VBScript 2.0 and obtain further information on VBScript at the Microsoft Downloads site and the Microsoft VBScript site. With VBScript (2.0 or later), you can verify whether Microsoft Agent is installed by trying to create the object and checking to see if it exists. The following sample demonstrates how to check for the Agent control without triggering an auto-download of the control.
    Starting Price: Free
  • 50
    LÖVE

    LÖVE

    LÖVE

    As you probably know by now, LÖVE is a framework for making 2D games in the Lua programming language. LÖVE is totally free, and can be used in anything from friendly open-source hobby projects, to evil, closed-source commercial ones. To make a minimal game, create a folder anywhere, and open up your favorite text editor. Sublime Text is a pretty good one for all operating systems, and it has Lua support built in. Create a new file in the folder you just created, and name it main.lua. Put the following code in the file, and save it.