Modular programming: Difference between revisions

Content deleted Content added
Added V to the list
Tag: Reverted
m Reverted 1 edit by Wukuendo (talk) to last revision by 2001:1C00:150F:4F00:215B:4B0F:B503:631E
Tags: Twinkle Undo Reverted Mobile edit Mobile web edit Advanced mobile edit
Line 24:
 
==Language support==
Languages that formally support the module concept include [[Ada (programming language)|Ada]], [[ALGOL]], [[BlitzMax]], [[C++]], [[C Sharp (programming language)|C#]], [[Clojure]], [[COBOL]], [[Common Lisp]], [[D (programming language)|D]], [[Dart (programming language)|Dart]], eC, [[Erlang (programming language)|Erlang]], [[Elixir (programming language)|Elixir]], [[Elm (programming language)|Elm]], [[F (programming language)|F]], [[F Sharp (programming language)|F#]], [[Fortran]], [[Go (programming language)|Go]], [[Haskell]], [[IBM/360]] [[IBM Basic assembly language and successors|Assembler]], [[Control Language]] (CL), [[IBM RPG]], [[Java (programming language)|Java]], [[Julia (programming language)|Julia]], [[MATLAB]], [[ML (programming language)|ML]], [[Modula]], [[Modula-2]], [[Modula-3]], Morpho, [[NEWP]], [[Oberon (programming language)|Oberon]], [[Oberon-2]], [[Objective-C]], [[OCaml]], several [[Pascal (programming language)|Pascal]] derivatives ([[Component Pascal]], [[Object Pascal]], [[Turbo Pascal]], [[UCSD Pascal]]), [[Perl]], [[PHP]], [[PL/I]], [[PureBasic]], [[Python (programming language)|Python]], [[R (programming language)|R]], [[Ruby (programming language)|Ruby]],<ref>{{Cite web|url=https://docs.ruby-lang.org/en/master/Module.html|title=class Module - Documentation for Ruby 3.5}}</ref> [[Rust (programming language)|Rust]], [[JavaScript]],<ref>[http://www.ecma-international.org/ecma-262/6.0/#sec-modules ECMAScript® 2015 Language Specification, 15.2 Modules]</ref> [[V (programming language)|V (Vlang)]],<ref>{{cite web|url=https://github.com/vlang/v/blob/master/doc/docs.md#modules|title=Modules - V programming language documentation|website=github.com|date=May 2025}}</ref> [[Visual Basic (.NET)]] and WebDNA.
 
In the Java programming language, the term "package" is used for the analog of modules in the JLS;<ref>James Gosling, Bill Joy, Guy Steele, Gilad Bracha, ''The Java Language Specification, Third Edition'', {{ISBN|0-321-24678-0}}, 2005. In the Introduction, it is stated "Chapter 7 describes the structure of a program, which is organized into packages similar to the modules of Modula." The word "module" has no special meaning in Java.</ref> — see [[Java package]]. "[[Java Module System|Modules]]", a kind of collection of packages, were introduced in [[Java 9]] as part of [http://openjdk.java.net/projects/jigsaw/ Project Jigsaw]; these were earlier called "superpackages" were planned for Java 7.