Pergunta

Como eu sou montando a onda de ressurgimento do Smalltalk (especialmente porque muitos rubi-on-rails pessoas estão redescobrindo Smalltalk e vendo Mar como seu próximo framework web atualizado), Eu recebo perguntas como "sim, mas como faço para usar o meu editor favorito para editar código Smalltalk?" ou "Será que Smalltalk ainda insistem em viver em um mundo de seu próprio país?".

Agora, após ter experimentado Smalltalk em 1981 , eu não entendo essas perguntas muito bem. Parece bastante natural que eu iria querer o editor e depurador para ser esclarecido do meu estado de código atual, e integrar com o sistema de controle de mudanças que é Smalltalk-aware. Usando um editor externo ou depurador ou controle de mudanças gestor parece muito estranho.

Então, o que é que te assusta mais sobre não ser capaz de editar os métodos de cinco linhas em Smalltalk com o seu editor favorito ou usar o seu consciente não Smalltalk-sistema favorito de controle de mudanças?

Foi útil?

Solução

diferente de tudo. Quer ir para o fim da linha? Não é Ctrl-E. Quer saltar algumas palavras sobre, por palavra? Não é Meta-F ....

edição

O texto é uma atividade fundamental de programação . Mexer com essas entradas está mexendo com algo no fundo da minha mente.

Edit: e aqui é alguém pedindo emacs teclas em comp.lang.smalltalk em 1987 .

Outras dicas

Nada sustos mim em particular, mas eu encontrei trabalhando fora do API em VW um pouco de uma tarefa, mesmo quando eu tinha usado outros smalltalks. O efeito dos navegadores é que você tende a ver um pouco da API de cada vez e muitas vezes não é imediatamente óbvio onde você deve olhar para o especial funcionalidade.

Smalltalk também sofre um pouco da mudança de paradigma para entender como ele funciona. Quando eu estava fazendo meu bacharelado na Universidade de (algum tempo depois de eu ter encontrado pela primeira vez Smalltalk) eu comecei a desfrutar de um pouco de Schadenfraude assistindo todos os outros na classe ficando sobre a corcunda paradigma inicial como eles aprenderam o sistema (Squeak) para o primeiro Tempo.

Eu acho que a combinação da mudança de paradigma e funcionalidade a ser um pouco enterrado nas bibliotecas de classes faz para um pouco de uma curva de aprendizado íngreme. ST tinha a reputação de uma curva de aprendizado bastante íngreme para realmente chegar até a velocidade -. A maior parte isto é devido às grandes bibliotecas de classes e o fato de que a maioria das funcionalidades de idioma é enterrado em algum lugar nas bibliotecas

Além disso (e infelizmente), Java surgiu em meados de 1990 e pegou todo o mindshare. Os principais Smalltalks quer ter morrido completamente ou foram vendidos para jogadores de nicho. É bastante irônico (em uma maneira feliz) que Ruby tem servido para o interesse re-despertar em Smalltalk mas a percepção persistente de 'coadjuvante' obsolescência não ajuda.

Consulte Este post meu por algum pontification sobre os méritos (como Eu vê-los) de ficar fortemente envolvido na Smalltalk neste dia e idade.

Eu ficaria muito feliz em voltar para Smalltalk se a oportunidade surgisse.

A única Smalltalk I já passou algum tempo com é Squeak, assim que minhas opiniões não podem ser aplicadas a outros ambientes Smalltalk.

O que me preocupa sobre a abordagem baseada em imagem é que, enquanto você tem coisas maravilhosas no ambiente Smalltalk, é um jardim murado, que torna difícil para interoperar com fora qualquer coisa que ambiente. Por exemplo, se eu quiser usar ferramentas externas como Yacc e Lex? E se eu quiser usar alguns programas em C ou Python para gerar código Smalltalk? E se eu quiser misturar Smalltalk com um monte de código escrito em outras línguas, edição de código em todas as línguas em um editor e mantê-lo todos armazenados na mesma árvore de código-fonte?

Eu tenho certeza que é possível lidar com todos esses problemas por ter o seu ambiente Smalltalk invocar funções do sistema para controlar ferramentas externas. Mas como é que é fácil deixar ferramentas externas controlar seu ambiente Smalltalk? Em outras palavras, o que se eu quiser Smalltalk ser apenas mais um componente, em vez do mestre de tudo?

O único grande show-rolha para mim é que código que eu escrevo um Smalltalk VM é AINDA, depois de todos esses anos, não é compatível com outros Smalltalk VMs.

Eu entendo por que é: o núcleo do Smalltalk é extremamente pequeno conjunto de axiomas e palavras-chave. Isto significa que após 30 minutos de aprender Smalltalk, você já está aprendendo a biblioteca API em vez da própria linguagem. Eu gosto que a abordagem de design de linguagem.

O que tudo se resume a no entanto, no mundo Smalltalk, é que a menos que um consenso entre todos os VM fornecedores para ter uma base comum padrão API, o meu código Smalltalk escrito por um VM é quase certo não correr em outra VMs quando eu decidir mudar.

Isto também tem o corolário da obsoleting parte do meu conhecimento do espaço quando eu mudar VMs.

Note que eu mal tentou Smalltalk na minha vida. Estou longe de ser um especialista. Esta compreensão vem de falar com James Robertson cerca de um mês atrás.

Outro ponto que eu gostaria de fazer é que Mar de fato executado em mais popular Smalltalk VMs. Gostaria de saber quanto de (o que deveria ter sido) uma API padrão eles tiveram que construir para si mesmos para conseguir essa façanha.

Com tudo o que disse, eu sempre tenho um ouvido para ouvir mais sobre o estado de Smalltalk. I do quiser experimentar ambiente de desenvolvimento muito poderosa do Smalltalk (e suas outras guloseimas).

Eu sei que é tarde, mas o maior incômodo para mim é que não é realmente bom editor em nenhum dos smalltalks. É uma coisa que eu não consigo entender. Trabalhando com texto é tão essencial e que menos "suportado" ....

É sempre este apenas olhando para um método e, em seguida, você precisa ter algum localizador método ou outro navegador em torno apenas para verificar outro método. Isto é o que eu realmente não gosto ....

Enquanto o ambiente Smalltalk restrito fez coisas como confiando em um sistema de controle de origem banco de dados orientado possível em tempos onde outras línguas ainda lutava com ter um editor adequada, faz Integração muito difícil em tempos de hoje.

Com ferramentas como Eclipse ou Team Foundation Server você fica tão acostumado a ter todas as ferramentas de integração com o outro. Por exemplo. se um requisito é criado, ele é automaticamente ligado aos conjuntos de alterações que o programador se compromete a implementar essa exigência. Este "quebra de fronteira" entre anteriormente diferentes ferramentas é quase impossível no mundo Smalltalk, mas com projetos maiores, equipes maiores, níveis mais altos de abstração e assim por diante você precisa de ferramentas que são mais do que um editor de fantasia e ajudá-lo durante um desenvolvimento de software completo ciclo de vida.

Não há suporte útil para navegar com o teclado, ou apoiar o comportamento plataforma de interface do usuário.

Embora seja verdade que você realmente não precisa de um editor de texto incrível para (bem escrito) Smalltalk, sendo capaz de se mover em torno do ambiente, mantendo as mãos no teclado é bastante útil (e no meu caso, essencial para reduzir RSI). Eu só estava tentando inspector VisualWorks e as teclas de seta nem sequer funcionar corretamente para mover para cima e para baixo uma lista. Quando eu bati a barra de espaço, eu tenho um walkback. Suspiro.

Para o mundo do Windows, não há nada como Dolphin Smalltalk. O IDE é fantástico. Outro produto de qualidade se você quiser tentar é VisualWorks, ele funciona bem, tem um muito rápido VM ea documentação é muito bom.

Eu usei tanto no passado, não há nada a temer.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top