DUVIDA VB.NET 2010 OU C#

LEANDROVIP 18/10/2012 14:47:09
#412279
Boa tarde a todos!

Desenvolvo em VB6 + MYSQL à mais ou menos 5 anos e particularmente atende bem às necessidades dos clientes que temos.
De algum tempo pra cá, com o surgimento de NFe ... e afins.. tivemos que optar (pelo pouco tempo, e pouca mão de obra) por adquirir DLL de terceiros para nos adaptar às mudanças que vem ocorrendo. Até então também atendeu às necessidades.
O problema é que vira e mexe o governo faz atualizações, muda schemas, altera formas de consultas e sempre ficamos nas mãos do fabricante da dll e resolvi (depois de um pesadelo) entrar na area de .NET para poder conseguir construir minha prórpria DLL para interagir com meus sistemas. Como conheço MUITO pouco de .NET comecei a pesquisar e sinceramente estou perdido por onde começar. Seria melhor, como iniciante, aprender VB.NET já que venho do VB6 ou já partir pro C#?


Espero que tenha ficado claro minha dúvida!

Abraços
LUIS.HERRERA 18/10/2012 15:03:41
#412281
Leandro boa tarde.

Também uso o VB6 + MySQL e MS Access. Comecei a estudar o C# com SQL Server e está indo bem. A produtividade não é grande, pois a mudança é 100%.

Independe se irá usar VB ou C# (.Net), pois a mudnça é significativa do VB6. A diferença do VB.net para C# não é muito grande, mas vi vantagens. Os comandos são bem semelhantes, muda um pouco a estrutura mais simples e limpa, escrevendo menos código para fazer o mesmo. Qualquer uma das duas fará a mesma coisa, então a escolha é sua. Veja o código de ambos como exemplo e decida. Eu optei pelo C# e não me arrependo. O maior problema para mim não está sendo a linguagem em si, mas a OOP e o framework, mas aos poucos se vai pegando.
TEKO 18/10/2012 18:18:49
#412303

Estou no mesmo dilema, maldita NFe. Apesar que uma hora ou outra teria que migrar para .Net. Mesmo assim pelo que estou vendo, irei para o VB.Net. Pois venho desde os tempos do VB5 e não pretendo mudar.

KERPLUNK 18/10/2012 18:37:09
#412309
Resposta escolhida
O maior erro de um programador VB6 é achar que porque conhece VB6, vai automaticamente conhecer VB.NET. São coisas COMPLETAMENTE DIFERENTES. A única coisa que lembra de longe é a sintaxe e nada mais. A primeira coisa a entender sobre .NET é: O que é o Framework.

O que é o .NET Framework:
Você já trabalha com VB6 e deve ter pelo menos lido em algum lugar que o que ele faz quando compila um executável, é que o executável acessa DLL[ô]s nativas do VB6(runtimes) e DLL[ô]s do windows, além de OCX e DLL[ô]s que você mesmo pode ter desenvolvido. Ou seja, um programa VB6 é um mero consumidor de métodos, objetos, propriedades e classes de outras bibiotecas. Tanto que se você usar uma API, DLL(por exemplo, ADO) ou OCX que está presente na máquina de desenvolvimento(a sua) mas não está na máquina do seu cliente, você vai ter um erro.
O .NET funciona de forma parecida, a diferença é que todas as bilbliotecas necessárias, já estão dentro do Framework, ou seja, o Framework é mais ou menos como um grande compilado de DLL[ô]s, OCX e outras bibliotecas.

E onde entra C#/VB.NET?
Bem, como no VB6, C# e VB.NET simplesmente utilizam classes, métodos, propriedades e outros objetos que estejam no Framework, da mesma maneira que o VB6 usa bibliotecas da Vb6 Runtime
e API[ô]s do windows.
Quando você desenvolve, seja C# ou VB.NET, você está simplesmente fazendo chamadas para o .NET Framework e nada mais.
Quando você compila seu programa, acontecem duas coisas:
Ele vai ser [Ô]traduzido[Ô] para uma linguagem chamada Microsoft Intermediate Language, com a sigla MSIL e depois compilado de fato para DLL[ô]s ou executáveis, de acordo com o tipo de aplicação que se está desenvolvendo.
O compilador MSIL, transforma tanto C#, quanto VB.NET ou J# ou F# ou qualquer outra linguagem de alto nível que esteja usando no seu Visual Studio(sim, existem VÁRIAS), para o MSIL e não importa a linguagem, se a tarefa for a mesma, o MSIL vai ser o mesmo, ou seja, não vai ter diferença de desempenho ou otimização, qualquer linguagem vai acabar virando um executável(ou DLL) igualzinho, tendo sido escrito em VB.NET ou C# ou qualquer outra.

Então, qual escolher, C# ou VB.NET?
Bem essa é uma escolha bem pessoal, eu prefiro(e aconselho) o C# por vários motivos:
C# é bem parecido com Java e muitos exemplos em Java podem ser aproveitados na íntegra
C# me parece muito mais claro e simplificado, sintaticamente. Com menos código se faz mais coisas.
A maioria dos tutoriais e exemplos pela internet são em C#
Mesmo assim, se preferir VB.NET, não vai ter muita diferença, basicamente, só a sintaxe e a forma como os comando são formados. Não existe no .NET o [Ô]paradigam da linguagem[Ô], como por exemplo entre VB6 e C++, onde muita coisa que se faze em C++ não tem como se fazer em VB6.

Ok, entendi como funciona, e agora?
Agora, pegue a linguagem que escolheu(C#, VB.NET...), DOMINE a sintaxe. Domine a ponto de escrever o código como quem escreve uma redação, sabendo exatamente o que está fazendo. Não vai adiantar tentar faze uma [Ô]aplicação completa[Ô] com banco de dados e tudo mais, se não tem domínio total da sintaxe. Você vai olhar o código e vai parecer grego pra você.

E depois de dominar a sintaxe, o que preciso aprender?
Entenda muito bem como o ADO.NET trabalha. Assim como a relação VB6->VB.NET, ADO->ADO.NET, muitos conceitos mudaram por completo. Você PRECISA entender bem o ADO.NET para poder fazer acesso ao banco de dados de forma otimizada e eficiente. Não adianta tentar comparar, mudou completamente, o que você sabia sobre ADO, quase com certeza não se aplica ao ADO.NET. Um exemplo prático disso, é aqui no fórum mesmo. Muita gente, tenta ler dados de tabela, da mesma maneira(ou o mais parecido possível) que um Recordset do ADO funciona, isso é um erro grosseiro. Se quiser LER DADOS, use o objeto DATAREADER, ele é especializado e otimizado para isso.

E o próximo passo?
O próximo passo, é entender a Orientação a Objeto. Um tempinho atrás, escrevi um artigo sobre isso, dê uma lida que vale a pena.

Depois disso tudo, ainda tem muita coisa a ser entendida, muitos conceitos a serem dominados. Mas estudando, você chega lá!

Qualquer dúvida posta aí que faremos o possível para ajudar!
LEANDROVIP 18/10/2012 23:56:13
#412325
KERPLUNK Boa noite!

Gostei muito do seu post, foi de grande valia pra mim e creio que vai ser para muitos que possa ter esta mesma dúvida.
Com base em tudo que você comentou fiz minhas analises, como o tempo é curto e a demanda é grande, mesmo sabendo que não tem nada ver, vou optar pelo VB .net. Aí pegando as manhas do framework para pular pro C# vai ser ficha! Rs.

Muito obrigado pela atenção!

PS. Seu artigo é ótimo, parabéns!


Abraços
NILSONTRES 19/10/2012 07:18:48
#412327
Eu migrei a 3 anos atras do vb6 para o vb.net, sem duvida ,para quem ja mexia com vb6 ,vb.net é muito mais parecido, hoje tenho sistemas em vb6 ainda, mas estou convertendo aos poucos para .net, hoje não suporto programar em vb6, o .net é mamão com açúcar, facilita demais o desenvolvimento, eu que achei que nunca diria isso.

Quem não migrou ainda do vb6 para o vb.net esta perdendo muito com isso, tempo e dinheiro. Depois de um tempo de .net, vc acaba achando o vb6 muito arcaico.
NILSONTRES 19/10/2012 07:26:14
#412328
TEKO
Citação:

Estou no mesmo dilema, maldita NFe


Cara, não fala isso, veja o lado bom da coisa, pense em um produto a mais que apareceu para aumentar nossa clientela, principalmente para vc conseguir receber mensalmente dos clientes.

LEANDROVIP 19/10/2012 09:38:18
#412337
Citação:

:
Eu migrei a 3 anos atras do vb6 para o vb.net, sem duvida ,para quem ja mexia com vb6 ,vb.net é muito mais parecido, hoje tenho sistemas em vb6 ainda, mas estou convertendo aos poucos para .net, hoje não suporto programar em vb6, o .net é mamão com açúcar, facilita demais o desenvolvimento, eu que achei que nunca diria isso.

Quem não migrou ainda do vb6 para o vb.net esta perdendo muito com isso, tempo e dinheiro. Depois de um tempo de .net, vc acaba achando o vb6 muito arcaico.



Bom dia!

é nisso que estou apostando!

Quando você migrou, começou por onde? Tem algum artigo que eu possa ler pra entender melhor ainda o caminho das pedras?

Abraços
NILSONTRES 19/10/2012 09:51:27
#412339
Leandro,
Eu não precisei de nemhum artigo, simplesmente fui trabalhando no basico, primeiramente entender a sintaxe,como disse o KERPLUNK, que é muito parecida.
Em segundo lugar, entender como se conecta a banco de dados com ado.net.
Quando vc menos espera , já esta dominando a coisa.
LEANDROVIP 19/10/2012 09:53:40
#412340
Beleza! Já estou fazendo pouca coisa, vou me familiarizar e ja já estou fera, rs!
O primeiro passo é acreditar né! Vamos que vamos!

Abraços
NILSONTRES 19/10/2012 09:56:40
#412341
Isso, o vb.net por ser Orientado a Objeto te facilita muito, digite uma frase ou uma frase + ponto, e veja que ele te ajuda.
O VB6 também tem isso, mas não tão ricamente como o .net.
Os primeiros dias é osso mesmo, mas faz parte.
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas