Faculdades e compiladores  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Thiagosc
GUJ Master

Membro desde: 27/04/2006 21:01:27
Mensagens: 1134
Offline

Vocês acham que a qualidade dos profissionais aumentaria dramaticamente se as faculdades tivessem uma disciplina somente para compiladores? Geralmente isso é visto em pós-graduação, mas acredito que isso é essencial para qualquer um. Talvez assim existisse menos idéias erradas com linguagens, pois as pessoas entenderiam como aquele texto é transformado em bytes.

Existe uma diferença entre entender o que é uma closure e como funciona uma closure. Quando você sabe como funciona é possível ter uma idéia muito melhor a respeito do valor de determinadas features e entender seus custos, seja em termos de tempo de CPU ou de desenvolvedor.

moacirjava
Virtual Machine Man
[Avatar]

Membro desde: 11/01/2008 11:31:08
Mensagens: 658
Localização: Minas Gerais
Offline

Thiagosc wrote:Vocês acham que a qualidade dos profissionais aumentaria dramaticamente se as faculdades tivessem uma disciplina somente para compiladores? Geralmente isso é visto em pós-graduação, mas acredito que isso é essencial para qualquer um. Talvez assim existisse menos idéias erradas com linguagens, pois as pessoas entenderiam como aquele texto é transformado em bytes.

Existe uma diferença entre entender o que é uma closure e como funciona uma closure. Quando você sabe como funciona é possível ter uma idéia muito melhor a respeito do valor de determinadas features e entender seus custos, seja em termos de tempo de CPU ou de desenvolvedor.



Na faculdade onde me formei tive essa matéria. Meu professor era um cara altamente qualificado, mas a matéria em sim é bem difícil e não me agregou muita coisa.

"Para conseguir algo que você nunca teve, precisa fazer algo que nunca fez."

Analista de Sistemas.
SCJP 5


davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Thiagosc wrote:Vocês acham que a qualidade dos profissionais aumentaria dramaticamente se as faculdades tivessem uma disciplina somente para compiladores? Geralmente isso é visto em pós-graduação, mas acredito que isso é essencial para qualquer um. Talvez assim existisse menos idéias erradas com linguagens, pois as pessoas entenderiam como aquele texto é transformado em bytes.

Existe uma diferença entre entender o que é uma closure e como funciona uma closure. Quando você sabe como funciona é possível ter uma idéia muito melhor a respeito do valor de determinadas features e entender seus custos, seja em termos de tempo de CPU ou de desenvolvedor.


Bem Thiago, depende do curso que você faz. Em Ciência da Computação normalmente existe uma disciplina de compiladores. Uma teória e uma de laboratório. Entretando, em Sistemas de Informação isso normalmente não acontece, pois como um compilador funciona, teoricamente, não é problema de um analista de sistemas.
Outra coisa, não se iluda que você vai aprender como um closure funciona. Uma disciplina de compiladores vai tratar de aspectos mais formais e ser um pouco mais alto nível. No laboratório vc faz algo que funciona e que gera código, mas não vai aprender como funciona tudo.

Eu sinceramente não concordo quando vc diz que entender como funciona uma closure é melhor que saber o que é uma closure (ou qualquer outra funcionalidade da linguagem). Um desenvolvedor não tem que se preocupar necessariamente como as coisas funcionam dentro da plataforma que usa. Tem que se preocupar que funcionam e pronto e como usar. É claro, se vc precisa de algo com um comportamento muito diferente, vc vai precisar ir mais a fundo, mas de modo geral isso é perda de tempo.

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
moacirjava
Virtual Machine Man
[Avatar]

Membro desde: 11/01/2008 11:31:08
Mensagens: 658
Localização: Minas Gerais
Offline

Essa talvez seja a principal diferença da Ciência da Computação para o Sistema de Informação.

Ciência estuda a teoria e "como as coisas funcionam".
Sistemas estuda como se usa.

Me corrijam se estiver errado.

"Para conseguir algo que você nunca teve, precisa fazer algo que nunca fez."

Analista de Sistemas.
SCJP 5


marcosalex
GUJ Expert
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline

A diferença teoricamente é por aí mesmo.

Mas lembre que os nomes de cursos não necessariamente são condizentes com o conteúdo que eles ensinam, já que não tem uma regulamentação clara do que cada curso deveria ensinar.


[Yahoo!] aim icon [ICQ]
furutani
JWizard
[Avatar]

Membro desde: 11/10/2003 23:58:51
Mensagens: 2995
Localização: Iacri-SP e São Paulo-SP
Offline

Eu fiz ciencia da computação e tive a matéria de compiladores. Muito interessante diga-se de passagem.

Até mais,
Roberto Jundi Furutani


Sun Certified Business Component Developer 1.3
Sun Certified Web Component Developer
Sun Certified Java Programmer
SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0

[WWW]
MarcioTavares
Virtual Machine Man
[Avatar]

Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline

furutani wrote:Eu fiz ciencia da computação e tive a matéria de compiladores. Muito interessante diga-se de passagem.

++

No caso da minha faculdade a matéria não foi muito a fundo, mas mais por falta de interesse da grande maioria dos alunos (e de conhecimento também) do que por outra coisa. Mas é um dos assuntos que eu mais gosto, tanto que acabei comprando dois livros referentes ao assunto depois do término da cadeira.

No mais, concordo com o David Buzatto.

This message was edited 1 time. Last update was at 26/12/2009 22:10:08


- Galera do RJ precisa prestigiar os eventos de Java!!

- Sou a favor da extinção do Cobol da face da Terra!
[Email] [MSN]
renamed
GUJ Ranger

Membro desde: 21/09/2009 08:47:57
Mensagens: 889
Localização: Rio de Janeiro
Offline

Eu acho que não.

flw!
===========================

CV: http://lattes.cnpq.br/7235056457600426
[MSN]
abilio
JavaTeenager
[Avatar]

Membro desde: 13/11/2002 13:44:25
Mensagens: 182
Localização: Rio de Janeiro
Offline

moacirjava wrote:Essa talvez seja a principal diferença da Ciência da Computação para o Sistema de Informação.

Ciência estuda a teoria e "como as coisas funcionam".
Sistemas estuda como se usa.

Me corrijam se estiver errado.


Ta teoria você está correto. Na pratica, grandes parte das faculdade ensinam as mesmas materias para os alunos em ambos os cursos, e lá mais pro final, põe algumas mais especificas.
Thiagosc
GUJ Master

Membro desde: 27/04/2006 21:01:27
Mensagens: 1134
Offline

davidbuzatto wrote:Eu sinceramente não concordo quando vc diz que entender como funciona uma closure é melhor que saber o que é uma closure (ou qualquer outra funcionalidade da linguagem). Um desenvolvedor não tem que se preocupar necessariamente como as coisas funcionam dentro da plataforma que usa. Tem que se preocupar que funcionam e pronto e como usar. É claro, se vc precisa de algo com um comportamento muito diferente, vc vai precisar ir mais a fundo, mas de modo geral isso é perda de tempo.


Se as pessoas soubessem como algo funciona não existiriam discussões de qual linguagem é a melhor por exemplo, pois elas entenderiam o que uma feature acarreta e saberiam que existem n outras linguagens que implementam aquela feature.
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

OK Thiago. Se eu falar A vc vai falar B mesmo. Imagine um carro. Se ele tem ar condicionado, vc precisa saber com ele funciona? Vc precisa saber que tem o ar e como usá-lo. Enfim, não vou discutir.
Espero que esse tópico não vire um flamewar (como alguns outros dos seus tópicos).

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
Thiagosc
GUJ Master

Membro desde: 27/04/2006 21:01:27
Mensagens: 1134
Offline

Desenvolvedores não são motoristas e precisam saber como as coisas funcionam. Uma linguagem de programação é muito mais importante do que um simples acessório, afinal de contas não é necessário ar-condicionado para um carro funcionar.

Interessante é que alguns fazem piada dos desenvolvedores de VB, como se eles só arrastassem e soltassem botões, mas e vocês? Vocês realmente sabem algo além dos javadocs? Não seria isso uma forma de VBizar o desenvolvimento de software?

Quem não conhece compiladores não é melhor do que um desenvolvedor VB.
lavh
GUJ Master

Membro desde: 30/07/2006 16:09:55
Mensagens: 1311
Offline

davidbuzatto wrote:OK Thiago. Se eu falar A vc vai falar B mesmo. Imagine um carro. Se ele tem ar condicionado, vc precisa saber com ele funciona? Vc precisa saber que tem o ar e como usá-lo. Enfim, não vou discutir.
Espero que esse tópico não vire um flamewar (como alguns outros dos seus tópicos).

[]´s


Tb não quero criar um flamewar, mas não gosto de exemplos deste tipo q vc deu!

Ser programador nada tem a ver com ter carros ou qlq coisa do tipo!

É por achar que basta um conhecimento superficial das coisas que cada dia mais nossa profissão entra em descrédito e querem pagar cada vez menos.

É claro que não precisa chegar ao extremo de escovar bits e conhecer Assembly por exemplo, mas quanto mais profundo for o conhecimento de um programador melhor, e teoria de compiladores é o mínimo que um bom programador precisa saber.

Do jeito que a coisa tá indo daqui a pouco vão falar: "Programador não precisa conhecer Estrutura de Dados não", se é que já não falaram.

Olhem os livros que o pcalcado lê por exemplo e veja se são livros de quem se contenta em saber apenas usar alguma coisa: http://www.flickr.com/photos/pcalcado/3704263002
marcosalex
GUJ Expert
[Avatar]

Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline

lavh wrote:
Ser programador nada tem a ver com ter carros ou qlq coisa do tipo!

É por achar que basta um conhecimento superficial das coisas que cada dia mais nossa profissão entra em descrédito e querem pagar cada vez menos.

É claro que não precisa chegar ao extremo de escovar bits e conhecer Assembly por exemplo, mas quanto mais profundo for o conhecimento de um programador melhor, e teoria de compiladores é o mínimo que um bom programador precisa saber.

Do jeito que a coisa tá indo daqui a pouco vão falar: "Programador não precisa conhecer Estrutura de Dados não", se é que já não falaram.



São dois mercados distintos, e os dois precisam de gente. Se alguem quiser alguma coisa simples, ou pouco mais que um CRUD não é necessário que o cara conheça Estrutura de Dados e é saudável que tenha ferramentas like VB, Delphi ou até Access pra esse público. São pessoas que podem cobrar até 200 reais pra fazer um 'sisteminha', isso não afeta o mercado de desenvolvedores.

Defender que até pra coisas simples seja necessário um profissional capacitado é o que faz os desenvolvedores Java terem essa fama de querer fazer tudo na mão e não gostar de nada prático.


O outro mercado é o de aplicações Enterprise, que a pessoa precisa ter realmente conhecimento técnico e área em que a grande maioria daqui trabalha, por isso nem precisa explicar.


[Yahoo!] aim icon [ICQ]
renamed
GUJ Ranger

Membro desde: 21/09/2009 08:47:57
Mensagens: 889
Localização: Rio de Janeiro
Offline

Lembrem-se que programar não se resume a compilação.

Se seguirmos essa teoria, toda vez que quiséssemos persistir nossos dados em uma base de dados, deveríamos ter que estudar mais a fundo o SGBD, como ele se encarrega de arrumar seus índices, seu dicionário de dados, qual a forma mais eficiente de se criar uma procedure e uma trigger...

Lembrando também que há a fase de modelagem. Portanto, deveríamos estudar a fundo o desenvolvimento da UML, bem como os Diagrama de Sequencia, Diagrama de Classe, Diagrama de Casos de Uso, Diagrama de Estado, Diagrama de Comunicação etc...

Além disso, devemos testar nosso software. Portanto, devemos estudar a fundo como criar criar massas de testes automatizadas com eficiência.

Ah, e se quiséssemos que nossa aplicação acessasse a rede, deveríamos estudar a fundo os procolos utilizados, bem como a topologia da rede.
Sem falar que a comunicação entre computadores se baseia em conceitos matemáticos como a lei da refração (fibras óticas) e Serie de Fourrier.

Com isso, a faculdade de informática não só demoraria mais tempo, como criaria um profissional utópico, que saberia tudo de tudo e não direcionado a uma área específica da informática, como o mercado exige.

flw!
===========================

CV: http://lattes.cnpq.br/7235056457600426
[MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team