|
|
Books > Computing & IT > Computer programming > Compilers & interpreters
Things you've done online: ordered a pizza, checked the weather,
booked a hotel, and reconnected with long-lost friends. Now it's
time to find out how these things work. Vinay Trivedi peels back
the mystery of the Internet, explains it all in the simplest terms,
and gives you the knowledge you need to speak confidently when the
subject turns to technology. This revised second edition of How to
Speak Tech employs the strategy of the popular first edition:
through the narrative of setting up a fictitious startup, it
introduces you to essential tech concepts. New tech topics that
were added in this edition include the blockchain, augmented and
virtual reality, Internet of Things, and artificial intelligence.
The author's key message is: technology isn't beyond the
understanding of anyone! By breaking down major tech concepts
involved with a modern startup into bite-sized chapters, the
author's approach helps you understand topics that aren't always
explained clearly and shows you that they aren't rocket science. So
go ahead, grab this book, start to "speak tech," and hold your own
in any tech-related conversation! What You'll Learn Understand the
basics of new and established technologies such as blockchain,
artificial intelligence (AI), augmented and virtual reality (AR and
VR), Internet of Things (IoT), software development, programming
languages, databases, and more Listen intelligently and speak
confidently when technologies are brought up in your business Be
confident in your grasp of terms and technologies when setting up
your own organization's application Who This Book Is For Students
who want to understand different technologies relevant to their
future careers at startups and established organizations, as well
as business and other non-technical professionals who encounter and
require an understanding of key technical terms and trends to
succeed in their roles Reviews "Finally, a book non-techies can use
to understand the technologies that are changing our lives." Paul
Bottino, Executive Director, Technology and Entrepreneurship
Center, Harvard University "A great book everyone can use to
understand how tech startups work." Rene Reinsberg, Founder at
Celo; Former VP of Emerging Products, GoDaddy "Through the
simplicity of his presentation, Vinay shows that the basics of
technology can be straightforwardly understood by anyone who puts
in the time and effort to learn." Joseph Lassiter, Professor of
Management Science, Harvard Business School and Harvard Innovation
Lab
Learn CMake through a series of task-based recipes that provide you
with practical, simple, and ready-to-use CMake solutions for your
code Key Features Learn to configure, build, test, and package
software written in C, C++, and Fortran Progress from simple to
advanced tasks with examples tested on Linux, macOS, and Windows
Manage code complexity and library dependencies with reusable CMake
building blocks Book DescriptionCMake is cross-platform,
open-source software for managing the build process in a portable
fashion. This book features a collection of recipes and building
blocks with tips and techniques for working with CMake, CTest,
CPack, and CDash. CMake Cookbook includes real-world examples in
the form of recipes that cover different ways to structure,
configure, build, and test small- to large-scale code projects. You
will learn to use CMake's command-line tools and master modern
CMake practices for configuring, building, and testing binaries and
libraries. With this book, you will be able to work with external
libraries and structure your own projects in a modular and reusable
way. You will be well-equipped to generate native build scripts for
Linux, MacOS, and Windows, simplify and refactor projects using
CMake, and port projects to CMake. What you will learn Configure,
build, test, and install code projects using CMake Detect operating
systems, processors, libraries, files, and programs for conditional
compilation Increase the portability of your code Refactor a large
codebase into modules with the help of CMake Build multi-language
projects Know where and how to tweak CMake configuration files
written by somebody else Package projects for distribution Port
projects to CMake Who this book is forIf you are a software
developer keen to manage build systems using CMake or would like to
understand and modify CMake code written by others, this book is
for you. A basic knowledge of C++, C, or Fortran is required to
understand the topics covered in this book.
Become familiar with the LLVM infrastructure and start using LLVM
libraries to design a compiler About This Book * Learn to use the
LLVM libraries to emit intermediate representation (IR) from
high-level language * Build your own optimization pass for better
code generation * Understand AST generation and use it in a
meaningful way Who This Book Is For This book is intended for those
who already know some of the concepts of compilers and want to
quickly get familiar with the LLVM infrastructure and the rich set
of libraries that it provides. What You Will Learn * Get an
introduction to LLVM modular design and LLVM tools * Convert
frontend code to LLVM IR * Implement advanced LLVM IR paradigms *
Understand the LLVM IR Optimization Pass Manager infrastructure and
write an optimization pass * Absorb LLVM IR transformations *
Understand the steps involved in converting LLVM IR to Selection
DAG * Implement a custom target using the LLVM infrastructure * Get
a grasp of C's frontend clang, an AST dump, and static analysis In
Detail LLVM is currently the point of interest for many firms, and
has a very active open source community. It provides us with a
compiler infrastructure that can be used to write a compiler for a
language. It provides us with a set of reusable libraries that can
be used to optimize code, and a target-independent code generator
to generate code for different backends. It also provides us with a
lot of other utility tools that can be easily integrated into
compiler projects. This book details how you can use the LLVM
compiler infrastructure libraries effectively, and will enable you
to design your own custom compiler with LLVM in a snap. We start
with the basics, where you'll get to know all about LLVM. We then
cover how you can use LLVM library calls to emit intermediate
representation (IR) of simple and complex high-level language
paradigms. Moving on, we show you how to implement optimizations at
different levels, write an optimization pass, generate code that is
independent of a target, and then map the code generated to a
backend. The book also walks you through CLANG, IR to IR
transformations, advanced IR block transformations, and target
machines. By the end of this book, you'll be able to easily utilize
the LLVM libraries in your own projects. Style and approach This
book deals with topics sequentially, increasing the difficulty
level in a step-by-step approach. Each topic is explained with a
detailed example, and screenshots are included to help you
understand the examples.
|
|