Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
OpenVMS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Programming=== DEC (and its successor companies) provided a wide variety of programming languages for VMS. Officially supported languages on VMS, either current or historical, include:<ref name="language-1985">{{cite web|url=http://bitsavers.org/pdf/dec/vax/handbook/VMS_Language_and_Tools_Handbook_1985.pdf|title=VAX/VMS Software Language and Tools Handbook|date=1985|access-date=December 31, 2020|website=bitsavers.org}}</ref><ref name="vsi-products">{{cite web|url=https://vmssoftware.com/products/list/|title=VSI List of Products|website=VSI|access-date=May 4, 2021|archive-date=May 16, 2021|archive-url=https://web.archive.org/web/20210516174139/https://vmssoftware.com/products/list/|url-status=dead}}</ref><ref>{{Cite web |title=Lua β VMS Software, Inc. |url=https://vmssoftware.com/products/lua/ |access-date=2025-01-13 |website=vmssoftware.com}}</ref> {{Div col|colwidth=9em}} * [[VAX MACRO]] * [[BLISS]] * [[C (programming language)|C]] * [[DIGITAL Command Language|DCL]] * [[Fortran]] * [[Pascal (programming language)|Pascal]] * [[COBOL]] * [[BASIC]] * [[C++]] * [[Java (programming language)|Java]] * [[Common Lisp]] * [[APL (programming language)|APL]] * [[Ada (programming language)|Ada]] * [[PL/I]] * [[DIBOL]] * [[CORAL]] * [[OPS5]] * [[IBM RPG II|RPG II]] * [[MUMPS]] * [[MACRO-11]] * [[DEC Text Processing Utility|DECTPU]] * [[Lua (programming language)|Lua]] * VAX SCAN{{Div col end}} Among OpenVMS's notable features is the ''Common Language Environment'', a strictly defined standard that specifies calling conventions for functions and routines, including use of [[stack (abstract data type)|stacks]], [[processor register|registers]], etc., independent of programming language.<ref name="openvms-calling-standard">{{cite web|url=https://vmssoftware.com/docs/VSI_CALLING_STD.pdf|title=VSI OpenVMS Calling Standard|date=January 2021|access-date=May 4, 2021}}</ref> Because of this, it is possible to call a routine written in one language (for example, Fortran) from another (for example, COBOL), without needing to know the implementation details of the target language. OpenVMS itself is implemented in a variety of different languages and the common language environment and calling standard supports freely mixing these languages.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_PROGRAM_CONCEPTS_VOL_II.pdf|title=VSI OpenVMS Programming Concepts Manual, Volume II|date=April 2020|access-date=May 4, 2021|publisher=VSI}}</ref> DEC created a tool named the ''Structure Definition Language'' (SDL), which allowed [[data type]] definitions to be generated for different languages from a common definition.<ref>{{cite web|url=https://www.digiater.nl/openvms/freeware/v30/sdl/freeware_readme.txt|title=SDL, LANGUAGE, Data Structure/Interface Definition Language|date=November 1996|access-date=January 3, 2021|website=digiater.nl}}</ref> The set of languages available directly with the operating system is restricted to C, Fortran, Pascal, BASIC, C++, BLISS and COBOL. Freely available open source languages include Lua, PHP, Python, Scala and Java. <ref>{{cite web|url=https://docs.vmssoftware.com/|title=VMS Software / Documentation|website=VSI|access-date=May 12, 2025}}</ref> ====Development tools==== [[File:Vax-vms-grey-wall.jpg|thumb|The "Grey Wall" of VAX/VMS documentation, at [[Living Computers: Museum + Labs]]]] DEC provided a collection of software development tools in a layered product named ''DECset'' (originally named ''VAXset'').<ref name="language-1985" /> This consisted of the following tools:<ref>{{cite web |title=DECset |url=https://vmssoftware.com/products/decset/ |access-date=January 2, 2021 |website=VSI}}</ref> * [[Language-Sensitive Editor]] (LSE) * ''Code Management System'' (CMS) a [[version control]] system * ''Module Management System'' (MMS), a [[build automation|build tool]] * the ''Source Code Analyzer (''SCA), a [[static analyzer]] * the ''Performance and Coverage Analyzer'' (''PCA''), a [[Profiling (computer programming)|profiler]] * ''Digital Test Manager'' (DTM), as a test manager * In addition, a number of [[text editor]]s are included in the operating system, including [[EDT (Digital)|EDT]], [[EVE (text editor)|EVE]] and [[TECO (text editor)|TECO]].<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DCL_DICT_VOL_I.pdf|title=VSI OpenVMS DCL Dictionary: AβM|date=April 2020|access-date=January 2, 2021|publisher=VSI}}</ref> The OpenVMS Debugger supports all DEC compilers and many third-party languages. It allows breakpoints, watchpoints and interactive runtime program debugging using either a [[command line interface|command line]] or [[graphical user interface]].<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DEBUGGER.pdf|title=VSI OpenVMS Debugger Manual|date=June 2020|access-date=May 4, 2021|publisher=VSI}}</ref> A pair of lower-level debuggers, named ''DELTA'' and ''XDELTA'', can be used to debug privileged code in additional to normal application code.<ref>{{cite web|url=https://vmssoftware.com/docs/VSI_DELTA_XDELTA.pdf|title=VSI OpenVMS Delta/XDelta Debugger Manual|date=August 2019|access-date=December 31, 2020|publisher=VSI}}</ref> In 2019, VSI released an officially supported [[Integrated Development Environment]] for VMS based on [[Visual Studio Code]].<ref name="vms-roadmap-12-2019" /> This allows VMS applications to be developed and debugged remotely from a [[Microsoft Windows]], [[macOS]] or [[Linux]] workstation.<ref>{{cite web|url=https://marketplace.visualstudio.com/items?itemName=VMSSoftwareInc.vms-ide|title=VMS IDE|access-date=January 2, 2021|website=Visual Studio Marketplace}}</ref> ====Database management==== DEC created a number of optional [[database]] products for VMS, some of which were marketed as the ''VAX Information Architecture'' family.<ref name="vax-info-handbook">{{cite web|url=http://bitsavers.trailing-edge.com/pdf/dec/vax/handbook/VMS_Information_Management_Handbook_1985.pdf|title=VAX/VMS Software Information Management Handbook|date=1985|access-date=January 24, 2021|publisher=Digital Equipment Corporation}}</ref> These products included: * [[Oracle Rdb|Rdb]] β A [[relational database]] system which originally used the proprietary ''Relational Data Operator'' (RDO) query interface, but later gained [[SQL]] support.<ref>{{cite web|url=http://www.oracle.com/technology/products/rdb/pdf/2003_tech_forums/13_rdbs_first_20_years.pdf|title=Rdb's First 20 Years: Memories and Highlights|author=Ian Smith|date=2004|archive-url=https://web.archive.org/web/20051103112619/http://www.oracle.com/technology/products/rdb/pdf/2003_tech_forums/13_rdbs_first_20_years.pdf|archive-date=November 3, 2005|url-status=dead|access-date=January 24, 2021}}</ref> * ''DBMS'' β A database management system which uses the [[CODASYL]] [[network model]] and ''Data Manipulation Language'' (DML). * [[Digital Standard MUMPS]] (DSM) β an integrated programming language and [[key-value database]].<ref name="language-1985" /> * ''Common Data Dictionary'' (CDD) β a central [[database schema]] repository, which allowed schemas to be shared between different applications, and data definitions to be generated for different programming languages. * [[DATATRIEVE]] β a query and reporting tool which could access data from RMS files as well as Rdb and DBMS databases. * Application Control Management System (ACMS) β A [[transaction processing monitor]], which allows applications to be created using a high-level ''Task Description Language'' (TDL). Individual steps of a transaction can be implemented using DCL commands, or Common Language Environment procedures. User interfaces can be implemented using TDMS, DECforms or Digital's [[ALL-IN-1]] office automation product.<ref>{{cite web|url=http://odl.sysworks.biz/disk$vaxdocmar002/database/acms_v43/6621/6621pro_contents.html|title=Compaq ACMS for OpenVMS Getting Started|publisher=Compaq|date=December 1999|access-date=January 24, 2021}}</ref> * ''RALLY'', ''DECadmire'' β [[Fourth-generation programming language]]s (4GLs) for generating database-backed applications.<ref>{{cite web|url=https://support.hpe.com/hpesc/public/docDisplay?docId=c04622599|title=Building Dependable Systems: The OpenVMS Approach|date=March 1994|access-date=October 17, 2022|publisher=Digital Equipment Corporation}}</ref> DECadmire featured integration with ACMS, and later provided support for generating [[Visual Basic]] [[client-server]] applications for Windows PCs.<ref>{{cite web|url=http://h30266.www3.hpe.com/MasterIndex/cover_letter/cover_letter_0071573c.txt|title=Cover Letter for DECADMIRE V2.1 MUP Kit - DECADMIRE V2.1A|date=1995|publisher=Digital Equipment Corporation|access-date=January 24, 2021}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> In 1994, DEC sold Rdb, DBMS and CDD to [[Oracle Corporation|Oracle]], where they remain under active development.<ref>{{cite web|url=http://www.decus.de/slides/sy2004/21_04/2p06.pdf|title=Oracle Rdb Status and Direction|author1=Kevin Duffy|author2=Philippe Vigier|date=2004|access-date=January 24, 2021}}</ref> In 1995, DEC sold DSM to [[InterSystems]], who renamed it ''Open M'', and eventually replaced it with their [[InterSystems CachΓ©|CachΓ©]] product.<ref>{{cite web|url=http://h30266.www3.hpe.com/masterindex/cover_letter/cover_letter_013a1ce4.txt|title=Cover Letter re DSM|access-date=January 24, 2021|date=May 31, 1999|author1=Larry Goelz|author2=John Paladino|publisher=Compaq}}{{Dead link|date=October 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Examples of third-party database management systems for OpenVMS include [[MariaDB]],<ref>{{cite web|url=http://www3.sympatico.ca/n.rieck/docs/openvms_notes_mysql_mariardb.html|title=OpenVMS Notes MySQL and MariaDB|author=Neil Rieck|date=June 29, 2020|access-date=January 24, 2021|archive-date=January 31, 2021|archive-url=https://web.archive.org/web/20210131062246/http://www3.sympatico.ca/n.rieck/docs/openvms_notes_mysql_mariardb.html|url-status=dead}}</ref> [[Mimer SQL]]<ref>{{cite web|url=https://www.vmsconsultancy.com/download/NL-VMSUpdate-2017/MimerSQL%20VMSSIG%20Holland.pdf|title=Mimer SQL on OpenVMS Present and Future|author=Bengt Gunne|date=2017|access-date=April 27, 2024}}</ref> ([[Itanium]] and [[x86-64]]<ref>{{cite web|url=https://developer.mimer.com/mimer-sql-is-now-available-for-openvms-on-x86/|title=Mimer SQL is now available for OpenVMS on x86|publisher=Mimer Information Technology AB|date=2023}}</ref>), and [[System 1032]].<ref>{{cite web|url=https://www.rocketsoftware.com/products/rocket-m204/rocket-system-1032|title=Rocket Software System 1032|publisher=Rocket Software|access-date=January 24, 2021|archive-date=January 22, 2021|archive-url=https://web.archive.org/web/20210122232806/https://www.rocketsoftware.com/products/rocket-m204/rocket-system-1032|url-status=dead}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)