Alternatives to Scala

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

  • 1
    Kotlin

    Kotlin

    Kotlin

    Easy to pick up, so you can create powerful applications immediately. Compatible with the Java ecosystem. Use your favorite JVM frameworks and libraries. Share application logic between web, mobile, and desktop platforms while keeping an experience native to users. Save time and get the benefit of unlimited access to features specific to these platforms. Kotlin has great support and many contributors in its fast-growing global community. Enjoy the benefits of a rich ecosystem with a wide range of community libraries. Help is never far away — consult extensive community resources or ask the Kotlin team directly. Kotlin Multiplatform Mobile is an SDK for iOS and Android app development. It offers all the combined benefits of creating cross-platform and native apps. Maintain a single codebase for networking, data storage, analytics, and the other logic of your Android and iOS apps.
    Starting Price: Free
  • 2
    DotSignage

    DotSignage

    DotSignage

    DotSignage is a most effective and dynamic cloud-based digital signage software to display multimedia content easily on remotely placed screens. Be it creating your own design template or uploading already created content, our system can help you manage both. Use our 30+ integrated apps to drive more engagement. We are universal and work with any industry be it restaurants, retails, corporate, healthcare and much more! Incudes Features like: Works with any Android device or Amazon Firestick 1. Advanced digital menu board/canvas template editor 2. 700+ in-built templates 3. Update content on screens placed remotely from anywhere 4. Dynamic content management with advanced schedulars 5. Display custom HTML content with ease
    Starting Price: $12/month/user
  • 3
    Apache Groovy

    Apache Groovy

    The Apache Software Foundation

    Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming. Concise, readable and expressive syntax, easy to learn for Java developers. Closures, builders, runtime & compile-time meta-programming, functional programming, type inference, and static compilation. Flexible & malleable syntax, advanced integration & customization mechanisms, to integrate readable business rules in your applications. Great for writing concise and maintainable tests, and for all your build and automation tasks.
    Starting Price: Free
  • 4
    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
  • 5
    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
  • 6
    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
  • 7
    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.
  • 8
    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
  • 9
    Julia

    Julia

    Julia

    Julia was designed from the beginning for high performance. Julia programs compile to efficient native code for multiple platforms via LLVM. Julia uses multiple dispatch as a paradigm, making it easy to express many object-oriented and functional programming patterns. The talk on the Unreasonable Effectiveness of Multiple Dispatch explains why it works so well. Julia is dynamically typed, feels like a scripting language, and has good support for interactive use. Julia provides asynchronous I/O, metaprogramming, debugging, logging, profiling, a package manager, and more. One can build entire Applications and Microservices in Julia. Julia is an open source project with over 1,000 contributors. It is made available under the MIT license.
    Starting Price: Free
  • 10
    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
  • 11
    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
  • 12
    TypeScript

    TypeScript

    TypeScript

    TypeScript adds additional syntax to JavaScript to support a tighter integration with your editor. Catch errors early in your editor. TypeScript code converts to JavaScript, which runs anywhere JavaScript runs: In a browser, on Node.js or Deno and in your apps. TypeScript understands JavaScript and uses type inference to give you great tooling without additional code. TypeScript was used by 78% of the 2020 State of JS respondents, with 93% saying they would use it again. The most common kinds of errors that programmers write can be described as type errors: a certain kind of value was used where a different kind of value was expected. This could be due to simple typos, a failure to understand the API surface of a library, incorrect assumptions about runtime behavior, or other errors.
    Starting Price: Free
  • 13
    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
  • 14
    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
  • 15
    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
  • 16
    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
  • 17
    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
  • 18
    Elm

    Elm

    Elm

    Elm uses type inference to detect corner cases and give friendly hints. NoRedInk switched to Elm about four years ago, and 300k+ lines later, they still have not had to scramble to fix a confusing runtime exception in production. The compiler guides you safely through your changes, ensuring confidence even through the most widereaching refactorings in unfamiliar codebases. Including your own, six months later. All Elm programs are written in the same pattern, eliminating doubt and lengthy discussions when deciding how to build new projects and making it easy to navigate old or foreign codebases. Elm has its own virtual DOM implementation, designed for simplicity and speed. All values are immutable in Elm, and the benchmarks show that this helps us generate particularly fast JavaScript code.
    Starting Price: Free
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    Rust

    Rust

    Rust

    Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time. Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more. Whip up a CLI tool quickly with Rust’s robust ecosystem. Rust helps you maintain your app with confidence and distribute it with ease. Use Rust to supercharge your JavaScript, one module at a time. Publish to npm, bundle with webpack, and you’re off to the races.
    Starting Price: Free
  • 23
    BASIC

    BASIC

    BASIC

    BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. Initially, BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as a batch language, and character string functionality being added by 1965. The emergence of BASIC took place as part of a wider movement towards time-sharing systems. Some dialects of BASIC supported matrices and matrix operations, which can be used to solve sets of simultaneous linear algebraic equations. These dialects would directly support matrix operations such as assignment, addition, multiplication (of compatible matrix types), and evaluation of a determinant. BASIC declined in popularity in the 1990s, as more powerful microcomputers came to market and programming languages with advanced features (such as Pascal and C) became tenable on such computers.
  • 24
    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
  • 25
    SystemC

    SystemC

    SystemC

    Your online reference for everything related to SystemC, the language for system-level design, high-level synthesis, modeling and verification. SystemC™ addresses the need for a system design and verification language that spans hardware and software. It is a language built in standard C++ by extending the language with the use of class libraries. The language is particularly suited to model system's partitioning, to evaluate and verify the assignment of blocks to either hardware or software implementations, and to architect and measure the interactions between and among functional blocks. Leading companies in the intellectual property (IP), electronic design automation (EDA), semiconductor, electronic systems, and embedded software industries currently use SystemC for architectural exploration, to deliver high-performance hardware blocks at various levels of abstraction and to develop virtual platforms for hardware/software co-design.
    Starting Price: Free
  • 26
    Silq

    Silq

    Silq

    Silq is a new high-level programming language for quantum computing with a strong static type system, developed at ETH Zürich. Silq was originally published at PLDI'20.
  • 27
    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
  • 28
    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
  • 29
    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
  • 30
    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
  • 31
    Forth

    Forth

    Forth

    Forth, the computer language was created for programming embedded and real-time applications. Today, it is available for developing applications on Windows, DOS, and variants of Unix that include macOS. Additionally, commercial-grade Forth cross-compilers generate highly optimized code that runs on a variety of microprocessors and microcontrollers and proves themselves very capable in custom-hardware environments. Forth is a high-level programming language, although most versions include an assembler. Fourth-system providers often include software tools to help application code make good use of system resources. Forth is interactive. It is conducive to developing modular, well-tested code in shorter development times. It can also result in very concise code. Some programmers are not accustomed to languages with such brevity, directness, and (apparent) simplicity. Forth has a reputation for rapid development, lean code, and superb performance.
    Starting Price: $399 one-time payment
  • 32
    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
  • 33
    Deno

    Deno

    Deno

    Deno is a simple, modern and secure runtime for JavaScript, TypeScript, and WebAssembly that uses V8 and is built in Rust. Deno comes with a manual which contains more in depth explanations about the more complex functions of the runtime, an introduction to the concepts that Deno is built on, details about the internals of Deno, how to embed Deno in your own application and how to extend Deno using Rust plugins. Next to the Deno runtime, Deno also provides a list of audited standard modules that are reviewed by the Deno maintainers and are guaranteed to work with a specific Deno version. These live in the denoland/deno_std repository.
    Starting Price: Free
  • 34
    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
  • 35
    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.
  • 36
    MoonScript

    MoonScript

    MoonScript

    MoonScript is a dynamic scripting language that compiles into Lua. It gives you the power of one of the fastest scripting languages combined with a rich set of features. MoonScript can either be compiled into Lua and run at a later time, or it can be dynamically compiled and run using the moonloader. Because it compiles right into Lua code, it is completely compatible with alternative Lua implementations like LuaJIT, and it is also compatible with all existing Lua code and libraries. The command line tools also let you run MoonScript directly from the command line, like any first-class scripting language. MoonScript provides a clean syntax using significant whitespace that avoids all the keyword noise typically seen in a Lua script. It also adds table comprehensions, implicit return on functions, classes, inheritance, scope management statements import & export, and a convenient object creation statement called with.
  • 37
    V Programming Language

    V Programming Language

    V Programming Language

    Simple, fast, safe, and compiled. For developing maintainable software. Simple language for building maintainable programs. You can learn the entire language by going through the documentation over a weekend, and in most cases, there's only one way to do something. This results in simple, readable, and maintainable code. This results in simple, readable, and maintainable code. Despite being simple, V gives a lot of power to the developer and can be used in pretty much every field, including systems programming, webdev, gamedev, GUI, mobile, science, embedded, tooling, etc. V is very similar to Go. If you know Go, you already know 80% of V. Bounds checking, No undefined values, no variable shadowing, immutable variables by default, immutable structs by default, option/result and mandatory error checks, sum types, generics, and immutable function args by default, mutable args have to be marked on call.
  • 38
    ActionScript

    ActionScript

    ActionScript

    The ActionScript® scripting language lets you add complex interactivity, playback control, and data display to your application. You can add ActionScript in the authoring environment by using the Actions panel, Script window, or an external editor. ActionScript follows its own rules of syntax, and reserved keywords, and lets you use variables to store and retrieve information. ActionScript includes a large library of built‑in classes that let you create objects to perform many useful tasks. You do not have to understand every ActionScript element to begin scripting. If you have a clear goal, you can start building scripts with simple actions. ActionScript and JavaScript are both rooted in the ECMA-262 standard, the international standard for the ECMAScript scripting language. For this reason, developers who are familiar with JavaScript can find ActionScript immediately familiar. Animate includes more than one version of ActionScript to meet the needs of different kinds of developers.
  • 39
    C++/CLI

    C++/CLI

    Microsoft

    In Visual Studio 2022, the default target framework for .NET Core projects is 6.0. For .NET Frameworks projects, the default is 4.7.2. The .NET Framework version selector is on the configure your new project page of the create a new project dialog. C++/CLI itself isn't installed by default when you install a Visual Studio C++ workload. To install the component after Visual Studio is installed, open the Visual Studio Installer by selecting the Windows Start menu and searching for visual studio installer. Choose the modify button next to your installed version of Visual Studio. Select the Individual components tab. Scroll down to the compilers, build tools, and runtimes section, and select C++/CLI support for v143 build tools (Latest). Select modify to download the necessary files and update Visual Studio. By using C++/CLI you can create C++ programs that use .NET classes as well as native C++ types. C++/CLI is intended for use in console applications.
    Starting Price: Free
  • 40
    Roy

    Roy

    Roy

    Roy is an experimental programming language that targets JavaScript. It tries to meld JavaScript semantics with some features common in static functional languages.
    Starting Price: Free
  • 41
    APL

    APL

    APL

    APL is an array-oriented programming language that will change the way you think about problems and data. With a powerful, concise syntax, it lets you develop shorter programs that enable you to think more about the problem you're trying to solve than how to express it to a computer.
    Starting Price: Free
  • 42
    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
  • 43
    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
  • 44
    AutoHotkey

    AutoHotkey

    AutoHotkey

    Define hotkeys for the mouse and keyboard, remap keys or buttons and autocorrect-like replacements. Creating simple hotkeys has never been easier; you can do it in just a few lines or less! AutoHotkey is a free, open-source scripting language for Windows that allows users to easily create small to complex scripts for all kinds of tasks such as form fillers, auto-clicking, macros, etc. AutoHotkey has easy-to-learn built-in commands for beginners. Experienced developers will love this full-fledged scripting language for fast prototyping and small projects. AutoHotkey gives you the freedom to automate any desktop task. It's small, fast, and runs out of the box. Best of all, it's free, open-source (GNU GPLv2), and beginner-friendly. AutoHotkey provides a simple, flexible syntax allowing you to focus more on the task at hand rather than every single little technicality. It supports not only the popular imperative-procedural paradigm, but also object-oriented and command-based programming.
    Starting Price: Free
  • 45
    CoffeeScript

    CoffeeScript

    CoffeeScript

    Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. The golden rule of CoffeeScript is: “It’s just JavaScript.” The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can use any existing JavaScript library seamlessly from CoffeeScript (and vice-versa). The compiled output is readable, pretty printed, and tends to run as fast or faster than the equivalent handwritten JavaScript. Most modern JavaScript features that CoffeeScript supports can run natively in Node 7.6+, meaning that Node can run CoffeeScript’s output without any further processing required. This list may be incomplete, and excludes versions of Node that support newer features behind flags; please refer to node.green for full details. You can run the tests in your browser to see what your browser supports.
    Starting Price: Free
  • 46
    PowerShell

    PowerShell

    Microsoft

    PowerShell is a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language. Unlike most shells, which accept and return text, PowerShell is built on top of the .NET Common Language Runtime (CLR), and accepts and returns .NET objects. This fundamental change brings entirely new tools and methods for automation. Unlike traditional command-line interfaces, PowerShell cmdlets are designed to deal with objects. An object is structured information that is more than just the string of characters appearing on the screen. Command output always carries extra information that you can use if you need it. If you've used text-processing tools to process data in the past, you'll find that they behave differently when used in PowerShell. In most cases, you don't need text-processing tools to extract specific information. You directly access portions of the data using standard PowerShell object syntax.
  • 47
    XAML

    XAML

    Microsoft

    XAML is a declarative markup language. As applied to the .NET Core programming model, XAML simplifies creating a UI for a .NET Core app. You can create visible UI elements in the declarative XAML markup, and then separate the UI definition from the run-time logic by using code-behind files that are joined to the markup through partial class definitions. XAML directly represents the instantiation of objects in a specific set of backing types defined in assemblies. This is unlike most other markup languages, which are typically an interpreted language without such a direct tie to a backing type system. XAML enables a workflow where separate parties can work on the UI and the logic of an app, using potentially different tools. When represented as text, XAML files are XML files that generally have the .xaml extension. The files can be encoded by any XML encoding, but encoding as UTF-8 is typical.
    Starting Price: Free
  • 48
    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.
  • 49
    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
  • 50
    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