• DocumentCode
    2791295
  • Title

    C++: an evolving language

  • Author

    Levitt, Stephen P.

  • Author_Institution
    Sch. of Electr. & Inf. Eng., Univ. of the Witwatersrand, Johannesburg, South Africa
  • Volume
    2
  • fYear
    2004
  • fDate
    15-17 Sept. 2004
  • Firstpage
    1197
  • Abstract
    This work gives an overview of the recent, significant, changes that the C++ language is undergoing. These include: the increasing popularity of the facilities and idioms provided by the standard template library and the boost libraries; the use of smart pointers instead of raw pointers; and the emergence of generic programming and template meta-programming as a powerful paradigm. The next version of the C++ standard is discussed and shown to further evolve the language by offering better support for the way in which C++ is being used in practice. Moving beyond the language itself, there are several initiatives that seek to incorporate C++ into virtual machine environments. Microsoft has opted to extend the C++ language to take advantage of their NET platform, while the Python community has produced several tools for generating C++ binding. These approaches (which make different trade-offs) are discussed. Overall, the current changes within C++ promote its use as a more high level language than in the past and further the promise of large libraries of reusable, easily-customisable code, The ability to use C++ in the production of hybrid applications which run on managed virtual machines offers new possibilities for combining the richness of the virtual machine environment with the efficiency of C++.
  • Keywords
    C++ language; software libraries; software reusability; virtual machines; C++ language; C++ standards; Microsoft; NET platform; Python community; boost libraries; easily-customisable code; generic programming; high level language; hybrid applications; powerful paradigm; raw pointers; reusable libraries; smart pointers; standard template library; template metaprogramming; virtual machine environments; Africa; Computer languages; Containers; Environmental management; High level languages; ISO standards; Libraries; Production; Programming profession; Virtual machining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    AFRICON, 2004. 7th AFRICON Conference in Africa
  • Print_ISBN
    0-7803-8605-1
  • Type

    conf

  • DOI
    10.1109/AFRICON.2004.1406879
  • Filename
    1406879