java - ¿Qué sector de la industria del software usa C++?
jobs (25)
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.
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 aconsejan? ¿Crees que debería aprender ambos? ¿Qué sectores de la industria del software usan C ++?
¿Tu universidad no tiene cursos basados en Java? ¡¡Eso es extraño!!
Debe aprender no solo C ++ y Java, sino que debe estar expuesto a varios lenguajes y paradigmas
C ++ es muy utilizado por los ISV. Piense en Microsoft, Adobe, Oracle, Sun, Symantec ...
C ++ ni siquiera está cerca de estar muerto.
Mi experiencia:
Bloomberg, Reuters, y todos sus clientes bancarios / comerciales que desean feeds de datos de mercado de baja latencia usan C ++. (Fidelity, JPMorgan, BNP, Citibank, etc.)
La industria de defensa usa 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 existe una GRAN base de código C ++ existente que tardará mucho tiempo en desaparecer (si es que lo hace)
No es difícil conocerlos y usarlos a ambos. No te preocupes demasiado por un idioma en particular. Ese no es el verdadero problema del desarrollo de software.
C ++ se usa mucho 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 definitiva, depende de lo que quieras hacer. Si desea trabajar en sistemas integrados, mejor aprenda C / C ++.
C ++ todavía se usa ampliamente en aplicaciones de ingeniería, como los sistemas CAD / CAM de gama alta.
Creo que la muerte del 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.
C ++ todavía se usa ampliamente para tareas intensivas en rendimiento. 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.
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. Todos hacen lo mismo En vez de aprender un idioma específico, aprende los fundamentos de un buen desarrollo de software. Entonces podrás aprender cualquier idioma y tener éxito con él ".
Temía aprender nuevos idiomas antes de que él me dijera eso. 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.
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 cada 16.
Java nunca pareció tomar el control del escritorio como lo estaban prediciendo 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 por 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 la que estés hablando (por ejemplo, el usuario frente a los sistemas internos) .
Java es excelente hasta que tenga que empezar a preocuparse por los detalles que abstrae. La mayoría de la gente no necesita hacer eso.
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.
Mi consejo es dominar el idioma que más disfrutes. 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.
Muchos contratistas de defensa, especialmente cuando se trata de hardware, usan C ++
Muchos fabricantes de equipos médicos avanzados (por ejemplo, MRI) usan C ++.
Digo aprende tanto si puedes. 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.
Palabras clave: Banca (instituciones financieras), juegos
Ah, y también los físicos de partículas y otros científicos que usan el (in) famoso marco ROOT .
Y mira esta lista de aplicaciones basadas en C ++.
Tiendo a estar de acuerdo con tu 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.
Usamos ambas cosas donde trabajo, escribiendo software integrado 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).
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 en Qt, Gtk +, Windows Mobile SDK, etc.
Algunos sitios que se llaman a sí mismos Google reconocen que usa C ++ extensivamente. Gracias a Dios que no necesitan rendimiento para indexar los pocos sitios web que existen.
Si esta cosa de Interweb despega, sin embargo, estarán en problemas. (-:
En serio, aparte del actual cambio de canal (reversión?) A C y Perl, los cuatro proyectos anteriores fueron todos C ++.
- un sistema de control de salida a gran escala para varias de las principales aerolíneas del mundo (30,000 archivos de registro de 10MB por día)
- un simulador de entrenamiento de vuelo y una plataforma de demostración de software basada en tierra para un nuevo avión militar
- un marco a gran escala para un simulador de control de tráfico aéreo existente que se utilizó para incorporar la nueva red de telecomunicaciones aeronáuticas (ATN)
- un sistema avanzado de procesamiento y visualización de radar para un centro de control de tráfico aéreo en ruta
Todo realmente interesante.
Bjarne Stroustrup tiene una lista de compañías / aplicaciones escritas en C ++.
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.
Te sugiero que aprendas:
1) C ++ / C 2) Java 3) Erlang o Haskel 4) Ruby
Esto te ayudará a comprender conceptos que existen en un idioma pero no en otro. También ayuda con la comerciabilidad.
Eche un vistazo al índice de programación de tiobe y tendrá una idea de los idiomas en aumento.
C ++ no está ni cerca de estar muerto, y como lo sugirieron otros, no te cases 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 - OOP
- Lisp / Haskell / Scheme - Programación funcional
Ajustarse a los paradigmas suele ser más difícil que elegir el idioma en sí. Espero que otros repitan otras sugerencias.
La industria de los juegos parece ir con C ++ para siempre.
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 piensa en el software que usa 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.
Mi consejo, aprende 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 él ... lo que significa que realmente aprenderían a usar el lenguaje en los niveles más altos ... mientras tanto, las empresas se embarcan en aplicaciones de lógica de negocios en Java / C # probablemente no le enseñe tanto sobre programación tan rápido.
Si decides tomar un trabajo en C ++, asegúrate de que la tienda usa el STL de manera efectiva y de que están usando Boost. No busca usar Boost / STL, pero realmente lo está usando.
Tuve que desplazarme hasta la parte inferior para finalmente ver una publicación que menciona 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 tu burbuja consiste solo de C ++, no serás muy comercializable.
EDITAR: Oops, creo que los juegos fueron mencionados mucho más de lo que inicialmente vi aquí. Mi error.
En mi carrera, he desarrollado C ++ para:
- Aplicaciones de servidor (industria de valores)
- Software embebido (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.
Una breve lista de proyectos fuera de lo común que usan C ++:
- Desarrollo del controlador del dispositivo
- Juegos
- Motores avanzados (audio, procesamiento de imágenes, etc.)
- Telecom
- Software embebido (dispositivos y tal)