Qual a melhor opção de evolução de VB 6 .

Olá a todos

Sou programador Visual Basic 6 há pelo menos 8 anos e tenho vários projectos comerciais desenvolvidos e em funcionamento em clientes.
Como sabem o vb 6 acabou e o vb .Net está aí já na sua 3ª versão (?!?).
Cada uma destas versões é, parcialmente, incompativel com a anterior ou, se preferirem, limitada em relação á versão seguinte, devido ao facto de usar frameworks diferentes (1, 2 e 3).
O vb .Net é simplesmente uma nova linguagem completamente diferente do "velhinho" Visual Basic e uma das coisas que me está a fazer pensar se devo evoluir para o vb .Net é realmente o facto de a Microsoft, na minha opinião, não ter respeito nenhum pelos programadores e se "borrifar" completamente para uma coisa chamada "compatibilidades".
Já fiz algumas tentativas de evolução de projectos vb6 para vb .Net mas já cheguei á conclusão que, definitivamente, não é boa ideia. O "melhor", salvo seja, é desenvolver a aplicação de raiz em vb .Net.
Eu considero-me uma pessoa trabalhadora mas "cansa" andar constantemente a "aprender" novas linguagens, completamente diferentes das anteriores, e ainda ter que desenvolver de raiz projectos que já vêm do tempo do Ms-Dos.
Estou neste momento a considerar "virar" para uma programação mais "estável" em termos de futuro, por incrivel que pareça, do que a Microsoft, "Ajax". Já devem ter ouvido falar nisso, HTML com javascript e PHPe outras "misturas" em vez do vb .Net 2008 (para já).
O tipo de projectos desenvolvidos por mim são projectos comerciais com uso intensivo de Bases da dados Access, SQL e MySql.
Gostaria assim de abrir aqui um debate e saber a v/ opinião sobre o rumo a seguir por mim, e concerteza por muitos de vocês, pelo menos aqueles que são programadores.
 
epa eu creio que C++ por exemplo e um linguagem mt poderosa e no entanto mais estavel, segundo o que contas que as linguagens da microsoft, pelo menos em termo de mudança, no entanto tens tambem o Java que a meu ver e uma linguagem espetacular voltada para qualquer cosias que possas imaginar, e tambem tem um grande suporte e uma grande comunidade, anyway esta e so uma opiniao de um noobie espera pela de experts :-D:-D
 
tenho a mesma opinião que tu, os da microsoft são brojessos pois em vez de quando fassem uma nova versão manterem a antiga evoluindo-a. praticamente a antiga vai para o lixo, e temos de aprender a nova, pois isso acontece devido a não ser sofware livre.

quanto ao vb6 daqui a uns anitos ja nem se mexe, pois ja esta a sair o .net 2008, com framework 3 /3.5 mas penso que o 3 inclui o 1 o 2 e o 3 , podendos escolher aquele que queres , mas não tenho a certeza.

quanto a tua possivel mudança para php ou java, acho que ja programandos vb a 8 anos ja tens muita experiencia para tares a pegar numa linguagem que não tenhas tanta , e tinhas de perder uns tempinhos para isso, mesmo que esta tenha mais ajuda por ser livre.

a escolha é tua , é so uma opinião, mas podias começar a bricar com o framework 2 , no qual eu comecei a 3/4 meses e esta a ser interesante, pois eu tb vim do vb6, e agora optei pelo net, apesar de não ter tanta experiencia Quanto a tua, acho que devias optar pela plataforma .net, pois ha muito mais procura na mesma.

espero que minha opinião ajude.
 
Acho que tas algo confuso! Estas a confundir frameworks com com versões da linguagem.

Parar é morrer e a resistencia à evolução é algo inato ao ser humano. O vb.net, linguagem, é muito mais poderoso do que o vb6 foi ou poderia vir a ser. O vb tal como tu conheces é castrado logo à nascença, a mudança que a ms fez pecou apenas por ser tardia.

Se juntares o vb.net à framework .net então tens algo extremamente poderoso e que te facilita muito o desenvolvimento de aplicaçães, quer sejam windows quer sejam web, quer sejam linux, etc. E, admira-te, também fazes aplicações "Ajax" com vb.net

Existem varias ferramentas de conversão de vb6 para vb.net mas nenhuma delas pode ser totalmente automatica visto que os conceitos são diferentes. É necessário teres conhecimento de vb.net para fazeres alterações à mão e tomares decisões no que diz respeito a conversões que não são possiveis ser feitas.

Mas tens alternativas:
- Se os teus projectos vb6 foram desenvolvidos por componentes COM, COM+, etc, podes continuar a usar esses nos componente em .net através de com interop
- Se quiseres manter o codigo existente em vb6 podes usar qualquer linguagem .NET para criares novos componentes que podes consumir em VB6, ou seja tens assim quase toda a framework disponivel a applicações vb6
- A microsoft tem microsoft interop forms toolkit que te permite fazer o host de forms vb.net em vb6
- Se quiseres podes também fazer uma conversão mas apenas a nivel de serviços: webservices, WCF, que podes consumir quer do vb6 através do soap toolkit, quer a partir de java,windows,etc

se te vais virar para aplicações web, já que pretendes virar para ajax, então a existencia de uma framework faz com que programar web ou programar windows sejam bastante parecido. vê www.asp.net e a bibliteca asp.net ajax

Ajax não é nada de especial, é javascript ( se quiseres tb podes usar vbscript) e o objecto xmlhttp. Já se usava ajax antes do ajax existir, tenho aqui aplicações em ajax que já tem 4 anos! Mas se usares asp.net ajax para contruir essas aplicações vais ver que tudo fica muito melhor, mais organizado e podes reutilizar todo o teu conhecimento da framework

e porquê parar por vb.net, a framework .net permite-te programar em qualquer linguagem, c#, c++, vb.net, python, j++. E usa-las indiscriminadamente entre projectos e no mesmo projecto.

Não estou a defender a microsoft, quer o java quer o .net são tecnologias que qualquer arquitecto/analista/programador deve estar grato. Aprender e evoluir é o melhor que se pode fazer, sou "engenheiro de software" à mais de 10 anos, neste momento trabalho em simultaneo com umas 8,9 linguagens diferentes, não perco uma oportunidade para evoluir, desde que seja para melhor.

Ahhhh esqueci-me de dizer, mas raramente uso vb.net, uso bastante vb6, mas no mundo .net gosto mais de C#

Investiga a fundo
 
Última edição:
Desde já agradeço as v/ opiniões.
Gostaria de acrescentar que o tipo de aplicaçoes que desenvolvo sao todas de acesso a bases de dados, access,sql e mysql, viradas para a gestao e contabilidade, o que exclui, em principio, o uso de C# ou java, por nao serem linguagens muito orientadas para esse objectivo, penso eu, daquilo que conheço dessas linguagens.
Em relaçao ao C# sei que é muito poderoso mas é também muito "trabalhoso" para uma aplicação de gestao.
Em relaçao ao java, ja fiz umas experiencias e acho muito lento. Aliás o próprio .Net é "exageradamente" lento! Nao sei se isto é de propósito para obrigar os utilizadores a evoluirem o hardware...
Quanto ao .Net framework ainda nao entendi muito bem o seu "funcionamento" mas não se corre o risco de ao usar uma versão da framework depois ter o mesmo problema de "descontinuidade" tipico da Microsoft, quando sairem as novas versões da Framework?
Para o tipo de aplicaçoes que eu desenvolvo o que eu pretendo é uma linguagem que tenha "objectos" de interface com o utilizador, forms ou páginas, como queiram e tenha acesso a bases de dados.
O C# seria mais indicado se desenvolvesse aplicações mais ligadas ao Hardware, acho eu, nao? Realmente se for evoluir para o .Net framework se calhar, mais vale evoluir para o C#, que será mais estável em syntax, do que para o vb .Net...?
 
em termos de linguagem usares o C# ou o VB.net é practicamente a mesma coisa. Alias se olhares para o codigo de uma ou de outra vais reparar que é bastante semelhante. Isto é uma das vantagens de trabalhares sobre uma framework comun. Os objectos da framework são iguais quer para uma linguagem quer para outra.

Em termos de "potencia" da linguagem nenhuma é melhor que a outra, é uma questão de gosto, é outra das vantagens da framework, não estas preso a uma linguagem. Consegues fazer exactamente as mesmas coisas em qq linguagem e com a mesma performance. Isto porque qq linguagem .net é compilada para instruções MSIL, e é este codigo que é executado. Ou seja o produto final de uma aplicação em C# ou VB.net é o mesmo: MSIL ( tem algumas diferenças no msil gerado, mas poucas)

Daqui advem outra das "inconveniencias" da flexibiliade, o código compilado não é nativo, em tempo de execução é compilado para codigo nativo pelo JIT.

Isto nota-se em termos de performace? Em 90% dos caso não notas. Tem um consumo inicial maior de memoria devido ao gc (garbage colector) não ter um comportamento deterministico e a necessidade de carregar a BCL ( base class library).

As aplicações de que tu falas são um óptimo exemplo para serem desenvolvidas numa linguagem .net, as facilidades proporcionadas são tantas que depois de experimentares nunca mais vais querer voltar à idade da pedra: Datasets, DataAdapter, Gridviews extremamente flexiveis, GDI+, XML, XSD, sqlexpress, webservices...

quanto as versões da framework elas correm em conjunto na mesma maquina sem atropelos. Se trabalhavas em vb6 já deves ter ouvido numa expressão chamada DLL hell. O .net ultrapassa em larga medida esse problema, as referencias a assemblies (dll's e exe's) em .net é muito mais clara e configuravel, na maior parte das vezes instalar uma aplicação é fazer copy paste dos ficheiros.

ou seja podes ter todas as versões da framework instaladas, a tua aplicação sabe qual é que vai buscar de uma maneira quase transparente.
 
Última edição:
Não esquecer que o .NET requer muito mais recursos, enquanto o VB6 pode ser instalado num 486 o .NET nem um PII aguenta aquilo, digo isto, porque já "assisti" a uma discussão deste tipo noutro forum em que um dos argumentos a favor do VB6 era exactamente o parque informático das empresas serem antigos e não aguentarem com a Framework do .NET, não sei se é o caso do desconfiado se não. Obviamente neste caso a opção era VB6.

Eu estou agora a começar com o .NET (mais com o VB.NET) e o que verifico é que utiliza mais linhas de código para fazer a mesma que fazia no VB6, pode ser só ao princípio mas vamos lá ver.

Outra coisa que noto é que no VB6 mandavam fazer as ligações todas "à unha", isto é, não usar os BoundControl porque fazia a aplicação mais lenta no acesso aos dados, mas agora no.NET é exactamente ao contrário é só fazer ligações através dos BoundControl que eles tratam do resto do código. Será que a Microsoft regrediu ou evolui muito nos BoundControls.

Nuno.
 
Última edição:
resposta ao 1º post

Realmente tb já programei umas aplicações em VB6 aqui há uns 3 ou 4 anos. Na altura fiquei a adorar o Visual Studio 6.0 (que não conhecia) e a facilidade em criarmos interfaces para o utilizador (neste caso visual studio 6.0). VB é uma linguagem que neste momento já não uso e até nem gosto. Prefiro programar em C# ou Java. Para a web tb curto php por ser simples e estar muito difundida pelas comunidades opensource.

Confesso-te que sinceramente já tive muitas discussões destas com amigos meus. Os projectos são desenvolvidos numa técnologia, mas os tempos mudam, com isso mudam os paradigmas, mudam as frameworks, e surgem ambientes Runtime diferentes... Espero que compreendam que o problema não está nas linguagens. O problema é mt mais complexo do que o simples mudar de sintaxe de uma linguagem alto nível.

Penso que o melhor será pensares no tipo de aplicações que queres desenvolver: WEB based? Ou para correr no Sistema operativo? em rede? para windows ou compativel com outros sistemas? Se calhar não tens de andar atrás da microsoft e da evolução/desevolução que eles passam a vida a fazer. Ou então tens...

Na minha modesta opinião devias pensar em evoluir.. mas os projectos que estão desenvolvidos em VB6 continuam em VB6... se queres fazer o upgrade esquece... faz de raiz. O .Net é mais do que uma framework e de um conjunto de linguagens que compilam para o mesmo código intermédio. O .Net garante-nos segurança na execução e robustez, permitindo-nos utilizar um conjunto de ferramentas poderosas (um pouco à semelhança do que a SUN tem procurado fazer com o JAVA). As vantagens são evidentes. Agora pensar em mudar para ficar não dá. Esse sentimento é perigoso. É importante ir acompanhando a evolução (com isso não estou a dizer que deves fazer upgrade aos projectos que já tens feitos... mas se começares de novo algum pensa em utilizar uma coisa mais recente como JAVA ou .Net 1.1 ou 2.0).

Abraço [] espero ter contribuido
 
Back
Topo