awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/groovy

0
View on GitHub↗
5,446 Stars·1,912 Forks·Java·Apache-2.0·8 Aufrufegroovy-lang.org↗

Groovy

Groovy ist eine JVM-Programmiersprache und ein Metaprogrammierungs-Framework, das eine Java-kompatible Umgebung für die Anwendungsentwicklung bietet. Es fungiert als dynamische Skriptsprache und als Werkzeug zum Verfassen domänenspezifischer Sprachen, was die Ausführung benutzerdefinierter Skripte und die Erstellung spezialisierter Minisprachen mit prägnanter Syntax ermöglicht.

Das Projekt zeichnet sich durch die Fähigkeit aus, Programmverhalten und Klassendefinitionen sowohl durch Compile-Time- als auch durch Runtime-Metaprogrammierung zu modifizieren. Es nutzt ein hybrides Typisierungsmodell, das dynamische Methodenauflösung mit optionaler statischer Typüberprüfung kombiniert, um Flexibilität und Ausführungsperformance in Einklang zu bringen.

Die Sprache deckt ein breites Spektrum an Funktionen ab, einschließlich funktionaler Programmiermuster, AST-Transformationen und der direkten Integration von Java-Bibliotheken. Sie enthält zudem Sicherheitswerkzeuge zur Vermeidung von SQL-Injection, zur Absicherung des XML-Parsings und zur Gewährleistung eines sicheren Parsings strukturierter Daten.

Das System übersetzt High-Level-Syntax in JVM-Bytecode zur Ausführung auf jeder kompatiblen Java Virtual Machine.

Features

  • JVM Application Development - Enables the creation of software targeting the Java Virtual Machine using concise syntax and hybrid typing.
  • Programming Languages - Provides a high-level programming language targeting the JVM that supports both dynamic and static typing.
  • Code Prototyping - Executes code snippets and automates tasks quickly without extensive application boilerplate or project structures.
  • Class Extensions - Allows injecting new instance or static methods into existing types using external descriptor files and extension modules.
  • Runtime Meta-Class Extensions - Injects new methods into existing classes at runtime by modifying underlying class definitions via meta-classes.
  • Dynamic Method Dispatch - Resolves method calls at runtime using a call site mechanism to support flexible typing and late binding.
  • Java Interoperability - Enables direct integration and interoperability with Java libraries and classes within the same virtual machine.
  • Metaprogramming - Modifies program logic and class definitions at runtime or compile-time to automate patterns and extend object capabilities.
  • Metaprogramming Frameworks - Implements a framework for modifying program behavior and class definitions at both compile-time and runtime.
  • Domain Specific Languages - Provides tools for creating specialized mini-languages with concise syntax to describe business logic or configurations.
  • DSL Implementation Toolkits - Offers a framework for implementing the lexing, parsing, and generation phases of domain-specific languages.
  • Hybrid Typing Systems - Combines dynamic method resolution with optional static type checking within a single language runtime.
  • Scripting Languages - Provides a flexible language for executing custom scripts and automating tasks without application boilerplate.
  • JVM Bytecode Compilers - Translates high-level syntax into compatible Java bytecode for execution on the Java Virtual Machine.
  • Scripting Runtimes - Evaluates code snippets without a full application structure by bypassing traditional boilerplate and compilation steps.
  • Abstract Syntax Tree Transformations - Provides capabilities to rewrite and generate AST nodes during compilation to implement custom language features and reduce boilerplate.
  • Runtime Metaprogramming - Enables modifying program behavior and structure at both compile-time and runtime to automate tasks.
  • Custom Script Executions - Provides the ability to execute custom logic via scripts to bypass full application structures.
  • Call-Site Caching - Implements call-site caching to optimize dynamic method calls by reusing resolution results for subsequent invocations.
  • Functional Programming Patterns - Supports processing data and performing transformations using logic based on functional programming paradigms.
  • Custom Type Checking Rules - Supports adding custom type checking rules via scripts to modify static analysis and catch coding errors.
  • Static Type Checking - Performs compile-time type validation to bypass dynamic dispatch and increase execution performance.

Star-Verlauf

Star-Verlauf für apache/groovyStar-Verlauf für apache/groovy

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Groovy

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Groovy.
  • frege/fregeAvatar von Frege

    Frege/frege

    3,700Auf GitHub ansehen↗

    Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow

    Frege
    Auf GitHub ansehen↗3,700
  • jruby/jrubyAvatar von jruby

    jruby/jruby

    3,906Auf GitHub ansehen↗

    JRuby is a Ruby language implementation that runs on the Java Virtual Machine. It serves as a cross-language runtime and execution environment, allowing Ruby code to run on the JVM and share memory with Java applications. The project functions as a bridge between Ruby and Java, enabling Ruby scripts to call Java classes and libraries directly. It also provides a mechanism to embed a Ruby interpreter into Java applications to allow for dynamic scripting. The runtime leverages the JVM for system scalability and ensures a consistent execution environment across different operating systems.

    Rubyconcurrencyinvokedynamicjruby
    Auf GitHub ansehen↗3,906
  • kanaka/malAvatar von kanaka

    kanaka/mal

    10,665Auf GitHub ansehen↗

    This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of programming language design. It provides a structured, step-by-step technical framework for building a functional Lisp language from scratch, featuring a specialized interpreter engine and an S-expression parser that converts syntax into abstract syntax trees. The project emphasizes a code-as-data metaprogramming framework, enabling the implementation of macros, quoting, and quasiquoting to transform expressions during evaluation. It is designed with host language agnosticism, allowi

    Assemblybashcc-plus-plus
    Auf GitHub ansehen↗10,665
  • sweet-js/sweet-coreAvatar von sweet-js

    sweet-js/sweet-core

    4,559Auf GitHub ansehen↗

    Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer that extends JavaScript by allowing the definition of custom syntax and operators during the compilation process. The system provides a framework for building domain-specific languages through hygienic, recursive macro expansion and the creation of new language constructs. It distinguishes itself by supporting custom operator definitions with configurable associativity and precedence to control expression evaluation. The compiler includes a specialized module system for mana

    JavaScriptjavascriptmacrosparser
    Auf GitHub ansehen↗4,559
Alle 30 Alternativen zu Groovy anzeigen→

Häufig gestellte Fragen

Was macht apache/groovy?

Groovy ist eine JVM-Programmiersprache und ein Metaprogrammierungs-Framework, das eine Java-kompatible Umgebung für die Anwendungsentwicklung bietet. Es fungiert als dynamische Skriptsprache und als Werkzeug zum Verfassen domänenspezifischer Sprachen, was die Ausführung benutzerdefinierter Skripte und die Erstellung spezialisierter Minisprachen mit prägnanter Syntax ermöglicht.

Was sind die Hauptfunktionen von apache/groovy?

Die Hauptfunktionen von apache/groovy sind: JVM Application Development, Programming Languages, Code Prototyping, Class Extensions, Runtime Meta-Class Extensions, Dynamic Method Dispatch, Java Interoperability, Metaprogramming.

Welche Open-Source-Alternativen gibt es zu apache/groovy?

Open-Source-Alternativen zu apache/groovy sind unter anderem: frege/frege — Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for… jruby/jruby — JRuby is a Ruby language implementation that runs on the Java Virtual Machine. It serves as a cross-language runtime… kanaka/mal — This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of… sweet-js/sweet-core — Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer… charmbracelet/vhs — This project is a terminal automation and recording tool that uses a custom declarative scripting language to execute… cake-build/cake — Cake is a cross-platform build automation system and scripting framework that allows users to define software build…