Um programador inexperiente precisa de um IDE? [fechadas]

12

Ler essa outra pergunta me faz pensar se eu (como um programador PHP iniciante absoluto) devo ficar com o WAMP e o Notepad ++ ou mudar para algum IDE como o Eclipse.

É compreensível que desenvolvedores qualificados se beneficiem de um grande IDE brilhante. Mas por que um iniciante absoluto deve usar um IDE? Os benefícios superam o desafio extra de aprender o IDE além de aprender a desenvolver?

Atualização para esclarecimentos:

Meu objetivo é obter alguma experiência básica de programação. Ao escolher PHP e WAMP (e FogBugz e Kiln), espero evitar ter que navegar pelas especificações complicadas / confusas do SO e compilar etc., e apenas focar na funcionalidade básica, como um formulário de registro de usuário on-line.

Eu tenho muita compreensão teórica da universidade há uma década, mas nenhuma experiência prática. Quero remediar isso com um projeto de hobby que seria semelhante a um aplicativo da web vendável no mundo real.

Há tantas perguntas a fazer. Tantas armadilhas que eu provavelmente tenho que me enganar. Esta questão é apenas uma peça (minha primeira!) Desse quebra-cabeça.

Torben Gundtofte-Bruun
fonte
Depende do que você entende por IDE ... O Notepad ++ pode ser usado como um IDE rudimentar.
Oded
10
Sim! Não! Eu não sei .. Vá com o que é certo para você!
Ben
1
a situação com um editor simples é a linha de base - a experiência comum a todos os programadores. Todas as ferramentas em cima disso são apenas isso - ferramentas em cima disso -, então você deve começar a aprender o básico para apreciar o que o IDE pode ajudá-lo.
Corri um pequeno raspar tela em programmers.stacexchange.com. O uso da palavra "depende" ou "dependente" parece aumentar o número provável de votos, enquanto as pessoas que respondem com frases que começam com "eu gostaria ..." ou que começam com "Sim" ou "Não" tendem a ser rejeitadas. Dica para escrever posts: não tenha uma opinião clara sobre nada.
Jason Sebring

Respostas:

21

Dependendo do tipo de programa que você está tentando criar, um IDE pode facilitar muito todo o processo, especialmente a criação e a implantação. Esse é especialmente o caso quando você está usando estruturas relativamente complexas.

Por outro lado, fazer tudo manualmente melhora muito o entendimento do que acontece sob o capô. Por esse motivo, criar alguns programas pequenos "da maneira mais difícil" é um bom exercício para um noob.

user281377
fonte
16

Um n00b deve usar um IDE? Isso depende de qual é seu objetivo como um n00b. Aqui estão alguns objetivos imediatos possíveis:

1) Comece a aprender alguma linguagem de programação / algo sobre programação (introdução leve)

2) Torne-se um mestre e entenda como tudo funciona (introdução dos pesos pesados)

Para 1), use um IDE . Usar um bom IDE tornará sua vida MAIS FÁCIL. Não é mais difícil. Aprender a usar um IDE raramente é tão difícil depois que você o instala. Em seguida, para compilar e executar seu programa, basta clicar no botão "executar" ou algo assim. A depuração também será mais fácil ... basta clicar em algum botão de depuração.

Para 2), não use um IDE (a princípio). Se você quiser entender tudo perfeitamente, o uso de um depurador e compilador de linha de comando fornecerá mais informações sobre como tudo funciona. Isso será mais difícil e pode ser desencorajador no início.

Casey Patton
fonte
Como o uso de um IDE não lhe proporcionaria uma melhor compreensão de como tudo funciona? Você perderia as opções de linha de comando do compilador e os comandos do depurador, mas essas são as duas coisas que você pode aprender posteriormente em uma explicação de uma página. Makefiles também não são muito mais difíceis. Não consigo pensar em outra coisa que não seja trivial.
Rei Miyasaka
3
Não estou dizendo que há diferença entre noite e dia, mas certamente não classificaria Makefiles e tudo isso como "trivial" para um novo desenvolvedor. Também não estou dizendo que você ficará completamente alheio se começar com um IDE. Só estou dizendo que começar pela linha de comando dá uma idéia melhor de como as coisas funcionam.
Casey Patton
Bem, quero dizer, os Makefiles são bastante triviais mais tarde, depois que você entende que a criação de programas geralmente envolve várias etapas e muitos arquivos - que IDEs irão ensinar a você pelo caminho de qualquer maneira.
Rei Miyasaka
3
@ReiMiyasaka, os IDEs ensinam isso ao longo do caminho? Minha impressão é que muitos codificadores nunca descobriram o que acontece entre inserir código no IDE e produzir código executável.
Winston Ewert
@ Winston Sim, eles fazem. Não há como não notar que algo acontece para reunir dezenas de arquivos de código e bibliotecas. Aprender o formato exato dos dados que descrevem as interações é útil, mas, novamente, é algo que pode ser aprendido em algumas horas, uma vez que já se entenda que algo está realmente acontecendo. Você já tentou ensinar listas vinculadas sem explicar para que servem? As listas vinculadas fazem muito mais sentido para as pessoas, uma vez que elas têm um motivo para precisar saber os detalhes delas. O mesmo acordo com makefiles e parâmetros do compilador e tudo isso.
Rei Miyasaka
5

Como alguém tentando aprender um novo idioma em um pequeno projeto de hobby, eu diria que se atenha a um editor de texto com destaque de sintaxe.

Quando você está começando, cometerá erros. Você esquecerá um ponto-e-vírgula em algum lugar ou escreverá incorretamente o nome de uma variável. Sem e IDE, você terá que se concentrar apenas na linguagem e em como a escreveu. Este é um aprendizado valioso.

Um grande IDE brilhante tentará economizar seu tempo, tentando detectar esses erros, o que o impede de aprender. Além disso, como outros já disseram que aprender o IDE, também sobrecarregará seu aprendizado. Imagine quando o IDE sugere algo, você se pergunta por que ele está fazendo a sugestão, ou mesmo é a coisa certa. Isso apenas adicionará confusão.

Eu gosto de iniciar um novo idioma apenas com o editor de texto e, em seguida, olho para qualquer plug-in do Eclipse quando estiver confiante o suficiente.

joatis
fonte
4

o desafio extra de aprender o IDE

Quer dizer, a parte em que o IDE faz a maior parte do trabalho para você?

Agora, nunca usei nenhum IDE PHP, mas, presumindo que eles funcionem de maneira semelhante a outros tipos de IDE, economizam uma quantidade enorme de trabalho. O trabalho envolvido no aprendizado do IDE será trivial em comparação com a funcionalidade que o IDE evita que seja necessário. Coisas como conclusão de código e destaque de sintaxe são ferramentas incrivelmente úteis e completamente insubstituíveis.

Todo mundo que codifica profissionalmente faz isso com a ajuda de ferramentas como IDEs e por boas razões.

DeadMG
fonte
2
Eu trabalho com PHP profissionalmente e não uso um IDE, uso o Vim!
Gary Willoughby
1
@Gary VIM é um IDE.
rightfold
2
Não, é um editor. Definição de um IDE: en.wikipedia.org/wiki/Integrated_development_environment Vim não é isso.
Gary Willoughby
1
Tenho certeza de que o Vim vem com coisas como conclusão de código ou pode ser adicionado para fazer isso, o que praticamente o torna um IDE para essa finalidade.
DeadMG
3
Há uma grande diferença entre o VIM e um IDE. O VIM não oculta os detalhes do que está acontecendo como um IDE. Muitos dos benefícios de um IDE estão disponíveis no VIM. Mas chamar o VIM de IDE simplesmente não está correto.
Winston Ewert
4

Eu acho que um desenvolvedor PHP inexperiente seria muito mais produtivo com um IDE.

A questão deve ser: os desenvolvedores experientes em PHP precisam de um IDE?

Gary Willoughby
fonte
2
isso é realmente o que eu pensei que significava a partir interpretando mal o título ...
bunglestink
4

Como regra geral, eu escolho assim:

  • Se for um aplicativo pequeno e sem muitos arquivos, atenha-se à linha de comando.
  • Se um aplicativo grande com muitos arquivos usa um IDE, você alterna constantemente entre arquivos e pode se beneficiar dos recursos rápidos de navegação e visão geral (especialmente linguagens orientadas a objetos).

Aprenda a usar os dois quando apropriado. Comece com a linha de comando.

David
fonte
3

existem algumas coisas que ajudarão qualquer programador em qualquer idioma, independentemente do nível de habilidade:

  1. realce de sintaxe mais correspondência de chaves

  2. verificação de sintaxe enquanto você digita (muito útil para evitar a dúzia de erros, todos provenientes de um único ;aparelho esquecido ou incompatível)

  3. fácil navegação na documentação (no entanto, isso não precisa estar no próprio IDE),

    • as principais bibliotecas de qualquer idioma terão documentação on-line que você pode acessar no seu navegador,
    • mas a documentação interna (do projeto em que você está trabalhando) não será, a menos que você a disponibilize explicitamente
  4. formato automático para o estilo de uma cinta verdadeira e espaçamento correto (para que você gaste menos tempo aplicando essas regras) (novamente isso pode ser feito com uma ferramenta externa)

apenas 1 e 2 precisam estar no IDE / editor

catraca arrepiante
fonte
3

Eu sempre uso um IDE (Eclipse) e o recomendaria mesmo para iniciantes. Principais vantagens se você está começando:

  • Feedback instantâneo sobre código incorreto (por exemplo, erros de sintaxe no código)
  • Cuida da configuração de projetos usando convenções padrão, para que você não precise se preocupar com detalhes de configuração / SO, etc.
  • Muitas vezes, pode gerar código de exemplo que você pode criar e aprender com
  • Evita que você precise se lembrar de todo um conjunto de opções e chamadas misteriosas de linha de comando, para que você possa se concentrar no código.

No entanto, embora eu ache que você deva usar um IDE em geral, acho que vale a pena fazer pelo menos uma ou duas execuções manuais do seu código na linha de comando. Isso é para que você entenda o que está acontecendo sob o capô. Esse entendimento o ajudará se você precisar depurar problemas posteriormente.

Mikera
fonte
1

A outra pergunta não feita: um programador PHP experiente precisa de um IDE?

Um IDE ajuda a automatizar o processo de compilação - mas com PHP, não processo de compilação. O destaque da sintaxe é um recurso muito bom, mas você não precisa de um IDE completo para isso, muitos editores de texto leves fornecem destaque.

Faço meu trabalho PHP no NetBeans, mas isso é apenas porque estou acostumado ao NetBeans. Aposto que eu poderia fazê-lo tão bem em qualquer número de editores de texto.

Mike Baranczak
fonte
1

Se você razoavelmente espera que, principalmente, escreva código durante a vida, ou mesmo o inferno, mesmo que não - você deve obter um editor / IDE extensível e começar a aprendê-lo. Se você não puder pagar nada, vá com o Notepad ++ ou similar - algo que permitirá que você comece sua tarefa ao longo da vida de decidir "como eu gosto das minhas teclas de atalho" e aprender as convencionais.

Seus IDEs de ferramentas, como eu os chamo - Visual Studio, Eclipse, O que você tem, vão e vêm e evoluem, muitas vezes se tornando muito volumosos e sem resposta para serem usados ​​quando você só quer deixar escapar o código ou massagear Eu refatoro de certas maneiras.

Assim, você tem o seu editor "doméstico", aquele que fica com você a vida inteira, a quem você ama mais que a sua namorada.

Você chegará ao ponto em que será perfeitamente natural e produtivo trabalhar em algo usando o seu Tooling IDE e o Home IDE ao mesmo tempo, aproveitando o melhor dos dois mundos.

O My Home IDE é o SlickEdit, que eu usei e estendi nos últimos 10 anos, nesse período escrevi mais de 120 módulos de macro para ele e tenho mais de 1000 teclas de atalho.

Lembro de todos eles? Não, provavelmente cerca da metade a qualquer momento, talvez 60%, mas os outros são para tarefas especializadas, que acabo pesquisando sob demanda.

Lembre-se, a vida é curta e, se você fizer as contas em qualquer grande projeto, verá que, mesmo que alienígenas benevolentes ditem telepaticamente um código perfeito em sua mente para você digitar 8 horas por dia - ainda levaria MESES para escrever algo grande (sem um editor inteligente, macros, modelos etc.).

Isso é por que. Planeje a longo prazo, pavimente a estrada para o futuro de vez em quando.

Na verdade, com muita frequência. Mesmo que isso lhe custe agora.

Marca
fonte
1

Só posso compartilhar minha própria experiência, bem como algumas dicas sobre como isso afeta um desenvolvedor.

Primeiro, afirmo que gosto de trabalhar nos dois tipos de ambientes. O uso do Vim e de um makefile com o GCC ou o QtCreator / Visual Studio com seus respectivos ambientes e compiladores depende apenas do próprio projeto e da escala do aplicativo.

Para aprender, ocasionalmente vou usar o Vim simplesmente porque odeio não saber como as coisas funcionam e simplesmente sair e escrever algo por ignorância. Quando aprendi a codificar, fiz isso através do C # e do Visual Studio. Isso me ensinou o básico. Depois de um tempo, porém, decidi aprender a usar o Makefiles e um editor de texto decente.

Rei Miyasaka disse em um comentário que qualquer um pode aprender a usar um Makefile dentro de algumas horas, com nada além de informações de uma página. Eu discordo totalmente com isso, especialmente para alguém novo. Pode levar alguns dias (pelo menos no meu caso). Também digno de nota é que a maioria da documentação do Makefiles se estende por centenas de páginas e, embora você possa obter uma boa introdução através de uma única página, para realmente saber como usá-los leva muito mais tempo e leitura.

Na minha opinião, se você é ambicioso o suficiente e começou a aprender, faça uma distribuição Linux (não importa qual, desde que tenha um bom gerenciador de pacotes e seja relativamente estável - eu recomendo o Linux Mint ou mesmo o Debian e aprenda C. Comece com um editor de texto (destaque de sintaxe, indentação automática e suporte a números de linha são essenciais - tudo o resto é pura preferência), simplesmente aprendendo a chamar o compilador via CLI. Assim que tiver chegado ao ponto onde você está aprendendo passado como código usando apenas um arquivo de origem por projeto é quando você , em seguida,comece a aprender a escrever um Makefile. Também vale a pena pegar o Valgrind (se você estiver escrevendo em C / C ++, não tenho certeza se ele suporta outras linguagens de programação). Após alguns meses de codificação nesse ambiente, à medida que você assume projetos maiores, aprenda um IDE (de preferência algo FL / OSS) e você deve estar pronto.

A razão pela qual sugiro isso é porque o uso de um IDE limita severamente um programador quando ele está apenas aprendendo. O preenchimento automático e o gerenciamento de projeto / construção são muito bons; no entanto, se você não tem idéia de como ele funciona por baixo do capô, você será severamente limitado em termos de depuração e / ou descobrir por que seu aplicativo não é funcionando corretamente, especialmente se for apenas devido a uma configuração incorreta de compilação ou compilador especificada por você ou pelo próprio IDE.

Felicidades.

sobre em branco
fonte
-1

Usar um IDE tornará a vida muito mais fácil. O PHP possui especialmente muitas funções inconsistentes que o preenchimento automático nos IDEs podem ajudar muito. Além disso, ter um depurador no seu IDE é realmente inestimável ...

Há algo de bom na simplicidade de trabalhar com arquivos brutos em um editor de texto, mas se você deseja aprender como é produzir um aplicativo Web real, o aprendizado de usar os recursos de um IDE será uma grande ajuda no longo prazo.

bunglestink
fonte
-1

Nas minhas aulas de ciência da computação, não começamos com um IDE. Foi algo que fizemos depois que entendemos o que estávamos fazendo.

Os IDEs tendem a abstrair demais para iniciantes e acabam produzindo tolos educados. No começo, é fundamental que você entenda bem ou acabará pensando apenas no IDE e não poderá descobrir coisas básicas sem ele. Você também estará limitado apenas ao que o IDE pode fazer. Alguns IDEs são totalmente maliciosos ao ter tais abstrações e ter seu próprio paradigma, o que realmente torna as pessoas mais burras em usá-lo. Caso em formulários da Web pontuais para ASP.NET.

Há algo a ser dito para se iniciar.

Jason Sebring
fonte
-4

Aqui está a minha opinião sobre isso:

  1. Iniciantes são as únicas pessoas que precisam de IDE. Isso ocorre devido à depuração - os iniciantes ainda podem ter problemas para entender como a execução do programa funciona, e percorrer o código pode ajudar com isso.
  2. Os programadores do Mediogre podem acelerar seu processo de programação porque os IDE fornecem recursos que permitem navegar mais facilmente em grandes repositórios de origem e descobrir onde cada símbolo está localizado no código-fonte. Eles não precisam mais de ide, mas às vezes facilita a vida.
  3. Programadores avançados não precisam de IDE. Eles fizeram isso por tempo suficiente para que a interface do usuário do IDE seja lenta demais - pressionando uma tecla e aguardando resposta leva muito tempo - é necessária uma resposta instantânea para não perder tempo. Navegar no código fonte não é a principal prioridade, pois eles podem se lembrar de onde cada parte do código está localizada - eles leram o código inteiro antes de modificar qualquer coisa.
tp1
fonte
1
Eu votaria para baixo se pudesse. Ao trabalhar com grandes projetos, não é possível manter tudo em sua cabeça. Você não precisa necessariamente usar um ide, mas é necessário ter algumas ferramentas para isso.
Bwmat
@Bwmat, agora você pode reduzir o voto
Pratik