GDSC Sookmyung 활동/10 min Seminar

The Go Programming Language

parang99 2021. 6. 21. 16:19
  • Stack Overflow Developer Survey 2020
    • Most Loved Languages : % of developers who are developing with the language or technology and have expressed interest in continuing to develop with it. 

    • Most Wanted Languages : % of developers who are not developing with the language or technology but have expressed interest in developing with it.

    • Top Paying Technologies(What Languages are Associated with the Highest Salaries Worldwide?Global

Global
United States

 

 

  • Gopher : 뒤쥐, 땅[밭]다람쥐(땅속 굴에 사는 쥐같이 생긴 북미산 동물) / Go 언어 사용자를 일컫는 말

Gopher

  • Developers : C++로 분산 운영체제 개발 in Google
    • Robert Griesemer : Java HotSpot VM, V8 Javascript engine
    • Ken Thompson : B programming language, Unix
    • Rob Pike : UTF-8, The Pracitce of Programming(프로그래밍 수련법) 저자

 

 

  •  특징
    • small
      • The Java Language Specification, Java SE 16 Edition pdf : 844 pages
      • The Go Programming Language Specification pdf : 111 pages
    • simple grammar
      • easy to learn and get started with
      • loop : There's no do or while, just for
    • compile language → fast speed
      • 한 번 기계어로 변환해두면 빠르게 실행이 가능하다
      • 하나의 바이너리 파일이 되기에 배포가 쉽다
    • garbage collection
      • 메모리 누수 방지. 메모리 해제에 대해 신경쓰지 않아도 된다
      • Python, JavaScript 등의 언어는 가상머신에서 지원해준다
      • Go는 실행 파일 안에 내장되어 있다
    • Goroutine
      • Every concurrently executing activity in Go language
      • light weighted thread
      • go 키워드로 goroutine 생성 ex. go hello()
      • concurrency programming 가능
    • no generic
      • 1.17 버전에 포함될 예정
    • coding convention 통일
      • 컨벤션에 맞게 코드 수정해주는 'go fmt' 기능 내장
      • func main() {
        
        }

 

 

Companies using Go

  • Companies using Go
    •  Google
      • Core Data Solutions team : web indexing
      • Chrome Optimization Guides service
      • Firebase : hosting's tech Node.js → Go
    •  Netflix
      • Rend proxy server in Moneta : lower latency than Java and is more productive for developers than C, while also handling tens of thousands of client connections
    • Twitch
      • Good tool for the problems we encouter with serving live video and chat to our millions of users

 

 

 

10min Seminar : The Go Programming Language

Stack Overflow Developer Survey 2020

www.notion.so