Best of
Programming-Languages

2017

C# 7.0 in a Nutshell: The Definitive Reference


Joseph Albahari - 2017
    Since its debut in 2000, C# has become a language of unusual flexibility and breadth, but its continual growth means there's always more to learn.Organized around concepts and use cases, this updated edition provides intermediate and advanced programmers with a concise map of C# and .NET knowledge. Dive in and discover why this Nutshell guide is considered the definitive reference on C#.Get up to speed on the C# language, from the basics of syntax and variables to advanced topics such as pointers, operator overloading, and dynamic bindingDig deep into LINQ via three chapters dedicated to the topicExplore concurrency and asynchrony, advanced threading, and parallel programmingWork with .NET features, including XML, regular expressions, networking, serialization, reflection, application domains, and securityDelve into Roslyn, the modular C# 7.0 compiler-as-a-service

Type-Driven Development with Idris


Edwin Brady - 2017
    This book teaches you with Idris, a language designed from the very beginning to support type-driven development. In this book, you’ll learn how to manipulate types just like any other construct (numbers, strings, lists, etc.). You’ll see how to use type-driven development to build real-world software, as well as how to handle side-effects, state and concurrency, and interoperating with existing systems. By the end of this book, you will be able to develop robust and verified software in Idris and apply type-driven development methods to programming in other languages.

A Smarter Way to Learn Python: Learn it faster. Remember it longer.


Mark Myers - 2017
    I was smart enough to earn an honors degree in philosophy from Harvard, but an aptitude test told me to avoid computer programming. I'm sure it was right. But then I designed a learning system for myself that quadrupled my aptitude for learning computer languages. It worked so well for me that I've used it to teach coding to grandmothers, cab drivers, musicians, and 50,000 other newbies. "Mark Myers' method of getting what can be...difficult information into a format that makes it exponentially easier to consume, truly understand, and synthesize into real-world application is beyond anything I've encountered before." —Amazon reviewer Jason A. Ruby reviewing my first book, A Smarter Way to Learn JavaScript Quadruple your learning ability. Washington University research shows that a key teaching method I use—interactive recall practice—improves learning performance 400 percent. "I don't feel lost and I don't feel that I am forgetting things as I go along." —Amazon reviewer Leonie M. reviewing my second book, A Smarter Way to Learn HTML and CSS Understanding is easy. Remembering is hard. Computer languages are not inherently hard to understand, even for non-techies. Remembering is the problem. If you remember all of Chapter 1 through Chapter 10, you'll understand Chapter 11. But you don't remember. Though you read and read, most of it doesn't stick. You don't have a solid foundation to build on. Halfway through the book, it all collapses. That's when most people give up."I've signed up to a few sites like Udemy, Codecademy, FreeCodeCamp, Lynda, YouTube videos, even searched on Coursera but nothing seemed to work for me. This book takes only 10 minutes each chapter and after that, you can exercise what you've just learned right away!" —Amazon reviewer Constanza Morales reviewing my first book, A Smarter Way to Learn JavaScript Interactive exercises make it stick. Research shows that you will remember everything if you're repeatedly asked to recall it. That's the beauty of flash cards. But technology offers an even better way to make information stick. With my book you get almost a thousand interactive exercises—they're free online—that embed the whole book in your memory. Algorithms check your work to make sure you know what you think you know. When you stumble, you do the exercise again. You keep trying until you know the chapter cold. "Not only do the exercises make learning fun, they reinforce the material right away so it sinks in deeper." —Amazon reviewer Timothy B. Miller reviewing my second book, A Smarter Way to Learn HTML and CSS You won't get bored or sleepy. The exercises keep you engaged, give you extra practice where you're shaky, and prepare you for each next step. Every lesson is built on top of a solid foundation that you and I have carefully constructed. Each individual step is small. But all the little steps add up to real knowledge—knowledge that you retain. I finally feel like I KNOW it and won't need to look up the syntax each time..." —Amazon reviewer J. Caritas reviewing my third book, A Smarter Way to Learn jQuery Really, it ain't that hard.

Concurrency in Go: Tools and Techniques for Developers


Katherine Cox-Buday - 2017
    If you're a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems.Author Katherine Cox-Buday takes you step-by-step through the process. You'll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size.Understand how Go addresses fundamental problems that make concurrency difficult to do correctlyLearn the key differences between concurrency and parallelismDig into the syntax of Go's memory synchronization primitivesForm patterns with these primitives to write maintainable concurrent codeCompose patterns into a series of practices that enable you to write large, distributed systems that scaleLearn the sophistication behind goroutines and how Go's runtime stitches everything together

Coding All-In-One for Dummies


Wiley - 2017
    Coding All-in-One For Dummies gives you an ideal place to start when you're ready to add this valuable asset to your professional repertoire. Whether you need to learn how coding works to build a web page or an application or see how coding drives the data revolution, this resource introduces the languages and processes you'll need to know.Peek inside to quickly learn the basics of simple web languages, then move on to start thinking like a professional coder and using languages that power big applications. Take a look inside for the steps to get started with updating a website, creating the next great mobile app, or exploring the world of data science. Whether you're looking for a complete beginner's guide or a trusted resource for when you encounter problems with coding, there's something for you!Create code for the web Get the tools to create a mobile app Discover languages that power data science See the future of coding with machine learning tools With the demand for skilled coders at an all-time high, Coding All-in-One For Dummies is here to propel coding newbies to the ranks of professional programmers.

C++17 STL Cookbook


Jacek Galowicz - 2017
    Reduce the development time for your applications. - Understand the scope and power of STL features to deal with real-world problems. - Compose your own algorithms without forfeiting the simplicity and elegance of the STL way. Who This Book Is For This book is for intermediate-to-advanced C++ programmers who want to get the most out of the Standard Template Library of the newest version of C++: C++ 17. What You Will Learn - Learn about the new core language features and the problems they were intended to solve - Understand the inner workings and requirements of iterators by implementing them - Explore algorithms, functional programming style, and lambda expressions - Leverage the rich, portable, fast, and well-tested set of well-designed algorithms provided in the STL - Work with strings the STL way instead of handcrafting C-style code - Understand standard support classes for concurrency and synchronization, and how to put them to work - Use the filesystem library addition available with the C++17 STL In Detail C++ has come a long way and is in use in every area of the industry. Fast, efficient, and flexible, it is used to solve many problems. The upcoming version of C++ will see programmers change the way they code. If you want to grasp the practical usefulness of the C++17 STL in order to write smarter, fully portable code, then this book is for you. Beginning with new language features, this book will help you understand the language's mechanics and library features, and offers insight into how they work. Unlike other books, ours takes an implementation-specific, problem-solution approach that will help you quickly overcome hurdles. You will learn the core STL concepts, such as containers, algorithms, utility classes, lambda expressions, iterators, and more, while working on practical real-world recipes. These recipes will help you get the most from the STL and show you how to program in a better way. By the end of the book, you will be up to date with the latest C++17 features and save time and effort while solving tasks elegantly using the STL. Style and approach This recipe-based guide will show you how to make the best use of C++ together with the STL to squeeze more out of the standard language

Functional Programming, Simplified: (Scala edition)


Alvin Alexander - 2017
    The lessons are presented in a logical sequence — the order in which the author learned them — culminating in advanced topics like functional domain modeling, and how to write and use monads. Some of the book’s lessons include: - A simple set of rules for functional programming in Scala - How and why to write pure functions and use immutable variables - Why function signatures in FP are *much* more important than method signatures in OOP - How pure functions work with I/O (file, database, and network) - How to read anonymous functions - Lessons on recursion, with many images to help explain how it works - How the concepts of JVM stacks and stack frames work - Partially-applied functions and currying - How using Option naturally leads to flatMap, and how flatMap naturally leads to for-comprehensions - How and why to use case classes and pattern matching - How to use monads like State and IO - How to use monad transformers like StateT - How (and why) to write your own monads - Domain modeling in functional programming - How to use “lenses” to update immutable data models - Concurrency lessons cover Akka actors and Scala futures - Visual lessons on collections’ methods like fold and reduce - How to use the ScalaCheck property-testing framework - How to write and use “type classes” - Algebraic Data Types (ADTs) are explained All told, the book contains 120 small chapters. Source code examples from the book are available as a series of Github repositories that you can download and work with.

Java For Dummies (For Dummies (Computers))


Barry A. Burd - 2017
    With a focus on reusing existing code, it quickly and easily shows you how to create basic Java objects, work with Java classes and methods, understand the value of variables, learn to control program flow with loops or decision-making statements, and so much more! Java is everywhere, runs on almost any computer, and is the engine that drives the coolest applications. Written for anyone who’s ever wanted to tackle programming with Java but never knew quite where to begin, this bestselling guide is your ticket to success! Featuring updates on everything you’ll encounter in Java 9—and brimming with tons of step-by-step instruction—it’s the perfect resource to get you up and running with Java in a jiffy! Discover the latest features and tools in Java 9 Learn to combine several smaller programs to create a bigger program Create basic Java objects and reuse code Confidently handle exceptions and events If you’re ready to jump into Java, this bestselling guide will help keep your head above water!

C++ 17 The Complete Guide


Nicolai M. Josuttis - 2017
    Learn how this impacts day-to-day programming, to benefit in practice, to combine new features, and to avoid all new traps.