Conhecer mais de uma linguagem, alguma vantagem nisso?Qual?

[quote=Danúzio Oliveira] No pouco que tenho lido a respeito estou chegando a conclusão que; no que diz respeito a linguagem de programação, a mesma não difere me muito de futebol! Ou seja; cada qual tem uma preferência, e obviamente motivos para isto. Na verdade quero ter uma base sólida, e para isso entendo que não devo queimar etapas.
[/quote]

É isso ai.

  1. Se vc pode fazer um curso superior faça. Saber não ocupa lugar.
  2. Saber programar não é saber uma linguagem de programação. É saber as regras, as logicas, os algoritmos, etc…
    Em tese vc pode aprender a programar sem nunca usar um computador. Claro que se fizer isso não terá utilidade nenhuma. ( Quer dizer, tem alguma. Turing desenhou um monte de algoritmos e não tinha computador)
  3. Uma linguagem de programação compoe-se de duas coisas : sintaxe e biblioteca ( tb chamada API)
    Vc pode conhecer a sintaxe de muitas linguagens já que todas seguem um padrão ± simples, mas conhecer as bibliotecas não é tão simples assim. A API do java é muito grande e conhecer todos os detalhes não é simples. Veja que a maioria dos novatos usa Arrays em java quando deveria usar o Collections Framework. Isso se deve ao desconhecimento da biblioteca ( e à falta de pesquisar para saber, em primeiro lugar , que precisa saber essa biblioteca).

Então, ser um bom programador tem a ver com saber programar em abstracto. Com a criação de algoritmos.
Se um programador eficiente tem a ver com conhecer a linguagem: a sintaxe e a biblioteca.

O numero de linguagens que vc conhece é inversamente proporcional à profundidade com que conhece as bibliotecas. Ou seja, sendo que vc saiba programar vc programa em qq linguagem, basta saber a sintaxe.
Mas o tipo de algoritmos que vc desenvolve são ser muito crus, muito ineficientes se vc não conhece a biblioteca que vem com a linguagem. Linguagens com maiores bibliotecas são mais utilizadas em desenvolvimento enpresarial sobretudo devido à padronização. Linguagens com sintaxes ou bibliotecas mais especificas são usadas em campos mais específicos. Vc pode aprender a programa em Assembler mas isso não vai ajudar vc a criar aplicações web de forma eficiente. Vc pode aprender Groovy e faz aplicações web em um dia, mas de nada lhe serve isso para programar microcontroladores.
Enfim, cada objetivo tem a sua linguagem e a sua biblioteca, mas as noções de programação são sempre as mesmas: variável, função, controle de fluxo , input/output , etc…

Existe vantagem em conhecer mais do que uma linguagem ?
Do ponto de vista técnico sim. Isso lhe permite um maior conhecimento do assunto.
Do ponto de vista prático: vc tem mais ferramentas, mas tb tem mais coisas com que se confundir. Vai depender de si, da sua personalidade e da area em que quer trabalhar.
Quer baixo-nivel ? Aprenda Assembler ou C. Cientifico ? use Fortran ou Java. RAD ? C#.NET ou VB.NET
Multiplataforma ? Java nos seus vários sabores. Quer Web ? .NET , Java , Groovy ou Ruby. Script ? Groovy, lua, JavaScript , etc… Quer perder tempo ? Delphi pre .NET e VB pre .NET e outras pre Java e pre .NET como Foxpro, Clipper, etc…

[quote]Então, ser um bom programador tem a ver com saber programar em abstracto. Com a criação de algoritmos.
Se um programador eficiente tem a ver com conhecer a linguagem: a sintaxe e a biblioteca. [/quote]

Já comecei a ler alguma coisa a respeito, não necessariamente da linguagem Java, mas a respeito de lógica e algorítmo. Ler quase tudo aqui no fórum era como ver escritas de tribos bárbaras/exóticas/alienígenas. Depois que comecei a ler alguns tutoriais já identifico uma ou outra coisa, é como aprender as vogais de um alfabeto, mas acredito que chego lá. Passei um tempo pensando se era isso mesmo que queria. Relutei um pouco mas decidi que sim não somente pelos boatos de o mercado off shore estar chegando ao Brasil mais precisamente no Nordeste, mas também por entender que a área de informática difere em muito de outras áreas no sentido de local de trabalho, ou seja; onde estiver um computador posso realizar minhas tarefas, se estiver doente mas tenho meu pc em casa posso ficar em casa e adiantar algo etc ( não sei se essa é uma realidade, falo como leigo). Comprei alguns livros :

 Algoritmos: Lógica para Desenvolvimento de Programação de Computadores Cód. do Produto: 128762 

JAYR F.DE OLIVEIRA JOSE AUGUSTO NAVARRO GARCIA MANZANO

 Como Programar Cód. do Produto: 172326 

PAUL J. DEITEL DAVID C. MCPHIE HARVEY M. DEITEL

Conceitos de Linguagens de Programação Cód. do Produto: 198485
ROBERT W. SEBESTA

Use a cabeça Java 

Kathy Sierra

… Estou esperando os mesmos chegarem ,provavelmente no início da semana que vem, e acho q pelo muito pouco que já li pretendo entender mais sobre lógica e algorítmo para só então entrar na linguagem. É isso mesmo? Abraço a todos e feli festas de final de ano.

Oi, tudo bom?

Você perguntou ali sobre trabalhar em casa. Sim, isso existe. Na verdade muitos gerentes de empresas grandes (HP, Dell e não se de computação) trabalham pelo em casa as vezes. Saiu uma reportagem na VEJA sobre isso (ou IstoÉ). Isso daí é chamado de Home Office (eu acho), mas a disciplina deve ser realmente muito boa.

Sobre os livros que você comprou, eu conheço do Deitel & Deitel e da Kathy Sierra & Barth Bates e posso dizer que, para Java, são os melhores. Aliás, o do Deitel não sei falar, mas pra C++ e Java nunca vi um tão bom (pra mim ganha até do Bjarne Strousput).

É um bom presente de Natal pra você mesmo cara :slight_smile:

Sobre as dúvidas, fique tranquilo porque muitas dúvidas vão surgir, MUITAS. Mas não espere que o GUJ responda pra você. Antes, procure na Internet. Só quando a dúvida for muito específica.

Abraço.

Vc só precisa de entender um livro de algoritmos pra se achar o bonzão na minha opnião, ele abrange coisas como tempo de execução de algoritmos e etc…

A versão em inglês chama “Introduction to Algorithms”(não se engane pelo nome, é a coisa mais avançada que vc pode aprender de algoritmos

A versão em português é um livro com uma capa vermelha e preta, chamado Algoritmos.

Nome dos autores: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Revest, Clifford Strein.

Ele é um livro que é usado em faculdades de renome como M.I.T, etc… É necessário ter uma boa base de matemática, conhecer estatística e afins.

É claro que algoritmos é só uma parte da programação, há coisas como conceitos OOP etc… mas com ctza com uma base boa de algoritmos, resolver problemas, projetar soluções ou até aprender uma nova linguagem é bem mais fácil!

Acho que a questão hj em dia nem é estudar várias linguagens e sim ter uma base boa em algoritmos, conhecer bem os conceitos de programação atuais e saber bem alguma linguagem. Ficar sempre de olho e tentar programar em coisas “novas” que usam a base em tecnologias já criadas como ajax, ror etc, ajuda a profundar o conhecimento.

concordo com vc!! para que o cara programar tipo: java,php, asp, etc?

acho que o profissional de TI (e outras areas tb) tem q ser como um Camaleão… sempre apto a mudanças… hj verde, amanha azul, etc… por exemplo um analista de sistema que é resistente a uma nova tecnologia imagine o problema ai?Entao com uma boa base em logica de programacao aprende qualquer coisa… e outra tem que ter visao de mercado na area comercial e tecnologica também isso influencia diretamente no conhecimento do profissional…

flw! Feliz natal a todos gujeiros :smiley: hohohoho!

[quote=lgweb][quote]
Mais vai abrir uma de Delphi intermediário agora em Dezembro e logo após uma de Delphi avançado. Penso em entrar em ambas para não perder tempo
[/quote]

Amigo fuja do delphi esta maldita linguagem so vai te trazer vicios inuteis que por si só vão te fazer perder mto tempo qdo for aprender uma linguagem de verdade procure aprender c,c# … que vai te trazer mtos beneficios futuramemte
t+[/quote]

Meu amigo, sem querer iniciar uma discussão, mas vejo muita gente metendo o pau no Delphi. Cara, no Delphi dá pra fazer tudo e OO. Dá para, inclusive, programar WEB. Não consigo entender pq metem o pau na IDE e no Object Pascal.

Com as pessoas codificando da maneira correta, utilizando bem os conceitos de OO, a manutenção fica muito fácil. E é muito fácil aplicar até os Design Patterns.

Acho que esse ódio todo só pode vir de “arrastadores de componentes”. Estes não aprenderam conceitos de OO (não podendo utilizar nem no Java), UML, Design Patterns, etc.

Os vícios acontecem em qualquer linguagem e depende muito mais da experiência e competência do programador do que de uma linguagem ou IDE específicas.

Sabia que o Delphi tbm possui testes unitários? Assim, até a XP pode (e deve) ser aplicada.

O Delphi é uma IDE muito poderosa e a resistência aqui só pode ser PRÉ-conceito de pessoas que desconhecem a IDE e a linguagem e PRECIPITADAMENTE, metem o pau “por terem ouvido o galo cantar e não sabe onde”.

Se informem antes de criticar.

Abraços

[quote=celso.martins][quote=lgweb][quote]
Mais vai abrir uma de Delphi intermediário agora em Dezembro e logo após uma de Delphi avançado. Penso em entrar em ambas para não perder tempo
[/quote]

Amigo fuja do delphi esta maldita linguagem so vai te trazer vicios inuteis que por si só vão te fazer perder mto tempo qdo for aprender uma linguagem de verdade procure aprender c,c# … que vai te trazer mtos beneficios futuramemte
t+[/quote]

Meu amigo, sem querer iniciar uma discussão, mas vejo muita gente metendo o pau no Delphi. Cara, no Delphi dá pra fazer tudo e OO. Dá para, inclusive, programar WEB. Não consigo entender pq metem o pau na IDE e no Object Pascal.

Com as pessoas codificando da maneira correta, utilizando bem os conceitos de OO, a manutenção fica muito fácil. E é muito fácil aplicar até os Design Patterns.

Acho que esse ódio todo só pode vir de “arrastadores de componentes”. Estes não aprenderam conceitos de OO (não podendo utilizar nem no Java), UML, Design Patterns, etc.

Os vícios acontecem em qualquer linguagem e depende muito mais da experiência e competência do programador do que de uma linguagem ou IDE específicas.

Sabia que o Delphi tbm possui testes unitários? Assim, até a XP pode (e deve) ser aplicada.

O Delphi é uma IDE muito poderosa e a resistência aqui só pode ser PRÉ-conceito de pessoas que desconhecem a IDE e a linguagem e PRECIPITADAMENTE, metem o pau “por terem ouvido o galo cantar e não sabe onde”.

Se informem antes de criticar.

Abraços[/quote]

Vejo a mesma coisa. Não quero defender Delphi porque nunca programei no mesmo, só em Pascal estruturado… mas mesmo sem conhecer a linguagem, já consigo ter uma imagem ruim da mesma. E isso não é só do GUJ cara… em todos os fóruns que frequentei, muitas pessoas são anti-Delphi. Eu só acredito que, hoje, TUDO possa ser feito em Java, C++ e RoR. Pelo jeito, Delphi está virando passado e é pra programadores com um nível mais baixo (é o que eu consigo entender dos posts e do “tom” que as pessoas falam da linguagem).

Se vc conhecer Java e .NET, não vai faltar emprego…

Hj ou a vaga de programador é para .NET ou Java, estou vendo que na apinfo .NET ganha