Aula de Java para COBOLeiro!

23 respostas
M

Olá pessoal,

estou ministrando aulas de POO e Java para um cara que trabalha comigo… Só que, detalhe, ele programa em Cobol (só em Cobol… nada de C, C++, ou coisa que o valha) há uns 15 anos!!!
Está bastante difícil fazer ele entender a estrutura dos programas feitos em Java e de como é o fluxo de execução.

Comecei falando dos conceitos de POO, depois começamos a programar… Na parte básica, até parece que estava indo tudo bem, mas quanto comecei a falar de herança, interface e trabalhar com interface gráfica (swing) embolou tudo!!!

Alguém já passou por alguma situação parecida??? Alguém tem alguma dica ou idéia do que eu possa fazer??? De repente alguma dica sobre a abordagem que posso tomar???

Abraços.

23 Respostas

W

Se vc explicar heranca, interface e swing tudo junto, nem tem ng que entenda hehehe
Se a pessoa que vc esta ensinado nao tem nenhuma experiencia com OO, pega alguma apostila na net e vai seguindo aos poucos capitulo por capitulo. Nao adianta nada pular pra swing se o rapaz nao entendeu direito os conceitos de OO.

//Daniel

jaboot

windsofhell:

Se vc explicar heranca, interface e swing tudo junto, nem tem ng que entenda hehehe
Se a pessoa que vc esta ensinado nao tem nenhuma experiencia com OO, pega alguma apostila na net e vai seguindo aos poucos capitulo por capitulo. Nao adianta nada pular pra swing se o rapaz nao entendeu direito os conceitos de OO.

//Daniel

Também pensei a mesma coisa… você tem que ensinar a pessoa a andar antes de ensinar como correr os 110 metros com barreiras.
Se você tiver o livro da Kathy, acredito que seja um ótimo guia - tanto para quem está ensinando quanto para quem está aprendendo.

Mas não é impossível, muito pelo contrário. É só uma outra forma de pensar (procedural <> OO)

M

Na verdade, achei q se explanasse os conceitos primeiro, dando exemplos sem programar, propriamente, ele assimilasse melhor e, na hora de “por a mão na massa” ficasse mais fácil… Foi assim que aprendi… E, mesmo assim, quando começamos a programar fui mostrando do básico… não fui direto falando de herança e swing…

Mas enfim… vou seguir a dica de vocês… diante das circunstâncias realmente deveria, na hora de falar dos conceitos, já mostrar como implementá-los.

Obrigado.

josenaldo

Pra gente assim, eu recomendo o livro do deitel. Meio maçante, eu sei, mas é bem explicado, com otimos exemplos.

P

Deitel??? O cara desiste de programar.

Bota um head first nele.

Giulliano

imagine o contrário …o cara tendo que te ensinar cobol e vc só programou em java…será q é fácil…quai seriam as suas dificuldades?

josenaldo

Sergio Figueras:
Deitel??? O cara desiste de programar.

Bota um head first nele.

A galera tem muito preconceito com deitel.

Recomendo ele pra quem nunca programou OO. Pra quem jah programou, realmente ele eh um saco! srrssrsr

Mas dou aula usando ele, pra garotos que NUNCA programaram e tenho tido bons resultados…

P

Preconceito nada cara, eu li aquele livro todo.

É preferivel primeiro ler sobre OO, e manipulação de dados, e ai ir pra um head first java. Mas deitel é o fim da picada.

Giulliano

recomendo as apostilas da Caelum …o resto é prática e google.

M

entao, josenaldo… acho q uma das (senao a maior) das dificuldades está ai… ele já programava em cobol… :S já tinha uma lógica toda formada em cima dakela linguagem q eh beeeeem diferente…

Não só a sintaxe muda completamente mas, principalmente, a maneira de pensar… por isso, imaginei que falando dos conceitos e fazendo ele ficar mais familiarizado com essa nova maneira de pensar, na hora que fosse programar seria mais tranquilo… q engano! :S

Quando aprendi a programar utilizei o Deitel tb… eh mto bom, mas acho ele um tanto pesado (nos dois sentidos… hehehe).

Giulliano, baixei a apostila deles… realmente eh mto boa… e o q vc disse depois tb vale bastante… ele tem q exercitar mais… pelo que ele me disse, fora das aulas ele praticou pouco…

talvez seja isso tb…

H

Eu acredito que o maior obstáculo é a Orientação a objetos…

O negócio é tentar fixar bem o paradigma para depois passar para exemplos com códigos…

ddduran

Eu começaria uma aula para alunos com esse perfil falando o seguinte
“Esqueça tudo o que você viu de programação nos ultimos 15 anos”

:smiley:

L

Diz pra ele fazer um programinha de exemplo usando OO…e fica com um chicote atrás dele… he he he se não entender…dá uma chicotada… daí ele aprende bem ligeiro… he he he…

Mas falando sério agora… Eu também aprendi o básico pelo livro do Deitel… se vc já leu ele , se baseia nele para
ensinar o cara… faz um resumo breve de cada capítulo e dá alguns exercícios pra ele pegar a maneira de programar orientado a objetos… Só que passe vários exercícios de OO pra consolidar a maneira de pensar…depois o resto pega fácil

M

// 15 anos atrás
programador = new ProgramadorCobol();

hehehehe…

seria mto bom se eu pudesse instanciá-lo novamente…

// hoje
programador = new ProgramadorJava();

:stuck_out_tongue:

luistiagos

infelizmente cobol ainda faz parte da tecnologia hj… a maioria dos bancos e grandes empresas usam… e não ira morrer tão cedo… apesar de ser uma tecnologia sem recursos, trabalhosa e complexa de trabalhar é algo vivo no mercado ate hj… espero q java tenha mercado como cobol tem hj daqui a 20 anos… o pior e que provavelmente daqui uns 20 anos java estara morto ja… coisa do legado… e cobol ainda vivo… espero q isto não aconteça mas… e o que parece q vai acontecer…

ddduran

Cara acho que o esquema é você ir fazendo exercicios de OO simples com ele (como ja foi dito).
O resto vai aprendendo só com o uso mesmo.
Nem ensina swing, no maximo um JOptionPane

Tenta mostrar pra ele quais as vantagens de usar um paradigma OO e como fica mais legivel o codigo em Java do que cobol

josenaldo

Cara, seguinte…

O maior problema eh justamente ele romper com o velho paradgima…

Com alunos assim, mais “duros”, eu gosto de usar um metodo um pouquinho diferente… Bota o cara pra aprender por osmose!!!

Vejo o aprendizado de uma nova linguagem de programação como algo parecido como aprender outra lingua. Ele não tem que aprender como se faz isso e aquilo que ele fazia em cobol em java, mas o que ele pode fazer em java, como se cobol nunca existisse.

Faz ele programar o MAXIMO que o tempo dele permitir. Como um curso de imersão em outra lingua, sabe, onde o cerebro do cara aprende e ele nem percebe, quando vê, esta “PENSANDO” na nova lingua. Taca exercicio nele! Vai aumentando o a dificuldade, aumenta a quantidade, faz ele esquecer que existe cobol e se ver em um ambiente onde ele possa imergir na tecnologia Java e na Orientação a Objetos. Faz ele quase se afogar nisso… srsrrs

Bota ele pra, literalmente, SONHAR com Java… srrsrs Desafia ele e quando ele perceber, o conhecimento adquirido começa a ser processado automaticamente, ele aprende na raça mesmo… É um troço meio estranho, mas algumas pessoas funcionam assim. Não sou especialista pra te explicar pq, mas algumas pessoas aprendem ateh quando estão sonhando. E nessa hora eh que aprendem mesmo… rssr Eu mesmo, quando tenho dificuldade com algo, faço assim. Absorvo o maximo que puder e deixo que as peças se encaixem naturalmente. É algo como “criar” inspiração… srsrsr

Não tenho dados confiaveis sobre isso, mas tenho a impressão que aprender a segunda linguagem eh sempre mais dificil que a primeira… Ainda mais quando ele tem tanto tempo pensando como coboleiro… Alguem ai tem a mesma impressão? Quais as praticas que vcs mais usam pra poder ensinar programação? To ficando louco??? rsrsrsrsr

Abraços

B

ddduran:
Eu começaria uma aula para alunos com esse perfil falando o seguinte
“Esqueça tudo o que você viu de programação nos ultimos 15 anos”

Meu ex-professor de linguagem de programação disse isso na primeira aula da matéria.

5 anos depois eu diria que temos umas das mais fortes turmas de C.Comp formadas com ênfase nessa área.

M

Esse foi, mais ou menos, o conteúdo de uma conversa que tivemos hoje… e ele mesmo está se dando conta que precisa “imergir” mais nesse “novo mundo”.
Acho q o negócio vai ser fazer ele exercitar bastante e ir tirando dúvidas…

M

Não imaginava que esse tópico ia gerar tantos posts…

Novas idéias! isso eh bom! isso eh bom! :slight_smile:

ricardosoares

lembre-se: coboleiro é mais que programador, é um artista!

Luca

Olá

Acho que tem gente confundindo as coisas quando fala de COBOL (COmmon Business Oriented Language) e de programar.

Programar é indicar ao computador o que fazer em cada passo. Isto COBOL faz direitinho para aplicações do tipo para o qual ele foi inventado.

A programação orientada a objetos veio como uma abstração para facilitar construir programas muito grandes e complexos. Ao invés de tentar entender tudo como uma coisa só como era no tempo do COBOL, FORTRAN, ASSEMBLER, etc., a orientação a objetos permite criar pedaços independentes que só mostram informações que devem ser trocadas. O conceito de uma vez só ajudou a resolver os problemas de modularização e encapsulamento que haviam nas linguagens antigas como COBOL.

Não ser OO, não significa que é impossível fazer coisas grandes com COBOL. Mas significa que o programador precisa ser muito bom. Mas daí até ser considerado artista o caminho é muito longo.

Ensinar OO a um Coboleiro não é difícil. Mas como já disseram, ensinar Java logo com Swing é difícil porque Swing é difícil. Melhor começar com programas na linha de comando.

[]s
Luca

P

Luca:
Olá

Acho que tem gente confundindo as coisas quando fala de COBOL (COmmon Business Oriented Language) e de programar.

Programar é indicar ao computador o que fazer em cada passo. Isto COBOL faz direitinho para aplicações do tipo para o qual ele foi inventado.

A programação orientada a objetos veio como uma abstração para facilitar construir programas muito grandes e complexos. Ao invés de tentar entender tudo como uma coisa só como era no tempo do COBOL, FORTRAN, ASSEMBLER, etc., a orientação a objetos permite criar pedaços independentes que só mostram informações que devem ser trocadas. O conceito de uma vez só ajudou a resolver os problemas de modularização e encapsulamento que haviam nas linguagens antigas como COBOL.

Não ser OO, não significa que é impossível fazer coisas grandes com COBOL. Mas significa que o programador precisa ser muito bom. Mas daí até ser considerado artista o caminho é muito longo.

Ensinar OO a um Coboleiro não é difícil. Mas como já disseram, ensinar Java logo com Swing é difícil porque Swing é difícil. Melhor começar com programas na linha de comando.

[]s
Luca

Só um erro simples: Não é Assembler, é Assembly.

E acho que toda linguagem tem sua aplicação cara. Não tem exatamente isso de “tempo do cobol, tempo do fortran, tempo do assembly”. A questão é o foco da coisa toda. Ademais, concordo com tudo.

[]'s

Criado 9 de setembro de 2008
Ultima resposta 9 de set. de 2008
Respostas 23
Participantes 13