Autor Tópico: Software para Programação - Tópico Geral  (Lida 6854 vezes)

0 Membros e 1 Visitante estão vendo este tópico.

Offline Nhoqs

  • Ken-Ohki
  • Sup, niggas
    • Ver perfil
    • IVBin
Software para Programação - Tópico Geral
« Online: Outubro 30, 2012, 11:56:43 am »
O Coda não é IDE, NinjaSniper. Eu uso bastante o Coda quando estou alterando sites ou sistemas web que o deploy não tem versionamento.


Ele, o TextWrangler, o TextMate, o Sublime, todos são Editores de Texto com suporte extra.


IDEs tem ambientação completa, com navegador de classes, testes e deploy, bastante coisa.
Vira e mexe e eu volto aqui.

Re:Software para Programação - Tópico Geral
« Resposta #1 Online: Outubro 30, 2012, 01:35:34 pm »
O Coda não é IDE, NinjaSniper. Eu uso bastante o Coda quando estou alterando sites ou sistemas web que o deploy não tem versionamento.


Ele, o TextWrangler, o TextMate, o Sublime, todos são Editores de Texto com suporte extra.


IDEs tem ambientação completa, com navegador de classes, testes e deploy, bastante coisa.

Eu sei, mas para mim tanto faz ser IDE ou não pois só mexo com web atualmente. Uso o Netbeans como editor + busca e autocompletar no projeto inteiro.
Tenho o SVN separado, pois não gosto do jeito que o Netbeans gerencia conflitos.
Ocasionalmente mexo com Python, mas uso o editorzinho dele pois é pouca coisa. Testei o Aptana e achei legal também.

EDIT: Não sei se cabe no tópico: distribuição global de navegadores e sistemas operacionais http://marketshare.hitslink.com/
« Última modificação: Outubro 30, 2012, 01:41:02 pm por NinjaSniper »

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #2 Online: Outubro 30, 2012, 04:29:52 pm »
Para desenvolvimento web, não vejo sentido usar uma IDE completa e pesada (a menos que você esteja desenvolvendo em Java). Emacs ou vim geralmente são mais que o suficiente.

Só uso o Eclipse no trabalho porque é desenvolvimento android, e programar em Java sem IDE é um saco. Mas por mim eu usaria emacs pra tudo.

Citar
Tenho o SVN separado, pois não gosto do jeito que o Netbeans gerencia conflitos.

Aprenda git. SVN está ficando cada dia mais ultrapassado.

Citar
O Visual Studio é coisa linda demais, super recomendo pra quem usa Windows e mais ainda pra quem usa C# ou qualquer coisa .net

Pra .NET é uma coisa linda. Só sinto falta de um suporte decente às teclas de atalho do emacs (o Eclipse Indigo tem uma extensão ótima pra isso, o emacs+).

Re:Software para Programação - Tópico Geral
« Resposta #3 Online: Outubro 30, 2012, 04:38:49 pm »
Para desenvolvimento web, não vejo sentido usar uma IDE completa e pesada (a menos que você esteja desenvolvendo em Java). Emacs ou vim geralmente são mais que o suficiente.

Disse anteriormente que não tenho problemas de lentidão com o Netbeans. Quero algo mais que um editor de texto, senão usaria Notepad++. Programo em PHP & companhia.

Aprenda git. SVN está ficando cada dia mais ultrapassado.

Qual a vantagem?

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #4 Online: Outubro 30, 2012, 06:57:00 pm »
Para desenvolvimento web, não vejo sentido usar uma IDE completa e pesada (a menos que você esteja desenvolvendo em Java). Emacs ou vim geralmente são mais que o suficiente.

Disse anteriormente que não tenho problemas de lentidão com o Netbeans. Quero algo mais que um editor de texto, senão usaria Notepad++. Programo em PHP & companhia.

Você diz isso porque não sabe do que o emacs é capaz.

Aprenda git. SVN está ficando cada dia mais ultrapassado.

Qual a vantagem?

O algoritmo de branching e merge dele é muito mais inteligente e eficaz, fazendo com que criar branches seja algo natural no fluxo de desenvolvimento.

O repositório é descentralizado. Você tem um repositório no seu projeto e quantos outros repositórios externos você precisar, e eles podem se comunicar entre si sem maiores problemas.

Bisect. É uma pesquisa binária por inserção de bugs no programa. Digamos que você esteja com um bug que você sabe que são existia na versão 1.2.2. Você então faz um:

Código: [Selecionar]
git bisect start HEAD 1.2.2
E o git vai pegar o commit na metade do caminho entre o commit atual e o da versão 1.2.2. Você testa se tem o bug. Se tiver, você marca o commit como ruim. Se não, marca como bom.

Código: [Selecionar]
git bisect bad
git bisect good

Ele vai estreitando a busca de forma binária até encontrar em que commit exatamente o bug entrou no sistema, fazendo com que seja bem mais fácil reverter o bug. Tudo isso de forma extremamente rápida. Depois, você manda terminar o bisect e faz o que quer que deva fazer.

Código: [Selecionar]
git bisect reset
Como ele sempre tem um repositório local, é sempre possível trabalhar offline.

Github e bitbucket.

Entre várias outras coisas.

Re:Software para Programação - Tópico Geral
« Resposta #5 Online: Outubro 30, 2012, 07:35:48 pm »

Você diz isso porque não sabe do que o emacs é capaz.


Qual a vantagem?


O algoritmo de branching e merge dele é muito mais inteligente e eficaz, fazendo com que criar branches seja algo natural no fluxo de desenvolvimento.

O repositório é descentralizado. Você tem um repositório no seu projeto e quantos outros repositórios externos você precisar, e eles podem se comunicar entre si sem maiores problemas.

Bisect. É uma pesquisa binária por inserção de bugs no programa. Digamos que você esteja com um bug que você sabe que são existia na versão 1.2.2. Você então faz um:

Código: [Selecionar]
git bisect start HEAD 1.2.2
E o git vai pegar o commit na metade do caminho entre o commit atual e o da versão 1.2.2. Você testa se tem o bug. Se tiver, você marca o commit como ruim. Se não, marca como bom.

Código: [Selecionar]
git bisect bad
git bisect good

Ele vai estreitando a busca de forma binária até encontrar em que commit exatamente o bug entrou no sistema, fazendo com que seja bem mais fácil reverter o bug. Tudo isso de forma extremamente rápida. Depois, você manda terminar o bisect e faz o que quer que deva fazer.

Código: [Selecionar]
git bisect reset
Como ele sempre tem um repositório local, é sempre possível trabalhar offline.

Github e bitbucket.

Entre várias outras coisas.

Não uso branch nem merge. Uso diff para ver onde começou o bug.

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #6 Online: Outubro 30, 2012, 08:52:08 pm »

Você diz isso porque não sabe do que o emacs é capaz.


Qual a vantagem?

Pra maioria das pessoas, provavelmente nenhuma. Eu é que estou acostumado e gosto das features e da capacidade de customização.

(Eu uso emacs até como cliente IRC e editor de postagens no meu blog. Poderia usar como cliente de email, leitor de feeds e agenda, também, se tivesse paciência pra configurá-lo).


O algoritmo de branching e merge dele é muito mais inteligente e eficaz, fazendo com que criar branches seja algo natural no fluxo de desenvolvimento.

O repositório é descentralizado. Você tem um repositório no seu projeto e quantos outros repositórios externos você precisar, e eles podem se comunicar entre si sem maiores problemas.

Bisect. É uma pesquisa binária por inserção de bugs no programa. Digamos que você esteja com um bug que você sabe que são existia na versão 1.2.2. Você então faz um:

Código: [Selecionar]
git bisect start HEAD 1.2.2
E o git vai pegar o commit na metade do caminho entre o commit atual e o da versão 1.2.2. Você testa se tem o bug. Se tiver, você marca o commit como ruim. Se não, marca como bom.

Código: [Selecionar]
git bisect bad
git bisect good

Ele vai estreitando a busca de forma binária até encontrar em que commit exatamente o bug entrou no sistema, fazendo com que seja bem mais fácil reverter o bug. Tudo isso de forma extremamente rápida. Depois, você manda terminar o bisect e faz o que quer que deva fazer.

Código: [Selecionar]
git bisect reset
Como ele sempre tem um repositório local, é sempre possível trabalhar offline.

Github e bitbucket.

Entre várias outras coisas.

Não uso branch nem merge. Uso diff para ver onde começou o bug.

Meus olhos doeram ao ler isso.

Você não usa branch nem merge porque usa SVN, e isso dá trabalho em SVN. Saberia a diferença que um bom algoritmo de branch faz se tentasse usar o git.

Diff pode te dar a comparação entre o commit atual e algum commit anterior, mas e se tiver um monte de commits entre o atual e o commit onde o bug foi introduzido? Vai verificar de um por um? O bisect vai te apontar em alguns poucos passos em qual commit o bug entrou, e você pode visualizar facilmente o que foi introduzido nesse commit com um diff.

E isso não exclui as outras vantagens que apontei.

Sério, vai tentar usar o git. Um pouquinho até se acostumar. Vai te ajudar até na hora de procurar trabalho novo. Todo mundo tá migrando pro git, SVN está caindo em desuso numa velocidade extraordinária.

Re:Software para Programação - Tópico Geral
« Resposta #7 Online: Outubro 30, 2012, 09:30:48 pm »
VA, eu não entendo como ele pode identificar um bug. Os bugs que encontro em geral são na relação com o banco de dados, ou de compatibilidade com navegador, ou de implementação de um conceito errado. Muito raramente preciso recorrer a versões anteriores pois o bug apareceu ao implementar uma nova função não testada em todas as situações.

O projeto já é antigo, é complexo e gigantesco, e principalmente: não é meu. Se fosse novo, eu pensaria em usar git, sei que é o padrão atual. Aliás, faria um bilhão de coisas bem diferentes. Eu já quebrei muito a cara tentando mudar as coisas e acabar tendo o triplo do trabalho.

Não pretendo programar o resto da vida.

Offline Ciggi

  • Vénis Pagina
  • Enviado do meu PC
    • Ver perfil
Re:Software para Programação - Tópico Geral
« Resposta #8 Online: Outubro 30, 2012, 11:24:20 pm »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)

« Última modificação: Outubro 31, 2012, 09:21:37 am por Macnol »

Re:Software para Programação - Tópico Geral
« Resposta #9 Online: Outubro 30, 2012, 11:31:49 pm »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)
« Última modificação: Outubro 31, 2012, 09:21:55 am por Macnol »

Re:Software para Programação - Tópico Geral
« Resposta #10 Online: Outubro 30, 2012, 11:40:33 pm »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)
« Última modificação: Outubro 31, 2012, 09:22:06 am por Macnol »

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #11 Online: Outubro 31, 2012, 12:24:49 am »
VA, eu não entendo como ele pode identificar um bug. Os bugs que encontro em geral são na relação com o banco de dados, ou de compatibilidade com navegador, ou de implementação de um conceito errado. Muito raramente preciso recorrer a versões anteriores pois o bug apareceu ao implementar uma nova função não testada em todas as situações.

O projeto já é antigo, é complexo e gigantesco, e principalmente: não é meu. Se fosse novo, eu pensaria em usar git, sei que é o padrão atual. Aliás, faria um bilhão de coisas bem diferentes. Eu já quebrei muito a cara tentando mudar as coisas e acabar tendo o triplo do trabalho.

Não pretendo programar o resto da vida.

Realmente, não recomendo usar git como experimento já em ambiente de produção. Estava recomendando para se aprimorar em mais uma ferramenta útil pra caramba que está em ascensão.

Mas se você não planeja programar por muito tempo, beleza. Nem vale a pena sugerir. Às vezes eu esqueço que nem todo mundo é apaixonado pela profissão como eu. XD

Isso da um tópico próprio né? Ja deixou de ser dica de hardware a muito tempo!

Nope. Estou dando sugestões de software ao NinjaSniper. São ótimos software, e muito estáveis.

Git, na verdade, é útil para qualquer profissão que mexa com texto puro e queira manter um log de alterações, ou para várias pessoas editando o mesmo texto (nesse caso, sugeriria também aprender LaTeX, que é um processador de texto excelente).

Podíamos criar um tópico vale-tudo Windows vs. Linux vs. Mac.

Só que não.

Git, Emacs e LaTeX rodam em todas as plataformas.

(Factóide: git foi criado pelo Linus Torvalds, criador do kernel Linux. Emacs foi criado pelo Richard Stallman, criador do Sistema Operacional GNU, que roda por cima do Linux e é a base de todas as distribuições Linux atuais).

(Factóide 2: Stallman odeia que chamem o SO de "Linux". Para ele, Linux é só o kernel. GNU/Linux seria o sistema. Torvalds discorda dele).
« Última modificação: Outubro 31, 2012, 12:29:11 am por VA »

Offline Ciggi

  • Vénis Pagina
  • Enviado do meu PC
    • Ver perfil
Re:Software para Programação - Tópico Geral
« Resposta #12 Online: Outubro 31, 2012, 12:35:41 am »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)
« Última modificação: Outubro 31, 2012, 09:22:21 am por Macnol »

Offline VA

  • Moderador
  • Be vigilant
    • Ver perfil
    • Adepto do Heroísmo
Re:Software para Programação - Tópico Geral
« Resposta #13 Online: Outubro 31, 2012, 12:40:24 am »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)
« Última modificação: Outubro 31, 2012, 09:22:37 am por Macnol »

Offline Ciggi

  • Vénis Pagina
  • Enviado do meu PC
    • Ver perfil
Re:Software para Programação - Tópico Geral
« Resposta #14 Online: Outubro 31, 2012, 12:47:12 am »
[Mensagem ocultada pela moderação -- Macnol]
(click to show/hide)
« Última modificação: Outubro 31, 2012, 09:22:50 am por Macnol »