prog:qual-ambiente-escolher
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
prog:qual-ambiente-escolher [2023/01/15 19:03] – criada hrcerq | prog:qual-ambiente-escolher [2024/12/28 00:22] (atual) – [Qual ambiente de programação escolher?] legibilidade hrcerq | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
====== Qual ambiente de programação escolher? ====== | ====== Qual ambiente de programação escolher? ====== | ||
- | Por vezes no canal //# | + | Por vezes no canal //# |
+ | |||
+ | Evidentemente, | ||
Porém desconfio de que no fundo não é uma resposta pronta que você busca, mas sim algumas dicas sobre como pode chegar a essa resposta por conta própria. Este artigo é uma tentativa (espero que bem sucedida) de guiar o leitor a não apenas uma, mas a várias decisões satisfatórias, | Porém desconfio de que no fundo não é uma resposta pronta que você busca, mas sim algumas dicas sobre como pode chegar a essa resposta por conta própria. Este artigo é uma tentativa (espero que bem sucedida) de guiar o leitor a não apenas uma, mas a várias decisões satisfatórias, | ||
Linha 19: | Linha 21: | ||
===== Como dialogar com as máquinas ===== | ===== Como dialogar com as máquinas ===== | ||
- | Muito bem, agora você abriu a sua mente para todas as possibilidades de aprendizado, | + | Muito bem, agora você abriu a sua mente para todas as possibilidades de aprendizado, |
Essa estratégia de tradução pode variar significativamente para uma mesma linguagem, de modo que ela pode ser interpretada ou compilada, a depender da implementação utilizada. Evidentemente, | Essa estratégia de tradução pode variar significativamente para uma mesma linguagem, de modo que ela pode ser interpretada ou compilada, a depender da implementação utilizada. Evidentemente, | ||
- | Então vamos detalhar um pouco mais o que as implementações fazem. No processo conhecido como compilação (que a rigor ainda pode ser subdividido em algumas tarefas), o código-fonte é convertido para bits em sua integralidade, | + | Então vamos detalhar um pouco mais o que as implementações fazem. No processo conhecido como compilação (que a rigor ainda pode ser subdividido em algumas tarefas), o código-fonte é convertido para bits em sua integralidade, |
- | Tipicamente, | + | Tipicamente, |
Escolher uma linguagem e uma implementação **depende muito do que você planeja fazer**, em primeiro lugar. Então, primeiro de tudo, você precisa compreender quais são as premissas e restrições em jogo, envolvendo requisitos de desempenho, segurança, manutenibilidade, | Escolher uma linguagem e uma implementação **depende muito do que você planeja fazer**, em primeiro lugar. Então, primeiro de tudo, você precisa compreender quais são as premissas e restrições em jogo, envolvendo requisitos de desempenho, segurança, manutenibilidade, | ||
Linha 33: | Linha 35: | ||
Quando você não tem um projeto em particular no momento, mas deseja programar, isso provavelmente significa que o seu projeto atual é aprender a programar. Na realidade, este é um projeto que nunca vai te abandonar (e isto é bom), mas por hora vamos tratá-lo como algo que tem início, meio e fim. | Quando você não tem um projeto em particular no momento, mas deseja programar, isso provavelmente significa que o seu projeto atual é aprender a programar. Na realidade, este é um projeto que nunca vai te abandonar (e isto é bom), mas por hora vamos tratá-lo como algo que tem início, meio e fim. | ||
- | Algumas linguagens são particularmente interessantes para explorar as dinâmicas da informação e as possibilidades de construção de algoritmos e resolução de problemas, isto é, para o aprendizado da programação propriamente. Nem sempre elas serão adequadas para resolver um problema prático, mas o seu aprendizado terá servido um importantíssimo propósito, que é aprender a programar, propriamente. Isto se revertirá em benefícios para outros ambientes que vier a usar depois, justificando o tempo investido inicialmente nestas linguagens. Quanto menos recursos e mais simples for uma linguagem, mais ela forçará o programador a compreender essas dinâmicas e comparar diferentes maneiras de construir um algoritmo. | + | Algumas linguagens são particularmente interessantes para explorar as dinâmicas da informação e as possibilidades de construção de algoritmos e resolução de problemas, isto é, para o aprendizado da programação propriamente. Nem sempre elas serão adequadas para resolver um problema prático, mas o seu aprendizado terá servido um importantíssimo propósito, que é aprender a programar. Isto se revertirá em benefícios para outros ambientes que vier a usar depois, justificando o tempo investido inicialmente nestas linguagens. Quanto menos recursos e mais simples for uma linguagem, mais ela forçará o programador a compreender essas dinâmicas e comparar diferentes maneiras de construir um algoritmo. |
Ao mesmo tempo, algumas linguagens são também úteis para compreender como as máquinas interpretam e executam instruções, | Ao mesmo tempo, algumas linguagens são também úteis para compreender como as máquinas interpretam e executam instruções, | ||
Linha 67: | Linha 69: | ||
Essas perguntas não são difíceis de responder com uma breve pesquisa, e são altamente reveladoras. Compreender o contexto em que uma linguagem e suas implementações surgem ajuda a compreender em que cenários ela tende a ser mais eficaz. Ao longo do tempo essas linguagens vão evoluindo e podem ser adaptadas para novos cenários. **Compreender as características** de uma linguagem e de suas implementações que a fazem ideal para um contexto ajudará a entender se serão adequadas também para o seu contexto em particular. | Essas perguntas não são difíceis de responder com uma breve pesquisa, e são altamente reveladoras. Compreender o contexto em que uma linguagem e suas implementações surgem ajuda a compreender em que cenários ela tende a ser mais eficaz. Ao longo do tempo essas linguagens vão evoluindo e podem ser adaptadas para novos cenários. **Compreender as características** de uma linguagem e de suas implementações que a fazem ideal para um contexto ajudará a entender se serão adequadas também para o seu contexto em particular. | ||
- | Essas características dirão muito sobre os tipos de aplicações que se pretende construir. Existem diferentes arquétipos que você pode considerar para o seu programa, e a linguagem escolhida pode se encaixar melhor ou pior nesse arquétipo. O livro Structure and Interpretation of Computer Programs (vide referências) possui em seu preâmbulo uma interessante alegoria sobre programas que são construídos como pirâmides e programas que são construídos como organismos vivos. | + | Essas características dirão muito sobre os tipos de aplicações que se pretende construir. Existem diferentes arquétipos que você pode considerar para o seu programa, e a linguagem escolhida pode se encaixar melhor ou pior nesse arquétipo. O livro //Structure and Interpretation of Computer Programs// (vide referências) possui em seu preâmbulo uma interessante alegoria sobre programas que são construídos como pirâmides e programas que são construídos como organismos vivos. |
Pirâmides são gigantescas estruturas, formadas por blocos pesados e muito difíceis de mover (pra não dizer impossíveis). Ao longo do tempo elas vão sofrendo mudanças, mas essas mudanças são pequenas e graduais, e leva muito tempo para que uma pirâmide mude significativamente o seu aspecto. É uma estrutura criada para durar. Organismos, por outro lado, sofrem diversas mutações ao longo da vida. Eles vão se adaptando conforme o meio onde vivem e assim garantem sua sobrevivência, | Pirâmides são gigantescas estruturas, formadas por blocos pesados e muito difíceis de mover (pra não dizer impossíveis). Ao longo do tempo elas vão sofrendo mudanças, mas essas mudanças são pequenas e graduais, e leva muito tempo para que uma pirâmide mude significativamente o seu aspecto. É uma estrutura criada para durar. Organismos, por outro lado, sofrem diversas mutações ao longo da vida. Eles vão se adaptando conforme o meio onde vivem e assim garantem sua sobrevivência, |
prog/qual-ambiente-escolher.1673820230.txt.gz · Última modificação: 2023/01/15 19:03 por hrcerq