No meu primeiro local de trabalho, estávamos usando o Digital Standard MUMPS em um clone PDP 11 (TPA 440), depois mudamos para o Micronetics Standard MUMPS em execução em uma máquina Hewlett-Packard, HP-UX 9, por volta do início dos anos 90.
MUMPS ainda está vivo? Alguém está usando? Se sim, escreva algumas palavras sobre o assunto: você o está usando no modo de caractere, ele atua como servidor da web? etc. (também quero dizer Caché.)
Se você já o usou, quais foram seus sentimentos sobre isso? Você gostou?
Eu não acho que ninguém gosta de algo que se parece com isso . Pelo menos perl é expressivo.
Imgx64
13
"O MUMPS está vivo?" - Sim, mas todos os desenvolvedores estão se matando.
Steven Evers
@ imgx64 Deus que parece horrível!
TheLQ
Não é necessário usar a forma abreviada de comandos "DHSY =% YK% H,% YQ"; você deve escrever nomes completos de comandos (e usar nomes de rótulo / variável mais longos): "Fazer HourCount Set Year =% YearParam Kill% HourParam ,% YearParam encerrado ". Além disso, depois de anos usando o formulário de comando curto, escrevi um programa de 20 linhas usando comandos de formato longo e variáveis nomeadas longas. Meus colegas disseram: "tudo bem, é uma boa piada, mas não faça de novo", era 10 vezes mais difícil de ler do que comandos curtos.
Comecei a blogar sobre o Cache (o derivado do MUMPS) há alguns anos: http://cachetastic.blogspot.com/ (mas depois mudei de emprego)
Tendo saído desse mundo há alguns anos, meu pensamento é que o movimento NoSQL é provavelmente a melhor e a pior coisa que aconteceu ao MUMPS. Em última análise, é provável que o reivindique e o mate. Porque alguém, em algum momento, reinventará o banco de dados e a estrutura de consultas do MUMPS quase de forma idêntica, mas sem conexão com a tradição do MUMPS. Então as pessoas vão se deliciar com esse novo sistema de armazenamento. Mas ninguém jamais escolherá um derivado do MUMPS novamente.
Por exemplo, um mês ou dois atrás, eu estava conversando com um colega sobre o uso de redis para armazenar em cache uma pesquisa de algo em nosso aplicativo Django. Tínhamos um grande número de registros endereçados por um triplo de três chaves e precisávamos obter rapidamente subconjuntos que correspondessem a uma ou duas dessas chaves (mas combinações diferentes em momentos diferentes).
Esse é o tipo de coisa que o MUMPS come no café da manhã. Mas estávamos achando difícil entrar na estrutura de pares de valores-chave da redis. Mesmo com dicionários. (O mesmo aconteceria com o memcached, etc.) Pela primeira vez na minha vida, me senti realmente lamentando não poder escrever este módulo no Cache ObjectScript.
Interstar engraçado deve mencionar Redis. Na verdade, eu fiz a engenharia reversa de quase todo o comportamento do Redis usando o Mumps (tanto o Cache quanto o GT.M). Emular sua estrutura simplista e básica de pares de chave / valor e APIs tem sido fácil e os clientes Redis que eu testei nem sabem que estão falando com um banco de dados Mumps em vez dos Redis adequados.
No entanto, como a interstar diz, o banco de dados Mumps é capaz de muito mais em termos de estrutura de dados (na verdade, um banco de dados Mumps pode emular facilmente todos os quatro tipos de banco de dados NoSQL: chave / valor, tabular, documento e gráfico e também pode modelar dbs relacionais e de objetos - todos de uma vez, se necessário), e o equilíbrio corretamente classificado e automático entre a memória e o disco. Ao contrário dos bancos de dados NoSQL que existem há apenas alguns anos, as tecnologias Mumps são maduras, experimentadas, testadas, bem suportadas e têm pacotes de análise e administração disponíveis e têm o tipo de desempenho pelo qual muitos bancos de dados NoSQL, como o CouchDB, morreriam. .
Então, por que os fornecedores de Cache e GT.M não estão promovendo muito o mercado NoSQL, em vez de permitir que alguém reinvente a roda como você diz?
Quanto à velha e cansada discussão sobre o idioma e o uso desse exemplo antigo e ultrapassado do site da Wikipedia:
a) O banco de dados Mumps pode ser acessado por seu idioma moderno e atraente, se você quiser
b) esse estilo de programação saiu com a ark e foi escrito na época para extrair um desempenho incrível dos computadores PDP que tinham menos poder de processamento do que o chip do seu relógio. A codificação moderna do Mumps é realmente muito semelhante em estilo ao Python e pode ser igualmente limpa, legível e sustentável.
c) Como em qualquer idioma, existem bons exemplos e terríveis. Não assuma que a codificação do Mumps precisa ser tão opaca e antiquada quanto o exemplo no site da Wikipedia.
..e Mason, minha conclusão seria que talvez você não esteja tão familiarizado com o cenário do banco de dados quanto pensava! :-) Se você já teve alguma forma de tratamento médico em sua vida, suas informações passaram por vários sistemas Mumps ao longo do caminho, incluindo aqueles que gerenciam a solicitação de seus testes. O conteúdo do seu jornal diário pode ser gerenciado por um sistema Mumps e até a pizza que você pediu on-line provavelmente também foi por meio de um sistema Mumps. A logística dos itens que você pode ter enviado para o exterior provavelmente foi gerenciada por um sistema Mumps, e se você era um pesquisador que precisava de alguns metais ou cerâmicas sofisticadas, provavelmente os encomendaria por um sistema Mumps.
Uma das razões pelas quais você raramente ouve falar sobre o que é realmente um banco de dados surpreendentemente difundido é que os fornecedores tradicionalmente lidam diretamente com os desenvolvedores de aplicativos / sistemas, e não com os usuários finais; portanto, o banco de dados geralmente é incorporado nos bastidores dos produtos.
Eu acho que a linguagem não é ruim. Eu não tentei, mas deve ser bem rápido em um hardware moderno. A versão mais recente do MSM suportava programação estruturada: variáveis locais (novo comando), parâmetros de função, sub-rotinas em linha para várias linhas. Ficamos muito satisfeitos com esses recursos e criamos vários utilitários: visualizador de listas, menu etc. Finalmente, ficamos sem pilha, por isso pedimos à Micronetics para aumentar o tamanho da pilha. Eles nos compilaram uma versão personalizada do MSM com 32 pilhas de profundidade, em vez da versão padrão com 16 de profundidade.
ern0 23/09/10
1
Para recuar um pouco, Rob, embora eu ache que vale a pena prestar atenção no db do MUMPS, pergunto-me se apenas o db acessado de outro idioma ainda pode ser chamado de MUMPS. Qualquer pessoa que escolher o MUMPS espera poder executar o código legado. Portanto, MUMPS, goste ou não, é igual ao db + ao idioma.
interstar
2
Como mencionei em outros lugares, o verdadeiro desastre / desagregador do idioma é de escopo dinâmico. Não acho que nenhum engenheiro hoje possa justificar a escolha de um idioma sem variáveis locais que permaneçam locais. Portanto, use o MUMPS db como um componente de caixa preta, mas o idioma está além da redenção e deve ser colocado em repouso.
interstar
1
A caxumba tem um escopo lexical completo de variáveis - isso ocorre há anos, mas muitas pessoas parecem não ter percebido! O código da caxumba pode ser tão limpo e bem comportado quanto qualquer outro idioma. De fato, o Mumps tem muitas semelhanças com o Javascript em termos de escopo de variáveis. por exemplo, New in Mumps é, na verdade, o mesmo que var em Javascript. Por padrão, no entanto, as variáveis têm escopo global nos dois idiomas.
Rob
1
Roubar. Eu certamente não percebi o escopo lexical das variáveis no cache. E o meu exemplo em cachetastic.blogspot.com/2008/07/… ? Isso usa a palavra-chave "nova", mas absolutamente NÃO é a regra de escopo que você deseja. O x em fe o x em g NÃO devem ser a mesma variável SEM ter que ocultar explicitamente qualquer x que esteja na pilha. A mesma coisa convertida em javascript, substituindo "new" por "var" da COS corretamente, fornece x em f como indefinido.
interstar
6
MUMPS está muito vivo. Tem sido um dos sistemas mais dignos de confiança que está nas mãos apropriadas. A equipe de programação geralmente é pequena e o tempo de atividade é impressionante. Pode parecer aos não iniciados que o MUMPS é obtuso, mas é possível escrever código muito lúcido e altamente funcional em muito poucos pressionamentos de tecla, e as estruturas de dados suportadas pelo MUMPS o tornam extremamente poderoso e transportável em várias arquiteturas diferentes. Todos os hospitais da VA usam MUMPS e o tempo médio de reparo é muito rápido na maioria dos casos. O sistema VistA escrito em MUMPS é facilmente baixado do Source Forge e a natureza polimodal (o banco de dados pode ser acessado de várias maneiras, rolar e rolar, thin client, navegador ou RPC ou outra interface de programa) do VistA e MUMPS. através de muitos que se aprofundam nele. MUMPS é uma linguagem simples, com muito poucos comandos e um tipo de dados. É fácil aprender porque é uma linguagem interpretada e deixa a pilha e a tabela de símbolos intactas para ver exatamente o que estava acontecendo quando o aplicativo parou para depuração. O VistA foi usado para administrar os hospitais do Departamento de Defesa (Sistema de Cuidados de Saúde Compostos, CHCS), bem como o Serviço de Saúde da Índia (IHS RPMS), e já foi usado pelo Serviço de Saúde Pública dos EUA. Economizou ao país muitos milhões de dólares em custos operacionais. O MUMPS é executado em quase tudo. Ele modela quase qualquer outro modelo de banco de dados com facilidade e fornece acesso surpreendentemente rápido aos bancos de dados. O modelo MUMPS pode realmente obter um desempenho mais rápido com mais usuários no sistema (em alguns casos, devido aos aspectos de cache do MUMPS em que os blocos de ponteiros necessários para encontrar um bloco de dados já estão na memória e não precisam ser buscados novamente, BTW, a sobrecarga do ponteiro para o MUMPS é executada em apenas 2%, portanto, a maior parte do seu banco de dados são dados reais do usuário). O MUMPS foi originalmente escrito para rodar em uma máquina 2K. O ataque de novas tecnologias apenas expandiu todos os recursos do ambiente MUMPS para um domínio em que hospitais inteiros agora estão sendo executados em servidores de baixo custo. Desde o início, o MUMPS se divorciou do hardware e se beneficiou muito bem dessa decisão. Não nos preocupamos com o tamanho da palavra, nem com a precisão, nem com quantas ou com que tamanho. O banco de dados está atrasado e aumenta conforme o registro específico precisa. Nenhum registro em qualquer banco de dados é maior do que precisa. O banco de dados pode ser expandido ou removido como parte de um registro ou como um registro inteiro. MUMPS ainda está por aí ?, você apostou? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. pode apostar? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. pode apostar? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. o setor de viagens (agentes de hotéis e reservas), algumas casas de autopeças e os hospitais mais bem-sucedidos (comerciais, particulares ou comunitários) estão executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. o setor de viagens (agentes de hotéis e reservas), algumas casas de autopeças e os hospitais mais bem-sucedidos (comerciais, particulares ou comunitários) estão executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa.
Por que o voto negativo? A pergunta era : MUMPS ainda está vivo? Alguém está usando? - certamente, essa é uma evidência relevante de alguém escrevendo seriamente um novo código e / ou aprendendo MUMPS?
Colin Pickard
4
Sim, o MUMPS está muito vivo. Uma boa parte dos hospitais de VA nos EUA usa MUMPS.
@ Bigown: Claro. Caso contrário, eles ainda não seriam pacientes.
Mason Wheeler
4
A VistA (Arquitetura de Tecnologia e Sistemas de Informação em Saúde para Veteranos) ainda está em desenvolvimento: AFAIK: http://en.wikipedia.org/wiki/VistA_EMR
Isso .... isso me HORRORIZOU. Sinto que preciso tomar banho agora. :(
Matt DiTrolio
1
É difícil explicar, na era do SQL, que esses problemas, listados nesse artigo, são recursos. Uma letra é para velocidade. Um tipo é muito melhor que a digitação automática. Etc.
ern0
1
Bem, eu nunca ouvi falar de alguém usando, em qualquer contexto ou por qualquer motivo, exceto no The Daily WTF. Que conclusões podem ser tiradas disso dependem do leitor. ;)
f ;
new x
set x=$$g()
write x
quit
g()
new x
set x = 5
quit x
do f
fé um procedimento que é chamado com um do. Se, como neste caso, ele não tiver parâmetros formais, você não precisará do (). Um procedimento é encerrado e não retorna nada.
g()por outro lado, é uma função. O novo xé crucial para o escopo correto x. Uma função é invocada precedendo seu nome com $$e QUITs com um valor de retorno. Uma função deve ter uma lista formal de parâmetros declarada, mesmo que esteja vazia como aqui. Na verdade, você pode escrever esta instância g()como:
g()
quit 5
Tudo se comportará perfeitamente agora. Por alguma razão, muitos desenvolvedores do Mumps parecem não ter percebido ou compreendido a existência de funções ou entendido a diferença entre eles e os procedimentos. Eu acho que essa é uma das razões pelas quais as pessoas novas no Mumps jogam as mãos para cima horrorizadas (sem surpresa) - há um monte de códigos terríveis por aí.
Escrito como mostrado acima, é tudo bastante limpo e respeitável. No entanto, cabe ao programador definir explicitamente o escopo de variáveis dentro de funções e procedimentos. Deixe-os de fora e eles serão globais e vazarão em todos os lugares. O truque é criar e testar cada função à medida que você se isolar e garantir que elas dependam apenas de seus parâmetros formais e, quando terminadas, não deixam nada para trás.
Agora, um dos motivos pelos quais você vê o código Mumps lá fora, que não usa novos comandos e que depende de variáveis globais (por isso é interrompido se você New as variáveis), é porque ele foi escrito antes de funções e funções. escopo lexical foram adicionados ao idioma. Infelizmente, existe MUITO código legado por aí e, sim, acaba sendo um pesadelo para manter, mas isso é legado para você. Por outro lado, é bem possível escrever um código Mumps limpo, moderno e bem comportado, desde que você esteja escrevendo coisas novas do zero, sem qualquer coisa herdada com que se preocupar.
Rob Rob
Olhando para o seu exemplo original, o valor x, quando novo no procedimento f, está automaticamente disponível para g - é assim que Mumps é. Da mesma forma, as pessoas que estão acostumadas às linguagens da sintaxe C ficam surpresas quando descobrem que o escopo no Javascript é aplicado apenas a funções, e não, por exemplo, dentro de loops ou blocos dentro de uma função. É assim mesmo - uma vez que você o conhece, você lida com isso de acordo. Tais idiossincrasias não impediram as pessoas de aceitar e adotar Javascript.
Rob
Rob: "Olhando para o seu exemplo original, o valor x, quando novo no procedimento f, está automaticamente disponível para g - é assim que Mumps é." De fato! E é isso que significa dizer que o MUMPS tem escopo dinâmico e não lexical. Em uma linguagem com escopo lexicamente, você não precisa ter o "novo x" na função g, porque a estrutura lexical do programa (ou seja, o fato de que g é definido fora da definição de f) é suficiente para garantir que os xs mencionados em g e f são duas variáveis completamente diferentes.
interstar
Roubar. Em termos mais amplos, que uma equipe bem disciplinada de programadores do MUMPS, escrevendo do zero e usando cuidadosamente "novo" para garantir que todas as variáveis sejam locais, pode evitar as dores do escopo dinâmico. Claro, eu concordo. Mas por que precisamos de disciplina de ferro e centenas de linhas extras de código, para replicar o que qualquer outra linguagem contemporânea oferece gratuitamente? Além disso, se você se deparar com um código legado que não foi escrito com essa disciplina, é quase impossível inseri-lo mais tarde, porque você não pode dizer se o sistema depende de um desses não-locais para passar informações .
interstar
Existem outros métodos (mais antigos) para separar as variáveis de sub-rotina: todos os nomes de variáveis dos utilitários do sistema começam com o sinal '%', portanto estão no "espaço de nome do sistema". Além disso, nomear variáveis em New é sobre a velocidade: se você usar um comando explícito para inserir variáveis reutilizadas na pilha, o intérprete não fará nada sozinho ao inserir uma rotina. Além disso, você pode usar Novo, sem parâmetros, que oculta todas as variáveis atuais.
Respostas:
A Intersystems vende um derivado do MUMPS: http://www.intersystems.com
Algumas das pessoas mais interessantes do MUMPS provavelmente estão aqui: http://www.outoftheslipstream.com/
Comecei a blogar sobre o Cache (o derivado do MUMPS) há alguns anos: http://cachetastic.blogspot.com/ (mas depois mudei de emprego)
Tendo saído desse mundo há alguns anos, meu pensamento é que o movimento NoSQL é provavelmente a melhor e a pior coisa que aconteceu ao MUMPS. Em última análise, é provável que o reivindique e o mate. Porque alguém, em algum momento, reinventará o banco de dados e a estrutura de consultas do MUMPS quase de forma idêntica, mas sem conexão com a tradição do MUMPS. Então as pessoas vão se deliciar com esse novo sistema de armazenamento. Mas ninguém jamais escolherá um derivado do MUMPS novamente.
Por exemplo, um mês ou dois atrás, eu estava conversando com um colega sobre o uso de redis para armazenar em cache uma pesquisa de algo em nosso aplicativo Django. Tínhamos um grande número de registros endereçados por um triplo de três chaves e precisávamos obter rapidamente subconjuntos que correspondessem a uma ou duas dessas chaves (mas combinações diferentes em momentos diferentes).
Esse é o tipo de coisa que o MUMPS come no café da manhã. Mas estávamos achando difícil entrar na estrutura de pares de valores-chave da redis. Mesmo com dicionários. (O mesmo aconteceria com o memcached, etc.) Pela primeira vez na minha vida, me senti realmente lamentando não poder escrever este módulo no Cache ObjectScript.
Mais algumas reflexões sobre o cache aqui:
Bom: http://cachetastic.blogspot.com/2008/07/ok-after-mentioning-some-bad-things.html
Ruim: http://cachetastic.blogspot.com/2008/07/some-mumps-dissing-and-more-positive.html
fonte
Interstar engraçado deve mencionar Redis. Na verdade, eu fiz a engenharia reversa de quase todo o comportamento do Redis usando o Mumps (tanto o Cache quanto o GT.M). Emular sua estrutura simplista e básica de pares de chave / valor e APIs tem sido fácil e os clientes Redis que eu testei nem sabem que estão falando com um banco de dados Mumps em vez dos Redis adequados.
No entanto, como a interstar diz, o banco de dados Mumps é capaz de muito mais em termos de estrutura de dados (na verdade, um banco de dados Mumps pode emular facilmente todos os quatro tipos de banco de dados NoSQL: chave / valor, tabular, documento e gráfico e também pode modelar dbs relacionais e de objetos - todos de uma vez, se necessário), e o equilíbrio corretamente classificado e automático entre a memória e o disco. Ao contrário dos bancos de dados NoSQL que existem há apenas alguns anos, as tecnologias Mumps são maduras, experimentadas, testadas, bem suportadas e têm pacotes de análise e administração disponíveis e têm o tipo de desempenho pelo qual muitos bancos de dados NoSQL, como o CouchDB, morreriam. .
Então, por que os fornecedores de Cache e GT.M não estão promovendo muito o mercado NoSQL, em vez de permitir que alguém reinvente a roda como você diz?
Quanto à velha e cansada discussão sobre o idioma e o uso desse exemplo antigo e ultrapassado do site da Wikipedia:
a) O banco de dados Mumps pode ser acessado por seu idioma moderno e atraente, se você quiser
b) esse estilo de programação saiu com a ark e foi escrito na época para extrair um desempenho incrível dos computadores PDP que tinham menos poder de processamento do que o chip do seu relógio. A codificação moderna do Mumps é realmente muito semelhante em estilo ao Python e pode ser igualmente limpa, legível e sustentável.
c) Como em qualquer idioma, existem bons exemplos e terríveis. Não assuma que a codificação do Mumps precisa ser tão opaca e antiquada quanto o exemplo no site da Wikipedia.
..e Mason, minha conclusão seria que talvez você não esteja tão familiarizado com o cenário do banco de dados quanto pensava! :-) Se você já teve alguma forma de tratamento médico em sua vida, suas informações passaram por vários sistemas Mumps ao longo do caminho, incluindo aqueles que gerenciam a solicitação de seus testes. O conteúdo do seu jornal diário pode ser gerenciado por um sistema Mumps e até a pizza que você pediu on-line provavelmente também foi por meio de um sistema Mumps. A logística dos itens que você pode ter enviado para o exterior provavelmente foi gerenciada por um sistema Mumps, e se você era um pesquisador que precisava de alguns metais ou cerâmicas sofisticadas, provavelmente os encomendaria por um sistema Mumps.
Uma das razões pelas quais você raramente ouve falar sobre o que é realmente um banco de dados surpreendentemente difundido é que os fornecedores tradicionalmente lidam diretamente com os desenvolvedores de aplicativos / sistemas, e não com os usuários finais; portanto, o banco de dados geralmente é incorporado nos bastidores dos produtos.
fonte
MUMPS está muito vivo. Tem sido um dos sistemas mais dignos de confiança que está nas mãos apropriadas. A equipe de programação geralmente é pequena e o tempo de atividade é impressionante. Pode parecer aos não iniciados que o MUMPS é obtuso, mas é possível escrever código muito lúcido e altamente funcional em muito poucos pressionamentos de tecla, e as estruturas de dados suportadas pelo MUMPS o tornam extremamente poderoso e transportável em várias arquiteturas diferentes. Todos os hospitais da VA usam MUMPS e o tempo médio de reparo é muito rápido na maioria dos casos. O sistema VistA escrito em MUMPS é facilmente baixado do Source Forge e a natureza polimodal (o banco de dados pode ser acessado de várias maneiras, rolar e rolar, thin client, navegador ou RPC ou outra interface de programa) do VistA e MUMPS. através de muitos que se aprofundam nele. MUMPS é uma linguagem simples, com muito poucos comandos e um tipo de dados. É fácil aprender porque é uma linguagem interpretada e deixa a pilha e a tabela de símbolos intactas para ver exatamente o que estava acontecendo quando o aplicativo parou para depuração. O VistA foi usado para administrar os hospitais do Departamento de Defesa (Sistema de Cuidados de Saúde Compostos, CHCS), bem como o Serviço de Saúde da Índia (IHS RPMS), e já foi usado pelo Serviço de Saúde Pública dos EUA. Economizou ao país muitos milhões de dólares em custos operacionais. O MUMPS é executado em quase tudo. Ele modela quase qualquer outro modelo de banco de dados com facilidade e fornece acesso surpreendentemente rápido aos bancos de dados. O modelo MUMPS pode realmente obter um desempenho mais rápido com mais usuários no sistema (em alguns casos, devido aos aspectos de cache do MUMPS em que os blocos de ponteiros necessários para encontrar um bloco de dados já estão na memória e não precisam ser buscados novamente, BTW, a sobrecarga do ponteiro para o MUMPS é executada em apenas 2%, portanto, a maior parte do seu banco de dados são dados reais do usuário). O MUMPS foi originalmente escrito para rodar em uma máquina 2K. O ataque de novas tecnologias apenas expandiu todos os recursos do ambiente MUMPS para um domínio em que hospitais inteiros agora estão sendo executados em servidores de baixo custo. Desde o início, o MUMPS se divorciou do hardware e se beneficiou muito bem dessa decisão. Não nos preocupamos com o tamanho da palavra, nem com a precisão, nem com quantas ou com que tamanho. O banco de dados está atrasado e aumenta conforme o registro específico precisa. Nenhum registro em qualquer banco de dados é maior do que precisa. O banco de dados pode ser expandido ou removido como parte de um registro ou como um registro inteiro. MUMPS ainda está por aí ?, você apostou? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. pode apostar? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. pode apostar? Em vez de obter 8 usuários em um PDP-11/34, você pode obter algumas centenas de usuários no PC de mesa embaixo da sua mesa. Ele está sendo usado no setor bancário, na Bolsa de Valores Européia, na indústria de viagens (agentes de hotéis e reservas), em algumas casas de autopeças e nos hospitais mais bem-sucedidos (comerciais, privados ou comunitários) executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. o setor de viagens (agentes de hotéis e reservas), algumas casas de autopeças e os hospitais mais bem-sucedidos (comerciais, particulares ou comunitários) estão executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa. o setor de viagens (agentes de hotéis e reservas), algumas casas de autopeças e os hospitais mais bem-sucedidos (comerciais, particulares ou comunitários) estão executando o MUMPS de alguma forma. Atualmente, o VA tem mais de 30 anos de histórico de resultados para seus mais de 9 milhões de pacientes. Isso por si só é algo que nenhum outro sistema de saúde conseguiu, exceto o Beth Israel / Deaconess Hospital em Boston, que tem mais de 35 anos de resultados em seu sistema MUMPS construído em casa.
fonte
existem algumas perguntas sérias sobre caxumba no SO:
/programming/tagged/mumps
fonte
Sim, o MUMPS está muito vivo. Uma boa parte dos hospitais de VA nos EUA usa MUMPS.
fonte
A VistA (Arquitetura de Tecnologia e Sistemas de Informação em Saúde para Veteranos) ainda está em desenvolvimento: AFAIK: http://en.wikipedia.org/wiki/VistA_EMR
fonte
Eu também sou novo no g.tm, mas posso responder isso:
Sim, Mumps está vivo. Ainda há pessoas trabalhando nisso. aqui estão alguns exemplos :
http://georgejames.com/ que escreveu um servidor api Openstreetmap em gt.m que estou aprendendo agora.
Agora também existem ferramentas modernas da Web corporativa para g.tm http://gradvs1.mgateway.com/main/
e a última prova de que ele está vivo é que foi portado para as mais recentes plataformas GNU / linux e cloud.
Mike
fonte
Uma das grandes empresas que trabalham em registros médicos, a Epic Systems , ainda usa o MUMPS em suas aplicações.
fonte
Você deve ler isto:
http://thedailywtf.com/Articles/A_Case_of_the_MUMPS.aspx
sobre MUMPS.
Por outro lado, trabalho na área de DC e encontro pessoas regularmente, que não apenas sabem o que é o MUMPS que elas trabalham frequentemente.
fonte
Bem, eu nunca ouvi falar de alguém usando, em qualquer contexto ou por qualquer motivo, exceto no The Daily WTF. Que conclusões podem ser tiradas disso dependem do leitor. ;)
fonte
Exemplo da Interstar escrito corretamente para usar funções:
f
é um procedimento que é chamado com um do. Se, como neste caso, ele não tiver parâmetros formais, você não precisará do()
. Um procedimento é encerrado e não retorna nada.g()
por outro lado, é uma função. O novox
é crucial para o escopo corretox
. Uma função é invocada precedendo seu nome com$$
e QUITs com um valor de retorno. Uma função deve ter uma lista formal de parâmetros declarada, mesmo que esteja vazia como aqui. Na verdade, você pode escrever esta instânciag()
como:Tudo se comportará perfeitamente agora. Por alguma razão, muitos desenvolvedores do Mumps parecem não ter percebido ou compreendido a existência de funções ou entendido a diferença entre eles e os procedimentos. Eu acho que essa é uma das razões pelas quais as pessoas novas no Mumps jogam as mãos para cima horrorizadas (sem surpresa) - há um monte de códigos terríveis por aí.
Escrito como mostrado acima, é tudo bastante limpo e respeitável. No entanto, cabe ao programador definir explicitamente o escopo de variáveis dentro de funções e procedimentos. Deixe-os de fora e eles serão globais e vazarão em todos os lugares. O truque é criar e testar cada função à medida que você se isolar e garantir que elas dependam apenas de seus parâmetros formais e, quando terminadas, não deixam nada para trás.
fonte