[Ubuntu-BR] Java
Andre Cavalcante
andre.d.cavalcante em gmail.com
Quinta Agosto 6 17:57:53 UTC 2009
Marcelo, tenho te acompanhado não só nesta lista como em outras também (veja
a do Lazarus...)
2009/8/6 Marcelo Silva <marcvan em ig.com.br>
> 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
More information about the ubuntu-br
mailing list