
m/mumps
Mumps/II
Mumps - это не только название болезни "свинка" на английском, это ещё стандарт языка программирования баз данных. Язык программирования Mumps используется для обработки огромных объёмов иерархически структурированных данных в ряде крупных ведомств и организаций северной Америки, России и других стран.
Этим летом новую открытую версию своего интерпретатора для языка программирования Mumps выпустил профессор Университета Северной Айовы Кевин О'Кейн , объем проделанной работы впечатляет (далее описание фич на английском).
To legacy Mumps, Mumps/II adds the following features:
- Relational database access. Mumps/II interoperates with PostgreSQL, a widely used, free, (Berkeley license) open source RDBMS system. Mumps/II can access PostgreSQL databases as well as store the Mumps/II hierarchical and multidimensional file system in PostgreSQL tables.
- Advanced text processing functional support. Mumps/II adds many functions to the legacy Mumps base including functions to compute Smith-Waterman sequence alignments, the Perl Compatible Regular Expression Library, the Cosine, Jaccard, and Dice similarity coefficients, and a number of matrix manipulation routines.
- Shell scripting. Mumps/II has facilities to interact fully with the underlying operating system through shell scripts. These permit a full range of system functions to be directly executed from the Mumps/II environment.
- Translation to and compatibility with C++. The Mumps/II compiler translates Mumps/II programs to standard C++. Thus, Mumps/II programs can call upon the complete resources of the C++ runtime environment. Mumps/II programs may contain embedded C++ statements and there is a C++ class hierarchy to give user written C++ programs access to all Mumps/II facilities.
Из мира Mumps
Mumps'еры — это программисты, которых угораздило познать дао языка программирования M, он же Mumps. M — Это технология интересная, но достаточно закрытая, думаю, что по многим причинам. Людям, не знакомым с этой темой и тем, кого пугает непопсовость, дальше можно не читать.
Для людей программирующих на Mumps и интересующихся у меня несколько интересных новостей.
GT.M в этом году здорово двинул вперед. В последней версии ко всему прочему поддерживаются "настоящие" 64 разрядные процессоры Itanium, на подходе поддержка 64 разрядных IBM pSeries AIX, Sun SPARC Solaris и GNU/Linux на x86_64. В предпоследней версии была анонсирована поддержка Unicode, сделано это посредством ICU библиотек от IBM.
Но на одном GT.M свет клином не сошелся, не всех скушала Intersystems. Ковыряя ресурсы связанные с M, я нашел недавно обновленные интерпретатор и компилятор Mumps от Кевина О'Кэйна, в том же архиве лежит mod_mumps для apache (исходники и странный mumps for windows build), также там есть основательное описание экспериментов работы со всем этим Mumps хозяйством, там приведены много ссылок на разные интересные темы связанные с Information Retrieval (разные алгоритмы стемминга, Data Base Models, etc.). Рядом можно найти руководство Mumps программиста.
Очень интересным может еще показаться то, что всё вышеперечисленное, Кевин О'Кэйн прилагает к инструментарию портирования MUMPS кода в C++, целиком он это называет "The Multi-Dimensional and Hierarchical Database Toolkit".