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.35.02024-10-11 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. The syntax of Java is similar to C and C++, but 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">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">Code talker</span> Military personnel using their native languages for secret wartime communication

A code talker was a person employed by the military during wartime to use a little-known language as a means of secret communication. The term is most often used for United States service members during the World Wars who used their knowledge of Native American languages as a basis to transmit coded messages. In particular, there were approximately 400 to 500 Native Americans in the United States Marine Corps whose primary job was to transmit secret tactical messages. Code talkers transmitted messages over military telephone or radio communications nets using formally or informally developed codes built upon their Indigenous languages. The code talkers improved the speed of encryption and decryption of communications in front line operations during World War II and are credited with some decisive victories. Their code was never broken.

<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 Philippine Postal Corporation also uses this terminology for the postal code system in the Philippines.

The International Radiotelephony Spelling Alphabet or simply the 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">Postcodes in the United Kingdom</span>

Postal codes used in the United Kingdom, British Overseas Territories and Crown dependencies are known as postcodes. They are alphanumeric and were adopted nationally between 11 October 1959 and 1974, having been devised by the General Post Office . The system uses alphanumeric codes to designate geographic areas. A full postcode, also known as a "postcode unit", identifies a group of addresses or a major delivery point. It consists of an outward code and inward code. The outward code indicates the area and district, while the inward code specifies the sector and delivery point, typically encompassing about 15 addresses.

<span class="mw-page-title-main">ISSN</span> Serial number used to identify a periodical publication

An International Standard Serial Number (ISSN) is an eight-digit serial number used to uniquely identify a serial publication (periodical), such as a magazine. The ISSN is especially helpful in distinguishing between serials with the same title. ISSNs are used in ordering, cataloging, interlibrary loans, and other practices in connection with serial literature.

<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 series.

<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 is 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">Visual Studio</span> Code editor and IDE

Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms including Windows API, Windows Forms, Windows Presentation Foundation (WPF), Microsoft Store and Microsoft Silverlight. It can produce both native code and managed code.

<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, which provides distributed version control of 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, the mini-major Amazon MGM Studios, as well as the video streaming services Netflix and Amazon Prime Video. 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.