IDL (programming Language) - Problems

Problems

Some of these features, which make IDL very simple to use interactively, also cause difficulties when building large programs. The single namespace is particularly problematic; for example, language updates that include new built-in functions have on occasion invalidated large scientific libraries. IDL also lacks nested arrays (that is, arrays of arrays are not permitted).

Arrays are passed by reference, and this mechanism is an advertised feature of the language to pass data back out of a subroutine—but array slices are copied before being passed, so that data do not flow back into array ranges, violating the principle of least surprise.

Many historical irregularities survive from the early heritage of the language, requiring individual work-arounds by the programmer. As an example:

  • Array indexing and subroutine entry can both be carried out with exactly the same syntax (parentheses); this ambiguity, coupled with the single namespace for all variables and subroutines, can cause code to stop working when newly defined subroutines or language extensions conflict with local variable names. IDL programmers can avoid many of these problems by using square brackets for array indexing, thereby avoiding conflicts with function names which use parentheses.

The preceding issue can be alleviated using this compiler option:

COMPILE_OPT STRICTARR
  • ITT Visual Information Solutions (ITT VIS), the developers of IDL, have taken explicit steps to prevent bytecode compatibility with other environments. Files containing compiled routines use a binary tagged-data-structure format that has not been officially published but has been investigated and documented by users but also contain the following notice as ASCII text embedded within each saved file: "IDL Save/Restore files embody unpublished proprietary information about the IDL program. Reverse engineering of this file is therefore forbidden under the terms of the IDL End User License Agreement (IDL EULA). All IDL users are required to read and agree to the terms of the IDL EULA at the time that they install IDL. Software that reads or writes files in the IDL Save/Restore format must have a license from ITT Visual Information Solutions explicitly granting the right to do so. In this case, the license will be included with the software for your inspection. Please report software that does not have such a license to ITT Visual Information Solutions..." As of February 2010, the statement has not been tested in a court of law.

Also, that provision of the IDL EULA has no effect in Australia, as a result of sections 47D and 47H of that country's Copyright Act.

Read more about this topic:  IDL (programming Language)

Famous quotes containing the word problems:

    ...I have wanted to believe people could make their dreams come true ... that problems could be solved. However, this is a national illness. As Americans, we believe all problems can be solved, that all questions have answers.
    Kristin Hunter (b. 1931)

    The question of place and climate is most closely related to the question of nutrition. Nobody is free to live everywhere; and whoever has to solve great problems that challenge all his strength actually has a very restricted choice in this matter. The influence of climate on our metabolism, its retardation, its acceleration, goes so far that a mistaken choice of place and climate can not only estrange a man from his task but can actually keep it from him: he never gets to see it.
    Friedrich Nietzsche (1844–1900)

    The problems of victory are more agreeable than the problems of defeat, but they are no less difficult.
    Winston Churchill (1874–1965)