Dependência de IDEs é sintoma de problema na linguagem

124 views
Skip to first unread message

Luciano Ramalho

unread,
Oct 31, 2012, 8:19:50 AM10/31/12
to python-brasil, django...@googlegroups.com
Talvez esse post sirva para explicar aos novatos porque muitos
veteranos de Python não usam nenhuma IDE e consideram a escolha de uma
IDE um assunto enfadonho e sem importância:

IDEs Are a Language Smell
http://www.recursivity.com/blog/2012/10/28/ides-are-a-language-smell/

Para explicar o título, "smell" (odor) é um termo usado informalmente
em discussões de engenharia de software para indicar algo que pode ser
sintoma de um problema (ex: "isso não está cheirando bem").


[ ]s
Luciano


--
Luciano Ramalho / OFICINAS TURING
Twitter: @ramalhoorg

Autor e professor dos cursos:

* Objetos Pythonicos --> http://turing.com.br/oopy
* Python para quem sabe Python --> http://turing.com.br/ppqsp

Herberth Amaral

unread,
Oct 31, 2012, 8:26:06 AM10/31/12
to python...@googlegroups.com, django...@googlegroups.com
2012/10/31 Luciano Ramalho <luc...@ramalho.org>

Talvez esse post sirva para explicar aos novatos porque muitos
veteranos de Python não usam nenhuma IDE e consideram a escolha de uma
IDE um assunto enfadonho e sem importância:


Será? Não usamos IDE porque achamos que não há importância ou porque não há nenhuma que nos satisfaça? É um problema ovo-galinha na minha opinião. Apesar de usar o *nix como minha ide, eu me beneficiaria de ter alguns recursos interessantes e não-vitais como go-to-definition e ferramentas de refactoring (renomear, extrair, etc).

Kaique da silva

unread,
Oct 31, 2012, 8:33:44 AM10/31/12
to django...@googlegroups.com
Se vc usa "*nix como IDE" então deveria conhecer um pouco mais sobre.

http://www.amazon.com/Nutshell-Fourth-Edition-Arnold-Robbins/dp/0596100299

Existe tudo isso que você falou, o problema é o interesse em aprender.
A IDE tem que ser uma dependência opcional, quando você deixa de usar
a IDE e perde muita coisa deixando de usar ela. Tem algo de muito
errado.

George Silva

unread,
Oct 31, 2012, 8:33:29 AM10/31/12
to django...@googlegroups.com, python...@googlegroups.com
É, não acho oque seja essencial, mas eu gosto muito da praticidade do PyCharm. Foi feita para python e para django. Me economiza várias tecladas por dia.

2012/10/31 Herberth Amaral <herbert...@gmail.com>

--
 
 



--
George R. C. Silva

Desenvolvimento em GIS
http://geoprocessamento.net
http://blog.geoprocessamento.net

Luiz Carlos Santos

unread,
Oct 31, 2012, 9:09:48 AM10/31/12
to django...@googlegroups.com

Eu, uso o eclipse acredito que seja uma herança maldita da faculdade. As vezes me pego usando o gedit e o terninal. Acredito que usa a IDE seja por uma questão de segurança e organização do projeto.

--
 
 

Jefferson Santos

unread,
Oct 31, 2012, 9:10:27 AM10/31/12
to django...@googlegroups.com, python...@googlegroups.com
Acho que você tem a obrigação de conhecer a linguagem que trabalha, porém pode lançar mão de uma série de ferramentas que aumentam a sua produtividade.
Tem muita gente que diz não usar IDE porém tem um ambiente (VIM, EMACS, GEdit, etc) com tanta configurações e plugins que não ficam devendo nada às IDEs, o que acaba tendo o mesmo efeito que as IDEs.

2012/10/31 George Silva <george...@gmail.com>
--
 
 



--
Att.
Jefferson Santos

Danillo Souza

unread,
Oct 31, 2012, 9:12:43 AM10/31/12
to django...@googlegroups.com, python...@googlegroups.com
Essas IDEs "caseiras" são as melhores (na minha opinião), justamente por você ter controle de tudo, a IDE se molda ao seu formato de desenvolvimento, e com essas IDEs prontas você é que tem que se acostumar a ela e se contentar com o que ela te oferece ou deixa de oferecer.

--
 
 

Kaique da silva

unread,
Oct 31, 2012, 9:18:51 AM10/31/12
to django...@googlegroups.com
Não existe formato próprio de desenvolvimento existe um formato
próprio de adequação.

E são poucas IDE's que tem recursos interessantes.

Luiz Carlos Santos

unread,
Oct 31, 2012, 11:49:56 AM10/31/12
to django...@googlegroups.com
Acredito, que e importante é entrega o projeto!!! 

Luiz Carlos 


--



Filipe Cifali

unread,
Oct 31, 2012, 12:01:39 PM10/31/12
to django...@googlegroups.com
Alias, seguindo o teu comentário, a uns meses atrás li uma matéria muito legal sobre o que acontece quando o desenvolvedor muda de ambiente.

Exemplo: o cara que desenvolve usando o VI (não VIM) não tem praticamente nenhum problema em mudar de distribuição *unix
o cara que desenvolve usando VIM + plugins + env próprio já encontra mais problemas ao "sair da camada de conforto" tradicional dele (que normalmente ele carrega para o próximo ambiente)

Em 31 de outubro de 2012 11:10, Jefferson Santos <jefferso...@gmail.com> escreveu:

--
 
 



--
[ ]'s

Filipe Cifali Stangler

Marlon Luis Petry

unread,
Oct 31, 2012, 12:22:34 PM10/31/12
to django...@googlegroups.com
http://developers.slashdot.org/story/12/10/30/065244/the-ide-as-a-bad-programming-language-enabler

--
 
 



--
Marlon Petry

 "Administrar dinheiro é fácil. Difícil é administrar a falta dele."
Truman Capote

flit

unread,
Oct 31, 2012, 1:55:27 PM10/31/12
to django...@googlegroups.com
Eu acabo concordando com o Luiz Santos...

"Acredito, que e importante é entrega o projeto!!! "

A IDE eh uma ferramenta..
No meu caso Pycharm me livra de teclar muita coisa e me facilita horrores no debug.

Mesma coisa com emacs e outros...

Se fossemos ser 'puristas' poderiamos entao usar echo comando >>programa.py

Importa eh ser produtivo, reduzir bugs e melhorar.

uma IDE nao faz um bom programador, um bom programador NAO precisa de IDE.
Mas uma IDE boa ajuda em muito um Bom programador.

E a maxima: 'A ferramenta certa para o trabalho certo'

[]s

Henrique




2012/10/31 Luiz Carlos Santos <h2o...@gmail.com>
--
 
 

Kaique da silva

unread,
Oct 31, 2012, 1:56:44 PM10/31/12
to django...@googlegroups.com
O mais interessante dessa discussão é causar um certo incômodo, porque quem não usa IDE pode conhecer porque ficou curioso e quem usa vai pode correr atrás para saber o que tem de legal para utilizar fora de uma IDE.

Nos dois casos haverá incomodo e comodismo, quem sera capaz de ir conhecer o outro espaço? Não adianta falar que já mexeu ou que já teve contato, mas as coisas mudas e quero aprender com o que mudou e saber o que vem da linguagem e o que não é, caso haja essa duvida!

Sei lá apenas brincar para conhecer mais. ^ ^

Vou brincar com o PyCharm.

Jefferson Santos

unread,
Oct 31, 2012, 2:03:13 PM10/31/12
to django...@googlegroups.com
Não acho que seja só a entrega do projeto, você tem que conhecer a linguagem/framework que esta usando para saber se a sua IDE esta gerando um código que preste. Quem não lembra das porcarias que dreamweaver gerava? 
O aumento da produtividade não pode atrapalhar o aprendizado. O conhecimento é seu maior aliado na busca pela produtividade.

2012/10/31 Kaique da silva <kaique.d...@gmail.com>

--
 
 



--
Att.
Jefferson Santos

Luiz Carlos Santos

unread,
Oct 31, 2012, 2:05:20 PM10/31/12
to django...@googlegroups.com
Assim, no Django agente escreve... lembra.

Luiz Carlos


--
 
 

Jonatas Wesley

unread,
Oct 31, 2012, 2:07:54 PM10/31/12
to django...@googlegroups.com
Tenho que concordar com o Henrique e principalmente com Luiz Santos, 

"Acredito, que e importante é entrega o projeto!!! "

O que o cliente quer é que o projeto seja entregue perfeito no menor tempo possível, e não existe essa possibilidade, 
então sou a favor da utilização de todas as ferramentas que possas te trazer maior produtividade.

Até pouco tempo atras trabalhava com c#, é posso dizer que nunca vi nada tão produtivo como o Visual Studio,
falem o que quiser da Microsoft, mas as ferramentas dos caras são muito boas. e quando comecei a estudar python e django,
comecei utilizando o eclipse que já da uma boa ajuda, mas quando encontrei o PyCharm fiquei encantado, ele é muito bom, 
facilita muito minha vida.

Só pra terminar eu queria perguntar pra quem utiliza  o GEdit, Vim, Vi, sei la, outras ferramentas mais simples, o porque disso, afinal VI e VIM são ferramentas de console?

[]s, Jonatas.

Kaique da silva

unread,
Oct 31, 2012, 2:38:32 PM10/31/12
to django...@googlegroups.com
Vim, porque ele é simples. Você faz as suas ferramentas ou utiliza
coisas prontas. Fora que você pode utilizar qualquer coisa do *nix (
se estiver utilizando *nix, porque ele roda no windows ). E você faz
plugins em qualquer linguagem, depois é só chamar utilizando a VimL (
Linguagem de programação do Vim ).

Vale a pena perder tempo "não sendo produtivo", porque você acaba
enxergando coisas interessantes demais... e descobre que
desenvolvimento não é somente, escrever código e entregar funcionando
para o cliente.

Emacs é ótimo tbm, quem curte jogo FPS, vai adorar usar ele.

Ezequiel Bertti

unread,
Oct 31, 2012, 2:49:45 PM10/31/12
to django...@googlegroups.com
Uma coisa é um Editor de texto, outra coisa é uma IDE.

Para Python, brinque com o Pycharm, e ainda tem plugin nele para ter todas as teclas de atalho do VI, muita gente no meu trabalho saiu do VI, Sublime e foi para o Pycharm e deixamos de nos preocupar (perder tempo) com diversas coisas como erros bobos de nomes de metodos e variáveis.

Para Ruby, brinque com o Rubymine.

Os dois arrebentam não só na hora de lidar com suas linguagens, mas tb na hora de fazer o querys no banco, paginas em html, arquivos em js, integrações controle de versão e ferramentas de gerencia de tarefas como Jira e Gihub.

O melhor que eles cumprem com o que prometem, as coisas realmente funcionam.

Essa galera do Jetbrains é muito tensa, mandam muito!

George Silva

unread,
Oct 31, 2012, 2:53:45 PM10/31/12
to django...@googlegroups.com
Acho que o principal ponto da discussão é que IDEs tem sim seu valor. Claro, não precisamos de desenvolver sites em Django com IDEs, existem vários editores de texto e ferramentas que se complementam e fazem o trabalho. O principal do pycharm pra mim é o debugger que arrasa e a integração com várias ferramentas shell (eu sei que poderia ter um shell aberto, mas não preciso...).

2012/10/31 Ezequiel Bertti <ebe...@gmail.com>

--
 
 

Kaique da silva

unread,
Oct 31, 2012, 3:43:05 PM10/31/12
to django...@googlegroups.com
Bom, então deu para entender, é que toda linguagem precisa de uma IDE.
E o que discutimos aqui foram editores.

E creio que o Luciano Ramalho já sabia disso.

Luciano Pacheco

unread,
Nov 2, 2012, 4:39:32 AM11/2/12
to django...@googlegroups.com


On Nov 1, 2012 5:07 AM, "Jonatas Wesley" <john...@gmail.com> wrote:
>

[...]


> Só pra terminar eu queria perguntar pra quem utiliza  o GEdit, Vim, Vi, sei la, outras ferramentas mais simples, o porque disso, afinal VI e VIM são ferramentas de console?

Eu nao gosto de usar mouse e sou bem rapido no teclado físico (to escrevendo no celular).

No vim eu nao preciso usar as setinhas do teclado, o que significa que nao preciso mover minha mao. Ela fica sempre na região da teclas das letras.

O vim tem diversas formas de evitar digitacao.

Só essas 2 características jah sao um bom começo.

Praticamente todo o resto das coisas que o povo gosta em IDE eu consegui ter no vim (sem usar mouse e sem usar setinhas) :-)

Eu uso o MacVim mais pra ter scroll com o mouse e melhor copy paste com outros programas. Quando to lendo muito codigo ou vindo do Browser eu uso o mouse.

Aliás esse é um motivo de eu gostar de unittest. Só vou pro browser quando a minha view já tá funcionando ai é da uma caprichada no CSS e JS.

Ai eu te pergunto como vc faz para fazer edicao vertical das linhas? Copiar ou mover 7 linhas ou palavras?

[].
Luciano Pacheco

Kaique da silva

unread,
Nov 2, 2012, 6:59:33 AM11/2/12
to django...@googlegroups.com
Não entendi a primeira.

Mover, linhas:
A segunda: $ + esc + v + 7 + j + cc  e depois "p" no lugar que eu quero colar a frente.


--
 
 

Luciano Pacheco

unread,
Nov 2, 2012, 8:37:00 PM11/2/12
to django...@googlegroups.com
Oi Kaique, 

Eu quis dizer em outros editores, como o povo faz? No vim eu sei :-)

Edição vertical é edicão de colunas, no vim:

-  "Ctrl+v" para entrar no modo de edição vertical.
- j (navega pra baixon) k navega pra cima (ai vc seleciona qtas linhas vc quer fazer a edição vertical/colunas)
- "Shift+i" para entrar no mode inserção 
- Edita o que vc quer, por exemplo adicionar "#" ** no começo de várias linhas para comentar, ou "self." para colocar em vários atributos
- "Esc" - finaliza a edição e o vim aplica em todas as linhas.

[],
-- 
Luciano Pacheco
blog.lucmult.com.br

2012/11/2 Kaique da silva <kaique.d...@gmail.com>
--
 
 



Luiz Carlos Santos

unread,
Nov 3, 2012, 9:39:06 AM11/3/12
to django...@googlegroups.com
Interessante é no comentario da post "http://www.recursivity.com/blog/2012/10/28/ides-are-a-language-smell/"
Quando o cara falar sobre linha de mosntagem e artesão.

" IDE's often serve a number of other purposes, besides cranking out working code. They encourage/enforce coding standards, they educate the programmer, they stratify "best practice". In many ways, they are somewhat like assembly lines: you can put almost any programmer in front of an IDE and expect some level of productivity on a reasonably short notice. IDE's are a perfect match for all those enterprise consulting firms that spew bills itemized by "junior developer", "senior developer", "quality assurance", "project management" etc.

    In stark opposition, editor/REPL/build systems are more like workshops. They are vastly superior in terms of quality and flexibility,  but they also require experienced craftsmen and they are intrinsically costly. In essence, a workshop is retooled at least once for each and every project, making for a large overhead in training, documentation and such. And you just don't let any young braggard loose in there ... for the project's sake and for his own.

    BTW, the best IDE I ever used, was the late incarnations of Borland Pascal (version 7, IIRC) in the early 90's. By modern standards, it was barely more than an pumped up commercial (sic) editor, but the integration between the language, the editor, the tools, the platform and the problem space (DOS) was so wellcrafted and seamless, that it bordered on the magical. Well, it also fitted my level of experience at the time, so my fond memories may be somewhat skewed ;-) "

Fiquei me perguntando,  Quando é interessante essa Perquisitiva ? E qual é mais lucrativa.

Luiz Carlos

--
 
 

Luciano Ramalho

unread,
Nov 3, 2012, 3:28:55 PM11/3/12
to django...@googlegroups.com
2012/11/3 Luiz Carlos Santos <h2o...@gmail.com>:
>> In many ways, [IDEs] are somewhat like assembly lines
[...]
>> editor/REPL/build systems are more like workshops.
[...]
> Fiquei me perguntando, Quando é interessante essa Perquisitiva
> ? E qual é mais lucrativa.

Simples: a linha de montagem tem o efeito de tornar cada operário
facilmente substituível. Facil de substituir == barato, no regime
capitalista. Este esquema é mais lucrativo para o dono da fábrica.

No workshop, os artesãos são mais especializados, portanto mais
difíceis de substituir, e mais caros (do ponto de vista do dono da
empresa) e melhor remunerados (portanto esse esquema é mais lucrativo
para os artesãos).

Vale notar que na indústria automobilística existem os dois contextos:
a linha de montagem é onde trabalham os horistas facilmente
substituíveis e a ferramentaria é onde trabalham os artesãos que
produzem as ferramentas usadas na linha de montagem. Esses ganham
melhor, têm melhores condições de trabalho e precisam ser mais bem
tratados pela chefia. Quando há greve no setor, são os ferramenteiros
que "decidem" quando ela começa e termina.

Vale notar que, embora o esquema fabril seja mais lucrativo, muitas
coisas não podem realmente ser feitas em um esquema fabril. Não existe
"fábrica de música", nem "fábrica de cinema", não no sentido de
"fábrica de automóveis".

Eu pessoalmente acho o termo "fábrica de software" um oxímoro:

"""
Oximoro ■ substantivo masculino
Rubrica: retórica.
figura em que se combinam palavras de sentido oposto que parecem
excluir-se mutuamente, mas que, no contexto, reforçam a expressão
(p.ex.: obscura claridade, música silenciosa); paradoxismo

Luiz Irber

unread,
Nov 3, 2012, 3:31:20 PM11/3/12
to django...@googlegroups.com
http://osteele.com/posts/2004/11/ides

Post antigo, mas que andou reaparecendo ultimamente.

Luiz


2012/11/3 Luciano Ramalho <luc...@ramalho.org>
--



Luciano Ramalho

unread,
Nov 3, 2012, 6:33:39 PM11/3/12
to django...@googlegroups.com
2012/11/3 Luiz Irber <luiz....@gmail.com>:
> http://osteele.com/posts/2004/11/ides
>
> Post antigo, mas que andou reaparecendo ultimamente.

Excelente, li e curti e aprendi. Muito grato pelo link.

Pessoal, se liguem: esse Luiz Irber é daqueles que posta pouco, mas
quando posta sempre vale a pena.

Valeu, Luiz!

[ ]s
Luciano
> --

Jonatas Wesley

unread,
Nov 5, 2012, 12:16:49 PM11/5/12
to django...@googlegroups.com
Luciano Pacheco, 

em resposta a sua pergunta de como eu faço pra fazer edição vertical das linhas, 
eu não sei se as IDEs que eu uso tem esse recurso da forma que você usa no Vim.

Para comentar variais linhas eu seleciono elas e pressiono ctrl + /, pra remover o mesmo atalho, a ideia
é a mesma para copiar, colar, remover.

Mas para mim isso não faz muita diferença, o que acho mais interessante e a navegação entra arquivos, por exemplo, quando estou editando um template e tenho um variável da view, eu preciso apenas usar o ctrl e clicar nela pra ir direto pra view, ou usando o mesmo comando eu posso ver o css de uma id ou class html.

Talvez o mesmo motivo que eu tenho pra usar uma IDE é o mesmo pelo qual você gosta de usar o VIM, você já
conhece ele e tem experiência usando ele. Pois quando comecei a estudar django, eu nunca tinha visto nada em python ou django, e a IDE me ajudou muito e me ajuda sempre na minha falta de conhecimento, eu não preciso gastar um longo período de estudo pra simplesmente criar um Hello World, eu fui logo criando um site, custumizando o admin, e aparentemente não errei muito. 

Não sei se algum dia vou utilizar VIM ou algo semelhante, primeiramente por que estou usando windows e sou meio dependente de ferramentas que encontro no windows como photoshop e outros, fora os aplicativos que eu uso para lazer, softwares de gravação música por exemplo, e segundo, não tenho paciência e acho uma grande perda de tempo, formatar o computador, instalar tudo de novo, configurar, prefiro gastar meu tempo produzindo!

[]s, Jonatas!


--



Reply all
Reply to author
Forward
0 new messages