GPU621/Go Parallel
GPU621/DPS921 | Participants | Groups and Projects | Resources | Glossary
Go (Language) Parallel Programming
Description
Our team wants to demonstrate the usefulness of the Go programming language while applying Parallel programming principles. Demonstrations of the difference in time, syntax, and ease of use will be included within the document. The topic of whether using a newly created language like Go compared to an older language like C++ will make a difference in terms of future popularity will also be a key point in our report. Success for this project means displaying the differences between the two languages and educating other students about the possibility to use different languages to do parallel programming
What is Go?
As explained in the Go official website "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software"[1]. Created on a whiteboard in 2007 which later became open source in 2009. Go is the collaboration of many different programmers that were tired of the choices that they had to make between languages. Either they chose efficient compilation, efficient execution, or ease of programming; no mainstream languages had all three of these characteristics. Thus Go was created, a language that would combine all three of these characteristics into one. A main point brought up in Go's Creations was "It must be modern. C, C++, and to some extent Java are quite old, designed before the advent of multicore machines, networking, and web application development. There are features of the modern world that are better met by newer approaches, such as built-in concurrency"[2] which means that at its core, Go supports multicore parallel programming.
Installation
Installing Go is simple! Follow these simple steps or go to the official install documentation
1. Download Go
Find your operating system at https://golang.org/dl/ and download the Go Language
2. Install Go
Open the file and follow the prompts
3. You're done!
Go is now downloaded and installed on your machine, to test if the installation worked properly, go into your command prompt and enter 'go version'
Concurrency
Parallelism
Differences
Code Differences
Time Differences
Ease of Use
Relevance
Present
Future
Pros and Cons
Pros over CPP
Cons over CPP
Why should you Go Parallel?
Group Members
1. Michael Brackett
2. Devansh Shah
Progress
Update 1: Sunday, Nov 8, 2020 - Created description for project.
Update 2: Friday, Nov 13, 2020 - Created description for Go Language
References
https://golang.org/doc/faq#history
https://software.intel.com/content/www/us/en/develop/blogs/go-parallel.html