Changeset 2260ab6c


Ignore:
Timestamp:
Jul 9, 2018, 6:30:49 PM (6 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
a74503ff
Parents:
0fd0c16
Message:

small updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/papers/general/Paper.tex

    r0fd0c16 r2260ab6c  
    226226The C programming language is a foundational technology for modern computing with millions of lines of code implementing everything from hobby projects to commercial operating-systems.
    227227This installation base and the programmers producing it represent a massive software-engineering investment spanning decades and likely to continue for decades more.
    228 The TIOBE~\cite{TIOBE} ranks the top 5 most \emph{popular} programming languages as: Java 15\%, \Textbf{C 12\%}, \Textbf{\CC 5.5\%}, Python 5\%, \Csharp 4.5\% = 42\%, where the next 50 languages are less than 4\% each with a long tail.
     228The TIOBE index~\cite{TIOBE} ranks the top 5 most \emph{popular} programming languages as: Java 15\%, \Textbf{C 12\%}, \Textbf{\CC 5.5\%}, Python 5\%, \Csharp 4.5\% = 42\%, where the next 50 languages are less than 4\% each, with a long tail.
    229229The top 3 rankings over the past 30 years are:
    230230\begin{center}
     
    250250(4) Extensions introduced by \CFA must be translated in the most efficient way possible.
    251251These goals ensure existing C code-bases can be converted to \CFA incrementally with minimal effort, and C programmers can productively generate \CFA code without training beyond the features being used.
    252 \CC is used similarly, but has the disadvantages of multiple legacy design-choices that cannot be updated and active divergence of the language model from C, requiring significant effort and training to incrementally add \CC to a C-based project.
     252\CC is used similarly, but has the disadvantages of multiple legacy design-choices that cannot be updated, and active divergence of the language model from C, requiring significant effort and training to incrementally add \CC to a C-based project.
    253253
    254254All languages features discussed in this paper are working, except some advanced exception-handling features.
     
    10961096
    10971097
    1098 \subsection{\texorpdfstring{\protect\lstinline{if} Statement}{if Statement}}
     1098\subsection{\texorpdfstring{\protect\lstinline@if@ Statement}{if Statement}}
    10991099
    11001100The @if@ expression allows declarations, similar to @for@ declaration expression:
     
    11081108
    11091109
    1110 \subsection{\texorpdfstring{\protect\lstinline{switch} Statement}{switch Statement}}
     1110\subsection{\texorpdfstring{\protect\lstinline@switch@ Statement}{switch Statement}}
    11111111
    11121112There are a number of deficiencies with the C @switch@ statements: enumerating @case@ lists, placement of @case@ clauses, scope of the switch body, and fall through between case clauses.
     
    12631263
    12641264
    1265 \subsection{\texorpdfstring{Labelled \protect\lstinline{continue} / \protect\lstinline{break}}{Labelled continue / break}}
     1265\subsection{\texorpdfstring{Labelled \protect\lstinline@continue@ / \protect\lstinline@break@}{Labelled continue / break}}
    12661266
    12671267While C provides @continue@ and @break@ statements for altering control flow, both are restricted to one level of nesting for a particular control structure.
Note: See TracChangeset for help on using the changeset viewer.