Uma linguagem de programação pode te tornar estúpido?

O grande veneno na minha opinião são os “ambientes de desenvolvimento rápido”.
É muito comum vermos as pessoas iniciando sua carreira neste tipo de ferramenta que, realmente, são produtivas, isto é um fato inegável, porém que se mostram ineficientes a partir de determinado nível de complexidade dos sistemas.

Normalmente, neste tipo de desenvolvedor, é criada uma ilusão tão grande de poder (que na realidade, apenas está mascarando a sua ineficiência) que este, muitas vezes por arrogancia mesmo, simplesmente ignora qualquer coisa que esteja fora deste ambiente.

Consequentemente, como já está com o sua cabeça cheia dos vícios e do modo de pensar da ferramenta a partir da qual estava já acostumado a trabalhar, acaba enfrentando uma dificuldade gigantesca ao tentar aprender qualquer outra tecnologia. Na realidade, neste momento, o sujeito percebe que não possui base alguma. Percebe que tudo aquilo que fez, foi feito com o trabalho de terceiros (componentes prontos incluidos em seus formulários, formulários compostos apenas por componentes lá incluídos, etc).

Já vi inúmeros casos de pessoas que simplesmente não conseguem sair destes ambientes. E, ao tentar mudar, acabam fazendo aquilo com o qual já estavam habituados a fazer nos mesmos. Por exemplo: conheci um sujeito que tentou criar uma série de templates de formulários em Java, igual fazia no Delphi, Logicamente, não deu certo. Resultado: passou a odiar Java profundamente. E até hoje só trabalha com Delphi, da mesma forma, com os mesmos sistemas, que na realidade não passam de CRUDS…

Para fins acadêmicos, um RAD é uma coisa sem sentido, já que o que vem em conta é lógica. Isso pode ser realmente um veneno mesmo. Mas até as faculdades de engenharia e ciência vem adotando isso. Muito complicado.

O limite não é a linguagem, é a educação.
E aqui “linguagem” está sendo usada para poder incluir Java , C e afins, quando na realidade as pessoas pensam com uma lingua.
A lingua é por definição mutável. se não fosse, não existiam neologismos.
Neologismos são a prova de que o ser humano pode avançar além da sua linguagem ( cojunto de simbolos) , criando novos simbolos e incluindo-os nela.

Mas como ele faz isso ? Simplesmente porque ele pensa. Mas pensar de uma forma “além do limite da linguagem” implica em uma educação extensa.

As linguagens de programação permitem a criação de novos simbolos, mas não de novos meta-simbolos. Por exemplo, classes eu crio quantas quiser, mas para criar o conceito de anotação é preciso mudar a estrutura interna da linguagem/plataforma

Isso não acontece em uma lingua normal (que não de programação). É por isso que é linguagem de programação e não lingua de programação…

Agora, o uso de IDE é outra historia. Acho que algumas pessoas acham que o IDE define a linguagem. ( tlv porque o VB fosse totalmente integrado e isso dava essa impressão). Então sim, o uso “errado” do IDE pode impedir a evolução da pessoa.
Mas isso e´uma problema de educação. Ninguem ensinou à pessoa / a pessoa não aprendeu diferente.

O problema é a educação, não a lingua nem a linguagem.

A prova é que tem muita gente capaz de alterar a JVM para incluir novas funcionalidades.

[quote=sergiotaborda]
A prova é que tem muita gente capaz de alterar a JVM para incluir novas funcionalidades. [/quote]

Mas para alterar uma máquina virtual não é preciso dominar nenhuma linguagem de programação, e sim ter conhecimento de processadores e microcontroladores.

Não diria “estúpido”, mas limitado. Acho que conhecer apenas uma linguagem ou tecnologia limita bastante o desenvolvimento profissional. :wink:

[quote=juliocbq][quote=sergiotaborda]
A prova é que tem muita gente capaz de alterar a JVM para incluir novas funcionalidades. [/quote]

Mas para alterar uma máquina virtual não é preciso dominar nenhuma linguagem de programação, e sim ter conhecimento de processadores e microcontroladores.[/quote]

Hummm… a máquina é programa sem linguagem de programação ?!

Que eu saiba a JVM é feita em C++.
De qualquer forma o que eu quis dizer é que para alterar JVM vc não usa Java. ( se usasse java , ele não seria limitado)

Não…quis dizer que uma pessoa tem que ter mais conhecimento nos fundamentos matemáticos do que em liguagem de programação. Se a pessoa domina álgebra, programa em qlqr linguagem. Mas peço desculpas, prq realmente não havia entendido o que você havia postado.

[quote=sergiotaborda]As linguagens de programação permitem a criação de novos simbolos, mas não de novos meta-simbolos. Por exemplo, classes eu crio quantas quiser, mas para criar o conceito de anotação é preciso mudar a estrutura interna da linguagem/plataforma

Isso não acontece em uma lingua normal (que não de programação). É por isso que é linguagem de programação e não lingua de programação…[/quote]

Você quer dizer “linguagens mainstream”. Linguagens baseadas no Lisp permitem criar coisas totalmente novas. É possível, por exemplo, até customizar o reader que vai ler o código e transformá-lo em um grafo para ser interpretado.

Informação e educação.

“A educação não presumi que você terá habilidades intelectuais, mas com a mesma você pode ser uma pessoa bem instruída, logo a informação é associada ao intelectual que sabe usufruí-la”.

“Intelectuais tendem a serem pessoas mais egoístas e prepotentes, mas isso também não é regra”

programar em qualquer linguagem não é o problema, o problema é programar de qualquer jeito em qualquer linguagem, ou programar de um unico modo em qualquer linguagem. Eu reformularia sua frase para

“Quem domina métodos formais e teoria de linguagens de programação é sim capaz de aprender corretamente qualquer linguagem de alto nível”

Para hardwares e processadores, dominar eletrônica digital, linguagens de descrição de hardware ou algo tipo matlab + simulink já tá de bom tamanho :wink:

T+

Para “criar” tecnologia, fundamentos físicos e matemáticos são essenciais. Eu entendo que metodologia é muito importante para um produto final. Mas o ato de programar bem não depende disso, depende de resolução de problemas, e isso só o domínio de algoritmos pode dar.

hahahah a unica coisa que eu sei de matematica eh quanto eh 2 + 2 e consigo aprender qualquer linguagem, pra mim linguagem nao eh problema porque basicamente eh a mesma coisa. Com certeza o mais dificil eh entender do negocio, isso sim eh dificil.
Nao to falando que matematica nao seja importante, eu acho que muito importante no sentido que desenvolve o raciocinio logico. Mas isso nao faz ng um bom programador, tanto que na minha facul mesmo tinha gente que tirava 10 em calculo 1, 2, estatisca, etc etc e vivia pegando DP em materias mais tecnicas. :slight_smile:

//Daniel

Entendi…mas álgebra booleana não é cálculo. É ela que te faz usar a linguagem para resolver seus problemas(A lógica da programação ;]).

  • algoritmo é o que então ? não pode se a semelhar-se a uma equação !!!, qual a diferença, sobre uma expressão matematica

[quote=Marcio Duran]

  • algoritmo é o que então ? não pode se a semelhar-se a uma equação !!!, qual a diferença, sobre uma expressão matematica[/quote]

Álgebra é lógica de conjuntos, não usa equação de primeiro nem de segundo grau. A booleana, claro

[quote=Thiagosc][quote=sergiotaborda]As linguagens de programação permitem a criação de novos simbolos, mas não de novos meta-simbolos. Por exemplo, classes eu crio quantas quiser, mas para criar o conceito de anotação é preciso mudar a estrutura interna da linguagem/plataforma

Isso não acontece em uma lingua normal (que não de programação). É por isso que é linguagem de programação e não lingua de programação…[/quote]

Você quer dizer “linguagens mainstream”. Linguagens baseadas no Lisp permitem criar coisas totalmente novas. É possível, por exemplo, até customizar o reader que vai ler o código e transformá-lo em um grafo para ser interpretado.[/quote]

Não conheço muito de Lisp, mas pelo que sei ele usa o paradigma funcional baseado em funções lambda.
Pode modificar a formar como o código é definido (sintax) ? pode adicionar annotations ,por exemplo ?
Ou seja, mudar a linguagem em si ? Acho que não…

Costumizar o reader é modificar algo que já existe. A questão é , consegue fazer criando algo novo ?

[quote=juliocbq]

Álgebra é lógica de conjuntos, não usa equação de primeiro nem de segundo grau. A booleana, claro[/quote]

O termo “aritmética” é também utilizado para se referir a teoria dos números, algoritmo não deixa de fazer parte disso, em relação a Booleana posso vincular algoritmo de busca.

Detalhe interessante:Stephen Cole Kleene, que desenvolveu as expressões regulares como uma notação ao que ele chamava de álgebra de conjuntos regulares, o que serviu de base para os primeiros algoritmos computacionais de busca, e depois para algumas das mais antigas ferramentas de tratamento de texto da plataforma Unix.
[size=18]
Fonte:
[/size]

Ninguém disse que não se pode utilizar algoritmos para resolver equações. Quero dizer, que expressões regulares e teoria de conjuntos não são cálculo, são a base da resolução de problemas computacionais(Já para o mundo real usa-se, ao invés da booleana, a fuzzy).

[quote=sergiotaborda]Não conheço muito de Lisp, mas pelo que sei ele usa o paradigma funcional baseado em funções lambda.
Pode modificar a formar como o código é definido (sintax) ? pode adicionar annotations ,por exemplo ?
Ou seja, mudar a linguagem em si ? Acho que não…

Costumizar o reader é modificar algo que já existe. A questão é , consegue fazer criando algo novo ?[/quote]

Sim, pode. É por isso que Lisp humilha qualquer linguagem de programação. O Lisp vai muito além de lambdas.

[quote=Marcio Duran][quote=juliocbq]

Álgebra é lógica de conjuntos, não usa equação de primeiro nem de segundo grau. A booleana, claro[/quote]

O termo “aritmética” é também utilizado para se referir a teoria dos números, algoritmo não deixa de fazer parte disso, em relação a Booleana posso vincular algoritmo de busca.

Detalhe interessante:Stephen Cole Kleene, que desenvolveu as expressões regulares como uma notação ao que ele chamava de álgebra de conjuntos regulares, o que serviu de base para os primeiros algoritmos computacionais de busca, e depois para algumas das mais antigas ferramentas de tratamento de texto da plataforma Unix.
[size=18]
Fonte:
[/size]
http://pt.wikipedia.org/wiki/Expressão_regular[/quote]

o MC duran aprendeu a citar as fontes…
parabens duran…