Emacs-as-OS: obsoleto? [fechadas]

22

Em uma tentativa de alcançar pelo menos o status de iniciante com um editor tão lendário, eu tenho codificado no Emacs nos últimos dois meses. Eu tento manter um coração aberto, mas me encontro discordando de uma forma principal de uma das principais opções de design: o Emacs permite que seus usuários nunca precisem sair. No mundo de 2010, acho que todos os recursos secundários do Emacs estão irremediavelmente por trás de software dedicado:

  • Eu nunca usaria seu navegador embutido; O Chrome está anos à frente.
  • Eu nunca usaria seu recurso direcionado; O Path Finder (Mac OS X) atende às minhas necessidades.
  • Eu nunca usaria seu email embutido; a interface da web do Gmail possui recursos mais relevantes, como a Caixa prioritária.
  • Etc.

Claro, ocasionalmente eu posso entrar no Emacs para usar regexps etc. para uma das tarefas acima, mas, exceto os regexps, realmente não vejo razão para tocar nesses recursos. Eu sou completamente novato, mas tenho um forte pressentimento de que o Emacs como sistema operacional é obsoleto.

Especialistas do Emacs, você acha que a escolha do Emacs para ser um ambiente abrangente é a escolha certa para 2010 e o futuro? Existem características periféricas específicas que ainda estão no seu tempo ou adiantadas em comparação com as alternativas?

AlcubierreDrive
fonte
9
Isso é realmente uma pergunta? Parece que você já decidiu.
Larry Coleman
5
O @Emacs é muito bom para o desenvolvimento de gcc + gdb em um ambiente Unix. Também é bom para escrever LaTeX.
20
É por isso que o Emacs construiu um psiquiatra.
Tim Post
3
@ Tim, Mx tetris é muito mais divertido.
2
Eu entendo perfeitamente você ... eu uso o vi há anos e levei algum tempo para aprender o Emacs ... e cheguei à conclusão de que ambos simplesmente não atendem às minhas necessidades ... para programação, eu prefiro um IDE moderno (Eclipse) e, para edição / script de texto simples, o nano é ótimo.
precisa

Respostas:

14

Uso o emacs nos últimos 10 anos (de e para), e só posso dizer que você está absolutamente certo . Naquela época, eu usava o gnus e o navegador w3, mas claramente eles não são mais compatíveis com os programas dedicados. Mas, obviamente, você não pode executar o Chrome no modo de texto, então é aí que o emacs vence. E mesmo lá, eu prefiro usar lynx / elinks ou mutt para isso.

O Emacs-the-programmers-editor também perdeu seu toque. A edição de texto é ótima, mas quando estou escrevendo código , me pego desejando funções como: definição de goto, preenchimento automático, refatoração, dicas de sintaxe, documentação de parâmetros, etc. (pense no Eclipse). Eu tentei alguns modos do emacs, mas nunca consegui funcionar direito. E não, eu não quero aprender elisp, obrigado.

Além disso, o emacs realmente não entende a semântica do código. Isso é dolorosamente óbvio ao codificar um arquivo que contém vários idiomas, como html com javascript e php ou algo assim. Apenas quebra. Para isso, prefiro usar qualquer outro editor (bloco de notas ++ ou qualquer outra coisa) que faça o trabalho muito melhor.

Martin Wickman
fonte
5
Entre as coisas que você lista, o Emacs realmente tem "definição de goto" (usando etags), "preenchimento automático" ( autocomplete.elacho), dicas de sintaxe / documentação de parâmetros (idioma por idioma). O único que você menciona que não oferece suporte ao AFAIK é a refatoração automática, que não é necessária nem útil para todos os idiomas. Múltiplos modos é atroz; ele existe e suporta PHP e linguagens mistas, mas é ruim (como excessivamente lento, a menos que esteja na minha área de trabalho). Também darei o mesmo conselho que dou a qualquer colega de trabalho: se você não quiser aprender o Lisp, não use o Emacs, ele não fará nada para você.
Inaimathi
8
Acordado; O Emacs não é um sistema operacional. Minha objeção é "o Emacs-the-programmers-editor também perdeu o contato". Esse é um argumento particularmente irracional, uma vez que você se recusa a aprender o Elisp, pois a maioria dos benefícios do Emacs, o editor de programadores, vem da aplicação de personalizações. Eu não contestaria "Eu não uso o Emacs porque não sinto vontade de aprender o Lisp", mas você faz parecer que sua ignorância intencional da ferramenta afeta sua adequação. Isso é o mesmo que dizer: "O Eclipse é péssimo porque não tem suporte ao PHP. E eu não quero aprender a instalar plug-ins, obrigado."
Inaimathi
1
@Inaimathi Você não precisa aprender que elisp (ou qualquer outro idioma) poderá usar o eclipse corretamente. A instalação de plug-ins também não é necessária.
Martin Wickman
2
@ Martin - Ele não tem suporte PHP embutido (ou não quando eu o usei); você precisa instalar um plugin para isso. A declaração citada acima é equivalente a "[Editor] é uma porcaria porque não tem [recurso que realmente possui, mas isso precisa ser ativado], mas eu realmente não sinto vontade de aprender [algo que você precisa fazer para para habilitá-lo] ", e meu argumento foi que esse é um argumento irracional.
Inaimathi
3
@Inaimathi: No que diz respeito à refatoração, eu estava procurando por um programa de refatoração automatizada em C ++, e um dos poucos que encontrei estava no elisp. Se você disser "o emacs não suporta X", é provável que esteja errado.
David Thornley
19

Escolha a ferramenta certa para o trabalho.

Tente executar o Chrome ou o Path Finder através de uma conexão ssh - aqui você precisará de ferramentas alternativas e o Emacs foi projetado para rodar em um terminal.


fonte
Bom ponto sobre ssh.
precisa
3
encaminhamento x11?
TheLQ
7
Quantas pessoas realmente usam um navegador da web através de uma conexão ssh?
compman
1
@ compman, sim. Pode ser extremamente útil para baixar arquivos de sites.
1
O OS X possui VNC, basta encapsular a conexão VNC através do SSH, e você não precisa se preocupar com o fato de o OS X não usar o X11.
Lie Ryan
8

Eu nem uso muito o terapeuta interno, mas eu uso o Emacs e gosto dele, não por causa de sua natureza abrangente, mas porque é infinitamente configurável e poderoso como editor de texto. Também conheço muitas das teclas digitadas para isso. A edição de texto bem-sucedida é sobre as teclas digitadas.

Se você deseja desenvolver sua produtividade, Steve Yegge tem algumas boas dicas.

glenatron
fonte
Eu discordo totalmente da abordagem de Steves, que refaz toneladas de chaves para que o Emacs se comporte. Aprenda as ligações de teclas padrão e use seu .emacs para ajustar seu comportamento.
Seu argumento é principalmente ergonômico - ele não está dizendo que há um problema com as ligações padrão como ligações, ele está dizendo que há um problema com o local onde as teclas estão no teclado e que, se você quiser torná-las fáceis de usar , você precisa encontrar teclas para esse fim que não precisam enredar os dedinhos nos cantos mais distantes do teclado. Percebo o sentido disso, mas isso o restringe se você trocar de máquina com frequência, pois precisa de outro conjunto de memórias musculares ou passar várias idades reconfigurando todas as máquinas usadas.
glenatron
5

O Emacs nunca foi destinado ao mercado de massa. Ele foi projetado para uso eficiente por pessoas que reservaram um tempo para aprender como funciona. Dito isto, um tamanho não serve para todos, então você pode não gostar do emacs mesmo depois de aprender mais sobre ele.

EDIT: Meus dois recursos favoritos do emacs, além da edição de texto, são o modo shell e o gnus. Depois de ficar frustrado com os Grupos do Google por causa de todo o spam, me inscrevi no Eternal September e aprendi a usar o gnus. É muito mais rápido navegar pelas mensagens, e somente as postagens ocasionais de spam são enviadas, e livrar-se delas é uma questão de pressionar uma tecla. O modo Shell é especialmente útil para mim no trabalho porque copiar / colar é mais eficiente do que em um prompt do DOS.

Larry Coleman
fonte
Não estou descartando o editor de texto como obsoleto; Concordo, é muito eficiente quando você se acostuma. Minha pergunta é sobre o mérito da escolha do design: você deve poder fazer tudo e qualquer coisa sem sair do Emacs. Existem recursos periféricos específicos que ainda são excelentes ou você tem uma ideia do histórico de recursos periféricos outrora excelentes que agora foram superados?
precisa
1
Eu editei a seção de descartar como obsoleta depois de ler seus comentários. Eu não uso o emacs para tudo, mas gosto muito do modo shell e do gnus.
Larry Coleman
Doce! Adicionei uma nova segunda metade à minha pergunta, em resposta aos seus comentários. Seu comentário responde assim: +1
AlcubierreDrive
1
Também poder fazer tudo no emacs fez muito mais sentido em 1994, quando os computadores são muito mais lentos do que agora. Uso dired de vez em quando, se já estou no emacs e uso muito o shell. Ser capaz de fazer muitas coisas no meu editor ou, pelo menos, sem precisar mudar o mouse é uma vitória para mim. Você pode ter sabor diferente (isto é realmente uma questão de gosto em algum nível)
Zachary K
2

Eu sempre abordei o Emacs como uma plataforma e não como uma solução pronta para uso. Existem muitos pacotes que duplicam a funcionalidade ou o objetivo e cabe a você decidir se eles atendem às suas necessidades ou não.

Essa também é a razão pela qual muitas coisas estão desatualizadas. A maioria das pessoas (que eu já conheci) que usam o Emacs não o usa para ler e-mails ou navegar na web. No entanto, tenho dificuldade em encontrar outro editor que tenha

  • como sofisticados recursos de edição remota
  • criação e edição de macro em linha de forma livre
  • profundidade e amplitude de extensões / pacotes disponíveis

É meu editor de escolha há mais de uma década para desenvolvimento de software e processamento de texto.

O melhor de tudo é que não preciso tocar no mouse ao usar o Emacs.

dietbuddha
fonte
2

O Emacs pode ser um sistema operacional para você, se você estiver disposto a aprender o Lisp e escrever seus próprios recursos que atendem às suas necessidades.

Mas hoje em dia você pode encontrar tudo o que precisa em outras ferramentas criadas por outras pessoas excelentes. Essas pessoas fizeram essas ferramentas porque achavam que precisavam delas, assim como você que as usará. Como muitos deles são de código aberto, existe uma comunidade que os tornará cada vez melhores, com todas as funcionalidades necessárias.

Tentar melhorar o Emacs é difícil, porque você precisa aprender o Lisp. Até os plugins existentes estão ficando cada vez mais velhos. Tomemos os modos de linguagem, por exemplo, linguagens comuns como JS e PHP dificilmente são suportadas, mesmo para destaque de sintaxe. O melhor modo que você pode encontrar para eles simplesmente não é suficiente.

O Emacs é uma ótima ferramenta nas mãos certas e nas tarefas certas. Mas existem ferramentas melhores para tarefas especificadas, e você definitivamente deve usá-las.

Jose Faeti
fonte
1

Eu não quero começar uma guerra santa, na verdade, houve um tempo em que eu usava o emacs a cada segundo dia (um dia vim, um dia emacs). Não há nada de errado com o emacs, é realmente uma ótima ferramenta. Ótima, ótima ferramenta.

Mas como um verdadeiro vim'er, eu sempre fiquei um pouco frustrado com o fato de que muitos emacsers estão tentando usá-lo literalmente em todos os lugares, para literalmente todas as tarefas.

Ler e-mails, consultar bancos de dados, ler PDFs - essas são as tarefas mais inocentes que eu já vi como "emacsificadas".

Então, quanto a mim, existem as principais áreas de uso do emacs:

  1. Edição de texto. E é super ferramenta alucinante. Acredite em mim, depois de usar o vim ou emacs por muito tempo, você sentirá falta dos seus recursos nos IDEs mais avançados.

  2. IDE. Bem, isso poderia ser feito. Além disso, poderia de alguma forma competir com os modos IDE. Mas o fato é que, para torná-lo realmente competitivo, você deve investir bastante. Você deve tentar montar muitos scripts diferentes. Você deve até escrever seus próprios trechos de código. Eu não seria, para ser honesto.

  3. Outras tarefas, a maioria delas exóticas ou mesmo esotéricas. Jogando tetris e assim por diante. Melhor não.

shabunc
fonte
1
Como usuário de longa data do emacs e vi (mais de 20 anos de experiência em ambos, também cerca de 1 ano de uso do ed como meu editor principal), acho o emacs quase supremo para o ocasional "Eu tenho código repetitivo chegando , deixe o editor gerá-lo automaticamente "(em vez de, digamos, escrever outro trecho de código, compilar e executá-lo para gerar o código).
Vatine 08/09/11
0

Em algum lugar da minha coleção, tenho certeza de que minha esposa gostaria de jogar fora, tenho uma cópia do Emacs na fita QIC-40. Paguei US $ 50 para obtê-lo.

Eu não aguentava # @% # $ # $% @ ^ #% # então, não aguento mais agora. Eu não estou dizendo que não é um ótimo editor para alguns, mas para mim .. apenas atrapalha mais do que qualquer coisa. Sua criação original era trabalhar com as chaves das garrafas de coque , e fez isso muito bem.

Se você executa um programa, qualquer programa, o faz na esperança de aumentar (ou pelo menos não prejudicar) sua produtividade. Se não funcionar para você, não use.

Confie em mim, você não é o problema.

Tim Post
fonte
2
"Este é um artefato importante e pertence a um museu!"
1
"Se não funcionar para você, não use" é um apelo à subjetividade; portanto, "você não é o problema" é uma contradição.
91111 Jon Purdy