Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
OpenVMS
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
OpenVMS
(section)
Add topic