У нас вы можете посмотреть бесплатно Compiler engineering (Compiler Organization, C and C ++ standards, career, market, industry, etc.). или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Aaron Ballman (aaron@aaronballman.com) is a Sr Staff Compiler Engineer for Intel. He is a frontend maintainer for Clang, a popular open source compiler for C, C++, and other languages. Aaron is an expert for the JTC1/SC22/WG14 C programming language and JTC1/SC22/WG21 C++ programming language standards committees. His primary professional focus has been in helping programmers recognize mistakes in their code through better language design, diagnostics, and tooling. When not thinking about programming, he enjoys spending quiet moments in the woods of rural Maine with his family. Introduction Brief educational background Quick work history up to present day Goal of the talk is to make compilers and programming languages seem a little bit less like magic and a little bit more like something anyone can get involved with Compilers Compilers are not magic Compilers are repeating translators to slightly simpler forms Frontend and Backend differences Frontend Lex, Preprocess, Parse, Sema, CodeGen Backend Pipeline of optimization passes Optimizers are translators to slightly different ways of expressing the same thing Different possible outputs: IR, ASM, object files w/machine code Linker is its own thing and takes output from the compiler and turns it into an executable Written by everyday humans. This includes bugs. C and C++ Standards Different sized committees (300 vs 30), different approaches to standards Traditionally different release paces (10 yrs vs 3 years); this may be changing C and C++ aren't created by wizards who know everything People tend to have "favorite areas" and specialize Written by everyday humans. This includes bugs. Almost nobody does this full time. Anyone can join but the process differs for every country Other languages take a different approach to their definition (e.g., reference implementations) Careers These two groups are often seen together, but not required Some people like doing both, others like just one or the other Neither needs to be a long-term commitment Some people join the committee only to push one topic, then disappear Some people only fix one bug in Clang, then disappear This is still appreciated! Companies with compiler or C/C++ standards jobs are sometimes surprising Hardware companies: Intel, Apple, IBM, ARM, etc Mixed software/hardware companies: Microsoft, Sony, Samsung, etc Other industries: Facebook, Bloomberg, Morgan Stanley, video game publishers, etc Harder to find companies to pay for standards work than to find ones to pay for compiler work Conclusion Q&A