Comparison of code generation tools

Last updated

Contents

List of tools

ProductCreatorPlatformFirst public releaseLatest stable versionDate of the latest stable version Software license
Acceleo Obeocross-platform (Java / Eclipse)20063.7.72018-12-04 Eclipse Public
actifsource actifsource GmbHcross-platform (Java / Eclipse)10.12.02021-02-22 Proprietary
DMS Software Reengineering Toolkit Semantic DesignsWindows20012.0 Proprietary
DRAKON Stepan Mitkincross-platform (Tcl/Tk)20111.272016-03-10Free
GeneXus GeneXusCross Platform (multiple)1991v17 Proprietary
Genshi (templating language) Edgewall Softwarecross-platform (Python)2006-08-030.5.12008-07-09
Jinja (Template engine) Pocoo teamcross-platform (Python)2.1.1 BSD
Kid (templating language) Ryan Tomaykocross-platform (Python)0.9.62006-12-20
Mako Michael Bayercross-platform (Python)1.1.22020-03-01 MIT License
MATLAB The MathWorks, Inc. Windows, macOS, Linux19849.52018-09-12 Proprietary
M-Power mrccross-platform (Java)2004 Proprietary
Microsoft Visual Studio LightSwitch Microsoft Windows20112011-07-26 Proprietary
OpenMDX cross-platform (Java)2004-01-282.42009-03-26 BSD
Scriptcase Scriptcase Corp. PHP Unix, Linux, Windows, iOS20009.72022-04-13 Proprietary
T4 Microsoft Windows20052010 MIT License
Umple University of Ottawa cross-platform (Java)20101.33.02024-01-10 MIT License
Velocity apache Apache Software Foundation cross-platform (Java)1.6.22009-03-19 Apache License 2.0
WaveMaker WaveMaker Inc. cross platform (aPaaS)200310.0.3 Proprietary

Technical features

NameImplementation LanguageActive; Passive [1] Model [1] Typical inputOther inputTypical output
Acceleo JavaActiveTierUser-defined EMF based models (UML, Ecore, user defined metamodels)Any EMF based input (Xtext DSLs, GMF graphical models, etc.)Any textual language.
actifsource JavaActiveTierUser-defined ModelsImport from UML, Ecore.Any textual language.
DMS Software Reengineering Toolkit Several code generation DSLs (attribute grammars, tree patterns, source-to-source rewrites)ActiveDSLs represented as abstract syntax treesDSL instanceWell-formed output language code fragmentsAny programming language (proven for C, C++, Java, C#, PHP, COBOL)
gSOAP C / C++ WSDL specificationsC / C++ code that can be used to communicate with WebServices. XML with the definitions obtained.
Microsoft Visual Studio LightSwitch C# / VB.NETActiveTier Database schema Complete Silverlight application (Desktop or Web)
Pro*C InlineSQL in CC
Scriptcase PHP, JavaScriptActiveTierComplete application (Web/Mobile) and build or use the database schemaPHP, HTML, JavaScript, Ajax,Full Web application ready to use (PHP and Javascript) with Interface layer, service layer, PHP, CSS. etc. and Database scripts to apply.
Spring Roo JavaActiveTierJava and automatically introspected project metadataShell commandsJava (Full Web Application including Java source, AspectJ source, XML, JSP, Spring application contexts, build tools, property files, etc.)
T4 Passive T4 Template/Text File Any text format such as XML, XAML, C# files or just plain text files.
Umple Umple, Java, Javascript, PHPActiveTierUmple code embedding one or more of Java, Python, C++, PHP or RubyPure Umple code describing associations, patterns, state machines, etc.Java, Python, C++, PHP, Ruby, ECcore, Umlet, Yuml, Textuml, JSON, Papyrus XMI, USE, NuXMV, Alloy
Velocity apache JavaPassive [2] TierTemplatesJava driver codeAny text
Yii2 Gii PHPActiveTier Database schema, user input, source codeSkeleton application, CRUD applications

Related Research Articles

<span class="mw-page-title-main">GIF</span> Bitmap image file format family

The Graphics Interchange Format is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite and released on June 15, 1987.

<span class="mw-page-title-main">ISBN</span> Unique numeric book identifier since 1970

The International Standard Book Number (ISBN) is a numeric commercial book identifier that is intended to be unique. Publishers purchase or receive ISBNs from an affiliate of the International ISBN Agency.

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. Although its syntax is similar to that of C and C++, the Java language has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

<span class="mw-page-title-main">Morse code</span> Transmission of language with brief pulses

Morse code is a method used in telecommunication to encode text characters as standardized sequences of two different signal durations, called dots and dashes, or dits and dahs. Morse code is named after Samuel Morse, one of the early developers of the system adopted for electrical telegraphy.

<span class="mw-page-title-main">Python (programming language)</span> General-purpose programming language

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

<span class="mw-page-title-main">United States Minor Outlying Islands</span> Statistical designation of small islands of the United States

The United States Minor Outlying Islands is a statistical designation defined by the International Organization for Standardization's ISO 3166-1 code. The entry code is ISO 3166-2:UM. The minor outlying islands and groups of islands comprise eight United States insular areas in the Pacific Ocean and one in the Caribbean Sea.

<span class="mw-page-title-main">ZIP Code</span> Numeric postal code used in the US and its territories

A ZIP Code is a system of postal codes used by the United States Postal Service (USPS). The term ZIP was chosen to suggest that the mail travels more efficiently and quickly when senders use the code in the postal address.


The International Radiotelephony Spelling Alphabet or simply Radiotelephony Spelling Alphabet, commonly known as the NATO phonetic alphabet, is the most widely used set of clear-code words for communicating the letters of the Roman alphabet. Technically a radiotelephonic spelling alphabet, it goes by various names, including NATO spelling alphabet, ICAO phonetic alphabet and ICAO spelling alphabet. The ITU phonetic alphabet and figure code is a rarely used variant that differs in the code words for digits.

<span class="mw-page-title-main">Dan Brown</span> American author (born 1964)

Daniel Gerhard Brown is an American author best known for his thriller novels, including the Robert Langdon novels Angels & Demons (2000), The Da Vinci Code (2003), The Lost Symbol (2009), Inferno (2013), and Origin (2017). His novels are treasure hunts that usually take place over a period of 24 hours. They feature recurring themes of cryptography, art, and conspiracy theories. His books have been translated into 57 languages and, as of 2012, have sold over 200 million copies. Three of them, Angels & Demons, The Da Vinci Code, and Inferno, have been adapted into films, while one of them, The Lost Symbol, was adapted into a television show.

Spanish postal codes were introduced on 1 July 1984, when the Sociedad Estatal de Correos y Telégrafos introduced automated mail sorting. They consist of five numerical digits, where the first two digits, ranging 01 to 52, correspond either to one of the 50 provinces of Spain or to one of the two autonomous cities on the African coast.

<span class="mw-page-title-main">QR code</span> Type of matrix barcode

A QR code is a type of two-dimensional matrix barcode, invented in 1994, by Japanese company Denso Wave for labelling automobile parts. It features black squares on a white background with fiducial markers, readable by imaging devices like cameras, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data are then extracted from patterns that are present in both the horizontal and the vertical components of the QR image.

ISO 15924, Codes for the representation of names of scripts, is an international standard defining codes for writing systems or scripts. Each script is given both a four-letter code and a numeric code.

A country code top-level domain (ccTLD) is an Internet top-level domain generally used or reserved for a country, sovereign state, or dependent territory identified with a country code. All ASCII ccTLD identifiers are two letters long, and all two-letter top-level domains are ccTLDs.

<span class="mw-page-title-main">Free and open-source software</span> Software whose source code is available and which is permissively licensed

Free and open-source software (FOSS) is software that is available under a license that grants the right to use, modify, and distribute the software, modified or not, to everyone free of charge. The public availability of the source code is, therefore, a necessary but not sufficient condition. FOSS is an inclusive umbrella term for free software and open-source software. FOSS is in contrast to proprietary software, where the software is under restrictive copyright or licensing and the source code is hidden from the users.

<i>Code Geass</i> 2006 Japanese television anime series

Code Geass: Lelouch of the Rebellion, often referred to simply as Code Geass, is a Japanese anime television series produced by Sunrise. It was directed by Gorō Taniguchi and written by Ichirō Ōkouchi, with original character designs by Clamp. Set in an alternate timeline, it follows the exiled prince Lelouch Lamperouge, who obtains the "power of absolute obedience" from a mysterious woman named C.C. Using this supernatural power, known as Geass, he leads a rebellion against the rule of the Holy Britannian Empire, commanding a series of mecha battles.

<span class="mw-page-title-main">Google Code Jam</span> Programming competition hosted by Google

Google Code Jam was an international programming competition hosted and administered by Google. The competition began in 2003. The competition consists of a set of algorithmic problems which must be solved in a fixed amount of time. Competitors may use any programming language and development environment to obtain their solutions. From 2003 to 2007, Google Code Jam was deployed on Topcoder's platform. Since 2008 Google has developed their own dedicated infrastructure for the contest.

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub is a developer platform that allows developers to create, store, manage and share their code. It uses Git software, providing the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

<span class="mw-page-title-main">Motion Picture Association</span> Trade organization representing major American film studios

The Motion Picture Association (MPA) is an American trade association representing the five major film studios of the United States, as well as the video streaming service Netflix. Founded in 1922 as the Motion Picture Producers and Distributors of America (MPPDA) and known as the Motion Picture Association of America (MPAA) from 1945 until September 2019, its original goal was to ensure the viability of the American film industry. In addition, the MPA established guidelines for film content which resulted in the creation of the Motion Picture Production Code in 1930. This code, also known as the Hays Code, was replaced by a voluntary film rating system in 1968, which is managed by the Classification and Rating Administration (CARA).

Spurious languages are languages that have been reported as existing in reputable works, while other research has reported that the language in question did not exist. Some spurious languages have been proven to not exist. Others have very little evidence supporting their existence, and have been dismissed in later scholarship. Others still are of uncertain existence due to limited research.

JetBrains s.r.o. is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States.

References

  1. 1 2 "Code Generation Network - Frequently Asked Questions". www.codegeneration.net. Archived from the original on 24 October 2007. Retrieved 15 January 2022.
  2. "Open source tools are available that make the task of developing passive code generators all but trivial. One such offering is Velocity from the Apache Software Foundation". My.safaribooksonline.com. Retrieved 24 January 2014.