Diferencia entre C y C++?

Publicado en 'Programación' por Spectre27, 30 Jul 2015.





  1. Spectre27

    Spectre27 Miembro frecuente

    Registro:
    13 Feb 2013
    Mensajes:
    98
    Likes:
    8




    Buenas tardes, quisiera saber cual es la diferencia entre C y C++ y cual se deberia aprender primero.
     


  2. emartinez

    emartinez Miembro de bronce

    Registro:
    27 May 2012
    Mensajes:
    2,440
    Likes:
    800
    Usar traductor:

    Fuente: https://answers.yahoo.com/question/index?qid=20080521100946AA0iZ1B
     
  3. AiApaec

    AiApaec Miembro frecuente

    Registro:
    1 May 2014
    Mensajes:
    58
    Likes:
    14
    aquí (programmers.stackexchange.com es un buen sitio donde buscar información)
    También puedes ver lo que dice el creador del lenguaje su FAQ:
    Qué es C++

    La respuesta más puntuada de uno de los links
    1. (user-defined) static type system : allow static checks about your data and their usage - points a lot of easily done errors in C.
    2. multi-"paradigm" : allow working like in C, with object-oriented paradigms, with generic paradigms etc.
    3. Constructor/Destructor : the only way to say once what to do when creating or destroying something and be sure the user will not have to find the right function and use it like in C
    4. RAII (badly named) : you don't have to always manage memory. Just keep things in scope and use smart pointers describing your objects lifetime. Still can use raw pointers.
    5. Templates : better than macro, a real language to manipulate and generate types before the final compilation. Only lacks a type system (see Concepts in future C++ standards).
    6. Operator overloads : allow to describe operations in a simple syntactic manner and even to define embedded domain-specific languages inside your C++ code.
    7. Scoped names : namespaces, classes/struct, functions, etc. have simple rules to make sure names don't clash.
    8. Exception system : a way to propagate errors that is often better than return code. In fact, return code are good for domain-specific logical errors, because the application have to manage it. Exception are used for "hard" errors, things that make the following code just incorrect. It allows for catching errors higher in the call stack if possible, react to such exception (by logging or by fixing the state) and with RAII, if well used, it don't make the whole program wrong - if done well, again.
    9. The Standard Library : C have his own, but it's all "dynamic". The C++ standard library is almost (not IO streams) made of templates (containers and algorithms) that allow generating code only for what you use. Better : as the compiler have to generate code, it will know a lot about the context and will hapily apply a lot of optimizations without having to require the coder to obfuscate it's code - thanks to templates and other things.
    10. const-correctness : The best way to make sure you don't change variables you shouldnt. Allow to specify read-only access to varaibles. And is only checked at compile time so there is no runtime cost.

    ¿cuál apender primero? supongo que depende...yo aprendería C++, luego aprender C no sería tan costoso.
     
  4. theluigy13etv

    theluigy13etv Miembro frecuente

    Registro:
    11 Nov 2014
    Mensajes:
    62
    Likes:
    3
    Aprende de una vez C++ , primero programación estructurada y luego programación orientada a objetos. Al aprender C++ implícitamente estás aprendiendo C ya que este último se podría decir que es un subconjunto de C++
     
  5. Luisjim

    Luisjim Miembro frecuente

    Registro:
    11 Abr 2015
    Mensajes:
    195
    Likes:
    30
    Deverias aprender plrimero C++ y luego Java.
     
  6. RobotGruntXD

    RobotGruntXD Miembro nuevo

    Registro:
    23 Ene 2014
    Mensajes:
    28
    Likes:
    2
    C es un lenguaje obsoleto por no ser orientado a objetos, como casi todos los lenguajes hoy en día, te recomiendo C++, pero si tu intención es trabajar en empresas y diseñar software competitivo, y cuando digo competitivo no me refiero para nada que sea mejor, sino que en las empresas el tiempo y recursos son escasos por lo que debes comprar todo ya hecho en vez de estar creándolo tu mismo, te recomendaría Java o C#.

    Con C++ tus programas son más rápidos, úsalo si te preocupa el ahorro de recursos de la computadora, ejemplo en videojuegos , para usos prácticos los lenguajes anteriores tienen más soporte para diseñar webs, reportes o cualquier cosa que requieran las empresas a costa de sacrificar más recursos.
     
  7. ChewbaccaZ

    ChewbaccaZ Miembro frecuente

    Registro:
    17 Jun 2015
    Mensajes:
    181
    Likes:
    49
    En que el otro tiene ++.