An Introduction to Programming by the Inventor of C++ Preparation for Programming in the Real World The book assumes that you aim eventually to write non-trivial programs, whether for work in software development or in some other technical field. Focus on Fundamental Concepts and Techniques The book explains fundamental concepts and techniques in greater depth than traditional introductions. This approach will give you a solid foundation for writing useful, correct, maintainable, and efficient code. Programming with Today´s C++ (C++11 and C++14) The book is an introduction to programming in general, including object-oriented programming and generic programming. It is also a solid introduction to the C++ programming language, one of the most widely used languages for real-world software. The book presents modern C++ programming techniques from the start, introducing the C++ standard library and C++11 and C++14 features to simplify programming tasks. For Beginners - And Anyone Who Wants to Learn Something New The book is primarily designed for people who have never programmed before, and it has been tested with many thousands of first-year university students. It has also been extensively used for self-study. Also, practitioners and advanced students have gained new insight and guidance by seeing how a master approaches the elements of his art. Provides a Broad View The first half of the book covers a wide range of essential concepts, design and programming techniques, language features, and libraries. Those will enable you to write programs involving input, output, computation, and simple graphics. The second half explores more specialized topics (such as text processing, testing, and the C programming language) and provides abundant reference material. Source code and support supplements are available from the author´s website.
Key Features: · Introduction to functional programming · Real-world examples · Integrate functional techniques · Become a well rounded developer This book is designed to help C# programmers with an OOP background understand functional thinking.
R is the world´s most popular language for developing statistical software: Archaeologists use it to track the spread of ancient civilizations, drug companies use it to discover which medications are safe and effective, and actuaries use it to assess financial risks and keep economies running smoothly. The Art of R Programming takes you on a guided tour of software development with R, from basic types and data structures to advanced topics like closures, recursion, and anonymous functions. No statistical knowledge is required, and your programming skills can range from hobbyist to pro. Along the way, you´ll learn about functional and object-oriented programming, running mathematical simulations, and rearranging complex data into simpler, more useful formats. You´ll also learn to: Create artful graphs to visualize complex data sets and functions Write more efficient code using parallel R and vectorization Interface R with C/C++ and Python for increased speed or functionality Find n
A multi-user game, web site, cloud application, or networked database can have thousands of users all interacting at the same time. You need a powerful, industrial-strength tool to handle the really hard problems inherent in parallel, concurrent environments. You need Erlang. In this second edition of the bestselling Programming Erlang , you´ll learn how to write parallel programs that scale effortlessly on multicore systems. Using Erlang, you´ll be surprised at how easy it becomes to deal with parallel problems, and how much faster and more efficiently your programs run. That´s because Erlang uses sets of parallel processes -not a single sequential process, as found in most programming languages. Joe Armstrong, creator of Erlang, introduces this powerful language in small steps, giving you a complete overview of Erlang and how to use it in common scenarios. You´ll start with sequential programming, move to parallel programming and handling errors in parallel programs, and learn to work confidently with distributed programming and the standard Erlang/Open Telecom Platform (OTP) frameworks. You need no previous knowledge of functional or parallel programming. The chapters are packed with hands-on, real-world tutorial examples and insider tips and advice, and finish with exercises for both beginning and advanced users. The second edition has been extensively rewritten. New to this edition are seven chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment. You´ll write programs that dynamically detect and correct errors, and that can be upgraded without stopping the system. There´s also coverage of rebar (the de facto Erlang build system), and information on how to share and use Erlang projects on github, illustrated with examples from cowboy and bitcask. Erlang will change your view of the world, and of how you program. The second edition has been extensively rewritten. New to this edition are seven chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment.
Once you've come to grips with the core Python language, learning how to build Python applications presents a far more interesting challenge. Many critics consider this classic book, now updated for Python 3.x, to be the industry standard tutorial for Python application programming. With clear and concise explanations of Python syntax and programming techniques, and numerous examples that illustrate both correct usage and common idioms, Programming Python shows you the right way to code with Python. If you´ve mastered Python´s fundamentals, you´re ready to start using it to get real work done. Programming Python will show you how, with in-depth tutorials on the language´s primary application domains: system administration, GUIs, and the Web. You´ll also explore how Python is used in databases, networking, front-end scripting layers, text processing, and more. This book focuses on commonly used tools and libraries to give you a comprehensive understanding of Python´s many roles in practical, real-world programming. You´ll learn language syntax and programming techniques in a clear and concise manner, with lots of examples that illustrate both correct usage and common idioms. Completely updated for version 3.x, Programming Python also delves into the language as a software development tool, with many code examples scaled specifically for that purpose. Topics include: Quick Python tour: Build a simple demo that includes data representation, object-oriented programming, object persistence, GUIs, and website basics System programming: Explore system interface tools and techniques for command-line scripting, processing files and folders, running programs in parallel, and more GUI programming: Learn to use Python´s tkinter widget library Internet programming: Access client-side network protocols and email tools, use CGI scripts, and learn website implementation techniques More ways to apply Python: Implement data structures, parse text-based information, interface with databases, and extend and embed Python
Need to move a relational database application to Hadoop? This comprehensive guide introduces you to Apache Hive, Hadoop´s data warehouse infrastructure. You´ll quickly learn how to use Hive´s SQL dialect - HiveQL - to summarize, query, and analyze large datasets stored in Hadoop´s distributed filesystem. This example-driven guide shows you how to set up and configure Hive in your environment, provides a detailed overview of Hadoop and MapReduce, and demonstrates how Hive works within the Hadoop ecosystem. You´ll also find real-world case studies that describe how companies have used Hive to solve unique problems involving petabytes of data. Use Hive to create, alter, and drop databases, tables, views, functions, and indexes Customize data formats and storage options, from files to external databases Load and extract data from tables - and use queries, grouping, filtering, joining, and other conventional query methods Gain best practices for creating user defined functions (UDFs) Learn Hive patterns you should use and anti-patterns you should avoid Integrate Hive with other data processing programs Use storage handlers for NoSQL databases and other datastores Learn the pros and cons of running Hive on Amazon´s Elastic MapReduce
The book will quickly get students started using Go effectively from the beginning, and by the end, they will know how to use it well to write clear, idiomatic and efficient programs to solve real-world problems. They´ll understand not just how to use its standard libraries, but how they work, and how to apply the same design techniques to their own projects.