Os programas em C são pequenos e extremamente rápidos. Mais rápido que C, só em Assembly, programando direto no metal. A compilação em C faz com que o programa ocorra em níveis bem próximos do hardware, otimizando bastante a execução dos programas.
Programadores em C tem o total controle e acesso aos recursos do computador e
do sistema operacional, podendo acessar e lidar com áreas do sistema que
simplesmente são inacessíveis com outras linguagens de programação, como Java ou C#. Você tem acesso inclusive aos endereços de
memória de seu computador.
Porem a possibilidade
de fazer besteira e bagunçar seu sistema programando em C é grande, pois como
eu disse, você tem total domínio sobre sua máquina, nos mínimos detalhes. É bem
fácil fazer um looping que trave seu sistema ou um arquivo que cresça
indefinidamente e lote seu HD em poucos instantes, ou ainda apagar ou alterar
qualquer arquivo de sistema.
Não é por coincidência que os grandes e melhores hackers criam aplicações em C.
Não é por coincidência que os grandes e melhores hackers criam aplicações em C.
Mas para ter todo esse poder em suas mãos não vai ser fácil:
C é considerada uma das linguagens mais difíceis de se aprender. Talvez só não
seja mais difícil que Assembly.
Mas não é pra menos, com tantas possibilidades e flexibilidade oferecida pelo C, você tem mesmo que estudar muito para ter total controle de como funciona seu computador e seu sistema.
Para você ter uma noção do poder da linguagem C, ela foi criada justamente para criar o sistema operacional Unix, o pai de todos os sistemas operacionais.
Hoje em dia, praticamente todos os sistemas operacionais e linguagens de programação usam a linguagem C totalmente ou na maior parte de seus códigos.
Ela foi criada por Dennis Ritchie, no final da década de 60 e começo da década de 70. Foi e é a linguagem utilizada por Linus Torvalds para desenvolver o Linux e seu Kernel, e também por Richard Stallman para criar os softwares livres do projeto GNU.
É de propósito geral, estruturada (não é orientada a objetos), imperativa e simples, o que permite que seja possível sua compilação em praticamente qualquer plataforma.
Mas não é pra menos, com tantas possibilidades e flexibilidade oferecida pelo C, você tem mesmo que estudar muito para ter total controle de como funciona seu computador e seu sistema.
Para você ter uma noção do poder da linguagem C, ela foi criada justamente para criar o sistema operacional Unix, o pai de todos os sistemas operacionais.
Hoje em dia, praticamente todos os sistemas operacionais e linguagens de programação usam a linguagem C totalmente ou na maior parte de seus códigos.
Ela foi criada por Dennis Ritchie, no final da década de 60 e começo da década de 70. Foi e é a linguagem utilizada por Linus Torvalds para desenvolver o Linux e seu Kernel, e também por Richard Stallman para criar os softwares livres do projeto GNU.
É de propósito geral, estruturada (não é orientada a objetos), imperativa e simples, o que permite que seja possível sua compilação em praticamente qualquer plataforma.
Ai vão alguns programas conhecidos que usam C : Mozilla usa
C, Chrome, MySQL, ThundeBird, Winamp, a Apple, boa parte do Windows...o mundo
roda sob C.
A Linguagem C++ é totalmente derivada da linguagem C, tem tudo que C tem e mais algumas
características, cuja principal é orientação à objetos (tanto que antigamente
C++ era chamado de 'C com classes').
Ela é de uso geral, usada tanto em alto como baixo nível,
muito usada em meio acadêmico e comercial/empresarial, principalmente no setor
de jogos, pelo seu alto desempenho, além de dar a liberdade ao programador de
usar os paradigmas de programação funcional (como em C) ou de orientação a objetos (como em Java).
O que torna C++ atraente para o desenvolvimento de games são
as bibliotecas gráficas, como a Allegro, OpenGL, SDL e DirectX.
Com estas bibliotecas você já pode começar a programar seus jogos, usando o que há de melhor da tecnologia, tanto de vídeo, como de áudio e 3D, sem se estressar muito com o baixo nível (hardware, drivers etc), estas bibliotecas já facilitam tudo pra você.
Porém, você tem que saber C++.
Por lidar diretamente com o equipamento, com memória e detalhes mais precisos do sistema, C++ é muito usado comercialmente e empresarialmente, devido ao seu alto teor de segurança e confiabilidade, além de ser uma linguagem bastante estável, principalmente por estar apoiada na linguagem 'mãe', a C.
Mas a grande sacada do C++ é usar o poder da linguagem C com as facilidades da orientação a objetos. Isso facilita muito a vida dos programadores, e dá um poder sobre o equipamento que é impossível ter em Java ou C#.
Com estas bibliotecas você já pode começar a programar seus jogos, usando o que há de melhor da tecnologia, tanto de vídeo, como de áudio e 3D, sem se estressar muito com o baixo nível (hardware, drivers etc), estas bibliotecas já facilitam tudo pra você.
Porém, você tem que saber C++.
Por lidar diretamente com o equipamento, com memória e detalhes mais precisos do sistema, C++ é muito usado comercialmente e empresarialmente, devido ao seu alto teor de segurança e confiabilidade, além de ser uma linguagem bastante estável, principalmente por estar apoiada na linguagem 'mãe', a C.
Mas a grande sacada do C++ é usar o poder da linguagem C com as facilidades da orientação a objetos. Isso facilita muito a vida dos programadores, e dá um poder sobre o equipamento que é impossível ter em Java ou C#.
Fonte : http://www.programacaoprogressiva.net
C# é uma linguagem elegante e de tipos
protegidos, orientada a objeto e que permite aos desenvolvedores construírem
uma variedade de aplicações seguras e robustas.
É possível usar C# para criar muito
aplicativos de cliente do Windows, serviços Web XML, componentes distribuídos,
aplicativos de cliente-servidor, aplicativos de banco de dados, e muito mais.
O Visual C# fornece um editor de códigos avançado,
designers de interface de usuário convenientes, depurador integrado, e muitas
outras ferramentas para facilitar o desenvolvimento de aplicativos baseados na
linguagem C# e no .NET Framework.
A sintaxe do C# é altamente expressiva, mas
ela também é simples e fácil de aprender. A
sintaxe do C# será instantaneamente reconhecida por qualquer pessoa
familiarizada com C, C++ ou Java. Os
desenvolvedores que sabem qualquer uma dessas linguagens são geralmente capazes
de começar a trabalhar de forma produtiva com C# dentro de um tempo muito
curto. A sintaxe do C# simplifica muitas das complexidades do C++ e
fornece recursos poderosos, como tipos de valor nulo, enumerações, delegações,
expressões lambda e acesso direto a memória, que não são encontrados no Java.
O
C# suporta métodos e tipos genéricos, que fornecem uma melhor segurança de tipo
e desempenho, e iteradores, que permitem implementadores de coleções de classes
para definir comportamentos de iteração personalizados que são simples de
usar pelo código cliente. Expressões LINQ (consulta integrada à linguagem) fazem a
consulta fortemente tipada uma linguagem de construção de primeira classe.
Como uma linguagem orientada à objetos, o C# suporta os conceitos de encapsulamento, herança e polimorfismo. Todas as variáveis e métodos, incluindo o método principal (Main), o ponto de execução de uma aplicação, são encapsuladas em definições de classes. Uma classe derivada pode herdar diretamente somente de uma classe pai, mas pode herdar de qualquer quantidade de interfaces. Métodos da classe derivada que substituem métodos virtuais de uma classe pai exigem a utilização da palavra-chave override como forma de evitar a redefinição acidental. Em C#, uma struct é como uma classe simplificada; é um tipo alocado em pilha que pode implementar interfaces mas não suporta herança.
Se você tiver que interagir com outros softwares Windows como objetos COM ou DLLs Win32 nativas, você pode fazer isso em C# através de um processo chamado "Interop". O Interop permite aos programas C# fazer quase tudo que uma aplicação nativa C++ pode fazer. O C# suporta ponteiros e o conceito de código inseguro para esses casos em que acesso direto à memória é absolutamente crítico.
O processo de compilação do C# é simples comparado com C++ e mais flexível que em Java. Não há arquivos de cabeçalho separados, e não há a necessidade de que métodos e tipos sejam declarados em uma ordem específica. Um arquivo de código em C# pode definir qualquer número de classes, estruturas, interfaces e eventos.
Fonte : http://msdn.microsoft.com
Nenhum comentário:
Postar um comentário