awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/groovy

0
View on GitHub↗
5,446 stele·1,912 fork-uri·Java·Apache-2.0·8 vizualizărigroovy-lang.org↗

Groovy

Groovy este un limbaj de programare pentru JVM și un framework de metaprogramare care oferă un mediu compatibil cu Java pentru construirea de aplicații. Acesta funcționează ca un limbaj de scripting dinamic și un instrument pentru autorizarea limbajelor specifice domeniului (DSL), permițând execuția de scripturi personalizate și crearea de mini-limbaje specializate cu sintaxă concisă.

Proiectul se distinge prin capacitatea de a modifica comportamentul programului și definițiile claselor prin metaprogramare atât la compilare, cât și la runtime. Utilizează un model de tipizare hibrid care combină rezoluția dinamică a metodelor cu verificarea statică opțională a tipurilor pentru a echilibra flexibilitatea și performanța execuției.

Limbajul acoperă o gamă largă de capabilități, inclusiv tipare de programare funcțională, transformări de arbore sintactic abstract (AST) și integrarea directă a bibliotecilor Java. Include, de asemenea, utilitare de securitate pentru prevenirea SQL injection, securizarea parsării XML și asigurarea parsării sigure a datelor structurate.

Sistemul traduce sintaxa de nivel înalt în bytecode JVM pentru execuție pe orice Java Virtual Machine compatibilă.

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.

Istoric stele

Graficul istoricului de stele pentru apache/groovyGraficul istoricului de stele pentru apache/groovy

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Groovy

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Groovy.
  • frege/fregeAvatar Frege

    Frege/frege

    3,700Vezi pe GitHub↗

    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
    Vezi pe GitHub↗3,700
  • jruby/jrubyAvatar jruby

    jruby/jruby

    3,906Vezi pe GitHub↗

    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
    Vezi pe GitHub↗3,906
  • kanaka/malAvatar kanaka

    kanaka/mal

    10,665Vezi pe GitHub↗

    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
    Vezi pe GitHub↗10,665
  • sweet-js/sweet-coreAvatar sweet-js

    sweet-js/sweet-core

    4,559Vezi pe GitHub↗

    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
    Vezi pe GitHub↗4,559
Vezi toate cele 30 alternative pentru Groovy→

Întrebări frecvente

Ce face apache/groovy?

Groovy este un limbaj de programare pentru JVM și un framework de metaprogramare care oferă un mediu compatibil cu Java pentru construirea de aplicații. Acesta funcționează ca un limbaj de scripting dinamic și un instrument pentru autorizarea limbajelor specifice domeniului (DSL), permițând execuția de scripturi personalizate și crearea de mini-limbaje specializate cu sintaxă concisă.

Care sunt principalele funcționalități ale apache/groovy?

Principalele funcționalități ale apache/groovy sunt: JVM Application Development, Programming Languages, Code Prototyping, Class Extensions, Runtime Meta-Class Extensions, Dynamic Method Dispatch, Java Interoperability, Metaprogramming.

Care sunt câteva alternative open-source pentru apache/groovy?

Alternativele open-source pentru apache/groovy includ: 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…