Linguagens de Programação na FACENSA

1 view
Skip to first unread message

Luciano Costa

unread,
Oct 21, 2009, 12:35:14 PM10/21/09
to us...@furor.dev.java.net, fuj...@fuja.dev.java.net, fu...@googlegroups.com
E aí pessoal,

Quero levantar uma questão que acredito que possa ajudar a Facensa a formar profissionais ainda melhores para o mercado.

Penso que perdemos muito em conceito quando trocamos de linguagem a cada cadeira. Poderíamos evoluir muito mais se não parássemos para compreender a sintaxe de novas linguagens a cada semestre.

Não sou o mais ferrenho fã de Java, pelo contrário, acho que devemos aprender outras linguagens. Ao menos 1 por ano seria fabuloso, mas isso fora da formação acadêmica, por interesse do profissional. Pra isso temos grupos de estudo, para que os interessados possam trocar conhecimento e participar de outros grupos.

Java é uma opção de linguagem completa o suficiente para preencher toda a formação acadêmica de desenvolvimento de software. Do simples OO ao uso de threadings e desenvolvimento distribuído, do modo texo à web, de linguagem à plataforma.

A idéia é ser completo em um ambiente de conceitos, em vez de ser iniciante em várias linguagens. Sintaxe se aprende no Google! Linguagem é ferramenta. Meio, não fim.

Não estou sugerindo simplesmente limar outras linguagens, mas criar uma linha evolutiva de conceitos e aplicações. E escolher uma linguagem para isso. A sequência LPI, LPII, LPIII e LPIV, para mim, transmite justamente essa idéia de evolução. Não de troca.

Não sei como resolver isso, mas sei que estou gritando aos ouvidos certos! Gostaria de discutir mais sobre isso!


Obs.: Farei LPIV semestre que vem, não é por interesse. Mas observo uma confusão de aprendizado que poderia convergir para algo melhor.

Abraço!


Att,

Luciano Costa
http://monttez.com

Daniel Wildt

unread,
Oct 22, 2009, 4:31:19 PM10/22/09
to fuj...@fuja.dev.java.net, us...@furor.dev.java.net, fu...@googlegroups.com
Com a criação do Tecnólogo, que não existe mais, tinha sido tomada
esta decisão, na época a linguagem que ganhou com C#, pois todos os
professores sabiam trabalhar com C#.

Java só tinha um (Eu).

Depois do fim do Tecnólogo, tudo seguiu como está.

Eu digo o seguinte, prefiro aprender várias linguagens. O conhecimento
específico o aluno deve buscar via grupos de estudo.

Hoje se você tiver que aprender uma linguagem nova, vai ser muito mais
fácil. Isto também devido as diferentes experiências que viveu dentro
das disciplinas de programação, com linguagens de programação
diferente.

Hoje o desenho está assim:
LP1: PHP
LP2 e LP3: Java
LP4: C#.NET
Qualidade e Teste: Ruby (putz, já entreguei o assunto da próxima aula).
Metodologias Ágeis: Ruby

Quando tinha paradigmas de linguagens de programação, ainda tinha
SmallTalk, Prolog e Python.

Regards,
Daniel Wildt
http://danielwildt.com

2009/10/21 Luciano Costa <luc...@monttez.com>:

> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fuja-l-un...@fuja.dev.java.net
> For additional commands, e-mail: fuja-...@fuja.dev.java.net
>
>

Luciano Costa

unread,
Oct 22, 2009, 8:21:16 PM10/22/09
to fuj...@fuja.dev.java.net, us...@furor.dev.java.net, fu...@googlegroups.com
Aí é que me refiro, ao conhecimento. Mas não específico (1 linguagem) ou generalizado (várias). E sim continuado, evoluído (conceitos).

Tendo como comparação as cadeiras de Bancos de Dados e Redes. Temos BD1 e BD2 e temos Redes1 e 2. E ambas evoluem em conceitos.

BD tem focado no uso de SQLServer para mostrar os conceitos sobre Bancos de Dados. Não tenta mostrar as diferenças de um BD para outro.

Da mesma forma, Redes está usando um software da CISCO para mostrar os conceitos de Redes. Não está comparando esses equipamentos com os de outros fabricantes.

Penso que teríamos maior proveito se utilizássemos uma linguagem para compreender mais conceitos e técnicas de programação, em vez de vermos como 3 linguagens diferentes abordam meia dúzia de coisas, como muda a sintaxe de uma para outra.

Conheço diversas linguagens e isso é muito bom, e melhora ainda mais a cada nova linguagem. Isso é obrigação de quem quiser seguir carreira. Interesse.

Mas acho que no ambiente acadêmico aproveitaríamos se aprofundássemos em conceitos e técnicas do que ter introdução em várias linguagens.

Acho extremamente válido usar Ruby em Testes de Qualidade, PHP em Metodologias Ágeis e .Net em segurança por exemplo.

Note que são exemplos bobos, o que me refiro é que as cadeiras de programação 1,2,3 e 4 deveriam abordar continuidade de aprendizado em programação. Outras cadeiras podem puxar o uso de outras tecnologias. Poderíamos até ter cadeiras de 2 créditos específicas para outras linguagens e, em 1 semestre, poderíamos aprender .Net e Ruby.

O que acho ruim no modelo atual é não ter essa continuidade/evolução a qual me refiro, não a abordagem de diversas tecnologias.

Aprendí pouca coisa em duas cadeiras de Java e tenho agora uma cadeira de .Net. Vai ser relevante? Ou apenas introdutório?

Veremos threads? programação distribuída? design patterns?

Novamente, a idéia não é retirar linguagens do currículo, apenas questionar/repensar a distribuição delas em nossa formação. E como essa distribuição pode contribuir efetivamente para que nos tornemos bons desenvolvedores.


Att,

Luciano Costa
http://monttez.com
----- Mensagem Original -----
Data: Quinta, 22 De Outubro De 2009 17:31
Assunto: Re: [fuja-l] Linguagens de Programação na FACENSA

Daniel Wildt

unread,
Oct 24, 2009, 6:37:52 AM10/24/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
A de .net vai ser relevante.
E ela entende que você tem conhecimento de desenvolvimento web e
orientação a objetos. Os conhecimentos evoluem.

Concordo contigo que os projetos entre as disciplinas deveriam evoluir mais.

Exemplo: tratar de SOA, você fazer integração entre uma aplicação php
e uma java console, depois java com java web, conhecer como funciona
uma arquitetura java X .net X Rails, e por aí vai.

Meu entendimento é que as disciplinas devem fazer você pensar. Talvez
elas estejam falhando na questão de te desafiar.

Os grupos de estudo por sua vez tem como objetivo realizar, criar, e
complementar a continuidade das disciplinas em estudos mais avançados,
e muitas vezes básicos para os que não aproveitaram a disciplina.

Esta thread poderia evoluir na lista dos alunos. Vocês estão nela? A
discussão está bem legal.

Em 22/10/09, Luciano Costa<luc...@monttez.com> escreveu:

--
Enviado do meu celular

Guilherme Elias

unread,
Oct 24, 2009, 9:07:10 PM10/24/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
Bom, como os alunos "atuais" não interagem muito os "ex" ficam olhando para esta thread e refletindo justamente o que vocês comentaram até agora, e eu penso o seguinte:

- Concordo com o que o Luciano comentou, sobre a espectativa na evolucão do conhecimento a cada novo semestre ou com a evolucão em cadeiras como LP I, II, III, IV, redes e BD. 

Mas para mim o grande diferencial da FACENSA, foram dois fatores. 

O corpo docente, aonde em cadeiras como LP I, II e III alunos que até então não detinham grandes conhecimentos ou nenhum em linguagem alguma (meu caso), puderam desenvolver aplicações como um "E-commerce". Óbvio aplicações simples mas com basicamente todas as regras de negócio que um E-commerce de mercado ainda hoje possa usar.

E o mais importante, aprendendo na prática a importância de ter um método testado unitariamente ou então aprendendo determinados padrões, convenções, sendo influenciado a ter contato com o temido inglês o quanto antes possivel e ouvindo falar e praticar sem saber criando umas coisas malucas usado um tal de MVC, ainda em LP I e II.

Uma outra coisa que me veio em mente quando li o primeiro e-mail do Luciano, foi a disciplina de LP IV, aonde os alunos interessados, tiveram mais uma oportunidade de tocar um projeto real, revezando papeis de uma equipe de desenvolvimento,  levantando requisitos com pessoas que não conheciam (Projeto SPM), aujdando a projetar um sistema  baseado a padrões que já tinham deixado de serem "coisas malucas" e passado a serem sinônimos de conhecimento e qualidade.

Por fim, o segundo fator, esteve presente em todas estas experiências que comentei acima, nas que presenciamos até hoje nos grupos de estudos e que o Luciano continua cultivando ao inciar esta thread, a iniciativa. 

Pessoas interessadas, discutindo em listas, respondendo threads de e-mail expondo suas ideias, descordando, falando de projetos como o Class diary como fizeram Giovanni e Daniel W. esta semana, (detalhe, são professores).

Fica a dica de quem experimentou dela e colhe bons frutos até hoje. 

Guilherme E.





 

2009/10/24 Daniel Wildt <dwi...@gmail.com>



--


--


Abraço
Guilherme Elias
Msn suporte...@hotmail.com
http://guilhermeselias.blogspot.com/

GRUPOS DE ESTUDOS FACENSA
FUJA - Facensa Usuários Java - http://fuja.dev.java.net
FACENSA.Net - Célula academica - http://groups.google.com/group/FacensaNET
FUROR - Facensa Usuários Ruby On Rails - http://furor.dev.java.net
FUPHP - Facensa Usuários PHP - http://groups.google.com/group/FUPHP

Guilherme Elias

unread,
Oct 24, 2009, 9:23:46 PM10/24/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
Ahh esqueci ...

e basicamente, estes mesmos professores que me referi como o primeiro fator diferencial, hoje atuam também nas principais empresas de desenvolvimento, por tanto temos em tese os melhores profissionais da area como professores :-) 



2009/10/24 Guilherme Elias <deixa...@gmail.com>

Luciano Costa

unread,
Oct 25, 2009, 4:46:56 PM10/25/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
Escrevi para os grupos por não encontrar o email que o Daniel citou. Também para ter certeza de atingir as pessoas que estão realmente interessadas: as que participam dos Grupos de Estudo.

Os professores que assinam as listas, além do destaque profissional que o Guilherme citou, são também as cabeças que podem fazer acontecer na Facensa, são os caras a quem acho que devo (e posso) levar questões como esta. Pessoas que tem experiência e foco no aluno, o maior interessado pelo aproveitamento do tempo que estiver aqui. ROI.

Quanto a essa 'confusão' que disse que percebi nos colegas que estão começando, pode ter sido confusão minha! Por isso é importante que outras pessoas discutam e opinem, não só desta, mas também de outras discussões.

Levantei essa questão por achar que a coisa ainda pode melhorar, que há sempre espaço para um refactoring =).

A intenção é positiva: Mudar o mercado a partir da minha faculdade. A partir do meu quadrado. =)

Por falar nisso, não tivemos mais encontro dos Grupos, na última data que marcamos teve uma prova na Facensa. Pra quando pode ser a próxima?

Att,

Luciano Costa
http://monttez.com

----- Mensagem Original -----
De: Guilherme Elias <deixa...@gmail.com>
Para: fu...@googlegroups.com
Cc: fuj...@fuja.dev.java.net; us...@furor.dev.java.net
Data: Sábado, 24 De Outubro De 2009 22:23
Assunto: [FuPHP] Re: [fuja-l] Linguagens de Programação na FACENSA

Luciano Costa

unread,
Oct 25, 2009, 5:39:12 PM10/25/09
to fuj...@fuja.dev.java.net, us...@furor.dev.java.net, fu...@googlegroups.com
Daniel, comentando teus comentários: =)

> Exemplo: tratar de SOA, você fazer integração entre uma aplicação php
> e uma java console, depois java com java web, conhecer como funciona
> uma arquitetura java X .net X Rails, e por aí vai.

Aprender como faz a mesma coisa em todas essas linguagens não pode confundir e tomar muito tempo do entendimento sobre SOA? Não poderia ser mais produtivo aprender bem o conceito de distribuição usando uma ferramenta conhecida (linguagem) ? Por termos um tempo meio pouco, talvez fosse melhor ir direto ao ponto.

> Os grupos de estudo por sua vez tem como objetivo realizar, criar, e
> complementar a continuidade das disciplinas em estudos mais avançados,
> e muitas vezes básicos para os que não aproveitaram a disciplina.

Vejo os Grupos realizando SOA entre linguagens distintas. A troca de conhecimento entre os grupos para mixar linguagens diferentes sobre um mesmo conceito, aprendido em aula. Para isso, participar de mais um grupo é requisito. Interesse. As aplicações que produzimos nos grupos para uso da Faculdade poderiam convergir para esse conceito. Serviços de cadastro, consultas e outros poderiam ser centralizados, com diversas tecnologias interagindo.

Falar sobre isso tá me trazendo ainda outras visões.

Vejo que não estamos muito longe, falamos da mesma coisa, com pouca diferença na forma.
A grosso modo, vejo as linguagens como simples ferramentas para realizar um trabalho. E para saber a melhor ferramenta a usar, além de conhecer mais de uma, é preciso saber bem o resultado que se quer obter.

> Esta thread poderia evoluir na lista dos alunos. Vocês estão nela? A
> discussão está bem legal.

Estou mas não lembro o email e não está mais no meu histórico. Mandae!

Att,

Luciano Costa
http://monttez.com

----- Mensagem Original -----
De: Daniel Wildt <dwi...@gmail.com>
Para: fu...@googlegroups.com; fuj...@fuja.dev.java.net; us...@furor.dev.java.net
Data: Sábado, 24 De Outubro De 2009 07:37


Assunto: [FuPHP] Re: [fuja-l] Linguagens de Programação na FACENSA

>

Daniel Wildt

unread,
Oct 25, 2009, 8:05:33 PM10/25/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
Falei da integração como um exemplo, agora SOA permite você trabalhar
padrões de projeto de integração. O assunto vai muito mais longe.

http://martinfowler.com/articles/enterprisePatterns.html
http://www.eaipatterns.com/

Em linguagens 2, se pode trabalhar padrões de comunicação via
arquivos, transformar um arquivo CSV em um arquivo XML por exemplo,
assim se ensina como trabalhar com arquivos em Java e já introduz um
padrão de transformação.

Em linguagens 3 se pode usar padrão de Shared Database, já que é a
disciplina onde se ensina JDBC por exemplo.
Também em linguagens 3 se pode falar sobre EJB Message Driven Beans e
mostrar comunicação por filas.
Aqui também se pode mostrar uma comunicação XML/RPC mais simples como
Hessian. Ou até alguma coisa com JSON.

Aqui em linguagens 3 se pode introduzir o conceito de um Service Bus,
que como o Giovani falou vai acabar acontecendo.

Em linguagens 4 se pode trabalhar um padrão Publish / Subscribe entre
outros. Nela se pode mostrar WebServices por exemplo, mostrar como
usar MSMQ que é a tecnologia Microsoft para trabalhar com mensageria.

Em qualidade e Teste de software se pode mostrar como testar
aplicações SOA. Até já me deu uma idéia para daqui umas duas aulas.
Podemos usar o SOAP UI para testar um WebService por exemplo.

Enfim, não vai ter repetição. Tem evolução e cada vez situações mais complexas.

Regards,
Daniel Wildt
http://danielwildt.com

2009/10/25 Luciano Costa <luc...@monttez.com>:

Luciano Costa

unread,
Oct 26, 2009, 12:04:04 AM10/26/09
to fu...@googlegroups.com, fuj...@fuja.dev.java.net, us...@furor.dev.java.net
Sim, me apeguei ao exemplo pra sustentar uma idéia, mas entendi o teu ponto.


Mas enfim, meu ponto básico é: Nessas cadeiras evolutivas (LPI, II, III e IV) acho que teríamos maior proveito se trabalhássemos em uma mesma linguagem. Outras linguagens para outras cadeiras.


O único ponto que me refiro como repetição é pq o aluno tem que parar para aprender a sintaxe do "for" na nova linguagem, além de que a estrutura de construção de apps tbm muda de linguagem para linguagem. E isso toma tempo do aprendizado que deveria ser sobre conceito.


Como respondi ao Adamatti, estou satisfeito com o retorno do que invisto em formação na Facensa, meus emails não foram de reclamação (ao menos não deveriam ser). Aliás, o Adamatti foi um cara que lutou por algumas coisas que ajudaram a Faculdade a evoluir em certos aspectos, percebi isso quando entrei. E o ponto é esse, apresentar sugestões e idéias de melhoria em vez de resmungar pelos corredores quando as coisas não funcionam.


Vejo a Facensa melhorando a cada semestre, desde que entrei em 2007/2. Naquele tempo havia muita reclamação por parte dos alunos. Melhoramos muito e sei que vem mais coisa boa pela frente. Essa LPIII que apresentastes tá bem mais interessante que a que tive.


Daniel Wildt, Wilson Gavião e Marcelo Batista são meus professores de TI nesse semestre. Se eu for mal em alguma cadeira dessas é culpa minha por falhar na gerência do meu tempo de estudo. Para mim, não há o que questionar aqui.


Agora, idéias são idéias, e as minhas foram lançadas.. A torcida é livre! =)

Att,

Luciano Costa
http://monttez.com

----- Mensagem Original -----
De: Daniel Wildt <dwi...@gmail.com>
Para: fu...@googlegroups.com

Cc: fuj...@fuja.dev.java.net; us...@furor.dev.java.net
Data: Domingo, 25 De Outubro De 2009 21:05

Reply all
Reply to author
Forward
0 new messages