Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Warrior

Vantagens e desvantagens de VB.net

Mensagens Recomendadas

Warrior

POR FAVOR, não recomendem VB para desenvolver o que quer que seja.

Mudo a minha opinião quando encontrar um developer que conheça uma dezena de linguagens e me diga "VB é a minha linguagem de eleição". Até lá..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

POR FAVOR, não recomendem VB para desenvolver o que quer que seja.

Mudo a minha opinião quando encontrar um developer que conheça uma dezena de linguagens e me diga "VB é a minha linguagem de eleição". Até lá..

Qual o propósito de tal?

São escassos os que sabem realmente trabalhar com uma dezena de linguagens. E não me venham dizer "Ah eu sei.." e trabalham à 1 mês com a linguagem :wallbash:

Já agora o que te leva a pensar que não podem escolher? É ridículo a forma como atacam o VB.NET, não percebo.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

POR FAVOR, não recomendem VB para desenvolver o que quer que seja.

Recomendas o quê? Sinceramente não entendi.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Gosto bastante de desenvolver em VB.NET, e não percebo porque é que é assim tão odiada.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Quais as vantagens de VB.net em relação a outras linguagens?

E não me digam a design view, qualquer aplicação que mexa um pouco com isso obriga a criar tudo por código de qualquer forma..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Quais as vantagens de VB.net em relação a outras linguagens?

E não me digam a design view, qualquer aplicação que mexa um pouco com isso obriga a criar tudo por código de qualquer forma..

Acima de tudo rapidez de desenvolvimento e a capacidade de utilizar em diversas areas (windows, web, office, etc). Não estou a dizer com isto que é a melhor apenas que é tão capaz como as outras(no essencial).

É uma linguagem, à semelhança do C#, com uma excelente framework e que permite desenvolver qualquer aplicação profissional.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

ehehe esse artigo já está muito desactualizado e muita coisa já não é verdade (a maioria) ... é de 2004 :D

Actualmente as diferenças entre VB.NET e C#, com a versão 2010, são que o C# tem os Iterators e o VB.NET não, e o VB.NET tem os XML Literals e o C# não.

Mas estão cada vez mais próximos e a tendencia de evolução assim o indica. Vejam este artigo do meu blog: Visual Studio 2010: VB.NET vs C#

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Warrior

Desenvolver para a Web em VB? Não vou comentar.

Desenvolver para office é algo tão específico..

Desenvolvimento windows é o que todas permitem. Vantagens aqui, onde estão? Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java?

A framework .net é uma vantagem, mas resta mostrar que VB é a melhor escolha dentro da framework..

Não há uma única vantagem dessa lista que não seja debatível.

Talvez o suporte para parâmetros opcionais seja sempre uma vantagem, a maioria das outras poderiam estar numa lista encabeçada "desvantagens do VB.net", porque isso são características.

Aliás, a maioria possui algum tipo de "however.."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Desenvolver para a Web em VB? Não vou comentar.

VB.NET é uma das hipoteses para se programar com a plataforma ASP.NET. É melhor não comentares. :D

Desenvolver para office é algo tão específico..

E no entanto o Office é a suite de produtividade mais usada. :confused:

Desenvolver para a Web em VB? Não vou comentar.

Desenvolver para office é algo tão específico..

Desenvolvimento windows é o que todas permitem. Vantagens aqui, onde estão? Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java?

Nunca programei em Java, mas por exemplo, fazeres uma aplicação em ambiente gráfico é muito mais fácil em VB.NET do que em C++, por exemplo.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

ehehe esse artigo já está muito desactualizado e muita coisa já não é verdade (a maioria) ... é de 2004 :confused:

Actualmente as diferenças entre VB.NET e C#, com a versão 2010, são que o C# tem os Iterators e o VB.NET não, e o VB.NET tem os XML Literals e o C# não.

Mas estão cada vez mais próximos e a tendencia de evolução assim o indica. Vejam este artigo do meu blog: Visual Studio 2010: VB.NET vs C#

Oh, nem reparei na data  :P

Muito bom artigo!  :D

Desenvolver para a Web em VB? Não vou comentar.

Desenvolver para office é algo tão específico..

Desenvolvimento windows é o que todas permitem. Vantagens aqui, onde estão? Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java?

A framework .net é uma vantagem, mas resta mostrar que VB é a melhor escolha dentro da framework..

Não há uma única vantagem dessa lista que não seja debatível.

Talvez o suporte para parâmetros opcionais seja sempre uma vantagem, a maioria das outras poderiam estar numa lista encabeçada "desvantagens do VB.net", porque isso são características.

Aliás, a maioria possui algum tipo de "however.."

Peço desculpa pela data, não reparei. Vê antes o blog do JPaulino.

Warrior, as vantagens de todas as linguagens são sempre debativeis, creio.

Mas se então colocas a questão: " Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java? " Eu respondo-te com perguntas: Porque é que achas que o VB não é tão rápido como java? Porque é que achas que o VB não é uma boa linguagem para programação desktop?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Desenvolver para a Web em VB? Não vou comentar.

Se não sabes é melhor nem comentares. VB.NET é utilizado, assim como C#, para desenvolvimento de aplicações em ASP.NET.

Existem tantas, mas tantas, aplicações profissionais em ASP.NET que nem vale a pena questionar a credibilidade e o mercado que tem.

Desenvolver para office é algo tão específico..

Segundo um artigo que li à algum tempo, a seguir ao sistema operativo, é a aplicação mais usada do mundo. Não é nada de especial :confused:

Desenvolvimento windows é o que todas permitem. Vantagens aqui, onde estão? Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java?

Pela utilização da framework. Por exemplo, descarregar um ficheiro da web podes fazer com uma linha de código, assim como tocar uma *.wav, ler um ficheiro de texto, alterar uma referência no registry, etc, etc. Tudo com uma linha apenas!

Mas lá está, não conheço o Java e sobre isto não vou falar nem fazer comparativos.

A framework .net é uma vantagem, mas resta mostrar que VB é a melhor escolha dentro da framework..

Eu não disse que é a melhor ... é tão capaz como o C# (por exemplo). O que consegues fazer com uma, consegues com outra.

Uma vez mais, não estou a dizer que é a melhor, mas tem de ser sempre uma opção a considerar.


Warrior  bem vista a separação do tópico  :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

Ainda não entendi o porquê deste stress...

Agora qual é a tua linguagem de eleição? E que tipo de serviços fazes? Só para ver se dá para perceber...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Betovsky

Desenvolvimento windows é o que todas permitem. Vantagens aqui, onde estão? Porque é que dizem que VB é mais rápida a desenvolver do que, por exemplo, Java?

Sem saber muito de VB, (presumindo que seja similar a C#) e a não pegar em Java já a um par de anos (por favor corrigem-me se estiver enganado). VB tem várias vantagens em relação a Java.

  • Sistema de tipos unificado (aka tudo é um objecto)
  • Inicialização de colecções
  • Partial classes
  • Propriedades
  • Indexers
  • Eventos
  • Delegates
  • Lambdas e expression trees
  • Inferência de tipos
  • Os generics são melhores em .Net

Provavelmente os eventos com os delegates sejam a grande diferenciação. No caso do Java terás de usar e abusar do padrão Observer e local classes.

A framework .net é uma vantagem, mas resta mostrar que VB é a melhor escolha dentro da framework..

Pois. Aí já sabem a minha preferência...

Talvez o suporte para parâmetros opcionais seja sempre uma vantagem, a maioria das outras poderiam estar numa lista encabeçada "desvantagens do VB.net", porque isso são características.

Não. Os parâmetros opcionais são o horror. Fiquei bastante desiludido com a inclusão disso no C#4.0

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Não. Os parâmetros opcionais são o horror. Fiquei bastante desiludido com a inclusão disso no C#4.0

Não sei porquê!

Se calhar não viste bem a aplicação que tem em alguns casos, não todos é verdade, como por exemplo no COM Interop em que em vez de definires todos os parametros (como Type.Missing caso não tenhas nada a indicar), basta definir apenas o que precisas. É muito prático, embora goste mais também dos overloads.

EDIT: Em conjunto com os named arguments é claro ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Betovsky

Não sei porquê!

Se calhar não viste bem a aplicação que tem em alguns casos, não todos é verdade, como por exemplo no COM Interop em que em vez de definires todos os parametros (como Type.Missing caso não tenhas nada a indicar), basta definir apenas o que precisas. É muito prático, embora goste mais também dos overloads.

O problema é que os parâmetros opcionais são um pequeno pedaço mágico elaborado pelo pré-compilador. O pré-compilador modifica o código para chamar a função em que preenche os parâmetros em falta com os seus valores predefinidos.

1º, o uso deles destrói a noção de herança/polimorfismo. Por exemplo:

Tens a Class AA, BB e CC. A class BB extende a AA e a class CC extende a BB.

Vamos imaginar que existe um método (nome fun) que recebe um int e dá como resultado o seu quadrado.

Na class AA tem então fun e tem o argumento (um inteiro) como opcional com o valor 1.

A class BB faz override ao método e diz também que o parâmetro é opcional com o valor 2.

A class CC a mesma coisa mas com o valor 3.

Ora o código: AA aa = new AA(); aa.fun(); irá devolver o valor 1.

Se for com a class BB irá devolver 4 e a CC 9.

Tudo bem, espectáculo. Mas se fizer o seguinte: BB x = new CC(); x.fun(); irá devolver 4 em vez de 9.

Imagina agora uma lista de AA em que se pode por para la AAs, BBs, CCs e outras classes que também sejam válidas.

O problema está que o código gerado é baseado no que está a chamar e não quem está a ser chamado. Lá se foi o conceito de herança.

2º é apenas grave se for usado no contexto de APIs. Se uma função de uma API tiver parâmetros opcionais, se depois modificar o seu valor predefinido, não basta apenas compilar a API como também se terá que compilar todo o código que usa essa API. Isto porque, mais uma vez, o código gerando é no quem está a chamar e não em quem está a ser chamado.

Usado o exemplo anterior. Se tivesse uma API com as classes AA,BB e CC.

Se depois num outro projecto a parte fizesse referência a essa API. Quando teria o código CC x = new CC(); x.fun(); o pré-compilador iria transformar esse código em CC x = new CC(); x.fun(3);

Portanto se depois muda-se o código da API e trocava o valor de 3 para 5. Não bastava recompilar a API apenas (e apenas fazer o deploy da nova dll), teria também que recompilar todos os projectos que usam essa API.

Para quem fizer APIs não fica bem visto...


"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Eu não disse que gosto muito ou que utilizo muito, apenas que é muito prático.

Basta olhar para o codigo gerado com um o .NET Reflector qualquer, tipo Red Gate,  e vimos logo a confusão.

Mas que é muito prático em alguns casos, isso é.

Mas isto já é um pouco a fugir do tópico. ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.