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
IDL (programming language)
(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!
==Features== As a computer language, IDL: * is [[dynamically typed]]. * has separate [[namespaces]] for variables, functions and procedures, but no namespace hierarchy. * was originally single threaded but now has many multi-threaded functions and procedures. * has all function arguments [[Evaluation strategy#Call by reference|passed by reference]]; but see "problems", below. * has [[named parameter]]s called keywords which are passed by reference. * provides named parameter inheritance in nested routine calls, by reference or value. * does not require variables to be [[predeclared]]. * provides COMMON block declarations and system variables to share global values among routines. * provides a basic form of object-oriented programming, somewhat similar to [[Smalltalk]], along with [[operator overloading]]. * implements a persistent, global heap of pointer and object variables, using [[reference counting]] for garbage collection. * compiles to an interpreted, stack-based intermediate p-code (Γ la [[Java virtual machine]]). * provides a simple and efficient index slice syntax to extract data from large arrays. * provides various integer sizes, as well as single and double precision floating point real and complex numbers. * provides [[composite data type]]s such as character strings, homogeneous-type arrays, lists, [[hash table]]s, and simple (non-hierarchical) record structures of mixed data types.
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)