Pergunta

Como a maioria das pessoas, aprendi C ++ depois de C. Aprendi C ++ porque era um daqueles idiomas que buscavam empregos. Ainda estou estudando (fazendo mestres). Um dos meus primos trabalha como desenvolvedor há cerca de 12 anos.

Ele me aconselha a aprender Java para que eu possa conseguir um bom trabalho. Ele diz que apenas alguns setores como a Tele Communications usam C ++ e quase todo o software corporativo é desenvolvido em Java. Estou trabalhando como técnico estudantil na minha universidade. O trabalho envolve a programação do Windows em C ++. Eu aprendi o núcleo Java. Eu não conheço nenhum deles Suportes, Hibernate ou o que quer que esteja lá fora.

Para estar do lado mais seguro, estou planejando dominar os dois. Mas acho que Java é um oceano, embora seja mais fácil programar em Java do que C ++ (esta é a minha opinião. Os amantes de C ++ não me matam).

O que vocês, geeks e profissionais, me aconselham. Você acha que eu deveria aprender os dois. Quais setores da indústria de software usam C ++?

Foi útil?

Solução

Os melhores conselhos que já recebi como estudante de graduação foram do meu professor de idiomas, que me contou (parafraseando aqui): "Não memorize idiomas; não se case com um idioma. Eles são apenas ferramentas. Todos eles fazem o mesmo básico coisas. Em vez de aprender um idioma específico, aprenda os fundamentos do bom desenvolvimento de software. Em seguida, você poderá tomar qualquer idioma e ter sucesso com ele ".

Eu temia aprender novos idiomas antes que ele me dissesse isso. Afterwords, segui o conselho dele e isso fez toda a diferença. Os idiomas são apenas ferramentas na sua caixa de ferramentas. Se você pode programar e escrever um bom software em um idioma, poderá fazê -lo em outro.

Outras dicas

O C ++ ainda é usado extensivamente para tarefas intensivas em desempenho. Por exemplo, eu trabalho muito com compactação de vídeo e descompressão - é tudo C ++. Em parte porque precisamos do desempenho e em parte porque todas as bibliotecas de terceiros que precisam usar são C ++, por isso é mais fácil integrar -se a elas se estivermos usando o mesmo idioma.

Uma breve lista de projetos que usam C ++:

  • Desenvolvimento do driver de dispositivo
  • Jogos
  • Motores avançados (áudio, processamento de imagens, etc)
  • Telecom
  • Software incorporado (dispositivos e outros)

C ++ nem está perto de estar morto.

Minha experiência:

A Bloomberg, a Reuters e todos os seus clientes bancários/comerciais que desejam feeds de dados de baixa latência usam C ++. (Fidelity, JPMorgan, BNP, Citibank, etc.)

A indústria de defesa usa C ++. (entre outros idiomas - Java também é popular)

Essas indústrias também usam Java e outros idiomas, mas o C ++ é difícil de vencer. Observe também que existe uma enorme base de código C ++ existente que levará muito tempo para ir embora (se alguma vez)

Não é difícil conhecer e usar os dois. Não se preocupe muito com um idioma específico. Esse não é o verdadeiro ponto crucial do desenvolvimento de software.

Alguns sites que se chamam, o Google calcula que usa C ++ extensivamente. Graças a Deus eles não precisam de desempenho para indexar os poucos sites por aí.

Se essa coisa interweb decolar, eles estarão com problemas reais. (-:

Sério, além da mudança atual de canal (reversão?) Para C e Perl, os quatro projetos anteriores foram todos C ++.

  1. Um sistema de controle de partida em larga escala para várias das principais companhias aéreas do mundo (30.000 arquivos de log de 10 MB por dia)
  2. um simulador de treinamento de vôo e uma plataforma de comprovação de software baseada em solo para uma nova aeronave militar
  3. Uma estrutura em larga escala para um simulador de controle de tráfego aéreo existente que foi usado para incorporar a nova rede de telecomunicações aeronáuticas (ATN)
  4. Um sistema avançado de processamento e exibição de radar para um centro de controle de tráfego aéreo na rota

Tudo realmente interrompendo.

Os videogames ainda usam C ++. Um exemplo que vem à mente é o mecanismo de torque que pode ser usado para o desenvolvimento de jogos para iPhone e Xbox.

O C ++ não está nem perto de estar morto e, como sugerido por outros, não se case com um idioma. Se você está aprendendo C ++ em termos de perspectivas de emprego, sugiro que você pegue um representante de um paradigma de programação.

  • C - Programação Imperativa
  • C ++/Java/Obj -C - OOP
  • Lisp/Haskell/Esquema - Programação Funcional

Ser ajustado aos paradigmas geralmente é mais difícil do que pegar o próprio idioma. Espero que os outros tenham se interessado por outras sugestões.

Muitos contratados de defesa, especialmente ao lidar com hardware, usam C ++

Muitos criadores de equipamentos médicos avançados (por exemplo, ressonância magnética) usam C ++.

Eu digo aprender ambos se puder. É bom ter a fundação C ++, mesmo se você acabar em um idioma de caixa de areia como C ++/C#. Muitas pessoas não entendem o básico.

Observe que diferentes cidades têm a maioria dos empregos em um idioma específico. Vá para os quadros de empregos do Craigslist para a cidade em que você acha que acabaria e veria o que eles procuram. Por exemplo, Pittsburgh é uma cidade C#, enquanto Nova York é mais equilibrada.

O C ++ ainda é usado extensivamente em aplicações de engenharia, como sistemas CAD/CAM de ponta.

Eu acho que a morte de Código nativo é muito exagerado. Até a Microsoft se afastou de fazer C ++ sobre o .NET no Visual Studio 2008. Parece estar melhorando ativamente suas ferramentas nativas de desenvolvimento de C ++ novamente, além de tornar a interopagem com o mundo gerenciado mais fácil.

Meu conselho, aprenda C#. Atualmente, quase 50% das listagens de empregos eram Java e quase os outros 50% eram C#, havia apenas alguns C ++.

Dito isto, as pessoas que usam C ++ sabem por que estão usando e provavelmente têm bons casos de uso para isso ... o que significa que você realmente aprenderia a usar o idioma nos níveis mais altos ... Enquanto isso /C# provavelmente não ensinará tanto sobre programação quanto rapidamente.

Se você decidir fazer um trabalho de C ++, verifique se a loja usa o STL de maneira eficaz e que esteja usando o Boost. Não olhando para o uso do Boost/STL, mas na verdade, usá -lo.

Palavras -chave: bancos (instituições financeiras), jogos

Ah, e também físicos de partículas e outros cientistas usando o (in) famoso RAIZ estrutura.

E confira esta lista de aplicativos baseados em C ++.

Bjarne Stroustrup tem uma lista de empresas/aplicativos escrito em C ++.

Sua universidade não tinha nenhum curso baseado em Java? Isso é estranho!!

Você deve aprender não apenas C ++ e Java, mas devem ser expostos a vários idiomas e paradigmas

Costumo concordar com seu primo. O Java definitivamente é usado em mais aplicativos corporativos (pense em coisas que uma companhia de seguros ou bancos precisariam), enquanto o C ++ é usado em mais mercados de "nicho". Também concordo com você que o Java é mais fácil de aprender e dominar do que o C ++. Sem vergonha ou ofensa ao admitir isso.

Usamos os dois onde trabalho, escrevendo software incorporado no C ++, mas me comunicando com os aplicativos da GUI escritos em Java. Definitivamente, há muito espaço na indústria de software para ambos (e muito mais) idiomas.

A maioria dos softwares embalados ainda está escrita em C ++. Isso significa jogos, aplicativos de escritório, gráficos e editores de vídeo e sistemas operacionais. De fato, se você pensa no software que usa todos os dias que não está online, é provável que seja escrito em C ++ (ou C ou Objective-C). Não está escrito em Java, Python, Ruby, Perl, etc. Enquanto o software embalado está se tornando menos prevalente, ainda é usado muito e não vai desaparecer tão cedo.

Os sistemas operacionais, incorporados ou para o desktop, são quase exclusivamente escritos em algum idioma C. Tentativas foram feitas para escrevê -las em Java ou C#, mas nenhuma delas deu certo. Todos os seus drivers também estão escritos em alguma variante C. Não vejo isso mudando tão cedo.

Java is great until you have to start caring about the details it abstracts away. Most people don't need to do that.

My advice is to master whichever language you enjoy more. I know C++ and Java well, and have used both professionally. However, I would never accept another C++ job because I find C++ tedious and mind-numbing. I rather invest my time mastering more interesting languages.

I've been writing in C++ primarily for internal and external desktop applications within manufacturing and telecom companies for a long time, and only worked full time with Java for about 1 year out of 16.

Java never seemed to take over the desktop like they were predicting back in the mid 90s when it first came out, and now C++ seems to have more competition from .net and AJAX/web applications.

I can't really speak for it's use in back end systems, but I have seen more of it there than I've seen C++, so it depends of what kind of programming you are talking about (e.g. user facing vs. internal systems).

Well I suggest learning more than a couple languages. I work in the communications industry and yes we use C++, however a lot of projects we are working on are in Java as well.

I suggest you learn:

1) C++ / C 2) Java 3) Erlang or Haskel 4) Ruby

This will help you understand concepts that exist in one language but not in another. Also helps with marketability.

Take a look at the tiobe programming index and you will get a feel for languages on the rise.

C++ is heavily used in embedded systems. It is being used in UI development. For eg. famous QT framework is written in C++.

Ultimately it depends on what you want to do. If you want to work in embedded systems, better learn C/C++.

I use C and C++ regularly at my job where I work on embedded devices. We're not talking super low level stuff, here, either. I do mid-level and UI work. Think Qt, Gtk+, Windows Mobile SDK, etc.

C++ is heavily used by ISVs. Think Microsoft, Adobe, Oracle, Sun, Symantec...

Game industry looks like go with C++ forever.

I had to scroll all the way to the bottom to finally see a post mentioning video games. C and C++ are huge in that industry.

As far as the "What should I learn question." That's pretty open ended, you want to learn as much as possible. So yes, you should learn both of them. As a few people have said, C# is a good one too. You should also learn Python, Ruby, or PHP and some web frameworks (Rails, Symfony, Django, ASP.Net). Web apps are pretty big these days.

If your bubble consists of only C++ you aren't going to be very marketable.

EDIT: Oops, I guess games were mentioned a lot more than I initially saw in here. My bad.

In my career I've developed C++ for:

  • Server applications (Securities industry)
  • Embedded software (Wireless telecoms)
  • Desktop application software (Wireless telecoms)

I've also seen a lot of adverts for C++ developers in the defense industry. There is work out there for C++ developers, not as much as there has been in the past, but still plenty of work.

Though I say it wouldn't hurt to learn Java, it is a good skill to have under your belt.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top