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 documentation "Go is an open source programming language that makes it easy to build simple, reliable, and efficient software". 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 way to combine all three of these into one. One of the main points 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" which means that at its core, Go supports multicore parallel programming.
Installation
Concurrency
Parallelism
Differences
Code Differences
Time Differences
Ease of Use
Relevance
Future
Present
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.