-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from extemporalgenome/master
Various tweaks, formatting
- Loading branch information
Showing
1 changed file
with
73 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,67 +1,87 @@ | ||
# gSchool and Go | ||
|
||
## What is Go | ||
|
||
Go is a modern day "C" replacement. With features like garbage collection, | ||
blazing fast compile and build cycles, and designed for multi-core computers, | ||
Go has become the language of choice for many companies. | ||
|
||
Go was created by an all-star team: | ||
[Robert Griesemer](http://en.wikipedia.org/wiki/Robert_Griesemer), | ||
[Rob Pike](http://en.wikipedia.org/wiki/Rob_Pike) and | ||
## What is Go? | ||
|
||
Go is a fast, concurrent, general purpose programming language designed to | ||
excel in a wide range of roles, including those traditionally left to C, while | ||
still facilitating the kind of rapid development styles associated with popular | ||
dynamically-typed languages. With garbage collection, blazing fast compile | ||
times, and a design that embraces modern multicore computing, Go has become the | ||
language of choice for many companies. | ||
|
||
Go was created by an all-star team: | ||
[Robert Griesemer](http://en.wikipedia.org/wiki/Robert_Griesemer), | ||
[Rob Pike](http://en.wikipedia.org/wiki/Rob_Pike) and | ||
[Ken Thompson](http://en.wikipedia.org/wiki/Ken_Thompson). | ||
Notable accomplishments of these individuals include creating Unix, UTF-8, Plan 9, | ||
and the V8 Javascriptengine, and more. | ||
Notable accomplishments and contributions of these individuals include Unix, | ||
UTF-8, Plan 9, and the V8 JavaScript engine. | ||
|
||
## Why Go | ||
## Why Go? | ||
|
||
Go was created to solve problems of scale. Not just machine scale, but human | ||
scale as well. In today's software world, cycles matter. Every time a developer | ||
Go was created to solve problems of scale; not only machine scale, but human | ||
scale as well. In today's software world, cycles matter: every time a developer | ||
has to wait for a test suite to run, or a build to finish, it costs money. | ||
|
||
Taken directly from the [Go FAQ](https://golang.org/doc/faq): | ||
|
||
###What is the purpose of the project? | ||
### What is the purpose of the project? | ||
|
||
No major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously. There are several trends: | ||
No major systems language has emerged in over a decade, but over that time the | ||
computing landscape has changed tremendously. There are several trends: | ||
|
||
- Computers are enormously quicker but software development is not faster. | ||
- Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation. | ||
- There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript. | ||
- Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages. | ||
- Dependency management is a big part of software development today but the | ||
"header files" of languages in the C tradition are antithetical to clean | ||
dependency analysis and fast compilation. | ||
- There is a growing rebellion against cumbersome type systems like those of | ||
Java and C++, pushing people towards dynamically typed languages such as | ||
Python and JavaScript. | ||
- Some fundamental concepts such as garbage collection and parallel computation | ||
are not well supported by popular systems languages. | ||
- The emergence of multicore computers has generated worry and confusion. | ||
|
||
We believe it's worth trying again with a new language, a concurrent, garbage-collected language with fast compilation. Regarding the points above: | ||
|
||
- It is possible to compile a large Go program in a few seconds on a single computer. | ||
- Go provides a model for software construction that makes dependency analysis easy and avoids much of the overhead of C-style include files and libraries. | ||
- Go's type system has no hierarchy, so no time is spent defining the relationships between types. Also, although Go has static types the language attempts to make types feel lighter weight than in typical OO languages. | ||
- Go is fully garbage-collected and provides fundamental support for concurrent execution and communication. | ||
- By its design, Go proposes an approach for the construction of system software on multicore machines. | ||
|
||
## What are companies using Go for | ||
|
||
Leading software companies such as Google, Apple, Facebook, Wal-mart labs, Comcast, | ||
SendGrid, DropBox, Docker, and more are rapidly adopting Go. | ||
The variety of problems being solved is diverse. There is a large focus on DevOps, | ||
but also range from applications like command line interface, api and api wrappers, logging | ||
and analytic services, and more. | ||
|
||
[Rob Mee, SVP of R&D](http://pivotallabs.com/team/executives/) at [Pivotal Labs](http://pivotallabs.com/) recently stated: | ||
"Galvanize’s gSchool is the only external immersive program that consistently produces the industry-ready engineers that can meet Pivotal’s standards. | ||
We have made a big commitment to Go, and are excited to show our support for the gSchool Go Microservices program by declaring our intent to hire up to 10 qualifying engineers to join the Cloud Foundry engineering team." | ||
|
||
## Am I ready to learn Go at gSchool | ||
|
||
If you have at least 2 years of production software experience, | ||
the answer is yes! With a 12 week compressed curriculum, its important | ||
that you already have some base level of software knowledge. | ||
|
||
## Why choose gSchool to learn Go | ||
|
||
gSchool is more than just a classroom with expert instructors. We believe | ||
that modern education should be taught in the same environment that a | ||
student will work in when graduating. Placing classrooms inside of Galvanize | ||
allows students to interact with companies outside of class that are working | ||
with their technology. This close proximity builds a network that students | ||
take with them into their careers. | ||
We believe it's worth trying again with a new language, a concurrent, | ||
garbage-collected language with fast compilation. Regarding the points above: | ||
|
||
- It is possible to compile a large Go program in a few seconds on a single | ||
computer. | ||
- Go provides a model for software construction that makes dependency analysis | ||
easy and avoids much of the overhead of C-style include files and libraries. | ||
- Go's type system has no hierarchy, so no time is spent defining the | ||
relationships between types. Also, although Go has static types the language | ||
attempts to make types feel lighter weight than in typical OO languages. | ||
- Go is fully garbage-collected and provides fundamental support for concurrent | ||
execution and communication. | ||
- By its design, Go proposes an approach for the construction of system | ||
software on multicore machines. | ||
|
||
## What are companies using Go for? | ||
|
||
Leading software companies such as Google, Apple, Facebook, Wal-mart labs, | ||
Comcast, SendGrid, DropBox, Docker, and more are rapidly adopting Go. The | ||
variety of problems being solved is diverse. There is a large focus on DevOps, | ||
but also range from applications like command line interface, api and api | ||
wrappers, logging and analytic services, and more. | ||
|
||
[Rob Mee, SVP of R&D](http://pivotallabs.com/team/executives/) at | ||
[Pivotal Labs](http://pivotallabs.com/) recently stated: "Galvanize's gSchool | ||
is the only external immersive program that consistently produces the | ||
industry-ready engineers that can meet Pivotal's standards. We have made a big | ||
commitment to Go, and are excited to show our support for the gSchool Go | ||
Microservices program by declaring our intent to hire up to 10 qualifying | ||
engineers to join the Cloud Foundry engineering team." | ||
|
||
## Am I ready to learn Go at gSchool? | ||
|
||
If you have at least 2 years of production software experience, the answer is | ||
yes! With a 12 week compressed curriculum, it's important that you already | ||
have some base level of software knowledge. | ||
|
||
## Why choose gSchool to learn Go? | ||
|
||
gSchool is more than just a classroom with expert instructors. We believe that | ||
modern education should be taught in the same environment that a student will | ||
work in after graduating. Placing classrooms inside of Galvanize allows | ||
students to interact with companies outside of class that are working with | ||
their technology. This close proximity builds a network that students take with | ||
them into their careers. |