Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

qwerty1234

[Resolvido] Diferença entre C ou C++

Mensagens Recomendadas

qwerty1234

tou com uma duvida por onde começar C ou C++, gostava de saber quais as diferenças entre elas!

Desde já Obrigado ! :)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fteixeira1993

tou com uma duvida por onde começar C ou C++, gostava de saber quais as diferenças entre elas!

Desde já Obrigado ! :)

Em geral C é um subset de C++, basicamente tudo o que fazes em C fazes em C++ (não sendo totalmente verdade pois as linguagens usam standards diferentes, mas é quase). Mas C++ tem muitas coisas novas, a principal diferença é que C++ é uma linguagem orientada a objectos (com classes, hierarquias, polimorfismo, etc) e C não. Quanto a começar, aconcelho-te a começares por C, sendo que C é mais facil que C++ :).

cumps,

fteixeira1993

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

C não é um subset de C++, mas sim o contrário

C++ é que é um supraset de C. é uma questão de precedência ...

se é para começar, por amor de Deus não escolhas C++ !!!!

Editado por HappyHippyHippo
  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruirodrigues1971

se o objectivo é aprender a programar ... escolhe outra linguagem ... C e C++ têm muitos detalhes de memória que podem complicar a tua vida. Começa por uma linguagem mais acessível.

Aconselho-te esta ordem:

1 - Basic <--- ------ por não exigir perceber muito das questões de memória numa primeira fase. Aprendes o essencial sem desmotivar.

Se tiveres excel tenta programar em VBA após aprender as bases do Basic ... A linguagem é super antiga ... super feia, para quem já domina o resto das outras linguagens, mas como para ti é novidade vais adorar :cheesygrin:

2 - C <---------- por começar a obrigar a perceber os detalhes de mais baixo nível ... e se um dia quiseres programar hardware em baixo nível é interessante

3 - VB.Net/C# / Java <---- Linguagens orientadas a objectos .Fazer interfaces gráficas ... que motivam bastante quando se está no início (profissional e muitos produtivas .... e o mercado procura ;) são as que mais uso )

4 - C++ <-------------------- em último caso hehehe (por acaso é a linguagem que uso quando faço coisas muito exigentes ao nível de cálculo)

http://www.freebasic.net/

https://www.youtube.com/embed/4rnhIwYg2Os?feature=oembed

Basic (VBA está nas aplicações do MSOffice)

http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop Vb.net/C#/C++/C

https://netbeans.org/ Java

Nota: Eu sou da geração do basic do Spectrum :P

Editado por ruirodrigues1971
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
qwerty1234

se o objectivo é aprender a programar ... escolhe outra linguagem ... C e C++ têm muitos detalhes de memória que podem complicar a tua vida. Começa por uma linguagem mais acessível.

Aconselho-te esta ordem:

1 - Basic <--- ------ por não exigir perceber muito das questões de memória numa primeira fase. Aprendes o essencial sem desmotivar.

Se tiveres excel tenta programar em VBA após aprender as bases do Basic ... A linguagem é super antiga ... super feia, para quem já domina o resto das outras linguagens, mas como para ti é novidade vais adorar :cheesygrin:

2 - C <---------- por começar a obrigar a perceber os detalhes de mais baixo nível ... e se um dia quiseres programar hardware em baixo nível é interessante

3 - VB.Net/C# / Java <---- Linguagens orientadas a objectos .Fazer interfaces gráficas ... que motivam bastante quando se está no início (profissional e muitos produtivas .... e o mercado procura ;) são as que mais uso )

4 - C++ <-------------------- em último caso hehehe (por acaso é a linguagem que uso quando faço coisas muito exigentes ao nível de cálculo)

http://www.freebasic.net/

https://www.youtube.com/embed/4rnhIwYg2Os?feature=oembed

Basic (VBA está nas aplicações do MSOffice)

http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-for-windows-desktop#product-express-desktop Vb.net/C#/C++/C

https://netbeans.org/ Java

Nota: Eu sou da geração do basic do Spectrum :P

eu estava pensando em aprender C e aproveitar para aprender a programar para arduino porque as 2 linguagens sao muito parecidas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

se o objectivo é aprender a programar ... escolhe outra linguagem ... C e C++ têm muitos detalhes de memória que podem complicar a tua vida. Começa por uma linguagem mais acessível.

Compreendo esta posição, e costumo apoiá-la...

Aconselho-te esta ordem:

1 - Basic <--- ------ por não exigir perceber muito das questões de memória numa primeira fase. Aprendes o essencial sem desmotivar.

Se tiveres excel tenta programar em VBA após aprender as bases do Basic ... A linguagem é super antiga ... super feia, para quem já domina o resto das outras linguagens, mas como para ti é novidade vais adorar

...e já falámos melhor. Começar em BASIC?? Ou VBA?? Pelo amor da santa, não. :D

A iniciação deve ser feita com linguagens estruturadas e não do arco da velha que, apesar de terem tido a sua grande importância e auge de juventude em tempos idos, hoje em dia são um ninho de más práticas. Quere-se uma LP que dê boas práticas para começar, não um par delas que só vai ensinar maus costumes.

Além disso, VBA é só mesmo se se necessitar. Caso contrário, é dispensável.

Eu não costumo recomendar C para iniciação, mas em comparação com essa ideia, C all mighty.

2 - C <---------- por começar a obrigar a perceber os detalhes de mais baixo nível ... e se um dia quiseres programar hardware em baixo nível é interessante

Ok, também costumo recomendar como 2ª LP, por acaso, e precisamente pelos mesmo motivos ;)

3 - VB.Net/C# / Java <---- Linguagens orientadas a objectos .Fazer interfaces gráficas ... que motivam bastante quando se está no início (profissional e muitos produtivas .... e o mercado procura são as que mais uso )

Entre essas 3, recomendo vivamente C# e/ou Java, e não recomendo VB.NET (eu aprendi as bases e programo esporadicamente em VB.NET, e é mesmo por isso que digo isto :D).

4 - C++ <-------------------- em último caso hehehe (por acaso é a linguagem que uso quando faço coisas muito exigentes ao nível de cálculo)

Ok, mas a esta altura eu recomendaria uma linguagem funcional, se não mesmo antes, a não ser que haja motivos que obriguem mesmo à aprendizagem de outras LP's que não sejam funcionais.

Nota: Eu sou da geração do basic do Spectrum :P

Ok, está em parte explicado.

BASIC já lá vai, e é interessante quando se é já um programador maduro. Em tempos foi a grande LP do mundo, hoje em dia não é nada recomendável para iniciação, antes pelo contrário. Só aquela quantidade de GOTO's arrepia-me. Há linguagens muito melhores para iniciação, a meu ver :)

  • Voto 1

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruirodrigues1971

hehehe ... mas olha que o Basic só é mau para aprender se a pessoa não usar as boas práticas ;) (o que é verdade em todas as linguagens) ... quando aprendi a programar com 13 anos era tudo a olho, mas depois fiz um curso aos 15 anos que me obrigaram a ter boas práticas hehehe ;)

A minha experiência de professor diz-me que é preciso evitar ao máximo entrar logo na programação orientada por objectos e parece ser a prática comum actualmente ... o que faz com que os alunos se percam em coisas que não deviam se preocupar quando estão a iniciar.

Quanto ao VB.Net não vejo nenhuma diferença com o C# ou Java em termos de organização e de lógica de programação ... programo com as três.

Quanto à linguagem funcional ... és capaz de ter razão, mas para além do mundo académico pouco vejo a serem usadas (embora o haskel pareça ter uma comunidade activa), mas é importante para se ter mais uma paradigma na cabeça.

Quanto ao VBA ... realmente é algo um pouco intragável em termos profissionais devido aos IDEs e à falta de evolução da linguagem e aos problemas de compatibilidade ... no entanto no fim dos projectos é tão giro de ver o brilho nos olhos do pessoal que usa o Excel ao ver cálculos que demoram dias a serem feitos em segundos hehehe ...

aprender C e aproveitar para aprender a programar para arduino porque as 2 linguagens são muito parecidas 

sim é bem verdade ... arduino é exactamente C, no entanto devias começar com uma linguagem mais acessível. Em todo o caso se avançares tens todo o nosso apoio ... foi a minha segunda linguagem antes de entrar para a universidade.

Out of Record: Não conheço Python será que seria uma boa primeira linguagem para aprender a programar? como conheço algumas faculdades começam com ela?

Editado por ruirodrigues1971
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KTachyon

Eu comecei com Logo e depois passei para BASIC e, se repararem bem, o BASIC não corresponde exactamente a uma única linguagem de programação, porque existem variações no dialecto que não são compatíveis entre os vários compiladores e interpretadores. A minha primeira linguagem OOP foi precisamente uma das muitas variantes do BASIC. O problema é que, hoje em dia pouca ou nenhuma utilidade tenho para a linguagem.

Na minha opinião, Python é a linguagem de eleição dos dias de hoje para começar.

  • Voto 2

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

A minha experiência de professor diz-me que é preciso evitar ao máximo entrar logo na programação orientada por objectos e parece ser a prática comum actualmente ... o que faz com que os alunos se percam em coisas que não deviam se preocupar quando estão a iniciar.

Eu também não recomendo nada isso. ;)

Não acho que seja o melhor paradigma para iniciação. O melhor paradigma para se introduzir à programação é, a meu ver, o Estrutural - ensina desde logo boas práticas de programação básicas como a estruturação e modulação do código em funções, procedimentos e etc, evitando blocos de código repetidos vezes sem conta, e introduzindo desde cedo a utilização preferencial de variáveis locais em detrimento de globais.

Quanto à linguagem funcional ... és capaz de ter razão, mas para além do mundo académico pouco vejo a serem usadas (embora o haskel pareça ter uma comunidade activa), mas é importante para se ter mais uma paradigma na cabeça.

A minha experiência amadora diz-me que a importância de uma linguagem está muito para além da sua utilização ou do mercado. Pessoalmente considero o paradigma funcional algo que qualquer programador deveria abordar, nem que fosse só um pouco, algures na sua vida. Obriga-nos a pensar de uma forma radicalmente diferente e isso irá trazer vantagens, inclusive na nossa forma de pensar nos outros paradigmas. Haskeel então é um mimo para isto: sem ciclos e outras coisas muito "comuns", obriga-nos a ganhar toda uma nova noção de programação... e a verdade é que é, a meu ver, fascinante. Tenho pena de não ter neste momento tempo para a estudar mais e melhor. :D

Out of Record: Não conheço Python será que seria uma boa primeira linguagem para aprender a programar? como conheço algumas faculdades começam com ela?

Como o @pwseo disse, Python tem uma série de características que levam a que seja, como o @KTachyon por sua vez disse, uma LP de eleição para iniciação.

Podes programar em todos estes estilos: estrutural, OO, funcional. O único problema no funcional é que Python não é assim tão "funcional" como manda a teoria. Para se ter o verdadeiro saber deste paradigma, Haskell é o Rei da parada :D

Mas, ainda assim, já se toma o conhecimento de certas coisas do paradigma.

Python é mesmo muito bom para iniciação, sem dúvida. A transição entre paradigmas torna-se natural e é quase uma porta para muitas outras LP's, mais do que alguma vez C, BASIC, Java ou whatever serão. A par de Python só mesmo, porventura, Pascal ou Lisp, penso (Pascal só não tem paradigma funcional, e Lisp implementa muito bem, por sua vez, o paradigma funcional).

Conclusão disto tudo: se o @Diogo quiser começar com C, tudo bem. Não é a LP que eu considere como a eleição para a iniciação, mas considero que é uma LP extremamente importante e que deve ser adquirida a curto a médio prazo. Uma LP estruturada e com uma tipagem mais forte e coerente seria, a meu ver, melhor para começar.

  • Voto 2

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.