1. 타입스크립트 (TypeScript)
- 개발 회사: 마이크로소프트(Microsoft)
- 발표 연도: 2012년
- 목적: 타입스크립트는 자바스크립트의 상위 집합(Superset)으로, 자바스크립트의 동적 타이핑을 보완하는 정적 타이핑을 제공하여 코드 품질과 유지 보수성을 개선하는 데 초점을 맞추었다.
- 배경: 자바스크립트는 웹에서 널리 사용되는 프로그래밍 언어지만, 동적 타이핑으로 인해 큰 프로젝트에서는 버그나 오류를 찾기 어려운 문제점이 있었다. 마이크로소프트는 이 문제를 해결하기 위해 타입스크립트를 만들었다. 타입스크립트는 컴파일 타임에 오류를 잡아내어 개발자들이 더 안전하고 효율적으로 코드를 작성할 수 있도록 도와준다.
- 주요 특징:
정적 타입 시스템
클래스 기반 객체 지향 프로그래밍
ES6+ 기능을 지원
자바스크립트와의 호환성
2. 고 언어 (Go)
- 개발 회사: 구글(Google)
- 발표 연도: 2009년
- 목적: Go는 시스템 프로그래밍 언어로, 병렬 처리와 성능 최적화에 초점을 맞추고 개발되었다. 구글의 엔지니어들이 구글의 대규모 인프라에서 효율적으로 동작할 수 있는 언어가 필요해서 개발하게 되었다.
- 배경: 구글은 자사 인프라를 관리하고 대규모 시스템을 구축하는 데 필요한 효율적인 언어가 필요했다. 기존의 언어들은 성능과 개발 속도 면에서 한계가 있었기 때문에, Go는 단순하면서도 효율적인 멀티스레딩과 네트워크 프로그래밍을 지원하는 것을 목표로 만들었다.
- 주요 특징:
빠른 컴파일 속도
간단하고 직관적인 문법
내장된 병렬 처리 (goroutines)
메모리 관리 (자동 가비지 컬렉션)
강력한 표준 라이브러리
3. 리액트 (React)
- 개발 회사: 페이스북(Facebook)
- 발표 연도: 2013년
- 목적: 리액트는 사용자 인터페이스(UI)를 구축하는 라이브러리로, 효율적이고 선언적인 방식으로 UI를 구성할 수 있도록 만들어졌다. 페이스북의 개발팀은 대규모 애플리케이션에서 UI의 관리가 복잡해지는 문제를 해결하고자 했다.
- 배경: 페이스북은 자체적으로 복잡한 UI를 관리하고 최적화하는 데 어려움을 겪고 있었다. 기존의 방식인 DOM(Documents Object Model)을 직접 수정하는 방식은 성능에 큰 영향을 미쳤다. 이에 따라, 리액트는 Virtual DOM을 도입하여 DOM의 업데이트를 최적화하고, 선언적 방식으로 UI를 관리할 수 있도록 만들었다.
- 주요 특징:Virtual DOM을 통한 성능 최적화컴포넌트 기반 개발 방식
선언적 UI 설계
JSX(JavaScript XML) 문법
| Go 언어
- Go(Golang) 구글에서 개발한 오픈소스 프로그래밍 언어
- 2009년 처음 공개되었다
- 성능, 간결함, 병렬 처리에 초점을 맞추어 설계되었다
- 대규모 네트워크 어플리케이션과 클라우드 기반 환경에서의 사용을 염두에 두고 만들어졌다
Java와의 차이점
Go | Java | |
병렬 처리 | 고루틴(goroutine) 기반, 경량 | 스레드 기반, 상대적으로 무거움 |
객체지향 지원 | 제한적 지원 (클래스와 상속 없음) | 완전한 객체지향 (클래스와 상속 지원) |
컴파일과 실행 | 네이티브 바이너리로 컴파일, 실행 속도 빠름 | JVM 에서 바이트코드 실행, 플랫폼 독립성 강함 |
에러처리 | 명시적 에러 반환 (error 타입 사용) | 예외(exception) 기반 에러 처리 |
문법 | 간결하고 직관적 | 풍부하지만 복잡한 문법 |
| Hello World 출력
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
VS Code - Code Runner (extension) 단축키 Ctrl+Alt+N
fmt
- Go 언어에서 포맷팅된 I/O를 제공하는 패키지
- 이 패키지는 콘솔에 텍스트를 출력하거나 입력을 받을 때 사용된다
- fmt 패키지의 주요 함수로는 Println, Printf, Sprintf, Scanln 등이 있다.
| 실행 파일로 빌드하기
터미널로 소스코드가 있는 위치로 이동후 아래 명령 수행
$ go build 소스파일이름
- 윈도우의 경우 소스파일이름.exe가 생성된다.
- Mac의 경우 소스파일이름 의 실행 파일이 생성된다.
- 윈도우에서 실행할 경우 명령프롬프트에 소스파일이름.exe를 입력한다.
- Mac에서 실행할 경우 터미널에 ./소스파일이름을 입력한다.
refer to
https://github.com/leekh4232/study-golang/tree/main/01-HelloGo
반응형
'IT > Go' 카테고리의 다른 글
메서드 리시버 (0) | 2025.01.29 |
---|---|
Golang Live Reloading command line utility (0) | 2025.01.23 |
Java Spring Boot 애플리케이션에서 Go REST API 호출 (0) | 2025.01.22 |
Go 변수, 데이터타입 (0) | 2024.12.26 |
Go 언어 개발 환경 구성 (1) | 2024.12.26 |