Get Programming

Get Programming
Author :
Publisher : Simon and Schuster
Total Pages : 668
Release :
ISBN-10 : 9781638355922
ISBN-13 : 1638355924
Rating : 4/5 (22 Downloads)

Synopsis Get Programming by : Ana Bell

Get Programming: Learn to code with Python teaches you the basics of computer programming using the Python language. In this exercise-driven book, you'll be doing something on nearly every page as you work through 38 compact lessons and 7 engaging capstone projects. By exploring the crystal-clear illustrations, exercises that check your understanding as you go, and tips for what to try next, you'll start thinking like a programmer in no time. This book works perfectly alongside our video course Get Programming with Python in Motion, available exclusively at Manning.com: www.manning.com/livevideo/get-programming-with-python-in-motion Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Programming skills you can use in any language Learn to code—no experience required Learn Python, the language for beginners Dozens of exercises and examples help you learn by doing About the Reader No prior programming experience needed. Table of Contents LEARNING HOW TO PROGRAM Lesson 1 - Why should you learn how to program? Lesson 2 - Basic principles of learning a programming language UNIT 1 - VARIABLES, TYPES, EXPRESSIONS, AND STATEMENTS Lesson 3 - Introducing Python: a programming language Lesson 4 - Variables and expressions: giving names and values to things Lesson 5 - Object types and statements of code 46 Lesson 6 - Capstone project: your first Python program-convert hours to minutes UNIT 2 - STRINGS, TUPLES, AND INTERACTING WITH THE USER Lesson 7 - Introducing string objects: sequences of characters Lesson 8 - Advanced string operations Lesson 9 - Simple error messages Lesson 10 - Tuple objects: sequences of any kind of object Lesson 11 - Interacting with the user Lesson 12 - Capstone project: name mashup UNIT 3 - MAKING DECISIONS IN YOUR PROGRAMS Lesson 13 - Introducing decisions in programs Lesson 14 - Making more-complicated decisions Lesson 15 - Capstone project: choose your own adventure UNIT 4 - REPEATING TASKS Lesson 16 - Repeating tasks with loops Lesson 17 - Customizing loops Lesson 18 - Repeating tasks while conditions hold Lesson 19 - Capstone project: Scrabble, Art Edition UNIT 5 - ORGANIZING YOUR CODE INTO REUSABLE BLOCKS Lesson 20 - Building programs to last Lesson 21 - Achieving modularity and abstraction with functions Lesson 22 - Advanced operations with functions Lesson 23 - Capstone project: analyze your friends UNIT 6 - WORKING WITH MUTABLE DATA TYPES Lesson 24 - Mutable and immutable objects Lesson 25 - Working with lists Lesson 26 - Advanced operations with lists Lesson 27 - Dictionaries as maps between objects Lesson 28 - Aliasing and copying lists and dictionaries Lesson 29 - Capstone project: document similarity UNIT 7 - MAKING YOUR OWN OBJECT TYPES BY USING OBJECT-ORIENTED PROGRAMMING Lesson 30 - Making your own object types Lesson 31 - Creating a class for an object type Lesson 32 - Working with your own object types Lesson 33 - Customizing classes Lesson 34 - Capstone project: card game UNIT 8 - USING LIBRARIES TO ENHANCE YOUR PROGRAMS Lesson 35 - Useful libraries Lesson 36 - Testing and debugging your programs Lesson 37 - A library for graphical user interfaces Lesson 38 - Capstone project: game of tag Appendix A - Answers to lesson exercises Appendix B - Python cheat sheet Appendix C - Interesting Python libraries

Get Programming with Haskell

Get Programming with Haskell
Author :
Publisher : Simon and Schuster
Total Pages : 794
Release :
ISBN-10 : 9781638356776
ISBN-13 : 1638356777
Rating : 4/5 (76 Downloads)

Synopsis Get Programming with Haskell by : Will Kurt

Summary Get Programming with Haskell leads you through short lessons, examples, and exercises designed to make Haskell your own. It has crystal-clear illustrations and guided practice. You will write and test dozens of interesting programs and dive into custom Haskell modules. You will gain a new perspective on programming plus the practical ability to use Haskell in the everyday world. (The 80 IQ points: not guaranteed.) Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Programming languages often differ only around the edges—a few keywords, libraries, or platform choices. Haskell gives you an entirely new point of view. To the software pioneer Alan Kay, a change in perspective can be worth 80 IQ points and Haskellers agree on the dramatic benefits of thinking the Haskell way—thinking functionally, with type safety, mathematical certainty, and more. In this hands-on book, that's exactly what you'll learn to do. What's Inside Thinking in Haskell Functional programming basics Programming in types Real-world applications for Haskell About the Reader Written for readers who know one or more programming languages. Table of Contents Lesson 1 Getting started with Haskell Unit 1 - FOUNDATIONS OF FUNCTIONAL PROGRAMMING Lesson 2 Functions and functional programming Lesson 3 Lambda functions and lexical scope Lesson 4 First-class functions Lesson 5 Closures and partial application Lesson 6 Lists Lesson 7 Rules for recursion and pattern matching Lesson 8 Writing recursive functions Lesson 9 Higher-order functions Lesson 10 Capstone: Functional object-oriented programming with robots! Unit 2 - INTRODUCING TYPES Lesson 11 Type basics Lesson 12 Creating your own types Lesson 13 Type classes Lesson 14 Using type classes Lesson 15 Capstone: Secret messages! Unit 3 - PROGRAMMING IN TYPES Lesson 16 Creating types with "and" and "or" Lesson 17 Design by composition—Semigroups and Monoids Lesson 18 Parameterized types Lesson 19 The Maybe type: dealing with missing values Lesson 20 Capstone: Time series Unit 4 - IO IN HASKELL Lesson 21 Hello World!—introducing IO types Lesson 22 Interacting with the command line and lazy I/O Lesson 23 Working with text and Unicode Lesson 24 Working with files Lesson 25 Working with binary data Lesson 26 Capstone: Processing binary files and book data Unit 5 - WORKING WITH TYPE IN A CONTEXT Lesson 27 The Functor type class Lesson 28 A peek at the Applicative type class: using functions in a context Lesson 29 Lists as context: a deeper look at the Applicative type class Lesson 30 Introducing the Monad type class Lesson 31 Making Monads easier with donotation Lesson 32 The list monad and list comprehensions Lesson 33 Capstone: SQL-like queries in Haskell Unit 6 - ORGANIZING CODE AND BUILDING PROJECTS Lesson 34 Organizing Haskell code with modules Lesson 35 Building projects with stack Lesson 36 Property testing with QuickCheck Lesson 37 Capstone: Building a prime-number library Unit 7 - PRACTICAL HASKELL Lesson 38 Errors in Haskell and the Either type Lesson 39 Making HTTP requests in Haskell Lesson 40 Working with JSON data by using Aeson Lesson 41 Using databases in Haskell Lesson 42 Efficient, stateful arrays in Haskell Afterword - What's next? Appendix - Sample answers to exercise

Get Programming with Go

Get Programming with Go
Author :
Publisher : Simon and Schuster
Total Pages : 468
Release :
ISBN-10 : 9781638355472
ISBN-13 : 1638355479
Rating : 4/5 (72 Downloads)

Synopsis Get Programming with Go by : Roger Peppe

Summary Get Programming with Go introduces you to the powerful Go language without confusing jargon or high-level theory. By working through 32 quick-fire lessons, you'll quickly pick up the basics of the innovative Go programming language! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Go is a small programming language designed by Google to tackle big problems. Large projects mean large teams with people of varying levels of experience. Go offers a small, yet capable, language that can be understood and used by anyone, no matter their experience. About the Book Hobbyists, newcomers, and professionals alike can benefit from a fast, modern language; all you need is the right resource! Get Programming with Go provides a hands-on introduction to Go language fundamentals, serving as a solid foundation for your future programming projects. You'll master Go syntax, work with types and functions, and explore bigger ideas like state and concurrency, with plenty of exercises to lock in what you learn. What's inside Language concepts like slices, interfaces, pointers, and concurrency Seven capstone projects featuring spacefaring gophers, Mars rovers, ciphers, and simulations All examples run in the Go Playground - no installation required! About the Reader This book is for anyone familiar with computer programming, as well as anyone with the desire to learn. About the Author Nathan Youngman organizes the Edmonton Go meetup and is a mentor with Canada Learning Code. Roger Peppé contributes to Go and runs the Newcastle upon Tyne Go meetup. Table of Contents Unit 0 - GETTING STARTED Get ready, get set, Go Unit 1 - IMPERATIVE PROGRAMMING A glorified calculator Loops and branches Variable scope Capstone: Ticket to Mars Unit 2 - TYPES Real numbers Whole numbers Big numbers Multilingual text Converting between types Capstone: The Vigenère cipher Unit 3 - BUILDING BLOCKS Functions Methods First-class functions Capstone: Temperature tables Unit 4 - COLLECTIONS Arrayed in splendor Slices: Windows into arrays A bigger slice The ever-versatile map Capstone: A slice of life Unit 5 - STATE AND BEHAVIOR A little structure Go's got no class Composition and forwarding Interfaces Capstone: Martian animal sanctuary Unit 6 - DOWN THE GOPHER HOLE A few pointers Much ado about nil To err is human Capstone: Sudoku rules Unit 7 - CONCURRENT PROGRAMMING Goroutines and concurrency Concurrent state Capstone: Life on Mars

Get Programming with F#

Get Programming with F#
Author :
Publisher : Simon and Schuster
Total Pages : 832
Release :
ISBN-10 : 9781638355984
ISBN-13 : 1638355983
Rating : 4/5 (84 Downloads)

Synopsis Get Programming with F# by : Isaac Abraham

Summary Get Programming with F#: A guide for .NET developers teaches F# through 43 example-based lessons with built-in exercises so you can learn the only way that really works: by practicing. The book upgrades your .NET skills with a touch of functional programming in F#. You'll pick up core FP principles and learn techniques for iron-clad reliability and crystal clarity. You'll discover productivity techniques for coding F# in Visual Studio, functional design, and integrating functional and OO code. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Your .NET applications need to be good for the long haul. F#'s unique blend of functional and imperative programming is perfect for writing code that performs flawlessly now and keeps running as your needs grow and change. It takes a little practice to master F#'s functional-first style, so you may as well get programming! What's Inside Learn how to write bug-free programs Turn tedious common tasks into quick and easy ones Use minimal code to work with JSON, CSV, XML, and HTML data Integrate F# with your existing C# and VB.NET applications Create web-enabled applications About the Reader Written for intermediate C# and Visual Basic .NET developers. No experience with F# is assumed. Table of Contents Unit 1 - F# AND VISUAL STUDIO Lesson 1 - The Visual Studio experience Lesson 2 - Creating your first F# program Lesson 3 - The REPL-changing how we develop Unit 2 - HELLO F# Lesson 4 - Saying a little, doing a lot Lesson 5 - Trusting the compiler Lesson 6 - Working with immutable data Lesson 7 - Expressions and statements Lesson 8 Capstone 1 Unit 3 - TYPES AND FUNCTIONS Lesson 9 - Shaping data with tuples Lesson 10 - Shaping data with records Lesson 11 - Building composable functions Lesson 12 - Organizing code without classes Lesson 13 - Achieving code reuse in F# Lesson 14 - Capstone 2 Unit 4 - COLLECTIONS IN F# Lesson 15 - Working with collections in F# Lesson 16 - Useful collection functions Lesson 17 - Maps, dictionaries, and sets Lesson 18 - Folding your way to success Lesson 19 - Capstone 3 Unit 5 - THE PIT OF SUCCESS WITH THE F# TYPE SYSTEM Lesson 20 - Program flow in F# Lesson 21 - Modeling relationships in F# Lesson 22 - Fixing the billion-dollar mistake Lesson 23 - Business rules as code Lesson 24 - Capstone 4 Unit 6 - LIVING ON THE .NET PLATFORM Lesson 25 - Consuming C# from F# Lesson 26 - Working with NuGet packages Lesson 27 - Exposing F# types and functionsto C# Lesson 28 - Architecting hybrid language applications Lesson 29 - Capstone 5 Unit 7 - WORKING WITH DATA Lesson 30 - Introducing type providers Lesson 31 - Building schemas from live data Lesson 32 - Working with SQL Lesson 33 - Creating type provider-backed APIs Lesson 34 - Using type providers in the real world Lesson 35 - Capstone 6 Unit 8 - WEB PROGRAMMING Lesson 36 - Asynchronous workflows Lesson 37 - Exposing data over HTTP Lesson 38 - Consuming HTTP data Lesson 39 - Capstone 7 Unit 9 - UNIT TESTING Lesson 40 - Unit testing in F# Lesson 41 - Property-based testing in F# Lesson 42 - Web testing Lesson 43 - Capstone 8 Unit 10 - WHERE NEXT? Appendix A - The F# community Appendix B - F# in my organization Appendix C - Must-visit F# resources Appendix D - Must-have F# libraries Appendix E - Other F# language feature

Get Programming with Scala

Get Programming with Scala
Author :
Publisher : Simon and Schuster
Total Pages : 950
Release :
ISBN-10 : 9781638352259
ISBN-13 : 1638352259
Rating : 4/5 (59 Downloads)

Synopsis Get Programming with Scala by : Daniela Sfregola

The perfect starting point for your journey into Scala and functional programming. Summary In Get Programming in Scala you will learn: Object-oriented principles in Scala Express program designs in functions Use types to enforce program requirements Use abstractions to avoid code duplication Write meaningful tests and recognize code smells Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is the perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Scala developers are in high demand. This flexible language blends object-oriented and functional programming styles so you can write flexible, easy-to-maintain code. Because Scala runs on the JVM, your programs can interact seamlessly with Java libraries and tools. If you’re comfortable writing Java, this easy-to-read book will get you programming with Scala fast. About the book Get Programming with Scala is a fast-paced introduction to the Scala language, covering both Scala 2 and Scala 3. You’ll learn through lessons, quizzes, and hands-on projects that bring your new skills to life. Clear explanations make Scala’s features and abstractions easy to understand. As you go, you’ll learn to write familiar object-oriented code in Scala and also discover the possibilities of functional programming. What's inside Apply object-oriented principles in Scala Learn the core concepts of functional programming Use types to enforce program requirements Use abstractions to avoid code duplication Write meaningful tests and recognize code smells About the reader For developers who know an OOP language like Java, Python, or C#. No experience with Scala or functional programming required. About the author Daniela Sfregola is a Senior Software Engineer and a Scala user since 2013. She is an active contributor to the Scala Community, a public speaker at Scala conferences and meetups, and a maintainer of open-source projects. Table of Contents Unit 0 HELLO SCALA! Unit 1 THE BASICS Unit 2 OBJECT-ORIENTED FUNDAMENTALS Unit 3 HTTP SERVER Unit 4 IMMUTABLE DATA AND STRUCTURES Unit 5 LIST Unit 6 OTHER COLLECTIONS AND ERROR HANDLING Unit 7 CONCURRENCY Unit 8 JSON (DE)SERIALIZATION

Get Programming with JavaScript

Get Programming with JavaScript
Author :
Publisher : Simon and Schuster
Total Pages : 625
Release :
ISBN-10 : 9781638353423
ISBN-13 : 1638353425
Rating : 4/5 (23 Downloads)

Synopsis Get Programming with JavaScript by : John Larsen

Summary Get Programming with JavaScript is a hands-on introduction to programming for readers who have never programmed. You'll be writing your own web apps, games, and programs in no time! Foreword by Remy Sharp. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Are you ready to start writing your own web apps, games, and programs? You’re in the right place! Get Programming with JavaScript is a hands-on introduction to programming for readers who have never written a line of code. Since you’re just getting started, this friendly book offers you lots of examples backed by careful explanations. As you go along, you’ll find exercises to check your understanding and plenty of opportunities to practice your new skills. You don’t need any­thing special to follow the examples—just the text editor and web browser already installed on your computer. We even give you links to working online code so you can see how everything should look live on your screen. What’s Inside All the basics—objects, functions, responding to users, and more Think like a coder and design your own programs Create a text-based adventure game Enhance web pages with JavaScript Run your programs in a web browser Four bonus chapters available online About the Reader No experience required! All you need is a web browser and an internet connection. About the Author John Larsen is a mathematics and computing teacher with an interest in educational research. He has an MA in mathematics and an MSc in information technology. He started programming in 1982, writing simple programs for teaching mathematics in 1993, building websites in 2001, and developing data-driven web-based applications for education in 2006. Table of Contents PART 1 CORE CONCEPTS ON THE CONSOLE Programming, JavaScript, and JS Bin Variables: storing data in your program Objects: grouping your data Functions: code on demand Arguments: passing data to functions Return values: getting data from functions Object arguments: functions working with objects Arrays: putting data into lists Constructors: building objects with functions Bracket notation: flexible property names PART 2 ORGANIZING YOUR PROGRAMS Scope: hiding information Conditions: choosing code to run Modules: breaking a program into pieces Models: working with data Views: displaying data Controllers: linking models and views PART 3 JAVASCRIPT IN THE BROWSER HTML: building web pages Controls: getting user input Templates: filling placeholders with data XHR: loading data Conclusion: get programming with JavaScript BONUS ONLINE CHAPTERS Node: running JavaScript outside the browser Express: building an API Polling: repeating requests with XHR Socket.IO: real-time messaging

Get Programming with Node.js

Get Programming with Node.js
Author :
Publisher : Simon and Schuster
Total Pages : 729
Release :
ISBN-10 : 9781638352402
ISBN-13 : 1638352402
Rating : 4/5 (02 Downloads)

Synopsis Get Programming with Node.js by : Jonathan Wexler

Summary Get Programming with Node.js teaches you to build web servers using JavaScript and Node. In this engaging tutorial, you'll work through eight complete projects, from writing the code for your first web server to adding live chat to a web app. Your hands will stay on the keyboard as you explore the most important aspects of the Node development process, including security, database management, authenticating user accounts, and deploying to production. You'll especially appreciate the easy-to-follow discussions, illuminating diagrams, and carefully explained code! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Node.js delivers the speed and reliability you need for ecommerce, social media, and gaming applications. It comes with thousands of prebuilt packages to help you get started immediately. If you want to use JavaScript on the server, Node.js is your choice. What's inside New features from ES2015 and later Writing asynchronous code Creating data models Debugging JavaScript modules About the Reader Written for front-end web developers with intermediate JavaScript skills. Table of Contents GETTING SET UP Lesson 0 - Setting up Node.js and the JavaScript engine Lesson 1 - Configuring your environment Lesson 2 - Running a Node.js application UNIT 1 - GETTING STARTED WITH NODE.JS Lesson 3 - Creating a Node.js module Lesson 4 - Building a simple web server in Node.js Lesson 5 - Handling incoming data Lesson 6 - Writing better routes and serving external files Lesson 7 - Capstone: Creating your first web application UNIT 2 - EASIER WEB DEVELOPMENT WITH EXPRESS.JS Lesson 8 - Setting up an app with Express.js Lesson 9 - Routing in Express.js Lesson 10 - Connecting views with templates Lesson 11 - Configurations and error handling Lesson 12 - Capstone: Enhancing the Confetti Cuisine site with Express.js UNIT 3 - CONNECTING TO A DATABASE Lesson 13 - Setting up a MongoDB database Lssson 14 - Building models with Mongoose Lesson 15 - Connecting controllers and models Using promises with Mongoose Lesson 16 - Capstone: Saving user subscriptions UNIT 4 - BUILDING A USER MODEL Lesson 17 - Improving your data models Lesson 18 - Building the user model Lesson 19 - Creating and reading your models Lesson 20 - Updating and deleting your models Lesson 21 - Capstone: Adding CRUD models to Confetti Cuisine Creating controllers UNIT 5 - AUTHENTICATING USER ACCOUNTS Lesson 22 - Adding sessions and flash messages Lesson 23 - Building a user login and hashing passwords Lesson 24 - Adding user authentication Lesson 25 - Capstone: Adding user authentication to Confetti Cuisine UNIT 6 - BUILDING AN API Lesson 26 - Adding an API to your application Lesson 27 - Accessing your API from your application Lesson 28 - Adding API security Lesson 29 - Capstone: Implementing an API UNIT 7 - ADDING CHAT FUNCTIONALITY Lesson 30 - Working with Socket.io Lesson 31 - Saving chat messages Lesson 32 - Adding a chat notification indicator UNIT 8 - DEPLOYING AND MANAGING CODE IN PRODUCTION Lesson 33 - Capstone: Adding a chat feature to Confetti Cuisine Lesson 34 - Deploying your application Lesson 35 - Managing in production Lesson 36 - Testing your application Lesson 37 - Capstone: Deploying Confetti Cuisine

Code with the Wisdom of the Crowd

Code with the Wisdom of the Crowd
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 234
Release :
ISBN-10 : 9781680506303
ISBN-13 : 1680506307
Rating : 4/5 (03 Downloads)

Synopsis Code with the Wisdom of the Crowd by : Mark Pearl

Build systems faster and more effectively with Mob Programming. Mob Programming is an approach to developing software that radically reduces defects and key-person dependencies by having a group of people work together at a single machine. See how to avoid the most common pitfalls that teams make when first starting out. Discover what it takes to create and support a successful mob. Now you can take collaborative programming to the next level with Mob Programming. Mob Programming is a natural extension of the popular Pair Programming concept, and is not restricted to a specific programming language or technology. It can be used by anyone who develops software, including dev leads, software developers, and agile coaches. The more people working on a bug or feature results in fewer dependencies on individuals, and overall increased learning for everyone involved. With more eyes on the code, you'll find you develop better solutions with fewer defects. Set up your team for success by introducing Mob Programming in a way that benefits them. Create a good first Mobbing experience for your team with a template that avoids the common traps beginners may fall into. Master a collaborative and empathic mindset to help optimize the Mobbing experience. Learn how to make adjustments when things go wrong. Adapt your mobbing to different types of development tasks. Get management buy-in for your Mobbing experiment by demonstrating the benefits. Discover the equipment and resources you need, and how to adjust your workspace for an effective mob. Get important features to market sooner, squish bugs faster, and collaborate better today with Mob Programming. What You Need: All you need is three or more programmers, a meeting workspace that's large enough to accommodate your mob, and a computer on which to work.

Learn to Program

Learn to Program
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 317
Release :
ISBN-10 : 9781680508727
ISBN-13 : 1680508725
Rating : 4/5 (27 Downloads)

Synopsis Learn to Program by : Chris Pine

It's easier to learn how to program a computer than it has ever been before. Now everyone can learn to write programs for themselves - no previous experience is necessary. Chris Pine takes a thorough, but lighthearted approach that teaches you the fundamentals of computer programming, with a minimum of fuss or bother. Whether you are interested in a new hobby or a new career, this book is your doorway into the world of programming. Computers are everywhere, and being able to program them is more important than it has ever been. But since most books on programming are written for other programmers, it can be hard to break in. At least it used to be. Chris Pine will teach you how to program. You'll learn to use your computer better, to get it to do what you want it to do. Starting with small, simple one-line programs to calculate your age in seconds, you'll see how to write interactive programs, to use APIs to fetch live data from the internet, to rename your photos from your digital camera, and more. You'll learn the same technology used to drive modern dynamic websites and large, professional applications. Whether you are looking for a fun new hobby or are interested in entering the tech world as a professional, this book gives you a solid foundation in programming. Chris teaches the basics, but also shows you how to think like a programmer. You'll learn through tons of examples, and through programming challenges throughout the book. When you finish, you'll know how and where to learn more - you'll be on your way. What You Need: All you need to learn how to program is a computer (Windows, macOS, or Linux) and an internet connection. Chris Pine will lead you through setting set up with the software you will need to start writing programs of your own.

The Go Programming Language

The Go Programming Language
Author :
Publisher : Addison-Wesley Professional
Total Pages : 1202
Release :
ISBN-10 : 9780134190563
ISBN-13 : 0134190564
Rating : 4/5 (63 Downloads)

Synopsis The Go Programming Language by : Alan A. A. Donovan

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you’ll find it accessible whether you’re most comfortable with JavaScript, Ruby, Python, Java, or C++. The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers. Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool. The chapters on methods and interfaces introduce Go’s unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples. Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time. The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command.