DECISAO - PARA OS MULTI LINGUAGEM C#/VB.NET

TEKO 10/01/2014 08:43:25
#432888
Bom dia pessoal

Bom, programo em VB6 e agora pretendo fazer alguns cursos pra logicamente me atualizar.

Porém, pretendo fazer C# primeiro e depois VB.NET.

Mas a dúvida que fica é: Como preciso fazer o C# primeiro, será que a partir deste consigo aprender VB.NET sem fazer um novo curso de VB.NET?

Até porque se aprende sobre OOP e FrameWork.Net.

Desde já agradeço.
OCELOT 10/01/2014 10:15:52
#432891
A diferença entre C# e VB.Net é quase que só na sintaxe, sabendo programar em C# é bem fácil aprender VB.Net

No VB.Net você só vai ter algumas coisas extras do runtime dele, que são funções no estilo que eram no VB6 mas que geralmente possuem algum outro equivalente ou substituto no próprio framework, de forma que não é realmente necessário para se programar, e ele tem um framework que tenta facilitar algumas coisas com o Windows Forms para os usuários do VB, mas nada obrigatório de se usar também.
LUIS.HERRERA 10/01/2014 15:43:30
#432915
Teko respondendo sua solicitação private, vamos lá....

Acredito que o contrário fosse até [Ô]mais difícil[Ô], mas do C# pro VB.net nem tanto. Como o OCELOT disse, a diferença é basicamente a sintaxe, mas como você já vem do VB6 não teria tanta dificuldade.

O que vai encontrar de diferente, além da interface e estrutura dot.net, é exatamente a linguagem C# que exige finalização de linhas (;) usando o ponto e vírgula e de grupos de códigos com abre e fecha chaves. Além da estrutura de declarações bem diferentes de variáveis e objetos, mas nada complicado, só diferente.

Eu migrei do VB6 pro C# como autodidata, foi complicado nos primeiros meses, não pela linguagem, mas pra entender o Dot.Net e principalmente o OOP. Depois que compreendi isso, ou parte disso kkkk, ficou bem mais fácil.

Só para adiantar, eu nem penso mais em usar VB, só C# mesmo, acho muito mais limpo, produtivo e profissional o código. Uma coisa importante é que você vai escrever mais código, porém a manutenção será infinitamente mais fácil e rápida que em VB6, nem acreditei, pois o uso de OOP facilita horrores.

Agora um ponto questionável, vejo isso direto. Justamente pelo fato de ser OOP, muitos programadores experientes são contra se reaproveitar código e otimizar tarefas e controles, eu por outro lado acho isso fundamental. Sou totalmente contra ter 10 controles Combo por exemplo, se em alguns casos posso ter só um e via código alterar seus dados conforme a necessidade.

Também gosto muito de aplicações MDI (ex. Word), não gosto de forms soltos, mas isso já é gosto e necessidades de cada tipo de aplicação. Espero ter ajudado.
MARCELO.TREZE 10/01/2014 16:03:41
#432919
Bom colega como você pediu para que eu participasse do tópico estou aqui, não preciso mais explicar a diferença entre as linguagens, acredito que as respostas anteriores são bem didáticas, e como já dito vai a minha opinião, faça seu curso C#, e só faça o o curso VB.NET caso queira ou precise enriquecer seu currículo, pois apenas por aprendizagem, não há necessidade.
TUNUSAT 10/01/2014 16:48:11
#432921
Teko,

Seguinte ... sinhõ me chamô, nóis tamu aê! KKKKK!
Pode até ser que eu esteja errado, mas ...
... (nem li direito o que o pessoal postou acima) ...
... minha singela opinião:

Antes de tudo:
- Precisamos sair fora do VB6, isto é fato. Simplesmente não dá mais. A Microsoft já mandou o pessoal que usa o VB6 [Ô]ir catar coquinho no Windows 9[Ô] espero que o pessoal Administrativo e RH (que só visam lucro) tenham a decência e o bom senso de entender isto ...

Para migrar o caminho natural é primeiro VB.Net e depois C#.Net (eu fiz isto). E não se esqueça de dar uma [ô]sapeada[ô] no ASP.Net e a [ô]tchurma[ô] toda: HTML, Jquery, Json, Javascript, CSS, Ajax e mais uma penca de siglas. Não esqueça também de entender assuntos como: 3 camadas, banco de dados e outras coisas, como por exemplo: SCRUM.

Indo de cabeça para o assunto:
- Para aprender:
Tente desenvolver um sistema do zero na sua casa ... pode ser baseado em qualquer coisa que você ache interessante: Exemplos: Controle de empréstimo de seus livros, revistas, etc. Controle de suas contas, controle do gasto de gasolina do seu carro, controle de vacinação e médico de seus cães e gatos ... vale qualquer coisa!
Se tiver paciência de santo (mundo perfeito) faça o código nas duas linguagens!

Outra coisa, super-chata porém legal de fazer:
Procure os trampos todo dia na [ô]APINFO[ô] : http://www.apinfo.com.br/ e OBSERVE quem tem mais vagas: [Ô]VB.Net[Ô] x [Ô]C#.Net[Ô].
Me parece que tá pau-a-pau ... mas posso estar enganado.

Tem empresas que tem a cara-de-pau de pedir experiência em VB6 e JAVA!

é funk o fato que eu ainda estou trabalhando em um sistema VB6... cara! Tô farto! E como tenho pouca experiência em [Ô].Net[Ô] no mercado de trabalho tá difícil de arranjar outra coisa, pois sou Sênior em VB6 e não querem abaixar meu parco salário (mesmo eu querendo!) ... mas vou tentar até me aposentar ... (e isto vai demorar bastante). Quero abandonar a linha [Ô]LAN[Ô] e passar para [Ô]Teia[Ô] (internet)... mas tá osso me darem uma chance.

De qualquer forma quando você estiver manjando um pouco de VB.Net pode facilmente estudar C#, porque o ambiente STUDIO é o mesmo e o C# tem umas frescuras bravas, exemplo: CaseSensitive não moleza de jeito nenhum! Abrir e fechar o [Ô]()[Ô] dentro do IF e outras palhaçadas do C#.

Quando o código-fonte ... a compilação do VB.Net e do C#.Net vira tudo [Ô]CL[Ô] - Common Language ... então, acredito eu que cada dia mais as linguagens ficarão equiparadas.

Peço desculpas se ofendi alguém ... até gosto do C#, mas acho que ele é fresco demais comparado com o VB.Net.
Tem um post que vi em outro fórum que o cara tirou o barato de nós: [Ô]programadores RAD - Rapid Application Development[Ô] ... dizendo que somos algo como [Ô]básicos[Ô] ... mas como diz o Macoratti: [Ô]é só (VB6) ou (VB.Net) ou (C#.Net), mas eu gosto! KKKKKK!


[][ô]s,
Tunusat.
NILSONTRES 10/01/2014 17:27:31
#432923
A minha resposta é a mesma do LUIS HERRERA, só com um detalhe.
Para quem vem do vb6, o vb.net é bem mais facil de aprender. Eu fiquei só com o vb.net, mas meu caso é diferente
com 50 anos de idade agente não tem mais muito saco para novas linguagens. Então para min vb ta bão demaissss so.
A maior dificuldade é aceitar e sair da programação totalmente orientada a eventos.
FFCOUTO 13/01/2014 09:30:02
#432972
Respondendo a sua solicitação...

Concordo com boa parte dos argumentos postados pelos outros amigos do fórum.

Falando por mim: a escolha mais acertada no meu caso foi aprender C#. Além de uma codificação mais limpa, o poder da linguagem é maior que o VB. Além de você se familiarizar com outras linguagens que possuem a sintaxe parecida, como o Java e o C/C++.

Recentemente comprei um livro sobre práticas ágeis em software em C#. Os métodos apresentados abriram a minha mente para uma nova perspectiva na construção de software, principalmente no uso de padrões. Para quem quiser, segue o link.

Então, meu conselho: vá direto para o C#, faça cursos, compre livros, pesquise na Internet. Você não irá se arrepender.

Qualquer coisa estamos aí.
LUIS.HERRERA 14/01/2014 09:37:15
#433007
Teko assino abaixo de tudo que o Fabiano Couto disse, sucinto e completo como sempre.

Nilsontres, só completando...eu tenho 48 anos, e estudo o C# a um ano somente. Comecei direto migrando meu sistema do VB6 pra ele como autodidata, no início você vai tropeçando pior que bêbado, mas vai, vai, vai igual criança aprendendo a andar de bicicleta. Se não tem medo nos primeiros tombos, em pouco tempo está andando sozinho sem perceber, aí vê como é bom o passeio (linguagem).

A idade pode desanimar um pouco, mas para aprender ela não pode servir de desculpa, pois aprender VB.net é 90% do trabalho, já que é uma linguagem totalmente diferente do VB6 também.

Tunusat, desculpe mas discorde de você numa coisa, o C# não tem frescura nenhuma, muito pelo contrário. È uma linguagem fortemente tipada que organiza e deixa o código muito mais limpo (como disse o FCOUTO).

Nota: O C#, apesar de ao gerar o CL criar o mesmo código de qualquer outra do VS, é sim muito mais poderoso que o VB.Net, basta pesquisar que verá que possui recursos inexistentes no VB.Net, mas isso não importa aqui, pois o Teko disse que vai começar pelo C#, então só estamos respondendo sua dúvida, se vai ou não precisar de um curso em VB.net.

Resumindo... Teko se quiser trabalhar com VB.net, provavelmente irão pedir alguma comprovação dela, se for no C# idem. O conhecimento das duas é um plus que terá, eu particularmente (seguindo o mesmo do FCouto), gostei do C# e te abre as portas para C++ e Java posteriormente se quiser (eu nem imagino ver isso kkk), muito mais linguagem do que o VB.Net.

Na minha opinião, acredito que justamente pela proximidade que as linguagens estão convergindo, o VB irá desaparecer algum dia não tão distante. Hoje o C# é a aposta da Microsoft, quem sabe futuramente haverá uma única linguagem unindo (C#, C e C++) que ofereça tanto a praticidade do C#, como os recursos do C e C++ de modo bem mais simples.

é bom refletir que o [Ô]Povo[Ô] do VB6 era gigantesco, mas com sua [Ô]Morte pela Microsoft[Ô], se pesquisar nos fóruns, não só no Brasil, verá que sua comunidade está de fragmentando, quando muitos pensavam que o caminho natural era o VB.net, temos visto que não é bem assim, a própria Microsoft não esperava isso. Os programadores do VB6 começaram a migrar para as mais variadas linguagens, justamente pela falta de continuidade e [Ô]consideração[Ô] que a Microsoft teve com a comunidade. Estão indo para: C#, Ruby, Java, PHP, Phanton, entre outras inclusive o próprio VB.net claro. Não fui atrás de estatísticas, mas pelo que já li acho que no mínimo 50% migrou para fora do VS. Só aqui no fórum pode contar quantos, apesar de conhecer o VB.net por querer aprender e estar atualizado, migraram efetivamente para C#, é muita gente. Isso já é um sinalizador de que o VB poderá ser deixado de lado logo logo.

Espero ter colaborado, sem querer causar polêmicas com os colegas, mas é minha opinião.

Abraços.
FOXMAN 14/01/2014 09:51:22
#433009
Teko, respondendo sua solicitação....

Os amigos acima já falaram tudo.....

Seria comum, alguém que programe em vb.net querer mudar para C#(meu caso) mas o contrário não acho viável. Acredito que dificilmente irás ter necessidade de aprender vb.net, mas se realmente necessitar será uma questão de sintaxe.

Acredito que esteja pegando o melhor caminho para sair do vb6....



KERPLUNK 14/01/2014 11:47:18
#433020
Ah, o velho paradigma da linguagem! Bem vamos lá:
.NET, não é linguagem, é toda uma plataforma para desenvolvimento. O modo como ele funciona possibilita uma ama bem grande de linguagens de primeira instância serem usadas. Seja qual for a linguagem usada, ela vai ser traduzida para MSIL(Microsoft Intermetiate Language), para depois então ser compilada. Ou seja, você desenvolve usando C# e é traduzido para MSIL, você desenvolve usando VB.NET e é traduzido para MSIL. O mesmo para F#, J#, ClarioNET(antigo Clarion), Delphi.NET, enfim, no total são hoje 33 linguagens suportadas pelo CLR.
Com isso, podemos concluir duas coisas:
1 - Tudo que é possível fazer com uma linguagem, também é possível com qualquer outra, usando .NET
2 - O desempenho das aplicações será muito parecido, senão exatamente igual com qualquer uma das linguagens disponíveis

O seu problema, é que você está preso no [Ô]paradigma de linguagem[Ô], onde você enxerga código apenas, sintaxe pura, sem conseguir abstrair funcionalidade de requisito. Por exemplo, o cliente diz:
- Preciso de um cadastro de clientes
Ele está se referindo à um pequeno programa que faça uma determinada tarefa, mas na sua mente você já está vendo a IDE do VB6, a [Ô]janelinha principal[Ô] do programinha que você vai fazer para isso e o código dentro dela. Este é o erro. Você deve imaginar a estrutura de dados usada e os objetos necessários compatíveis com essa estrutura, sem pensar em código, sem pensar em sintaxe. Com isso, você consegue [Ô]ver[Ô] o que ele quer e traduzir em dados. Com isso, você fará perguntas pertinentes ao que ele quer:
- Certo, que dados você quer controlar?
Seria a próxima pergunta. O cliente, não tem a visão do que deve ser feito, ele tem a visão final de usuário com a [Ô]telinha[Ô] aparecendo, para ele, isso é o sistema. Ele não faz a menor idéia de que por traz daquela telinha, tem uma série de coisas bem mais complexas do que ele lida no seu dia-a-dia. E então ele responde:
- Nome, endereços, telefones, e-mails, enfim, dados básicos de um cliente.
Aí está uma [Ô]pegadinha do malandro[Ô]. Ele, o cliente, não sabe que existem dados relacionais aí. Ele não faz idéia que esses dados vão ser vistos na tela como uma coisa só, mas por trás, podem ter várias tabelas relacionadas. Por exemplo, [Ô]telefones[Ô]. Pode haver mais de um telefone para cada cliente, na verdade um número indeterminado de telefones, portanto, não podemos ter um simples campo [Ô]Telefone[Ô] na tabela de clientes e sim, uma tabela [Ô]TelefonesCliente[Ô], relacionada com a tabela [Ô]Cliente[Ô], assim, podemos ter quantos telefones quisermos para cada cliente, inclusive com dados mais complexos, como por exemplo, um campo que diga em que horário se pode ligar, se tem algum ramal, enfim, qualquer dados pertinentes.
Enfim, para resumir, o caso é que você deve abster-se dessa coisa de sintaxe, isso é o básico do básico que um programador mediano deve ter. A linguagem escolhida então, nada mais é que gosto pessoal e também pesar fatores mercadológicos como por exemplo, aceitação. Procure vagas de emprego por aí, e verá que VB.NET, é muito pouco requisitado, praticamente todos trabalham com C#, que é minha escolha pessoal, por achar mais limpo, simples e lógico que VB, que também trabalho sem problemas se necessário.

Abraço
TEKO 15/01/2014 14:02:57
#433089

Olá pessoal.

Quero agradecer a todos que colaboraram com seu tempo e suas respostas.

Com certeza ficou mais fácil pra eu seguir sem dúvidas.

Sinceramente, estou muito grato!

Um forte abraços a todos
Tópico encerrado , respostas não são mais permitidas