Jump to content

Compensa mudar de VB.NET para C#.NET?  

16 members have voted

  1. 1. Compensa mudar de VB.NET para C#.NET?

    • Sim
      12
    • Não
      4


Recommended Posts

Posted

Queria que me dissessem as vossas opiniões sinceras, daqueles que fizeram a mudança, que estão a pensar mudar, o porquê de mudar, não é muito difícil a mudança?, etc.

Agradeço 😄

Abraço,

Ivo Pereira 🙂

  • Replies 55
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

Depende.

VB é dinamica C# é estático. Portanto uma é melhor para umas coisas a outra para outras...

Pessoalmente prefiro C#, gosto mais da sintaxe, acho a mais limpa, mas ai está são gostos. E também prefiro linguagens tipadas estaticamente, o que aumenta mais a predilecção pelo C#.

Raro sãos os casos que me realmente é vantajoso usar um sistema de tipagem dinâmico.

Se é difícil a mudança? Na minha opinião não. Normalmente o maior custo (refiro à aprendizagem) é gasto pela toda estrutura do .NET. Ora como ambas linguagens usam a mesma estrutura, se sabes fazer algo em VB sabes em C# e vice-versa.

"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

Posted

o C# é a linguagem dos profissionais (foi só para vir meter veneno  😄 )

?   🙂

Queres mudar para C#? Se quiseres levar mais tempo a fazer uma aplicação e teres o mesmo resultado, então aconselho-te!  😁

É mais usada por isso tem mais saída, mas consegues o mesmo resultado. O que acho é que se ficares pelo vb.net dever sempre aprender um pouco de c# porque no geral existem mais exemplos na net.

Posted

A que te referes ao concreto quando referes que é dinâmico e estático? Qual a diferença?

Presumi que pelo post dava para entender que referia-me ao sistema de tipos. Se a dúvida é em relação ao sistema de tipos então parece ser um bom sitio para começar. Se depois ainda tiveres alguma dúvida.

Queres mudar para C#? Se quiseres levar mais tempo a fazer uma aplicação e teres o mesmo resultado, então aconselho-te!  😁

É mais usada por isso tem mais saída, mas consegues o mesmo resultado. O que acho é que se ficares pelo vb.net dever sempre aprender um pouco de c# porque no geral existem mais exemplos na net.

Discordo.

Primeiro VB é mais usada do que o C#.

E depois em que é que te baseias que desenvolver em VB é mais rápido que C#. Na minha opinião o tempo é basicamente o mesmo. E o tempo gasto é mais relacionado com o conhecimento que o programador tem do .NET do que propriamente da linguagem, como já tinha dito antes.

"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

Posted

Presumi que pelo post dava para entender que referia-me ao sistema de tipos. Se a dúvida é em relação ao sistema de tipos então parece ser um bom sitio para começar. Se depois ainda tiveres alguma dúvida.

Esclareceu. Não sabia mesmo ao que te referias, porque não tinha conhecimento disso. Obrigado pelo link.

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Posted

Mais usado por quem? a nível profissional?

tenho uma ideia completamente oposta que só a consigo fundamentar talvez pelas propostas de emprego

Realmente tenho de concordar contigo.

Penso que VisualBasic.NET é muito mais usado a nível profissional. O meu professor de Técnicas Multimédia pode comprová-lo pois é um "ás" a VB.NET, tem grandes trabalhos que vende nacionalmente, incluindo software para rádios, para TV's, entre outros projectos.

🙂

Posted

E depois em que é que te baseias que desenvolver em VB é mais rápido que C#. Na minha opinião o tempo é basicamente o mesmo. E o tempo gasto é mais relacionado com o conhecimento que o programador tem do .NET do que propriamente da linguagem, como já tinha dito antes.

Porque diversos motivos, e como já disseste, por ser uma linguagem e dinâmica e não estática. E tens vários exemplos, a começar pela declaração de variáveis com Case Sensitive, atribuição de handles, My namespace que está disponível no vb que contempla inumeras funções que em C# tens de construir, etc.

Mais alguns exemplos no desenvolvimento (que encontrei num blog):

VB

Dim client as New SmtpClient()

C#

SmtpClient client = new SmtpClient();

VB

If someCondition Then   

  DoSomething()

End If

C#

if (someCondition)

{

    DoSomething();

}

Mais usado por quem? a nível profissional?

tenho uma ideia completamente oposta que só a consigo fundamentar talvez pelas propostas de emprego

Também tenho esta ideia ... infelizmente 🙂

BASIC - Beginners' All-purpose Symbolic Instruction Code

Está tudo dito 😄

Isso é uma definição que tem 500 anos.

Também a VW quer dizer "Carro do Povo" e é das marcas mais conceituadas e caras no mercado (media gama)

Posted

Porque diversos motivos, e como já disseste, por ser uma linguagem e dinâmica e não estática. E tens vários exemplos, a começar pela declaração de variáveis com Case Sensitive, atribuição de handles, My namespace que está disponível no vb que contempla inumeras funções que em C# tens de construir, etc.

C# também é case sensitive. Não sei o que queres dizer com atribuição de handles. Podes dar um exemplo do My namespace que não é contemplado no C#?

Mais alguns exemplos no desenvolvimento (que encontrei num blog):

VB

Dim client as New SmtpClient()

C#

SmtpClient client = new SmtpClient();

Não sei como é que isso faz-te ocupar mais tempo. Presumindo que usas o VS, no momento em C# que começas a escrever new, o auto-complet entra em acção. Ou seja, basicamente só precisas de escrever o SmtpClient uma vez, se é a isso que referes. Mais, em C# podes fazer perfeitamente:

var client = new SmtpClient();

fazendo que em relação ao VB só tenhas que escrever mais o ;

Penso que a diferença aqui seja irrelevante.

Em relação aos if não percebi, onde está a diferença de tempos de desenvolvimento?

"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

Posted

Esclareceu. Não sabia mesmo ao que te referias, porque não tinha conhecimento disso. Obrigado pelo link.

Fixe, podes sempre ler este artigo. Muito bom e fala bastante de sistema de tipos. Este artigo é normalmente sempre indicado quando começa uma discussão entre os diferentes sistemas.

"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

Posted

C# também é case sensitive. Não sei o que queres dizer com atribuição de handles. Podes dar um exemplo do My namespace que não é contemplado no C#?

Vb.net não é case sensitive, essa é a diferença. Os handler quero dizer, por exemplo, como atribuis um novo handler a um objecto que não seja o default ? No vb se tenho seleccionado o Click, pode escolher na combobox dos metodos outro evento qualquer sem ir ao objecto - properties - events.

      My Namespace:

        My.Application.Info ' Diversas informações da aplicação como versão, descrição, etc, etc
        My.Computer.Network.DownloadFile(url, destino)
        My.Computer.Audio.Play(localização)
        My.Forms.Form1.Text = "Acesso a qualquer form directamente"
        My.Settings("abc") = "Guardar definições em xml"
        My.User.IsAuthenticated ' Verifica se o utilizador está autenticado

        ... entre muitas outras opções do My namespace

Em relação aos if não percebi, onde está a diferença de tempos de desenvolvimento?

Não me digas que não perdes mais tempo a colocar "(" condição ")" as "{" os ";" etc ? É só fazeres uma pesquisa e vês vários artigos.

Mas há muito mais exemplos ... como fazes em C#, por exemplo, para capturar uma exception não contemplada em TODO o programa ? Como detectas alterações na rede ?

Namespace My

    Partial Friend Class MyApplication

        Private Sub MyApplication_NetworkAvailabilityChanged(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs) Handles Me.NetworkAvailabilityChanged
            ' Alteração do estado da rede
            If Not e.IsNetworkAvailable Then
                Stop
            End If
        End Sub

        Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
            ' Exception não contemplada por um Try Catch
        End Sub

    End Class

End Namespace

Por exemplo como inicias um form, fecha-o e começas outro ? Em vb.net é só seleccionar uma opção. Como impedes uma aplicação de iniciar várias instãncias ? Em vb.net é só seleccionar uma opção.

Atenção: Não estou a dizer com isto que o VB.NET é melhor ou pior, até porque são muito semelhantes, apenas que o tempo de desenvolvimento é menor que o C#

Posted

Não me digas que não perdes mais tempo a colocar "(" condição ")" as "{" os ";" etc ? É só fazeres uma pesquisa e vês vários artigos.

Sim mas não acho que seja assim tão significativo, if tab e tá feito

O My namespace tem bom aspecto, embora imagine que lá por trás não passem de atalhos, em C# temos que ir usar os assemblies certos

Posted
Atenção: Não estou a dizer com isto que o VB.NET é melhor ou pior, até porque são muito semelhantes, apenas que o tempo de desenvolvimento é menor que o C#

Só porque em VB.NET consegues fazer algumas coisas de forma mais fácil e rápida que em C#, não significa que na generalidade o tempo de desenvolvimento é menor que em C#. Isso depende de aplicação para aplicação e principalmente de programador para programador.

E só para contrapor os exemplos que tu deste, o C# tem apontadores o VB.NET não... Linguagens com apontadores são linguagens para homens (comentário à vjoe). 🙂 (se bem que é apenas uma implementação rudimentar do que se conhece do C, still...)

Não estou a dizer que estejas errado em algumas das coisas que dizes, mas outras, não passam de opiniões subjectivas. Isso nunca fará uma linguagem "melhor" ou "pior" ou mais ou menos rápida de se desenvolver.

Posted

E só para contrapor os exemplos que tu deste, o C# tem apontadores o VB.NET não... Linguagens com apontadores são linguagens para homens (comentário à vjoe). 🙂 (se bem que é apenas uma implementação rudimentar do que se conhece do C, still...)

Qual a vantagem de apontadores num ambiente managed? aliás, só vejo desvantagem, limita o GC, acho que as referencias tratam bem do assunto

Posted

As vantagens são irrelevantes, há coisas que não fazes sem apontadores ou eles não existiam.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.