• Compra una licencia de Windows 10/11 (10€) u Office (18€) al mejor precio u Office al mejor precio. Entra en este post con las ofertas
  • Conoce los Días Naranjas de PcComponentes: descuentos de hasta un 40% en tecnología. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Ventajas, rendimiento y seguridad C++ vs C

Entonces las genre que sabe C++ tiene más habilidad ya que es más complejo y requiere mas tiempo para dominarlo?
IMPORTANTE!!! Nunca, nunca, nunca digas dominar C++ porque eso es casi inviable. Casi todos por no decir todos usan un subset de C++. C++ es tremendamente complejo, no porque sea complicado de entender sino porque han complicado tanto la sintaxis y sobrecargado el lenguaje de una forma brutal.

Tampoco diría que la gente que escribe en C/C++ sea más habilidosa. Son dos lenguajes distintos y cada uno tiene su forma de pensamiento pera el desarrollo. Como mucho podrías afirmar que la gente de C/C++ sabe mas de arquitectura ya que dependiendo del proyecto es posible que tengas que tener en cuenta muchas cosas del funcionamiento de un PC.

Sent from my ONE A2003 using Tapatalk
 
Más adelante y con algo más de confianza, se me hizo saber que en su caso preferían esquivar Java por algunos problemas que tuvieron en el pasado.
Todas las carreteras terminan llevando a Roma, o al pasado tenebroso de Java en este caso :p

Lo que quería decirte en un principio, es que muchos de los programas se notan fluidos por los componentes del equipo, pero probados en otro equipo se notan sus carencias en rendimiento, en mi opinión como desarrollador es que esas cosas son lamentables, hoy en día cualquiera puede hacer un programa algo complejo, pero donde se diferencia al buen desarrollador del resto es en este tipo de cosas. Insisto, los grandes proyectos más usados ninguno está escrito en Java, se premia y se valora a aquellos que son capaces de realizar algo complejo por mucho que requiera más habilidad o coste, de lo contrario los haría cualquiera. En mi caso, siempre me exijo realizar un proyecto con una optimización sobresaliente. Llámame perfeccionista.

Si yo también me considero perfeccionista, pero en mi caso me han terminado diciendo muchas veces que "no hace falta que esté perfecto, con que cumpla es suficiente"... hasta el punto de ver -y hacer- MIERDA porque "cumple" y eso "es suficiente". Yo comparto tu opinión en que deberían hacerse bien las cosas.

Pero...

Ese es el punto de vista del desarrollador, no el del negocio. Y pienso en mi jefe al decir que muchas cosas técnicas no son tan relevantes. Piénsalo así: cuando contratas a un abogado no te preocupa tanto que la documentación que él presenta esté bien redactada, correcta y perfecta, sino que te importa que tu abogado consiga tus objetivos, que no es presentar una documentación impoluta sino ganar el caso. Con los negocios pasa lo mismo. A mi jefe le importa poco -o nada- que esto o aquello no se haya hecho bien del todo mientras cumpla con el cliente.

Como desarrollador no comparto eso, y he tenido debates sobre estos temas con superiores -de perfil no técnico-, pero desde el punto de vista del empresario lo entiendo. Quiero decir, entiendo por qué piensan así, aunque también sé que ese pensamiento va en su contra. En realidad es problema de ellos, hacer mierda repercute en que los costes son más altos a posteriori, pero esto es España y el punto de vista predominante es este.

Me alegra que estés en un lugar donde valoran aspectos técnicos. Yo trabajo a diario donde NO se valoran en absoluto y es un calvario. La sensación constante de estar haciendo mierda -porque te obliguen- es dura.

Entonces las genre que sabe C++ tiene más habilidad ya que es más complejo y requiere mas tiempo para dominarlo

No es necesariamente así, estoy sólo parcialmente de acuerdo. Todos los lenguajes, herramientas y tecnologías tienen sus complicaciones y complejidades. Un programador debería entender conceptos como manejo de memoria, estructuras de datos y algoritmos, programe en el lenguaje que programe. Luego cada lenguaje tendrá sus idiosincrasias, pero en general deberían tenerse esos conocimientos.

Lo que sí creo es que en muchos momentos C++ te obliga a bajar al metal y pensar más como la máquina. Esto parece un agobio pero supone aplicar esos conocimientos que decía antes. En otros lenguajes no te ves obligado a hacerlo y puede darse el caso de que ignores por completo lo que sucede bajo el capó, hasta el punto de "mi programa usa 2 GiB de memoria y no sé por qué" (basado en hechos reales).
 
oMega_2093 dijo:
Si yo también me considero perfeccionista, pero en mi caso me han terminado diciendo muchas veces que "no hace falta que esté perfecto, con que cumpla es suficiente"... hasta el punto de ver -y hacer- MIERDA porque "cumple" y eso "es suficiente". Yo comparto tu opinión en que deberían hacerse bien las cosas.

Pero...

Ese es el punto de vista del desarrollador, no el del negocio. Y pienso en mi jefe al decir que muchas cosas técnicas no son tan relevantes. Piénsalo así: cuando contratas a un abogado no te preocupa tanto que la documentación que él presenta esté bien redactada, correcta y perfecta, sino que te importa que tu abogado consiga tus objetivos, que no es presentar una documentación impoluta sino ganar el caso. Con los negocios pasa lo mismo. A mi jefe le importa poco -o nada- que esto o aquello no se haya hecho bien del todo mientras cumpla con el cliente.

Como desarrollador no comparto eso, y he tenido debates sobre estos temas con superiores -de perfil no técnico-, pero desde el punto de vista del empresario lo entiendo. Quiero decir, entiendo por qué piensan así, aunque también sé que ese pensamiento va en su contra. En realidad es problema de ellos, hacer mierda repercute en que los costes son más altos a posteriori, pero esto es España y el punto de vista predominante es este.

Me alegra que estés en un lugar donde valoran aspectos técnicos. Yo trabajo a diario donde NO se valoran en absoluto y es un calvario. La sensación constante de estar haciendo mierda -porque te obliguen- es dura.

Creo que ahora sí nos hemos entendido mejor :aleluya::canta:

iFuSiiOnzZ dijo:
MPORTANTE!!! Nunca, nunca, nunca digas dominar C++ porque eso es casi inviable. Casi todos por no decir todos usan un subset de C++. C++ es tremendamente complejo, no porque sea complicado de entender sino porque han complicado tanto la sintaxis y sobrecargado el lenguaje de una forma brutal.

No es por parecer prepotente, pero yo sí me considero un desarrollador que domina el lenguaje en términos generales, otra cosa muy distinta sería sacar siempre el máximo provecho en cualquier situación, esto ya son palabras mayores.

Está claro que han sobrecargado el lenguaje, pero es lo que tienen los lenguajes en constante evolución, que siempre van a ir habiendo cosas nuevas por aprender, cambios a la hora de administrar la memoria, maneras diferentes de hacer ciertas cosas, etc. Es algo inevitable que todos debemos asumir. Por lo tanto es una realidad que todos los desarrolladores que empiezan con C++, tengan la opinión que es un lenguaje interminable.
 
Última edición:
No es por parecer prepotente, pero yo sí me considero un desarrollador que domina el lenguaje en términos generales, otra cosa muy distinta sería sacar siempre el máximo provecho en cualquier situación, esto ya son palabras mayores.

Está claro que han sobrecargado el lenguaje, pero es lo que tienen los lenguajes en constante evolución, que siempre van a ir habiendo cosas nuevas por aprender, cambios a la hora de administrar la memoria, maneras diferentes de hacer ciertas cosas, etc. Es algo inevitable que todos debemos asumir. Por lo tanto es una realidad que todos los desarrolladores que empiezan con C++, tengan la opinión que es un lenguaje interminable.

Yo estoy entre C y C++, mayoritariamente en C, y cuando uso C++ acabo usando un subset. Por no decir que muchas veces ni siquiera veo la necesidad de usar muchas de sus características. Y lo poco que me parece interesante al final no lo uso ya que dependiendo de la plataforma de desarrollo puede que aun no este implementado, etc. Además por ahí dicen que como mínimo hace falta 5 años para usar las nuevas características.



Sent from my ONE A2003 using Tapatalk
 
Yo estoy entre C y C++, mayoritariamente en C, y cuando uso C++ acabo usando un subset. Por no decir que muchas veces ni siquiera veo la necesidad de usar muchas de sus características. Y lo poco que me parece interesante al final no lo uso ya que dependiendo de la plataforma de desarrollo puede que aun no este implementado, etc. Además por ahí dicen que como mínimo hace falta 5 años para usar las nuevas características.

Sent from my ONE A2003 using Tapatalk

Es cierto que sigue habiendo muchos proyectos que no están actualizados, aún sabiendo que podrían tener un pequeño margen de mejora. Supongo que en proyectos grandes asentados cambiar ciertas cosas puede resultar incómodo a la hora de mantenerlos.
 
Tampoco tienes porque actualizar solo porque el lenguaje añada nuevas funcionalidades, a no se que por el motivo que sea pase como en algún que otro lenguaje donde de la versión Y a X tenias que modificar tu código que sino no se ejecutaba.

Si el proyecto es grande aun menos vas a ponerte a modificar, a no ser que hagas algo desde cero. Y el lenguaje no aporta mejora importante ya ni planteas si vas a actualizar/mejorar lo que tienes.

Sent from my ONE A2003 using Tapatalk
 
Tampoco tienes porque actualizar solo porque el lenguaje añada nuevas funcionalidades, a no se que por el motivo que sea pase como en algún que otro lenguaje donde de la versión Y a X tenias que modificar tu código que sino no se ejecutaba.

Si el proyecto es grande aun menos vas a ponerte a modificar, a no ser que hagas algo desde cero. Y el lenguaje no aporta mejora importante ya ni planteas si vas a actualizar/mejorar lo que tienes.

Sent from my ONE A2003 using Tapatalk

A eso mismo me refiero.
 
Arriba