[Cascavel-pm] Ensinar Perl na Faculdade [Was: EXPLICAÇÃO SOBRE: PUSH, SPLIT e FOREACH.]

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Junho 21 08:07:33 PDT 2007


On Jun 21, 2007, at 3:31 PM, Adriano Ferreira wrote:
> Como o Eden, também não acho que começar a ver programação através  
> de linguagens como C seja o melhor. Mas:
>
> * Haskell é muito matemático

   Claro, computação == Matemática (cálculo, álgebra) à Jato

> * LISP tem parentêses demais

   Você nunca nem olhou para LISP, está na cara... ;-P

> * Prolog é extremamente difícil de se usar na prática - acho que  
> pode até ser uma boa embutido em uma aplicação maior - mas de  
> resto, algumas coisas práticas como IO e outras deixam muito a desejar

   "Coisas práticas" que não precisam ser exibidas a um iniciante.
   Mas se pode aprender bastante sobre lógica e recursividade, e isso  
é importante.

> Acho que é uma boa idéia começar com uma linguagem de alto nível  
> que esconda as baboseiras do iniciante. Entre as baboseiras, temos  
> 'memory management', estruturas de dados básicas, etc.

  Sim, claro. E aí a gente cria "Java Monkeys" como montes que  
existem por aí, que simplesmente não conseguem enunciar um problema  
recursivo claramente, e não são capazes de gerir a memória das suas  
aplicações, quem dirá projetar aplicações.

> Eu disse que Perl pode ser uma opção -- mas isto depende muito da  
> gentileza do professor -- se for um ogro como os nossos de plantão,  
> eles vão fazer este pessoal correr sem olhar para trás, com os  
> olhos sangrando com referências, globs, stashes, detalhes de  
> implementação de objetos, e outras coisas escabrosas. Se não  
> tiverem espírito combativo, provavelmente nunca vão voltar.

   A idéia básica é "separar o Joio do Trigo": a gente bate em todo  
mundo, e quem bater de volta, é bom.
   Se a gente não espremer os alunos no começo, como vamos ter bons  
profissionais no final da linha? O ambiente "macio" não serve como  
preparação para a vida profissional. Ainda mais num ramo competitivo  
como IT.

> Com uma linguagem de alto nível, o iniciante pode fazer mais e  
> continuar motivado por mais tempo. Ele pode apanhar menos ou pelo  
> menos apanhar de coisas que façam sentido para ele, diferente de  
> segfaults e bichos parecidos. É mais produtivo, mais divertido e  
> recompensador.

   Não vai ser divertido no começo, mas os caras tem de aprender  
depressa a enunciar problemas recursivamente, a gerir threads e  
processos, a fazer manipulações de ponteiros e a compreender como  
funciona a estrutura interna de um computador moderno. Os caras que  
não sabem isso, ou estudam muito por fora (e vão aprender), ou vão  
viver de construir programas Java diagramados em UML (por que os  
caras não conseguem entender nada que não estiver desenhado).

   Eu gosto de bater em Java, mas você pode substituir por  
VisualBasic, Delphi, ou qualquer outra merda da M$, que dá o mesmo  
resultado.

   Aí tem os meus 0.02 ;-)
   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




Mais detalhes sobre a lista de discussão Cascavel-pm