2009-02-11 134 views
10

Como la mayoría de las personas, aprendí C++ después de C. Aprendí C++ porque era uno de esos idiomas que obtenía trabajos. Todavía estoy estudiando (haciendo maestrías). Uno de mis primos ha trabajado como desarrollador durante aproximadamente 12 años.¿Qué sector de la industria del software usa C++?

Me aconseja aprender Java para poder aterrizar en un buen trabajo. Él dice que solo algunos sectores, como las tele comunicaciones, usan C++ y casi todo el software empresarial está desarrollado en Java. Estoy trabajando como técnico de estudiantes en mi universidad. El trabajo implica la programación de Windows en C++. Aprendí Core Java. No conozco ninguno de esos Struts, Hibernate o lo que sea que esté allí afuera.

Para estar en el lado más seguro, estoy planeando dominar ambos. Pero creo que Java es un océano, aunque es más fácil programarlo en Java que en C++ (esta es mi opinión. Los amantes de C++ no me matan).

¿Qué geeks y profesionales por ahí me asesoran. ¿Crees que debería aprender ambos? ¿Qué sectores de la industria del software usan C++?

Respuesta

55

El mejor consejo que recibí como estudiante fue de mi profesor de idiomas, quien me dijo (parafraseando aquí): "No memorices idiomas, no te cases con un idioma. Son solo herramientas. haga las mismas cosas básicas: en lugar de aprender un idioma específico, aprenda los fundamentos de un buen desarrollo de software. Entonces podrá tomar cualquier idioma y tener éxito con él ".

Temía aprender nuevos idiomas antes de que él me lo dijera. Afterwords, tomé su consejo en serio y ha marcado la diferencia. Los idiomas son solo herramientas en tu caja de herramientas. Si puede programar y escribir un buen software en un idioma, puede hacerlo en otro.

+1

Claro que son herramientas, pero vienen con cajas de herramientas (bibliotecas estándar) y lleva algún tiempo encontrar el mejor martillo para el problema dado. – Anonymous

+2

En un sentido purista, estoy de acuerdo. Sin embargo, cuando se acerca la fecha límite y no se conoce la rareza quriky de un entorno determinado (bibliotecas, sistema operativo, controladores, proveedores, etc.), la teoría se va por la ventana y debe conocer los detalles de la implementación. –

+0

¿Los programadores generalmente no son personas inteligentes? Tendemos a resolver estas cosas. Y sí, tuve que hacerlo en un plazo ajustado en un idioma que nunca antes había tocado. Estoy seguro de que hay líneas de código en ese proyecto, escribiría de manera diferente ahora, pero fue exitoso, y eso es lo que cuenta. –

9

Los videojuegos todavía usan C++. Un ejemplo que viene a la mente es el motor Torque que se puede usar para el desarrollo de juegos de iphone y xbox.

3

Palabras clave: Banca (instituciones financieras), juegos

Ah, y también los físicos de partículas y otros científicos que utilizan la (in) famoso marco ROOT.

Y echa un vistazo a this list de aplicaciones basadas en C++.

+1

En mi experiencia, los asuntos bancarios y financieros casi nunca son C++. Si es reciente, es Java; si no, COBOL. –

+0

Búsqueda de empleo usando palabras clave C++ y banca/finanzas parecen decir algo diferente. – Anonymous

16

C++ ni siquiera está cerca de estar muerto.

Mi experiencia:

Bloomberg, Reuters, y todos sus clientes del banco/comerciales que desean datos de baja latencia mercado alimenta el uso de C++. (Fidelity, JPMorgan, BNP, Citibank, etc.)

La industria de la defensa utiliza C++. (entre otros idiomas, Java también es popular)

Estas industrias también usan Java y otros lenguajes, pero C++ es difícil de superar. Tenga en cuenta también que hay una enorme base de código C++ existente que tardará mucho tiempo en desaparecer (si es que lo hace)

No es difícil conocerlos y utilizarlos. No te preocupes demasiado por un idioma en particular. Ese no es el verdadero problema del desarrollo de software.

+0

Muchos controles/sistemas integrados y PLC también usan C++. – Syntax

+0

Gran parte de la industria de la defensa usa Ada y C++ – paxos1977

19

C++ se sigue utilizando ampliamente para tareas de rendimiento intensivo. Por ejemplo, trabajo mucho con compresión y descompresión de video; todo es C++. En parte porque necesitamos el rendimiento, y en parte porque todas las bibliotecas de terceros que necesitan usar son C++, por lo que es más fácil integrarse con ellas si estamos usando el mismo idioma.

5

Muchos contratistas de defensa, especialmente cuando se trata de hardware, el uso de C++

Muchos fabricantes de equipos médicos avanzados (por ejemplo, imágenes de resonancia magnética) utiliza C++.

Digo que aprenda si puede. Es bueno tener la base de C++ incluso si terminas en un lenguaje de espacio aislado como C++/C#. Demasiadas personas no entienden lo básico.

Tenga en cuenta que las diferentes ciudades tienen la mayoría de los trabajos en un idioma específico. Ve a la lista de empleos de craigslist de la ciudad en la que crees que terminarás y ve lo que buscan. Por ejemplo, Pittsburgh es una ciudad de C#, mientras que Nueva York es más equilibrada.

19

Una breve lista off-the-top-of-my-jefe de proyectos que usan C++:

  • el desarrollo de controladores de dispositivos
  • Juegos
  • motores avanzados (audio, procesamiento de imágenes, etc)
  • Telecom
  • software integrado (dispositivos y tal)
+2

¿Incrustado es menos común a medida que pasa el tiempo? En realidad, no: la cantidad de dispositivos integrados solo aumentará. –

+0

No es la cantidad de dispositivos integrados, el uso de C++ en ellos. Me parece que los lenguajes de nivel superior se están volviendo más comunes en los sistemas integrados. –

+3

En muchos sistemas integrados, C++ se consideraría bastante el "lenguaje de alto nivel" (la progresión habitual es ensamblado-C-C++). No estoy seguro de qué tan comunes son los lenguajes "más altos" que C++ en los sistemas integrados. Veo y trabajo en docenas cada año, C/C++ todavía domina (quizás tanto ensamblado como C++, BTW) – Dan

2

¿Tu universidad no tiene cursos basados ​​en Java? ¡¡Eso es extraño!!

Usted debe aprender no sólo C++ y Java, pero deben estar expuestos a varios idiomas y paradigmas

11

Algunos sitio se hace llamar Google reconoce que utiliza C++ ampliamente. Gracias a Dios que no necesitan rendimiento para indexar los pocos sitios web que existen.

Si esta cosa Interweb despega, sin embargo, estarán en problemas. (-:?

serio, aparte de la variación de la corriente del canal (reversión) a C y Perl, los cuatro proyectos anteriores eran todos C++

  1. un sistema de control de salidas a gran escala para varios de los. las principales líneas aéreas del mundo (30.000 10MB archivos de registro por día)
  2. un simulador de entrenamiento de vuelo y el software basado en tierra plataforma de pruebas para un nuevo avión militar
  3. un marco de gran escala para un simulador de control de tráfico aéreo existente que se utiliza para incorporar el nueva red de telecomunicaciones aeronáuticas (ATN)
  4. un procesamiento y visualización de radar avanzado sistema para un centro de control en ruta del tráfico aéreo

Todo muy interesing.

+0

¡Me pregunto cómo habría sido Internet sin Google! – hasen

+0

Si no fuera por google, ¡alguien más habría sido suyo en algún otro nombre elegante! (jibjaw, jiggle, mordisco ... cualquier cosa loca) – AKN

1

Java es excelente hasta que tenga que preocuparse por los detalles que abstrae. La mayoría de la gente no necesita hacer eso.

0

C++ es muy utilizado en sistemas integrados. Se está utilizando en el desarrollo de la interfaz de usuario. Por ej. el famoso marco de QT está escrito en C++.

En última instancia, depende de lo que quiere hacer. Si desea trabajar en sistemas integrados, mejor aprenda C/C++.

5

C++ se sigue utilizando ampliamente en aplicaciones de ingeniería, como los sistemas CAD/CAM de gama alta.

Creo que la muerte de código nativo es muy exagerada. Incluso Microsoft se ha retractado de hacer que C++ sea todo sobre .NET en Visual Studio 2008. Parece que está mejorando activamente sus herramientas nativas de desarrollo C++ de nuevo, así como también facilita la interoperabilidad con el mundo administrado.

+0

Para ser sincero, creo que Microsoft solo quería competir con Java. :) –

1

Mi consejo es dominar cualquier idioma que disfrute más. Conozco bien C++ y Java, y los he usado tanto profesionalmente. Sin embargo, nunca aceptaría otro trabajo de C++ porque encuentro C++ tedioso y aturdidor. Prefiero invertir mi tiempo en dominar idiomas más interesantes.

2

Tiendo a estar de acuerdo con su primo. Definitivamente, Java se usa en más aplicaciones empresariales (piense en cosas que un banco o una compañía de seguros necesitarían), mientras que C++ se utiliza en mercados más "de nicho". También estoy de acuerdo con usted en que Java es más fácil de aprender y dominar que C++. Sin vergüenza ni ofensa al admitir eso.

Utilizamos ambas cosas donde trabajo, escribiendo software incrustado en C++, pero comunicándome desde aplicaciones GUI escritas en Java. Definitivamente hay mucho espacio en la industria del software para ambos idiomas (y muchos más).

+0

+1 por "No hay vergüenza ni ofensa al admitir eso". – AKN

0

Uso C y C++ regularmente en mi trabajo donde trabajo en dispositivos integrados. No estamos hablando de cosas de muy bajo nivel, aquí, tampoco. Hago trabajo de nivel medio y UI. Piense Qt, Gtk +, Windows Mobile SDK, etc.

1

He estado escribiendo en C++ principalmente para aplicaciones de escritorio internas y externas en empresas de fabricación y telecomunicaciones durante mucho tiempo, y solo trabajé a tiempo completo con Java durante aproximadamente 1 año de 16.

Java nunca pareció tomar el control del escritorio como lo predecían a mediados de los 90 cuando salió por primera vez, y ahora C++ parece tener más competencia de las aplicaciones .NET y AJAX/web.

Realmente no puedo hablar de su uso en sistemas de back-end, pero he visto más allí que lo que he visto en C++, por lo que depende del tipo de programación de que se trate (p. Ej. sistemas internos).

0

C++ es muy utilizado por los ISV. Piense en Microsoft, Adobe, Oracle, Sun, Symantec ...

6

C++ no está cerca de estar muerto, y como otros sugirieron, no se case con un idioma. Si está aprendiendo C++ en términos de perspectivas laborales, prefiero sugerirle que elija un representante de un paradigma de programación.

  • C - programación imperativa
  • C++/Java/Obj-C - POO
  • Lisp/Haskell/Esquema - Programación Funcional

para adaptarte a los paradigmas suele ser más difícil de lo recogiendo el lenguaje en sí Espero que otros repitan otras sugerencias.

5

Mi consejo, aprenda C#. En la actualidad, casi el 50% de las ofertas de trabajo eran Java y casi el otro 50% eran C#, solo había unas pocas que incluían C++.

Dicho esto, las personas que usan C++ saben por qué lo están usando y probablemente tengan buenos casos de uso para ello ...lo que significa que realmente aprenderá a usar el lenguaje en los niveles más altos ... mientras tanto, las empresas que se esfuerzan en aplicaciones de lógica de negocios en Java/C# probablemente no le enseñarán tanto sobre programación tan rápido.

Si decide realizar un trabajo en C++, asegúrese de que la tienda utiliza el STL de manera efectiva y de que está utilizando Boost. No busca usar Boost/STL, pero realmente lo está usando.

+1

... o Qt. C++ solo, incluso con STL, es solo para el programador masoquista. Boost o qt pueden aumentar la productividad en C++ muchas veces más que con STL desnudo. – mhd

2

La mayoría del software empaquetado aún está escrito en C++. Eso significa juegos, aplicaciones de oficina, editores gráficos y de video, y sistemas operativos. De hecho, si piensas en el software que usas todos los días que no está en línea, es probable que esté escrito en C++ (o C o objetivo C). No está escrito en Java, Python, Ruby, Perl, etc. Aunque el software empaquetado es cada vez menos frecuente, todavía se usa mucho y no va a desaparecer en el corto plazo.

Los sistemas operativos, ya sean integrados o para el escritorio, están escritos casi exclusivamente en algún lenguaje C. Se han realizado intentos para escribirlos en Java o C#, pero ninguno de ellos ha funcionado. Todos sus controladores están escritos en alguna variante C también. No veo que esto cambie en el corto plazo.

0

Tuve que desplazarme hasta la parte inferior para finalmente ver una publicación que menciona los videojuegos. C y C++ son enormes en esa industria.

En cuanto a la pregunta "¿Qué debo aprender?" Eso es bastante abierto, quieres aprender tanto como sea posible. Entonces sí, deberías aprender ambos. Como algunas personas han dicho, C# también es bueno. También debe aprender Python, Ruby o PHP y algunos frameworks web (Rails, Symfony, Django, ASP.Net). Las aplicaciones web son bastante grandes en estos días.

Si su burbuja consiste solo de C++ no va a ser muy comercializable.

EDITAR: Vaya, creo que los juegos se mencionaron mucho más de lo que vi inicialmente aquí. Mi error.

0

industria del juego se ve como ir con C++ para siempre.

1

Bueno, sugiero aprender más de un par de idiomas. Trabajo en la industria de las comunicaciones y sí usamos C++, sin embargo, muchos proyectos en los que estamos trabajando están en Java también.

le sugiero que aprender:

1) C++/C 2) de Java 3) Erlang o Haskel 4) Rubí

Esto le ayudará a entender los conceptos que existen en un idioma, pero no en otro. También ayuda con la comerciabilidad.

Eche un vistazo a tiobe programming index y tendrá una idea de los idiomas que van en aumento.

0

En mi carrera he desarrollado en C++ para:

  • aplicaciones de servidor (industria de valores)
  • software integrado (telecomunicaciones inalámbricas)
  • software de aplicación de escritorio (telecomunicaciones inalámbricas)

También he visto muchos anuncios para desarrolladores de C++ en la industria de la defensa. Existe un trabajo para los desarrolladores de C++, no tanto como lo ha sido en el pasado, pero todavía hay mucho trabajo.

Aunque digo que no estaría de más aprender Java, es una buena habilidad tener en tu haber.

Cuestiones relacionadas