Editores, GUIs e IDEs - elementos para escolha

Este texto pretende ser útil para os que estão começando a usar e também para aqueles que estão em busca de soluções para um uso mais eficiente do ambiente R. Pode trazer informações úteis a serem consideradas numa tomada de decisão.

Minha intenção não é criar mais polêmica do que a existente sobre o assunto. Mas sim, prover esclarecimentos para quem está em busca de informações nesse sentido, baseado na experiência adquirida ao longo da minha vida de usuário e desenvolvedor.

O bom é muito dependente da formação, hábitos e expectativas em relação ao uso de computadores.

Isto posto, eu diria que os editores expansíveis (Gedit, Vim e Emacs) são as melhores opções para quem quer fazer investimentos sólidos para o futuro.
E isto implica ter expectativas um tanto arrojadas em relação ao uso de computadores.
Um aviso: reserve bastante tempo para os investimentos sólidos!

Visão geral do Gedit:
Drawing

Visão geral do Vim:
Drawing

Visão geral do Emacs:
Drawing

Os três acima foram projetados para serem expansíveis e podem acompanhar sua trajetória ao longo da vida, para diferentes e múltiplas finalidades, e não somente em relação ao R!

Em minha humilde opinião:

Eeeiii, José, você não falou nada do RStudio e Tinn-R que na atualidade estão entre os mais usados. Basta dar uma olhada na web!? :(

Visão geral do RStudio:
Drawing

Visão geral do Tinn-R:
Drawing

Bom, estava falando de investimentos sólidos para uma vida de aprendizado e evolução em relação ao uso de computadores!
Isto significa falar de softwares que foram projetados (desde a origem) para serem expansíveis (geralmente via plugins, ou linguagens interpretadas próprias ou suportadas) por você e pela comunidade de usuários:

Considero ambos (RStudio e Tinn-R) soluções muito boas, mas temporais.

Então para que você anda desenvolvendo o Tinn-R se ele não é expansível?
Boa pergunta!

Seguinte, software expansível o próprio nome diz: vai sendo construído/adaptado pelo usuário com o tempo, a medida que ele vai ganhando experiência, vai ganhando confiança, para de ficar procurando tudo pronto e decide aprimorar o aplicativo para seu próprio uso. Ou seja, resolve pagar o preço da customização detalhada. (Como eu falei acima: reserve bastante tempo para isso.)

Então, a proposta inicial do Tinn-R foi fazer algo mais simples: ser estável, instalar e usar. Depois foi gasto (bastante) tempo para permitir ao usuário customizá-lo ao máximo, mas de forma facilitada, sem precisar gastar tempo testando, aprendendo ou desenvolvendo (o que implica em alguma forma de codificação/programação) extensões. O aplicativo deve prover o que o usuário necessita de forma facilitada, sem restringir a capacidade de customização, tanto da aparência quanto das funcionalidades.

Muitos usuários ainda não perceberam isso no Tinn-R, ou seja, a potencialidade/capacidade de customização. Como não encontram tudo pronto (ele não foi projetado em toda sua extensão com esta finalidade) acabam indo procurar outras soluções. E geralmente o ciclo se repete.

Você quer dizer que, em função de não serem expansíveis, mais dia menos dia eu irei (ou terei) que optar por uma outra solução no caso de optar por RStudio ou Tinn-R? Depende! Do quê? De você, de suas necessidades futuras e da possível evolução desses aplicativos.

Hummm, uma pergunta simples e direta: qual o motivo de não existirem muitas boas opções?
Resposta simples e direta: não é nada fácil programar editores, GUIs e IDEs! Mais difícil ainda é dar suporte ao R. Somente quem tentou sabe. (Um dito popular: se fosse fácil todo mundo era, se fosse de graça todo mundo tinha) ;)

Considere também que o R é algo relativamente novo (nasceu em 29/02/2000), portanto, estamos falando de um jovem ainda na história da computação. E até onde sei, software é como fruta: leva tempo para amadurecer, adquirir cor, aroma, sabor e doçura.

Para mim a solução ideal está no S-Plus distribuído pela INSIGHTFUL. Embora o editor em si não fosse lá essas coisas. E um bom editor é algo realmente importante, pois você sempre o estará usando para se comunicar com os interpretadores: S ou R, ou compiladores (LaTeX, etc).

Visão geral do S-Plus:
Drawing

No S-Plus você encontra todo o poder das linguagens S e R aliado a uma interface gráfica (GUI) das mais bem elaboradas que já tive a oportunidade de conhecer. Ganhei uma licença (de um ano como tester) antes da aquisição pela TIBCO. Mas não uso. Motivos?

Em minhas buscas na web o novo nome do S-Plus é Spotfire. Existem alguns vídeos mostrando as características do novo produto.

Talvez com o tempo algum projeto de GUI ou IDE do R se aproxime do S-Plus, mas creio que irá demorar. Vários tentaram, a maioria (se não a totalidade) estão descontinuados.

Como assim a totalidade? O RStudio não é uma IDE? Sim e não! Está a caminho, no meio do caminho. Lembra da fábula do tempo e da fruta? Eu diria em algum ponto entre verde e o 'de vez'. (Principalmente em se tratando de um aplicativo que, embora seja de código aberto, é desenvolvido por uma empresa que tem pretensões comerciais).

E acho que o projeto está perdendo muito tempo reinventando a roda em vários aspectos.
Não existe sentido em:

Chamam de IDE devido a ter colocado tudo numa frame (janela mãe) única (olha a boiada!), sem contar com a valorosa colaboração externa (HTML, etc). Existem soluções com muito mais características de IDE que o RStudio.

Você terá que dar uma boa olhada no S-Plus (ou em outras IDEs de fato - não são tantas as boas) para saber do que estou falando, observar as diferenças: não dá para comparar!

Ohhh, você não falou que não iria falar mais sobre o RStudio? Desculpexm, não resisti.

Poxa, você somente falou mal do RStudio! :(
São observações, não críticas. O projeto tem muitos méritos, o principal deles é ser multiplataforma, ou seja, pode ser usado em vários sistemas operacionais. Mais?

Pronto, juro que não falo mais!

Portanto, se quer algo gratuito: teste as opções de código livre (ainda gratuitas, pois não são sinônimos) existentes; veja a qual melhor se adapta considerando o presente e suas pretensões. (Humm¿ não se esqueça de agradecer quem as desenvolveu até o estado em que se encontram.)

Se acha que ainda não estão perfeitas ou como você gostaria que estivesse:

Foi assim comigo, foi assim com muitos.

Bom, você não falou nada daquela minha opção X!? :(
Procurei ficar (novamente na minha humilde opinião) entre as alternativas realmente mais usadas na atualidade.

Repetindo, minha intenção não é criar mais polêmica do que a existente sobre o assunto. Mas sim, trazer esclarecimentos para quem está em busca de informações nesse sentido, baseado na experiência adquirida ao longo da minha vida de usuário e desenvolvedor.

Dentro das minhas limitações de conhecimento, gastei (e tenho gasto) bastante tempo no desenvolvimento de soluções computacionais de código aberto para serem usadas por quem eventualmente as considerem úteis.

Não ganho dinheiro com isso, apenas a satisfação (insubstituível) de ser útil. É minha pequena retribuição pelo movimento software livre que tanto tem me auxiliado na labuta da vida, principalmente nas áreas de ensino da estatística e análise de dados, que é o que mais faço.

Não sinto a mínima saudade do tempo de estudante quando meu computador era recheado de aplicativos pirateados (e cheios de bugs). Affh, ninguém merece!

Creio que ainda seria assim se o criador do movimento do software livre (Richard M. Stallman, mundo pequeno né, sim: o mesmo criador do Emacs) não tivesse tido a feliz iniciativa de fundar o movimento. Serei eternamente grato por isso: muitíssimo obrigado!