• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fpinto

c \ c++ \ c#

vai ficar por c ou passas para c++? se sim ainda queres ir para c#???   36 membros votaram

  1. 1. vai ficar por c ou passas para c++? se sim ainda queres ir para c#???

    • fico por c
      5
    • quero c++
      15
    • desejo ir longe c#!!
      16

Please inicie sessão ou registe-se para votar.

38 mensagens neste tópico

Já existem tópicos disto fpinto, pelo menos um.

E não voto porque essa votação não tem nada a ver com a realidade. São linguagens parecidas em sintaxe mas ao mesmo tempo diferentes, qualquer pessoa se inicia bem por C++ ou C# sem ter pegado em C. Mas é capaz de ajudar...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E não voto porque essa votação não tem nada a ver com a realidade. São linguagens parecidas em sintaxe mas ao mesmo tempo diferentes, qualquer pessoa se inicia bem por C++ ou C# sem ter pegado em C. Mas é capaz de ajudar...

C++ tem tudo aquilo que c tem e muito mais. mas os de c++ dizem que e nessesario saber c, e se fores a secao de c# nos tuturials dizem que tem de se saber c e c++.

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

C++ tem tudo aquilo que c tem e muito mais. mas os de c++ dizem que e nessesario saber c e se fores a secao de c# nos tuturials dizem que tem de se saber c e c++.

cumps fpinto

Não tou a ver onde dizem isso mas se dizem estão totalmente errados.

Como já disse, saber C ajuda a iniciar-se em C++ e saber C++ ajuda em C# mas não é necessário.

Outra coisa, quando dizem que C++ tem muito mais referes-te a quê? É que tu em C também podes fazer tudo, mesmo tudo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

C++ tem tudo aquilo que c tem e muito mais. mas os de c++ dizem que e nessesario saber c e se fores a secao de c# nos tuturials dizem que tem de se saber c e c++.

cumps fpinto

Não tou a ver onde dizem isso mas se dizem estão totalmente errados.

Como já disse, saber C ajuda a iniciar-se em C++ e saber C++ ajuda em C# mas não é necessário.

Outra coisa, quando dizem que C++ tem muito mais referes-te a quê? É que tu em C também podes fazer tudo, mesmo tudo.

se e assim entao porque e que existe c e c++ nao e so porcausa da estrutura concerteza

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As linguagens foram aparecendo ao longo do tempo.

Mais uma vez, procura no fórum um tópico sobre C/C++/C# que há uns tempos um utilizador fez, ele tinha as mesmas dúvidas que tu. Pode ser que te ajude. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A thread vai ser reaberta apenas porque o assunto até pode ser interessante se for bem discutido, a confusão que o fpinto está a fazer muita gente faz.

fpinto, recomendo-te vivamente a começares a escrever correctamente no fórum, isto não é nem MSN nem é o IRC, estás a comunicar com pessoal de várias faixas etárias, como tal, recomendo-te a que comeces a escrever correctamente, para teu bem e para uma boa convivência no fórum.

Se tiveres dúvidas, usa a ferramenta que o vbmaster recomendou.

A thread foi limpa, e agradeço que se mantenham ontopic. Apesar do assunto ser disparatado para uns, é pertinente para outros.

HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas,

C foi a primeira linguagem que aprendi (depois de Português, Inglês e Francês claro...lol) e por enquanto é a unica em que consigo fazer alguns programazecos de jeito.

Nunca me interessei por c++ ou c#, pois por enquanto a C para mim é uma linguagem de fácil utilização e com bastantes funcionalidades.

Logo fico ainda com a velha C... :P

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tive dois semestres de java na universidade, antes já sabia um pouquinho (minúsculo) de C....

No fim desses semestres decidi-me a pegar em C/C++... Optei por C++ por ter um pouco mais de semelhanças em relação a java..... Até me consegui dar bastante bem com a linguagem, mas a verdade é que, nas coisas simples que tenho feito, tenho trabalhado em C....

C++ traz ferramentas para facilitar as coisas, como classes, e outras formas de simplificar trabalho... Mas a verdade é que encontro coisas que acho que só me dão mais trabalho.... Namespaces, por exemplo.....

Muitas vezes compilo em C++ usando bibliotecas de C, pois acho-as mais simples de utilizar, com a mesma funcionalidade....

Ainda não precisei de usar classes em C, mas como ainda ando em estudos, é das próximas coisas que vou ver, pois deve haver uma maneira inteligente de dar a volta........

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ainda não precisei de usar classes em C, mas como ainda ando em estudos, é das próximas coisas que vou ver, pois deve haver uma maneira inteligente de dar a volta........

Não existe orientação a objectos nativa em C, para isso mais vale usares o C++.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em c++ também não.... criaram foi as classes e outras ferramentas para facilitar......

Quer dizer que em C não há qualquer modo de eu criar um tipo de dados e (somente) a esse tipo associar operações/serviços?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em c++ também não.... criaram foi as classes e outras ferramentas para facilitar......

O que estás a dizer não faz sentido. Estás a dizer que numa linguagem cuja maior diferença para C foi o acrescento da orientação a objectos não existe orientação a objectos? Então porque é que na cadeira POO trabalhei com C++?

Quer dizer que em C não há qualquer modo de eu criar um tipo de dados e (somente) a esse tipo associar operações/serviços?

Se te estás a referir a acrescentar métodos a uma struct, não, não é possível. Só em C++. Podes utilizar funções que trabalhem com os campos de uma struct, e essas ficam associadas somente a essa struct porque tens que lhe passar como argumento uma instância (ou apontador) dessa struct. O que é quase o comportamento das classes em C++.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em c++ também não.... criaram foi as classes e outras ferramentas para facilitar......

O que estás a dizer não faz sentido. Estás a dizer que numa linguagem cuja maior diferença para C foi o acrescento da orientação a objectos não existe orientação a objectos? Então porque é que na cadeira POO trabalhei com C++?

C++ não é 100% orientada a objectos.... Tu em C++ podes fazer aplicações não-orientadas a objectos... Já java, por exemplo, exige que cada aplicação pertença a uma classe.

Podes usá-la como orientada a objectos, mas o facto de poderes usá-la sem orientação a objectos, faz com que não seja. É a minha opinião, claro, mas não sou o único, julgo....

EDIT: humm, desculpa, eu respondi que "não existe" e não que "não é"..... Tens toda a razão, desculpa!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas o uso de classes não implica a orientação a objectos. O paradigma de orientação a objectos é mais restrito, e implica o uso de derivações de classes, herança de métodos virtuais, etc.

Caso contrário poder-se-ia dizer que C tem suporte limitado para orientação a objectos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E é verdade. Não é em vão que se diz nem é falso que "em C podes fazer tudo"...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Orientação a objectos é um paradigma bem definido, e que não existe em C. Há maneiras de fazer o mesmo trabalho em C, mas de maneira diferente que nada tem a ver com orientação a objectos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em C++ tem-se as classes, em C tem-se os belos dos apontadores.

Será essa a maior diferença?

Desculpem-me a ignorancia. Pessoalmente percebo apenas qq coisa de C, mas a ideia que tenho é que a grande vantagem de C++ é que em vez de trabalhar com os apontadores (os amiguinhos do "segmentation faul") trabalha-se com classes.

Já agora, o básico de C aprendi com o livro do Damas. Ha algum livro do genero que me recomendassem para C++? (ou um pouco mais avançado, uma vez que ja tenho as bases de C)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epá, de C/C++ para C# vai uma grande passo... uma coisa é aprender a sintaxe... outra coisa é aprender a como funciona a arquitectura .NET...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se te estás a referir a acrescentar métodos a uma struct, não, não é possível. Só em C++. Podes utilizar funções que trabalhem com os campos de uma struct, e essas ficam associadas somente a essa struct porque tens que lhe passar como argumento uma instância (ou apontador) dessa struct. O que é quase o comportamento das classes em C++.

boas, TheDark na sequencia desta afirmacao será que poderias elaborar mais um pouco, relembrando que podes ter campos numa struct que são apontadores para funções.

boas programacoes

ps. em relação ao inquerito penso que se houvesse uma reformulação da pergunta fizesse mais sentido o inquerito uma vez que estas três linguagens de programação são distintas e com paradigmas diferentes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epá, de C/C++ para C# vai uma grande passo... uma coisa é aprender a sintaxe... outra coisa é aprender a como funciona a arquitectura .NET...

concordo em parte, pois podes usar c++ managed, ouseja programares em c++ para .net e ai de certeza q o salto não será assim tão grande

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podem conseguir programar rapidamente em C# se já conhecerem C/C++, mas há programar em C# e programar bem em C# utilizando correctamente a framework .NET, e essa é a grande diferença. Penso que era isso que o vitortomaz queria dizer.

Se te estás a referir a acrescentar métodos a uma struct, não, não é possível. Só em C++. Podes utilizar funções que trabalhem com os campos de uma struct, e essas ficam associadas somente a essa struct porque tens que lhe passar como argumento uma instância (ou apontador) dessa struct. O que é quase o comportamento das classes em C++.

boas, TheDark na sequencia desta afirmacao será que poderias elaborar mais um pouco, relembrando que podes ter campos numa struct que são apontadores para funções.

Posso tentar :D

Em C++ (e em todas as linguagens com orientação a objectos que estudei até agora), ao criares um método de instância (i.e., não-static), na chamada a esse método é-lhe passado como 1º argumento (ao nível do assembly) um apontador para a instância (this) da classe sobre a qual foi chamado o método. Neste parágrafo, onde escrevi classe podia ter escrito struct.

Ao colocares um campo numa struct em C do tipo apontador para função, ao chamares essa função através de uma instância da struct, não tens qualquer referência para a instância sobre a qual a função estaria supostamente a ser chamada, tendo que ser passada manualmente a referência num dos argumentos da função. Além de que terias que atribuir o apontador para a função a cada instância da struct, ou então declarar a variável como static, o que deitaria por terra qualquer possível associação com a dita instância.

Por outro lado, em qualquer ponto do código poderia ser chamada a função associada à struct, mesmo sem utilizar a struct.

Por fim, e um pouco mais longe da pergunta, nas structs em C não há noção de visibilidade dos membros (public/private).

Não sei se respondi ao que querias...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora aproveito para perguntar: em que medida é que C# é superior às outras e quais são as vantagens de programar em .NET?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora aproveito para perguntar: em que medida é que C# é superior às outras e quais são as vantagens de programar em .NET?

C# corre sobre uma maquina virtual daí ter algumas vantagens tais como:

-Type Safety

-Gestão de memória automática (GarbageCollection)

-Reflexão

também outras coisas como:

-Os tipos são melhores, já tem tipos genéricos... etc

-Acho que as bibliotecas têm muito mais funcionalidades

-Excepções sempre, não há cá consultar códigos de erro, HResult, booleanos...

mas certamente o C++ também terá algumas vantagens sobre C#, nomeadamente em mais baixo nível

0

Partilhar esta mensagem


Link 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