Usuário com melhor resposta
Dúvidas sobre C# e C++

Pergunta
-
Respostas
-
Olá Alexandre,
Agora sim ficou mais fácil de responder
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:
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
Por último, - e arriscando levar um puxão de orelha dos moderadores, mas tenho de ser justo
- 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
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
-
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? -
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
- Sugerido como Resposta Unsolved Mysterie quarta-feira, 7 de março de 2012 19:12
-
-
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
-
-
Olá Alexandre,
Agora sim ficou mais fácil de responder
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:
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
Por último, - e arriscando levar um puxão de orelha dos moderadores, mas tenho de ser justo
- 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
-
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
-
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??
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-3Programming 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-6Professional 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-7Alguns 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
-
-
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.
-
-