Alternatives to SystemC

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

  • 1
    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
  • 2
    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
  • 3
    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.
  • 4
    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
  • 5
    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.
  • 6
    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
  • 7
    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
  • 8
    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
  • 9
    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
  • 10
    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.
  • 11
    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
  • 12
    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
  • 13
    Assembly

    Assembly

    Assembly

    Assembly language is a low-level computer programming language that is used to directly control the hardware of a computer system. It consists of symbols and words that represent specific instructions to the processor. Assembly language is often used to optimize programs written in higher-level languages, as it can provide a more efficient way to access memory and other resources.
  • 14
    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
  • 15
    Mojo

    Mojo

    Modular

    Mojo 🔥 — a new programming language for all AI developers. Mojo combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Write Python or scale all the way down to the metal. Program the multitude of low-level AI hardware. No C++ or CUDA required. Utilize the full power of the hardware, including multiple cores, vector units, and exotic accelerator units, with the world's most advanced compiler and heterogenous runtime. Achieve performance on par with C++ and CUDA without the complexity.
    Starting Price: Free
  • 16
    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
  • 17
    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
  • 18
    Carbon Language
    Carbon Language: An experimental successor to C++. Performance matching C++ using LLVM, with low-level access to bits and addresses. Interoperate with your existing C++ code, from inheritance to templates. Fast and scalable builds that work with your existing C++ build systems. Solid language foundations that are easy to learn, especially if you have used C++. Easy, tool-based upgrades between Carbon versions. Safer fundamentals, and an incremental path towards a memory-safe subset. Carbon is fundamentally a successor language approach, rather than an attempt to incrementally evolve C++. It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers.
    Starting Price: Free
  • 19
    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.
  • 20
    FLooP

    FLooP

    Ziring

    FLooP was a very simple recursive block structured language invented by Douglas Hofstadter for his book Godel, Escher, Bach. It features a simple subroutine structure, very simple number and boolean handling, and recursion. Unlike its cousin BLooP, FLooP does support unbounded loops. This allows it to possess the full power of a Turing machine, thus making it fair game for various undecidability theorums. The syntax of FLooP is rather verbose but simple in structure. Though Hofstadter doesn't mention it in GEB, FLooP is similar to early exercises in exploring the computational model of "Random Access Machines". Note the use of 'CELL(0) <= 2' and similar constructs. Though FLooP was never intended to be more than an academic exercise, an implementation of FLooP in Perl was made. Unfortunately, I can't seem to find it. S - block-structured language type.
  • 21
    WebAssembly

    WebAssembly

    WebAssembly

    WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications. The Wasm stack machine is designed to be encoded in a size- and load-time-efficient binary format. WebAssembly aims to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms. WebAssembly describes a memory-safe, sandboxed execution environment that may even be implemented inside existing JavaScript virtual machines. When embedded in the web, WebAssembly will enforce the same-origin and permissions security policies of the browser. WebAssembly is designed to be pretty-printed in a textual format for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when viewing the source of Wasm modules on the web.
    Starting Price: Free
  • 22
    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
  • 23
    R

    R

    The R Foundation

    R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R. R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques, and is highly extensible. The S language is often the vehicle of choice for research in statistical methodology, and R provides an Open Source route to participation in that activity. One of R’s strengths is the ease with which well-designed publication-quality plots can be produced, including mathematical symbols and formulae where needed.
    Starting Price: Free
  • 24
    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
  • 25
    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
  • 26
    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.
  • 27
    Elixir

    Elixir

    Elixir

    Elixir is a dynamic, functional language for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed, and fault-tolerant systems. Elixir is successfully used in web development, embedded software, data ingestion, and multimedia processing, across a wide range of industries. Check our getting started guide and our learning page to begin your journey with Elixir. All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages. Due to their lightweight nature, it is not uncommon to have hundreds of thousands of processes running concurrently in the same machine. Isolation allows processes to be garbage collected independently, reducing system-wide pauses, and using all machine resources as efficiently as possible (vertical scaling). Processes are also able to communicate with other processes running on different machines in the same network.
    Starting Price: Free
  • 28
    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.
  • 29
    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
  • 30
    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.
  • 31
    XML

    XML

    World Wide Web Consortium (W3C)

    Extensible Markup Language (XML) is a simple, very flexible text format derived from SGML (ISO 8879). Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. This page describes the work being done at W3C within the XML Activity, and how it is structured. Work at W3C takes place in Working Groups. The Working Groups within the XML Activity are listed below, together with links to their individual web pages. You can find and download formal technical specifications here, because we publish them. This is not a place to find tutorials, products, courses, books or other XML-related information. There are some links below that may help you find such resources. You will find links to W3C Recommendations, Proposed Recommendations, Working Drafts, conformance test suites and other documents on the pages for each Working Group.
    Starting Price: Free
  • 32
    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
  • 33
    LaTeX

    LaTeX

    LaTeX

    LaTeX, which is pronounced «Lah-tech» or «Lay-tech» (to rhyme with «blech» or «Bertolt Brecht»), is a document preparation system for high-quality typesetting. It is most often used for medium-to-large technical or scientific documents but it can be used for almost any form of publishing. LaTeX is not a word processor! Instead, LaTeX encourages authors not to worry too much about the appearance of their documents but to concentrate on getting the right content. To produce this in most typesetting or word-processing systems, the author would have to decide what layout to use, so would select (say) 18pt Times Roman for the title, 12pt Times Italic for the name, and so on. This has two results: authors wasting their time with designs; and a lot of badly designed documents! LaTeX is based on the idea that it is better to leave document design to document designers, and to let authors get on with writing documents.
    Starting Price: Free
  • 34
    Eiffel

    Eiffel

    Eiffel Software

    Eiffel is the most comprehensive approach to the construction of successful object-oriented software. You spend less on development, debugging, and maintenance. You get the bugs before they get you. You release quality products ahead of your competitors. Easier in every way, understanding, maintenance, reuse, and extension. Eiffel is the only approach that covers analysis, design, implementation, and maintenance in a single framework. Systems developed using Eiffel can be made portable across major industry platforms. Based on a small number of powerful ideas from computer science and software engineering. Products of all phases are recorded in a single document with multiple views. Exists to express the products of the Eiffel Method. Supports features not always available in competing technologies. Exception handling based on software specification (versus ad hoc try/catch). Widely recognized as simultaneously the simplest and most complete implementation of object-oriented concepts.
    Starting Price: Free
  • 35
    Vyper

    Vyper

    Vyper

    Vyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM). Security: It should be possible and natural to build secure smart-contracts in Vyper. Language and compiler simplicity: The language and the compiler implementation should strive to be simple. Auditability: Vyper code should be maximally human-readable. Furthermore, it should be maximally difficult to write misleading code. Simplicity for the reader is more important than simplicity for the writer, and simplicity for readers with low prior experience with Vyper (and low prior experience with programming in general) is particularly important.
    Starting Price: Free
  • 36
    SQL

    SQL

    SQL

    SQL is a domain-specific programming language used for accessing, managing, and manipulating relational databases and relational database management systems.
  • 37
    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.
  • 38
    BLooP

    BLooP

    BLooP

    Welcome to the Dictionary of Programming Languages, a compendium of computer coding methods assembled to provide information and aid your appreciation for computer science history. BLooP was a very simple recursive block structured language invented by Douglas Hofstadter for his book Godel, Escher, Bach. It features simple subroutine structure, very simple number and boolean handling, and recursion. The interesting aspect of BLooP was that it offered only bounded loop constructs, and was therefore incapable of expressing certain general recursive computations.
    Starting Price: Free
  • 39
    Wolfram Language

    Wolfram Language

    Wolfram Language

    We comply with providing the computational paradigm. The Wolfram Language provides access to computing power at a significantly higher level than ever before, leveraging built-in computational intelligence based on a wide variety of algorithms and real-world knowledge, carefully integrated over three decades. The Wolfram Language is scalable for programs both small and large, with out-of-the-box deployment both on-premises and in the cloud. In addition, the Wolfram Language builds on clear principles and an elegant unified symbolic framework to create what is now emerging as the world's most productive programming language, and the first true computational communication language for humans and AI.
    Starting Price: Free
  • 40
    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.
  • 41
    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
  • 42
    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
  • 43
    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
  • 44
    Ruby

    Ruby

    Ruby Language

    Wondering why Ruby is so popular? Its fans call it a beautiful, artful language. And yet, they say it’s handy and practical. Since its public release in 1995, Ruby has drawn devoted coders worldwide. In 2006, Ruby achieved mass acceptance. With active user groups formed in the world’s major cities and Ruby-related conferences filled to capacity. Ruby-Talk, the primary mailing list for discussion of the Ruby language, climbed to an average of 200 messages per day in 2006. It has dropped in recent years as the size of the community pushed discussion from one central list into many smaller groups. Ruby is ranked among the top 10 on most of the indices that measure the growth and popularity of programming languages worldwide (such as the TIOBE index). Much of the growth is attributed to the popularity of software written in Ruby, particularly the Ruby on Rails web framework.
    Starting Price: Free
  • 45
    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
  • 46
    LabVIEW
    LabVIEW offers a graphical programming approach that helps you visualize every aspect of your application, including hardware configuration, measurement data, and debugging. This visualization makes it simple to integrate measurement hardware from any vendor, represent complex logic on the diagram, develop data analysis algorithms, and design custom engineering user interfaces. With LabVIEW and NI DAQ hardware, you can build a custom measurement solution to visualize and analyze real-world signals to make data-driven decisions. Using LabVIEW and NI or third-party hardware, you can automate the validation of your product to meet challenging time-to-market and performance requirements. Working with LabVIEW, you can create flexible test applications that control multiple instruments and design user interfaces to optimize your manufacturing test throughput and operational cost. You can build industrial equipment and smart machines faster with LabVIEW.
    Starting Price: $453 per year
  • 47
    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
  • 48
    C++

    C++

    C++

    C++ is a simple and clear language in its expressions. It is true that a piece of code written with C++ may be seen by a stranger of programming a bit more cryptic than some other languages due to the intensive use of special characters ({}[]*&!|...), but once one knows the meaning of such characters it can be even more schematic and clear than other languages that rely more on English words. Also, the simplification of the input/output interface of C++ in comparison to C and the incorporation of the standard template library in the language, makes the communication and manipulation of data in a program written in C++ as simple as in other languages, without losing the power it offers. It is a programming model that treats programming from a perspective where each component is considered an object, with its own properties and methods, replacing or complementing structured programming paradigm, where the focus was on procedures and parameters.
    Starting Price: Free
  • 49
    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
  • 50
    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