Evolução das Linguagens de Programação | ZWAME Fórum
Discussão em 'Programação' iniciada por Rikazzold, 21 de Outubro de 2007. (Respostas: 64; Visualizações: 6857)
Rikazzold Power Member
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:
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.
Label1.Caption = Text1
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
Cumps. Rikazzold.
O que tu estás a falar é do IDE que usas e não da linguagem.
Exacto, é do IDE. Mesmo assim a linguagem não devia ser a mesma? E o código também devia não? :S
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!
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?
Rikazzold disse: ↑
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" ?
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.
Por exemplo, em visual basic
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.
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.
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.
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.
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...
greatbunzinni disse: ↑
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.
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...
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.
#13 21 de Outubro de 2007
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."
KiKas Power Member
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...
KiKas disse: ↑
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.
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.
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...
#18 22 de Outubro de 2007
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...
#19 22 de Outubro de 2007
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á.
#20 22 de Outubro de 2007
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 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 .