Marcelo, tenho te acompanhado não só nesta lista como em outras também (veja a do Lazarus...)
2009/8/6 Marcelo Silva <[email protected]> > Hum... vou ter que dar meu pitaco aqui rsrsrs Então creio que podemos ambos dar um pitaco aqui.. > > > Concordo que pra aprender java ou qualquer outra linguagem deveríamos > usar as mais primitivas ferramentas para podermos saber exatamente o que > cada função faz. No entanto vamos a alguns detalhes que devem ser > observados: > > Qual o propósito particular de aprender tal linguagem? > > Se tornar um perito? (ou doido rsrsr) > Quebrar um galho? > Aprender a fazer alguns programinhas pra se divertir? > Trabalhar em uma empresa que exija diplomas e mais diplomas? > etc etc Antes de mais nada, para se aprender uma linguagem qualquer você deve aprender duas coisas dessa linguagem: a sintaxe e a semântica. Sintaxe é o como você escreve código. Semântica é o que o código faz (o seu significado). Sintaxe é fácil, qualquer tuto, manual de ref ou mesmo o help de uma IDE te dá. Semântica é outra coisa. Para você aprender a semântica é necessário além de uma boa dose de estudos sobre a linguagem ter noções de computação. > > > Bem eu analiso da seguinte forma, no meu caso eu aprendi Delphi, Html*, > PHP, ASP, JavaScript, C e outras coisas, mas foi tudo em ferramentas > visuais... Vamos separar as coisas como você mesmo colocou. Delphi É O AMBIENTE, object pascal é a linguagem. HTML é linguagem de marcação - a sintaxe e a semântica são praticamente a mesma coisa. JavaScript, PHP e ASP são linguagens de script, não são linguagens de propósito geral, aliás, servem somente para uma coisa: programação Web (sei que até tem alguns sistemas não Web em PHP, mas isso é gambi). De tudo o que você falou a única que podemos chamar de linguagem de programação mesmo é C. De todas as que você falou, todas possuem ambientes visuais e ambientes não visuais para seu uso - o ambiente é uma ferramenta para se ganhar produtividade - tenhamos isso em mente. > > Meu propósito é resolver algumas necessidades da empresa ou empresas em > que eu trabalhar e com o que aprendi estou me saindo muito bem. > > Acho que aprender qualquer linguagem em linha de comando é uma tempo bem > perdido, já que as ferramentas visuais te dão a opção de ver os fontes a > hora que quiser. Aí depende. Eu comecei Java em linha de comando e fiz o meu primeiro grande sistema nessa linguagem usando "linha de comando" - note bem eu usei a ferramenta ant para compilar e gerenciar o projeto. Como editor usei o JCreator que extremamente leve e havia uma versão free. ANT é exatamente a ferramenta que o Netbeans usa, portanto o que o Netbeans faz por mim é apenas evitar que eu abra um terminal e digite ant<enter> no diretório do projeto. Se eu sei como estruturar um projeto sei como compilar com "qualquer" ferramenta. O Eclipse pode até usar o ANT, mas por padrão usa uma coisa que herdou das antigas ferramentas IBM para smalltalk, o conceito de workspace. Provavelmente pouca gente nesta lista sabe disso... > > > Por exemplo no Delphi eu posso ver os fontes tanto da Unit como do > Formulário... mas sinceramente, quem será que entra no fonte do > Formulário pra alterar alguma coisa? > Sei que até existe quem faça isso... mas em caso extremo de necessidade. Você está confundindo as coisa. Delphi é o ambiente. Você pode fazer a mesma coisa em Builder C - o ambiente é o mesmo. O que muda de um para outro são exatamente as coisas que não aparecem na IDE: os comandos e opções de terminal. Cê já usou gcc pelo terminal? E make? Pois o make é uma espécie de ant para C (na verdade o ant foi inspirado no make). Se você usar o Anjuta, provalvelmente estará usando o mesmo make, a diferença é que ficará escondido na IDE. > > > As ferramentas visuais estão aí pra facilitar nossas vidas, e sempre que > puder use-as. Sim, mas se você souber o que está fazendo. Não é trivial aprender uma IDE como o Eclipse, por exemplo. Gasta-se mais tempo aprendendo a IDE do que a linguagem... Você já usou Delphi e sabe o que estou falando. Ele é muito bom, principalmente porque esconde os detalhes. Mas não é trivial você aprender tudo o que a IDE tem. E para ficar no básico, prefira o Turbo Pascal para aprender pascal. > > > Bem, agora uma opinião bem pessoal heim... > Dependendo do propósito de se aprender a programar, é como aprender a > tocar violão, se quiser ser um músico pra tocar em orquestras estude > música com seus fundamentos e depois de muito tempo você vai pegar num > violão. > Agora se quiser sentir o prazer de simplesmente tocar o que lhe vier a > cabeça, aprenda a bater as cordas, depois você vai ganhando ritmo. Mais ou menos: eu toco um pouco de violão e pretendo fazer o clássico, mas isso não me impede de aprender cifras. Eu sei um pouco de phyton, dá pra fazer algumas coisas, mas ainda não dá pra programar um sistema inteiro nele. Isso é questão de aprendizado. A ferramenta visual te ajuda pouco nisso (exceto se você usar o JDev para Java, aí tu só precisas dizer na Wizard o que você quer que ele te gera o sistema todo pronto, com acesso ao BD e tudo mais, mas também tu não vais conseguir fazer uma única atualização no sistema sem ter que pagar uma grana preta pelas ferramentas da Oracle) > > > Pegue um ferramenta visual, abra alguns exemplos que normalmente vem com > elas, execute-as e depois se encha de perguntas... e se eu clicar aqui o > que acontece, etc etc, e clique... depois vá nos fontes e veja o que o > programador fez pra aquilo acontecer e assim você vai descobrindo pra > que serve cada função. Isso é uma forma de aprender tão boa quanto qualquer outra. Eu sugeriria primeiro você ler o básico da linguagem, ao menos entender a sua sintaxe e os comandos primários para poder você tentar entender o que está acontecendo na IDE. Um dos piores programadores Delphi que já conheci sabia muito de pascal (padrão), pouco de orientação a eventos e nada de orientação a objetos... > > > Aprender a programar em linha de comando... hum... você vai precisar de > muito tempo :) Em 5 minutos um hello word em C ou Java está pronto. Em uma IDE Netbeans, esse será o tempo da carga e da criação do Hello.java, sem que você tenha entendido nadinha do que fez. > > E ainda mais pela linguagem que optou java, não é nada amigável, terá > que ter tempo e paciência. (me desculpem os javaneses, só uma opinião > ok). Java é melhor que C++, simplesmente porque é mais recente. Dizem que C# é melhor que Java pelo mesmo motivo. As linguagens recentes tendem a ter menos problemas porque evitam alguns erros das anteriores, se bem que tem coisas em C# que você pode fazer escrevendo de várias formas, que o "compilador" aceita e a saída é simplesmente uma incógnita! > > > *Só uma observação... aprendi html no notepad viu... não era nada fácil, > mas era a opção que eu tinha quando comecei, hoje uso o dreanweaver e > sou muito mais feliz :) HTML é linguagem de script. Não misture, é outra coisa. Ainda bem que usas dreamweaver que não suja muito o código. Vai tentar usar FrontPage! > > > Há uma frase que eu digo sempre, com relação as ferramentas visuais... > "Se temos guardanapos a mesa, pra que vou limpar a boca com a manga da > camisa?" > Aí depende. Se o guardanapo custar mais de duas vezes o valor do espirro, é melhor sujar a manga da camisa. Você vai usar uma IDE que custa $2.000,00 reais a licença anual para fazer sistemas que custam R$ 500,00? A não ser que você seja um mago da programação e conseguir fazer uns 10 sistemas por anos, simplesmente você estará trabalhando para os outros (e provavelmente passando fome). Pelo menos em Java a gente tem IDEs muito boas e gratuitas. E, sinceramente, se for para usar uma IDE de verdade, o ideal é usar o Rational Rose, que tu faz tudo em alto nível, com UML e outras ferramentas gráficas e somente põe a mão no código em situações bem específicas. Custa a bagatela de US$4.200,00 anuais e o curso para usá-lo adequadamente é até mais caro. > > Espero que tenha sucesso na sua empreitada, Marcio. Também espero. A discussão está boa, mas o importante é que ele aprenda a aprender. -- André Cavalcante Porto Alegre, RS. Ubuntu User number # 24370 Quer saber sobre Open Source Software? http://sobreoss.blogspot.com -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

