handouts/ho01.tex
changeset 452 b93f4d2aeee1
parent 448 96129128d0f1
child 471 9476086849ad
equal deleted inserted replaced
451:4a5876f321ae 452:b93f4d2aeee1
    24 %% emacs regexes
    24 %% emacs regexes
    25 %% https://www.gnu.org/software/emacs/manual/html_node/elisp/Regular-Expressions.html
    25 %% https://www.gnu.org/software/emacs/manual/html_node/elisp/Regular-Expressions.html
    26 
    26 
    27 %%  reasons for a new prgramming language
    27 %%  reasons for a new prgramming language
    28 %% http://beautifulracket.com
    28 %% http://beautifulracket.com
    29 
       
    30 %regher
       
    31 % We can start off with a couple of observations about the role of
       
    32 % compilers. First, hardware is getting weirder rather than getting
       
    33 % clocked faster: almost all processors are multicores and it looks
       
    34 % like there is increasing asymmetry in resources across
       
    35 % cores. Processors come with vector units, crypto accelerators, bit
       
    36 % twiddling instructions, and lots of features to make virtualization
       
    37 % and concurrency work. We have DSPs, GPUs, big.little, and Xeon
       
    38 % Phi. This is only scratching the surface. Second, we’re getting
       
    39 % tired of low-level languages and their associated security
       
    40 % disasters, we want to write new code, to whatever extent possible,
       
    41 % in safer, higher-level languages. Compilers are caught right in the
       
    42 % middle of these opposing trends: one of their main jobs is to help
       
    43 % bridge the large and growing gap between increasingly high-level
       
    44 % languages and increasingly wacky platforms. It’s effectively a
       
    45 % perpetual employment act for solid compiler hackers.
       
    46 
    29 
    47 % compiler explorer
    30 % compiler explorer
    48 % https://gcc.godbolt.org
    31 % https://gcc.godbolt.org
    49 
    32 
    50 
    33