elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  C vs C++ [Civil War]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: C vs C++ [Civil War]  (Leído 5,581 veces)
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
C vs C++ [Civil War]
« en: 3 Mayo 2016, 23:23 pm »

Este post es totalmente offtopic del foro de Programacion C/C++

Las discuciones entre programadores que giran en torno al lenguaje C y sus derivados siempre son por temas un tanto tontos como si:

Código
  1. void funcion() {
  2. }

Código
  1. void funcion()
  2. {
  3. }

Que si espacio o tabulador, que si funciones o metodos que si unsigned o signed, que si new o malloc, que si malloc o calloc en fin..

Cuando aprendi programación iniciamos con orientado a objetos y despues ejemplos en C estandar y me agradaban mas los ejemplos sencillos en C, me gustaba tener mas control de la memoria y programar a mas bajo nivel.

A muchos no les gusta o no entienden los punteros o que se yo tal vez vienen de algun lenguaje de mas alto nivel cómo VB o de algun lenguaje script donde no se preocupan tanto por la memoria o los tipos de datos.

He aprendido muchos lenguajes tanto VB como C sharp, Java, Ensamblador, PHP, y varios lenguajes script puedo decir que todos tienen sus pro y sos contra, aun asi NO me canso de programar en C, hay veces que he tenido fricciones con compañeros por la forma en la que programo me dicen usa esto o has esto y la verdad yo nunca les he dicho com programar en fin...

Yo prefiero usar Tabuladores para separar.

¿Tienen ustedes fricciones por como programan o alguna vez le han dicho a alguien mas que mejor use una función u otra?


« Última modificación: 3 Mayo 2016, 23:25 pm por AlbertoBSD » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: C vs C++ [Civil War]
« Respuesta #1 en: 4 Mayo 2016, 00:00 am »

Yo soy de C. Allá por el 2005 - 2008 estuve tocando C# y me gustaba como lenguaje POO. Lo he intentado con otros lenguajes pero me siento incómodo por la falta de expresividad y control que obtengo con C. Y considero C++ un lenguaje muy sucio, hecho de parche, sobre parche, sobre parche.

En cuánto al estilo de código, siempre que éste sea coherente, claro y agradable a la vista, no tengo objeción.


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: C vs C++ [Civil War]
« Respuesta #2 en: 4 Mayo 2016, 00:27 am »

Cuando aprendi programación iniciamos con orientado a objetos y despues ejemplos en C estandar y me agradaban mas los ejemplos sencillos en C, me gustaba tener mas control de la memoria y programar a mas bajo nivel.

Sabiendo que todo lo que hagas en C lo podes hacer en C++ no hay mucho como para discutir, con solo usar namespaces ya se obtiene una mejor organizacion del codigo, si a eso se le suman los paradigmas nuevos (como POO y programacion generica) y demas (la sobrecarga es muy util tambien) entonces se le empieza a sacar jugo al lenguaje. Y no hay ninguna razon para que C tenga mas control que C++ por ejemplo en un modulo de modo Kernel para Windows (normalmente llamado driver) tenes por fuerza que sobrecargar el operador new (llamando a la rutina principal del Kernel que reserva memoria) y ademas podes hacerlo de manera que un parametro adicional indique si la memoria sera paginable o no.

Esta simplicidad me encanta:
Código
  1. ...
  2. {
  3.  mutex_holder lock(mt); //contructor adquiere mutex
  4.  ++recurso;
  5. } //destructor libera mutex
  6. ...
  7.  
« Última modificación: 4 Mayo 2016, 00:29 am por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: C vs C++ [Civil War]
« Respuesta #3 en: 4 Mayo 2016, 01:00 am »

Sí, la POO y los genéricos quitan mucha carga al programador y tal, pero la sintaxys de C++ me sigue preciendo muy engorrosa. Hace años microsoft tenía un proyecto de un C# que compilaba directamente a código nativo. Desconozco si ha tenido continuidad, pero es una lástima que no se haya hechi de dominio público. Me gustaba mucho C# y podría haberse convertido en el lenguaje de mi preferencia. No hubo suerte.
En línea

crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: C vs C++ [Civil War]
« Respuesta #4 en: 4 Mayo 2016, 01:16 am »

Con respecto a esto "A muchos no les gusta o no entienden los punteros " creo que el origen es la forma en que se ensena, personalmente me gusta mas la  forma que implementa los punteros pascal principalmente para los que se estan iniciando en programacion, pero ya que se entienden son "faciles" de implementar.
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
HardForo

Desconectado Desconectado

Mensajes: 219


HardForo.com


Ver Perfil WWW
Re: C vs C++ [Civil War]
« Respuesta #5 en: 4 Mayo 2016, 02:38 am »

Pascal pasa los punteros por referencia mientras que C por copia, cierto ?
En línea

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *
crack81

Desconectado Desconectado

Mensajes: 222



Ver Perfil
Re: C vs C++ [Civil War]
« Respuesta #6 en: 4 Mayo 2016, 06:07 am »

Hola @boctulus en C no existen las referencias solo punteros encambio en pascal o c++ existe el concepto puntero y referencia, inclusive c++ incluye algunos otros conceptos como referencia a puntero el equivalente en C podria ser un puntero doble a diferencia de estos dos ultimos en pascal no se usan los punteros de manera indiscriminada solo cuando es necesario.

Ejemplos

paso por referencia en C
Código
  1. void foo(int *value){
  2.   *value=10;
  3. }
  4.  
  5. int main()
  6. {
  7.    int value=5;
  8.    //simula el paso por referencia
  9.    foo(&value);
  10.    printf("%d",value);
  11.  
  12.    return 0;
  13. }
  14.  

En C++

Código
  1. void foo(int &value){
  2.   value=10;
  3. }
  4.  
  5. int main(){
  6.  
  7.    int value=5;
  8.    foo(value);
  9.    cout<<value<<endl;
  10.    return 0;
  11. }
  12.  

En  Pascal

Código
  1. procedure foo(var value:Integer);
  2. begin
  3.  value:=10;
  4. end;
  5.  
  6. var
  7.  value:Integer;
  8. begin
  9.  value:=5;
  10.  foo(value);
  11.  WriteLn(value);
  12. end.
  13.  
En línea

Si C/C++ es el padre de los lenguajes entonces ASM es dios.
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: C vs C++ [Civil War]
« Respuesta #7 en: 4 Mayo 2016, 14:50 pm »

Interesante lo que comentas  crack81, yo nunca use pascal.

 ;-) ;-) ;-) MAFUS es de los que piensan como yo.

Lo unico que le envidio a C++ es la facilidad de concatenar cadenas, tengo mi propia implementacion con funcion de argumentos variables...
Código
  1. char *funcion(char *format,...){
  2. ..
  3. }

En el trabajo actualmente programo en C# bajo windows y llegando a mi caso en C bajo FreeBSD XD.

Saludos.
En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: C vs C++ [Civil War]
« Respuesta #8 en: 4 Mayo 2016, 15:27 pm »

Para concatenar cadenas, ¿no puedes usar sscanf?
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: C vs C++ [Civil War]
« Respuesta #9 en: 4 Mayo 2016, 16:08 pm »

sscanf es para separar la cadena de acuardo a un formato dado y almacenar dichos datos en variables individuales.

La funcion que comento usa snprintf  o vsprintf que es lo opuesto toma variables indivuduales y las junta en una sola cadena de acuerdo a u  formato dado. Yo lo uso en una funcion aparte para que la funcion se encarge de reservar memoria acorde a los parametros dados...
« Última modificación: 4 Mayo 2016, 16:12 pm por AlbertoBSD » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Civil WaR
Juegos y Consolas
Demonic&Sound 0 1,735 Último mensaje 8 Marzo 2009, 22:54 pm
por Demonic&Sound
No disparen al civil, por favor
Noticias
wolfbcn 6 3,084 Último mensaje 2 Septiembre 2011, 18:22 pm
por crazykenny
Problema con software MIDAS CIVIL
Ingeniería Inversa
puch_cobra 3 7,920 Último mensaje 28 Marzo 2012, 17:47 pm
por .:UND3R:.
Guardia Civil o Policia Nacional
Foro Libre
dimitrix 4 3,536 Último mensaje 14 Abril 2012, 11:31 am
por rassiel
CARTA A UN REVOLUCIONARIO CIVIL
Foro Libre
Graphixx 1 1,809 Último mensaje 29 Julio 2012, 17:20 pm
por m0rf
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines