none
Dúvidas sobre C# e C++ RRS feed

  • Pergunta

  •  

    E ae pesoal blz

     

    Pessoal preciso entrar em C e estou em dúvidas sobre estudar C++ ou C#, qual a diferença entre as duas ? E qual a melhor para começar?

     

     

    quinta-feira, 18 de setembro de 2008 16:48

Respostas

  • Olá Alexandre,

     

    Agora sim ficou mais fácil de responder Smile

     

    Se você vai desenvolver aplicações Web, dificilmente irá desenvolver em C++. Pode ir direto para o C#.

     

    Para executar aplicações desktop desenvolvidas em .NET, no Linux, você pode utilizar o Mono:

    http://www.mono-project.com

     

    Para o desenvolvimento das aplicações que controlam outros hardwares, também é possível de ser feito com C#, através de um recurso chamado Platform Invoke, e você também não precisaria, necessariamente, do C++ para isso.

     

    Na pior das hipóteses (se por acaso a comunicação com hardware via C# não tivesse a performance que você precisa), você poderia desenvolver toda a interface gráfica e acesso à bases de dados no C#, utilizando Windows Forms ou WPF, e uma pequena parte (DLL) para comunicação específica com hardware, em C++.

     

    Sobre o C++ desaparecer, acho que é possível, mas também acho que não estarei vivo para ver Smile

     

    Por último, - e arriscando levar um puxão de orelha dos moderadores, mas tenho de ser justo Wink - uma vez que você precisa que aplicações funcionem tanto no Windows quanto no Linux, você pode considerar utilizar Java para tudo... Aplicações Desktop e Web (JSP, Servlets, etc...).

     

    Abraços,

    Caio Proiete

    quinta-feira, 18 de setembro de 2008 17:56
    Moderador

Todas as Respostas

  • Olá Alexandre,

     

    Vou te responder com uma outra pergunta: Por que você precisa aprender C++ ou C#?

     

    Teoricamente, tudo o que você faz com C#, dá para fazer com C++, mas a escolha da linguagem depende essencialmente dos requisitos que você tem.

     

    Abraços,

    Caio Proiete

    quinta-feira, 18 de setembro de 2008 17:11
    Moderador
  • E ae blz

     

    Valeu pela atenção

     

    Na verdade é o seguinge eu preciso começar a desenvolver aplicativos web em asp.net e sei que posso usar C# para isso, atualmente desenvolvo aplicativos em php com ajax e asp 3 com ajax, porém quero começar a desenvolver os meus aplicativos web com asp.net e sei que o C# é uma ótima solução, preciso aprender sobre webserver e outras coisas que posso fazer com asp.net, para isso com certeza eu usuaria o C#.

    O meu maior problemas esta nos aplicativos desktop, alguns deles serão em plataformas linux, sei que C++ posso usar em linux mas não sei se posso usar o C# em linux ou seja será que só posso usar o C# no visual studio? se não rodar eu teria que usar C++ para desenvolver para desktop e C# para web, os meu aplicativos são do tipo administrativos a controles de hardwares como impressoras e outros. Estou realmente precisando saber o que usar, você poderia me dar alguma idéia? O C++ ainda será usado ou depois da existência do C# ele esta sujeito a desaparecer?
    quinta-feira, 18 de setembro de 2008 17:23
  •  

    Oi Alexandre,

     

    Concordo com o Caio, mas sugiro que você aprenda primeiro C++ (não gerenciado) e depois faça a migração para C#.

     

    Att.

     

    Ari C. Raimundo

    quinta-feira, 18 de setembro de 2008 17:24
    Moderador
  • E ae blz

     

    O que seria C++ não gerenciado?

    quinta-feira, 18 de setembro de 2008 17:27
  • Alexandre,

     

    Quando você usa C#, seu código é compilado para uma linguagem intermediária chamada MSIL. Os códigos escritos em VB.NET, C++ .NET, JScript .NET também o são. O código MSIL é executado em um ambiente chamado CLR (Common Language Runtime) que possui alguns serviços como: coletor de lixo, gerenciamento de memória, tratamento de exceções, segurança e outros.  Dizemos então que esse é um "ambiente gerenciado".

     

    Quando escrevi para você aprender C++ não gerenciado eu quis dizer para aprender a linguagem C++ que não é compilada para MSIL, como é o caso do Visual C++ (não o .NET), C++ Builder ou ANSI C++.

     

    Espero ter sido claro.

     

    Att.

     

    Ari C. Raimundo

     

    quinta-feira, 18 de setembro de 2008 17:41
    Moderador
  • Valeu pela atenção!

     

    Então eu acredito que seja melhor eu começar a estudar em C# e depois dar uma passada pela C++

    Alguém poderia me recomendar um livro bom! Tipo um passo a passo de C# para estudar?

    quinta-feira, 18 de setembro de 2008 17:50
  • Olá Alexandre,

     

    Agora sim ficou mais fácil de responder Smile

     

    Se você vai desenvolver aplicações Web, dificilmente irá desenvolver em C++. Pode ir direto para o C#.

     

    Para executar aplicações desktop desenvolvidas em .NET, no Linux, você pode utilizar o Mono:

    http://www.mono-project.com

     

    Para o desenvolvimento das aplicações que controlam outros hardwares, também é possível de ser feito com C#, através de um recurso chamado Platform Invoke, e você também não precisaria, necessariamente, do C++ para isso.

     

    Na pior das hipóteses (se por acaso a comunicação com hardware via C# não tivesse a performance que você precisa), você poderia desenvolver toda a interface gráfica e acesso à bases de dados no C#, utilizando Windows Forms ou WPF, e uma pequena parte (DLL) para comunicação específica com hardware, em C++.

     

    Sobre o C++ desaparecer, acho que é possível, mas também acho que não estarei vivo para ver Smile

     

    Por último, - e arriscando levar um puxão de orelha dos moderadores, mas tenho de ser justo Wink - uma vez que você precisa que aplicações funcionem tanto no Windows quanto no Linux, você pode considerar utilizar Java para tudo... Aplicações Desktop e Web (JSP, Servlets, etc...).

     

    Abraços,

    Caio Proiete

    quinta-feira, 18 de setembro de 2008 17:56
    Moderador
  • E ae Caio blz

     

    É o que eu estava verificando com alguns amigos aqui e esse é o melhor caminho, vou trabalhar com C# para web e desktop windows e caso eu necessite de alguma coisa em linux vou usar java.

    Você poderia me indicar um bom livro passo a passo para estudar C#?

     

    Valeu mesmo pela atenção cara

    quinta-feira, 18 de setembro de 2008 18:01
  • Olá Alexandre,

     

    Quem sabe, quando você terminar de desenvolver as aplicações, o projeto Mono esteja mais maduro ainda, com menos limitações, e você poderia apenas copiar os arquivos do Windows para o Linux e tudo funcionar direitinho?? Smile Seria um sonho, não? E não está muito longe...

     

    Sobre os livros sobre C#, esses são os meus favoritos:

     

    Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition (Windows.Net) by Andrew Troelsen
    http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598849/ref=pd_bbs_3?ie=UTF8&s=books&qid=1221761154&sr=8-3

     

    Programming Microsoft® Visual C#® 2008: The Language by Donis Marshall
    http://www.amazon.com/Programming-Microsoft%C2%AE-Visual-2008-Language/dp/0735625409/ref=pd_bbs_sr_6?ie=UTF8&s=books&qid=1221761154&sr=8-6

     

    Professional C# 2008 (Wrox Professional Guides) by Christian, Bill Evjen, Jay Glynn, and Morgan Skinner
    http://www.amazon.com/Professional-C-2008-Wrox-Guides/dp/0470191376/ref=pd_bbs_7?ie=UTF8&s=books&qid=1221761154&sr=8-7

     

    Alguns alunos já me disseram muito bem de outro livro, dizendo ser bem didádico, mas não li e não sei dizer se é bom:

     

    Head First C# (Brain-Friendly Guides) by Andrew Stellman and Jennifer Greene
    http://www.amazon.com/Head-First-C-Brain-Friendly-Guides/dp/0596514824/ref=pd_bbs_9?ie=UTF8&s=books&qid=1221761154&sr=8-9

     

    --

     

    Já percebi que você prefere estudar por livros, mas de qualquer forma, existe um treinamento básico que acho que todo mundo deveria fazer antes de começar com C#:

     

    Curso Oficial Microsoft: 2124 - Programming with C#

    http://www.kasolution.com.br/ka/desc_curso.asp?cursoId=134&mscssid=

     

    Abraços,

    Caio Proiete

     

     

    quinta-feira, 18 de setembro de 2008 18:15
    Moderador
  • E ae cara blz!

     

    Realmente gosto muito de livros pra é a melhor forma de aprender o principal depois é só usar a internet para deixar a coisa mais fina

     

    Cara valeu mesmo pela atenção e muito obrigado pela força.

    quinta-feira, 18 de setembro de 2008 18:26
  • C++ é otimo para iniciantes em programação, ele tambem é uma linguagem Orientada a Objetos, tem semelhanças com o Java;

    C# como os outro colegas dizeram serve para aplicaçoes web, mas tambem pode criar aplicaçoes desktop com interface graficas.

    mas caso voce queira rodar seu programa em outras plataformas como por exemplo linux,mac. entao o c# não vai dar, pois ele não suporta a portabilidade como o java. pois o C# não gera um bytecode.

    quarta-feira, 19 de dezembro de 2012 12:42
  • mas caso voce queira rodar seu programa em outras plataformas como por exemplo linux,mac. entao o c# não vai dar, pois ele não suporta a portabilidade como o java. pois o C# não gera um bytecode.

    quarta-feira, 19 de dezembro de 2012 12:43
  • procure livros da Deitel dizem que são bons.

    e tem alguns nesse site :http://www.linuxmall.com.br/home

    quarta-feira, 19 de dezembro de 2012 12:45