Evolução das Linguagens de Programação

Rikazzold

Power Member
Boas a todos.
Gostava que me esclarecessem algumas dúvidas acerca de evoluções e actualizações das linguagens de programação.
Por exemplo, em visual basic temos o visual basic 2005 express, o visual basic 6, e agora lançaram o visual studio 2008 que contém o visual basic 2008 express.
O que eu quero dizer com isto é que, eu aprendo a trabalhar no Visual basic 6, ou leio uns tutoriais e aprendo a funcionar de uma forma razoável com o visual basic 6. Mas achei curioso o 2008 e então experimentei. Então temos:
Visual Basic 6:
Criamos um botão, uma textbox e uma label.
O que eu pretendo é quando clicar no botão, o texto inserido na textbox deverá aparecer na label.

Private Sub Command1_Click()
Label1.Caption = Text1
End Sub

E está a funcionar.

Agora passo para o Visual Basic 2008 e o que se passa é que o Caption já nao existe como código. Desta forma levame a pensar, então eu aprendi uma linguagem de programação? Ou aprendi a mexer num programa?

Tive a ler uns tutoriais de C# e levou-me a concluir exactamente a mesma coisa...

No C++.. tenho um livro que ensina o básico, mas testado nos compiladores Borldand C++ e Visual C++ salvo erro... Entretanto eu arranjei o Dev c++ que é free.. e dá erro em certos códigos básicos como o void, e o main..

Posto isto, gostava de saber até que ponto nos podemos dedicar a certas linguagens e ficar actualizado sempre que sai uma nova versão ou se há mais do que um compilador.

Espero que tenha exposto o assunto com clareza :D

Cumps. Rikazzold.
 
então eu aprendi uma linguagem de programação? Ou aprendi a mexer num programa?
BINGO!! Isso é o resultado de trabalhar apenas com um IDE: às tantas julga-se a linguagem pelas features do IDE. Isso acontece com mais gente, não é só contigo :-) Há pessoal que, se lhes tiram o IDE, ficam às escuras. Oppsss... isto está fora do contexto!! sorry!
 
Última edição:
BINGO!! Isso é o resultado de trabalhar apenas com um IDE: às tantas julga-se a linguagem pelas features do IDE. Isso acontece com mais gente, não é só contigo :-) Há pessoal que, se lhes tiram o IDE, ficam às escuras.

Exactamente... por isso é que eu postei este topic. Mas nesse caso, tu nunca vais aprender a programar em visual basic, porque nao existe uma linguagem de programação de visual basic.. existe sim o Basic. Ou estarei errado? Nesse caso, o que é que me adianta aprender uma linguagem num IDE? quando esta vai ficar desactualizada mais cedo ou mais tarde? E de que forma e que eu posso aprender a linguagem de forma a depois poder trabalhar num IDE?
 
Nesse caso, o que é que me adianta aprender uma linguagem num IDE?

Tu aprendes uma linguagem num IDE? Boa...

quando esta vai ficar desactualizada mais cedo ou mais tarde?

Mas a isso é que se chama evolução. Tens o exemplo do Java...

E de que forma e que eu posso aprender a linguagem de forma a depois poder trabalhar num IDE?

Tu tens é de aprender a linguagem independentemente do IDE. O IDE é apenas uma ferramenta que utilizas.
 
Bem, o que o rikazzold queria dizer é que como aprendemos as linguagens de programação, ex: aprendemos uma linguagem do tipo Z (só coisas básicas dessa linguagem), e depois vamos compilar um programa X com o compilador N
Mas, se compilar-mos o programa X com o compilador Y (no mesmo S.O.) dá uma série de erros.
Sendo assim estamos a aprender a linguagem, ou estamos a aprender a linguagem orientada para o compilador "N" ?
 
Bem, o que o rikazzold queria dizer é que como aprendemos as linguagens de programação, ex: aprendemos uma linguagem do tipo Z (só coisas básicas dessa linguagem), e depois vamos compilar um programa X com o compilador N
Mas, se compilar-mos o programa X com o compilador Y (no mesmo S.O.) dá uma série de erros.
Sendo assim estamos a aprender a linguagem, ou estamos a aprender a linguagem orientada para o compilador "N" ?

tambem se criares um programa sem ter em conta a portabilidade, ele vai dar num pc e não da noutro

quanto a compiladores, é equivalente, se tiveres cuidado e usares coisas com stl em c++ não vais ter problemas.
 
Boas a todos.
Gostava que me esclarecessem algumas dúvidas acerca de evoluções e actualizações das linguagens de programação.
Por exemplo, em visual basic

Tive a ler uns tutoriais de C# e levou-me a concluir exactamente a mesma coisa...

Sobre o Visual Basic e o Visual C#, dou-te os parabéns. Acabaste de descobrir como é que a Microsoft faz as coisas. Não segue absolutamente nenhuma norma e força a desactualização dos seus próprios produtos ao descontinuar e forçar a adopção de outros mais novos.

No C++.. tenho um livro que ensina o básico, mas testado nos compiladores Borldand C++ e Visual C++ salvo erro... Entretanto eu arranjei o Dev c++ que é free.. e dá erro em certos códigos básicos como o void, e o main..
Ora lá está. Mais do mesmo.

Deixa-me adivinhar. Tentaste escrever código em C e começaste por espetar um void main().

Caso não saibas, a linguagem de programação C é normalizada. Há duas normas da ISO que a definem, uma publicada em 89 e outra em 99. A linguagem de programação C++ também é normalizada. Há uma norma da ISO que a define, publicada em 98. Neste exacto momento estão a trabalhar para definir uma norma mais recente para C++, a que dão o nome de C++0x.

Sabes quantas dessas normas a Microsoft implementou e obedece? Zero. Nenhum compilador da Microsoft de nenhum IDE da série Visual obedece à norma C89, C99 ou C++98. Nenhum. Como se não bastasse a própria Microsoft optou por forçar "extensões", que não são nada mais nada menos do que forçar coisas inventadas pela Microsoft que só funcionam em produtos da Microsoft.

Posto isto, gostava de saber até que ponto nos podemos dedicar a certas linguagens e ficar actualizado sempre que sai uma nova versão ou se há mais do que um compilador.

Isso é simples. Simplesmente esquece que a Microsoft existe, aprende linguagens normalizadas e usa compiladores que obedeçam as normas. Por exemplo, o DevC++ usa o MinGW, que por sua vez usa o GCC. O GCC (GNU Compiler Collection) é exemplar a implementar as normas das linguagens de programação que suporta. Por exemplo, a norma C++0x ainda não saiu e mesmo assim o GCC 4.1 já suporta grande parte das propostas.

Por isso não penses que ninguém suporta as normas das linguagens de programação só porque o pessoal dos compiladores da microsoft é incompetente e os produtos da microsoft são mal feitos.
 
Mas a isso é que se chama evolução. Tens o exemplo do Java...

Os exemplos que ele citou não tem absolutamente nada a ver com evolução. Tem sim a ver com o não cumprimento de normas internacionais que existem à décadas e o abuso das linguagens ao forçar a utilização de invenções exclusivas dos produtos da companhia.

Resumindo, não é evolução. É abuso e incompetência.
 
Tu tens é de aprender a linguagem independentemente do IDE. O IDE é apenas uma ferramenta que utilizas.

Exacto, mas quando chegas ao IDE as coisas mudam bastante, porque a maneira de pores o código é diferente. E as coisas não estão estruturadas com uma sequência lógica.. tens é um código para um botão, ou para uma label... o próprio IDE é que depois faz a dedução de tudo...
 
Sobre o Visual Basic e o Visual C#, dou-te os parabéns. Acabaste de descobrir como é que a Microsoft faz as coisas. Não segue absolutamente nenhuma norma e força a desactualização dos seus próprios produtos ao descontinuar e forçar a adopção de outros mais novos.

Sim, já tinha reparado, até porque a microsoft simplesmente limita-se a publicar livros e tutoriais e coisas dessas para forçar o utilizador, ou até mesmo o programador, a esquecer a base das coisas e a desenvolver software para a microsoft.
Basicamente o programador perde a liberdade que tem de desenvolver o seu próprio software. Mas isso é uma coisa que tenho vindo a notar desde que entrei mais no mundo da informática e da programação.

Ora lá está. Mais do mesmo.

Deixa-me adivinhar. Tentaste escrever código em C e começaste por espetar um void main().

Caso não saibas, a linguagem de programação C é normalizada. Há duas normas da ISO que a definem, uma publicada em 89 e outra em 99. A linguagem de programação C++ também é normalizada. Há uma norma da ISO que a define, publicada em 98. Neste exacto momento estão a trabalhar para definir uma norma mais recente para C++, a que dão o nome de C++0x.

Sabes quantas dessas normas a Microsoft implementou e obedece? Zero. Nenhum compilador da Microsoft de nenhum IDE da série Visual obedece à norma C89, C99 ou C++98. Nenhum. Como se não bastasse a própria Microsoft optou por forçar "extensões", que não são nada mais nada menos do que forçar coisas inventadas pela Microsoft que só funcionam em produtos da Microsoft.

Mantenho a opinião que expressei à bocado. E isto leva os programadores mais jovem a entrar em parafuso ( como eu por exemplo ) e sinceramente já nao sei o que é realmente o C ou o Basic ou seja o que for...

Isso é simples. Simplesmente esquece que a Microsoft existe, aprende linguagens normalizadas e usa compiladores que obedeçam as normas. Por exemplo, o DevC++ usa o MinGW, que por sua vez usa o GCC. O GCC (GNU Compiler Collection) é exemplar a implementar as normas das linguagens de programação que suporta. Por exemplo, a norma C++0x ainda não saiu e mesmo assim o GCC 4.1 já suporta grande parte das propostas.

Por isso não penses que ninguém suporta as normas das linguagens de programação só porque o pessoal dos compiladores da microsoft é incompetente e os produtos da microsoft são mal feitos.

Exatamente. Estou num curso tecnológico de informática e comecei por dar pascal. Eu aprendi a sintaxe de pascal e a construir algoritmos simples e agora posso dizer que sei programar qualquer coisita em pascal.
Este ano estou a aprender Visual Basic 6, mas eu tinha o Visual Basic 2008 express. Comecei a notar muitas diferenças entre as linguagens e comecei a investidar acerca de outras e levoume a concluir tudo o que já citei lá atrás.

Cumps. Rikazzold.
 
De qualquer forma, as diferenças entre o VB6 e as versões .NET (7.0 para cima; o 2008 equivale ao 9.0) ainda é significativa. Não é difícil de se adequar, mas ainda requer alguma prática e, sobretudo, Google.

O que aprendeste foi, de facto, uma linguagem de programação. O problema é que escolheste uma linguagem que sofreu mudanças consideráveis quando foi convertida para .NET.
 
Não é difícil de se adequar, mas ainda requer alguma prática e, sobretudo, Google.

Não é uma questão de ser difícil ou fácil... Simplesmente tu ouves falar de Basic.. Visual Basic... vais ao Google e escreves Visual Basic... aparecem-te uns tutoriais e umas aulas grátis de iniciação e tal... e começas a mexer no VB6... trabalhas um ano nisto... de repente sai um VB 2008 express... e tu não fazes a mínima do que seja... então experimentas...
Chegas ao IDE e começas por fazer uns botões todos porreiros em relação ao VB6.
Começas a aprofundar um pouco e os códigos já não batem certo nem nada... e tu pensas: "afinal não estive a aprender uma linguagem de programação, estive a aprender a trabalhar num IDE, agora quero trabalhar numa coisa mais recente... ou ate começar um projecto com cabeça, tronco e membros, com uma sequência lógica em condições e não sei fazer nada disso... só aprendi a ligar botões a labels e fazer uns if-then-else dentro disso."

Cumps.
 
se voces querem que as coisas não mudem então podem voltar à idade da pedra.

Por outro lado, o visual basic 2005 ex, ou o visual basic 2008 express não são linguagens, são ide's. O visual basic 2005 express compila, por defeito, para linguagem VB 8.0 (.net v2.xxx) e o 2008 para Visual Basic 9.0 (.net 3.xxx).

Quando se aprende a programar, aprende-se o conceito, os algoritmos, etc... que se aplica em qualquer linguagem. Depois, claro, tens as especificidades de cada uma.

Aprender não custa nada...
 
se voces querem que as coisas não mudem então podem voltar à idade da pedra.

As coisas evoluem mas não podem fugir àquilo que as originou.

C++ pode-se dizer que surgiu do C, é uma nova linguagem com base em C mas tem o seu próprio código e tens a liberdade de programares sem um IDE. Por alguma razão aprendes C para depois passares para C++. Enquando que o Visual Basic ãAprendes a trabalhar no IDE, se mudas já não sabes practicamente nada.

Cumps.
 
As coisas evoluem mas não podem fugir àquilo que as originou.

Não propriamente, de facto é chato ter de aprender conceitos novos e afins, mas se formos bem a ver..., o que realmente muda em VB? do 6 para o .NET (talvez o maior salto)?

A programação de objectos passa a ser explicita, antes nem sequer fazias classes, arrastavas botões e nem sabias o que estava lá por trás.

Não fugiu ao que a originou, apenas tornou-se mais transparente ao programador, e graças a isto deu a possibilidade ao programador de manusear melhor os seus controlos.

C++ pode-se dizer que surgiu do C, é uma nova linguagem com base em C mas tem o seu próprio código e tens a liberdade de programares sem um IDE. Por alguma razão aprendes C para depois passares para C++. Enquando que o Visual Basic ãAprendes a trabalhar no IDE, se mudas já não sabes practicamente nada.

Cumps.

Quem começa a trabalhar em Visual C++ também vai ter grandes dificuldades em trabalhar em C++ (padronizado).

Só se agarra ao IDE quem não tiver perspectivas de avançar, eu de facto tive dificuldades em mudar do VB6.0 para o VB.NET, mas foi uma questão de adaptação, não foi nenhuma reaprendizagem como dizes.

Os programadores do drag'n drop é que podem achar que têm de aprender algo novo...
 
Só se agarra ao IDE quem não tiver perspectivas de avançar, eu de facto tive dificuldades em mudar do VB6.0 para o VB.NET, mas foi uma questão de adaptação, não foi nenhuma reaprendizagem como dizes.

Eu coloco 2 questões... aprendes a programar num IDE?
E se realmente muitos códigos mudam, uns deixam de existir, outros novos surgem... então é uma adaptação? ou será uma reaprendizagem?

Na minha opinião, não ha nada como tratra um código do inicio ao fim, e veres de que forma é que deves fazer a coisas e a melhor forma de resolver os problemas.
Agora por botões e tirar botões :( deixa muito a desejar aos que realmente gostam de programar...

Cumps.
 
Que raio de evolução é essa que queres se nada se pode alterar? Só o desenho gráfico do IDE?

Olha o java, antes não tinha o sistema tipos genérico, agora é algo que facilita à grande na programação de classes genéricas e até mesmo de outras classes/interfaces. Mudaram isso, ficou bem melhor!

Do vb6 para o .NET muita coisa, mas mesmo muita mudou. Concordo que foi um grande salvo, mas não há necessidade de reaprender, mas sim de adaptar. Apareceram algumas coisas, é capaz de terem desaparecido outras (não me recordo de nada em concreto), mas o core da linguagem está lá.
 
Olha o java, antes não tinha o sistema tipos genérico, agora é algo que facilita à grande na programação de classes genéricas e até mesmo de outras classes/interfaces. Mudaram isso, ficou bem melhor!

Mas a compatibilidade com o modo antigo mantém-se, isto é, se abrires o código fonte de um programa feito numa versão anterior continuas a poder compilá-lo com esta nova, ou não?

Do vb6 para o .NET muita coisa, mas mesmo muita mudou. Concordo que foi um grande salvo, mas não há necessidade de reaprender, mas sim de adaptar. Apareceram algumas coisas, é capaz de terem desaparecido outras (não me recordo de nada em concreto), mas o core da linguagem está lá.
Do VB6 para o VB.NET mudou tanta coisa que eu diria até, que são coisas diferentes, a começar na compatibilidade, tudo o que for um pouco além do print "Hello World" já o VB.NET não consegue converter:).
 
Back
Topo