C, C++ ou Java?

1. C, C++ ou Java?

Júlio
Paulo3434

(usa Debian)

Enviado em 27/07/2018 - 22:28h

Eu apenas queria saber por que eu deveria aprender essas três e suas diferenças.


  


2. Re: C, C++ ou Java?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 28/07/2018 - 16:12h

Para saber quando usar ou não usar cada uma é um motivo bom o bastante para você?


3. ??

Júlio
Paulo3434

(usa Debian)

Enviado em 28/07/2018 - 21:28h

paulo1205 escreveu:

Para saber quando usar ou não usar cada uma é um momento motivo bom o bastante para você?


Não ficou muito claro para mim explique por favor :)




4. Re: C, C++ ou Java?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/07/2018 - 00:29h

Erro de digitação no celular, junto com corretor ortográfico que mais atrapalha do que ajuda.

Cada linguagem tem suas vantagens e desvantagens, que a fazem mais ou menos adequadas a resolver certos tipos de problemas. Conhecer adequadamente múltiplas linguagens pode ser útil para lhe ajudar a escolher a melhor ferramenta para cada problema



5. Re: C, C++ ou Java?

Hugo Cerqueira
hrcerq

(usa Outra)

Enviado em 29/07/2018 - 13:32h

paulo1205 escreveu:

Erro de digitação no celular, junto com corretor ortográfico que mais atrapalha do que ajuda.

Cada linguagem tem suas vantagens e desvantagens, que a fazem mais ou menos adequadas a resolver certos tipos de problemas. Conhecer adequadamente múltiplas linguagens pode ser útil para lhe ajudar a escolher a melhor ferramenta para cada problema


Concordo.

Porém, se tivesse que indicar por qual começar sem conhecimento de algum critério específico (isto é, no chute) eu indicaria C++. Afinal, C++ é uma linguagem que induz o programador a um conhecimento mais amplo sobre os programas que cria. Afinal, ele deverá trabalhar com ponteiros e gerenciamento de memória, o que em Java ele não é obrigado a fazer diretamente (afinal a JVM já faz isso para ele).

C também é uma boa opção, claro, mas C++, sendo um superconjunto de C, facilita o estudo posterior da linguagem C, além de já oferecer recursos de programação genérica e orientação a objetos. Inclusive, isto também facilita o posterior aprendizado de Java (afinal aprender Java sem antes conhecer a orientação a objeto é nadar contra a correnteza). No meu entender, C é como latim: deu origem a outras linguagens e portanto conhecê-lo facilita o entendimento de outras linguagens.

Java está longe de ser minha linguagem favorita, mas devo admitir que é a que tem maior demanda no mercado de trabalho dentre essas 3, principalmente no desenvolvimento Web.

---

Atenciosamente,
Hugo Cerqueira


6. Re: C, C++ ou Java?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 30/07/2018 - 04:47h

hrcerq escreveu:

Porém, se tivesse que indicar por qual começar sem conhecimento de algum critério específico (isto é, no chute) eu indicaria C++. Afinal, C++ é uma linguagem que induz o programador a um conhecimento mais amplo sobre os programas que cria. Afinal, ele deverá trabalhar com ponteiros e gerenciamento de memória, o que em Java ele não é obrigado a fazer diretamente (afinal a JVM já faz isso para ele).


Eu também gosto muito de C++ (diria até que ela é minha linguagem favorita, se isso me fosse perguntado), e indico fortemente que todo mundo procure conhecê-la, sem preconceitos e “pés-atrás”.

Mas eu não sei se é a forma mais fácil de começar. Assim como nossos filhos (tal como nós, antes deles) não aprendem a falar com uma abordagem bottom-up, mas sim pela imitação daquilo que veem seus pais e irmãos falando em níveis variados (e geralmente mais altos), eu não estou certo de que requerer conhecimento de ponteiros, e tipos de dados e operações nativas do hardware desde o início é uma necessariamente coisa boa.

Mas também não sei se seria necessariamente ruim. Não sou teórico de linguagens, quer naturais, quer computacionais; somente um usuário relativamente curioso de ambas, e que começou a programar usando BASIC, que é, e já era nos anos de 1980, considerado de mais alto nível que C ou Assembly (e também, já nos anos de 1980, tida como linguagem que induzia à produção de código confuso).

C também é uma boa opção, claro, mas C++, sendo um superconjunto de C, facilita o estudo posterior da linguagem C, além de já oferecer recursos de programação genérica e orientação a objetos. Inclusive, isto também facilita o posterior aprendizado de Java (afinal aprender Java sem antes conhecer a orientação a objeto é nadar contra a correnteza).


Essa última parte é um pouco estranha. Por que motivo aprender Java sem antes conhecer orientação a objetos é pior do que aprender C++ sem antes conhecer orientação a objetos? Só porque em C++ você não é obrigado a encaixar todo e qualquer programa no modelo de OO, enquanto em Java o é? Se for por isso, alguém poderia argumentar — como eu já vi várias vezes, e possivelmente você também — que essa “leniência” de C++ seria uma fraqueza, que acabaria atrasando a plena adoção de OO.

(Seria um mau argumento, na minha palpiteira opinião. Não apenas porque eu não acho que tudo deva ser feito via OO, mas também porque acho que a forma de Java de “forçar a usar OO” é tosca — além de contraproducente.)

No meu entender, C é como latim: deu origem a outras linguagens e portanto conhecê-lo facilita o entendimento de outras linguagens.


Isso dá pano pra manga... Sob muitos aspectos, os sucessores do Latim são mais simples do que a língua mãe (perda de declinações, modos e formas verbais, redução da quantidade de gêneros, mais analíticas do que sintéticas etc.). As sucessoras de C tendem a ser mais ricas do que a língua original.

Seria um bom debate, mas para o qual não estou devidamente preparado.

Java está longe de ser minha linguagem favorita, mas devo admitir que é a que tem maior demanda no mercado de trabalho dentre essas 3, principalmente no desenvolvimento Web.


Já trabalhei com suporte de infraestrutura a ambiente JavaEE. Como aquilo dá problema, que até os consultores da Oracle pastavam para entender e resolver (muitas vezes resolvendo — ou contornando — sem entender, mesmo)! Nessas horas a gente vê como essa conversa fiada de garbage collection é falsa.

Três vivas para o C++! Se o programador for bom, o programa funciona melhor do que funcionaria sem Java. Se for ruim, ferra o programador, não o pobre analista de infraestrutura (que sempre tem de provar que o que dá pau é a aplicação, não o ambiente).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts