아래는 개인적인 의견이며, 실제 다수의 개발 환경과는 차이가 있을 수 있습니다.

Python

  • 사용범위: 데이터 과학, 웹 개발, 인공지능, 자동화 스크립트
  • 특징: 초보자에게 친숙하고 다양한 라이브러리를 제공
  • 선정 이유: AI와 빅데이터 분야의 성장으로 인해 지속적으로 수요가 증가

파이썬은 함수형 프로그래밍부터 객체 지향 프로그래밍까지 다양한 스타일을 수용하는 다목적 프로그래밍 언어로 주목받고 있습니다YouTube, Google 검색, iRobot 머신과 같은 유명한 플랫폼은 Python의 견고함 덕분에 존재할 수 있었습니다

HackerRank의 데이터에 따르면 Python은 미주 지역 채용 관리자가 두 번째로 많이 찾는 언어입니다사용자 친화적인 특성 덕분에 초보자와 숙련된 개발자 모두에게 인기가 높습니다

Python의 풍부한 라이브러리는 미리 빌드된 명령어로 작업을 간소화하며, 대화형 특성은 실시간 코드 테스트에 도움이 됩니다채용 관리자의 50% 이상이 파이썬 기술을 우선시하는 등 광범위한 수요를 고려할 때, 파이썬은 프로그래밍 환경의 주요 자산으로 남아 있습니다.

JavaScript

  • 사용범위: 웹 프론트엔드, 백엔드(Node.js), 모바일 애플리케이션(React Native)
  • 특징: 웹 표준 기술로서의 지위와 비동기 처리에 강점
  • 선정 이유: 웹 개발의 필수 언어로서의 지속적인 인기

스택 오버플로의 2020년 개발자 설문조사에 따르면 자바스크립트는 전 세계에서 가장 많이 사용되는 언어로 69.7%로 1위를 차지했습니다이러한 우위는 미주 지역의 채용 관리자들 사이에서 자바스크립트에 대한 높은 수요를 통해 더욱 두드러집니다

자바스크립트는 개발자가 애니메이션 그래픽, 인터랙티브 맵 등과 같은 동적 요소를 제작할 수 있도록 웹 페이지의 상호작용성을 향상시키는 데 중추적인 역할을 합니다HTML 및 CSS와 결합된 자바스크립트는 향상된 웹사이트 제어 기능을 제공하여 뛰어난 사용자 탐색 및 가독성을 보장합니다자바스크립트가 널리 사용되는 이유는 대부분의 웹 브라우저와 통합되고 초보자도 쉽게 사용할 수 있기 때문입니다방대한 온라인 커뮤니티와 광범위한 지원 리소스는 자바스크립트의 최상위 프로그래밍 언어로서의 입지를 더욱 공고히 해줍니다.

Java

  • 사용범위: 엔터프라이즈급 백엔드 시스템, 안드로이드 앱 개발

  • 특징: 강력한 크로스 플랫폼 지원과 안정적인 성능

  • 선정 이유: 대규모 시스템 개발과 안드로이드 시장의 확대

    Java는 어디서나 한 번만 작성하면 실행할 수 있다는 철학으로 엔터프라이즈급 애플리케이션과 안드로이드 앱 개발에서 확고한 입지를 다지고 있습니다강력한 커뮤니티 지원과 이식성 덕분에 지속적인 인기를 누리고 있습니다

C#

  • 사용범위: 윈도우 애플리케이션, 게임 개발(Unity), 웹 개발(ASP.NET)

  • 특징: 강력한 개발 환경과 통합된 개발 경험

  • 선정 이유: 게임 개발과 .NET 생태계의 확장

    C++는 시스템 프로그래밍, 게임 개발, 고성능 애플리케이션의 초석이 되고 있습니다높은 수준의 추상화를 통해 낮은 수준의 조작이 가능하므로 성능이 중요한 작업에 적합합니다

    TypeScript

  • 사용범위: 대규모 웹 애플리케이션 개발

  • 특징: JavaScript의 상위 집합으로 타입 안정성 제공

  • 선정 이유: JavaScript의 복잡성 관리와 안정적인 개발을 위한 수요 증가

    자바스크립트의 상위 집합인 타입스크립트는 정적 타이핑을 추가하여 대규모 애플리케이션에 선호되는 선택지입니다기존 JavaScript 코드베이스와의 호환성 및 향상된 개발자 경험으로 인해 그 중요성이 날로 높아지고 있습니다

Swift

  • 사용범위: iOS 및 macOS 애플리케이션 개발

  • 특징: Apple 플랫폼에 최적화된 성능과 간결한 문법

  • 선정 이유: Apple 생태계 내 앱 개발의 필수 언어

    Apple의 프로그래밍 언어인 Swift는 iOS 및 macOS 앱 개발에 필수적인 언어입니다구문이 간결하고 표현력이 뛰어나 개발자들이 원활하고 직관적인 사용자 환경을 만들기 위해 선호하는 언어입니다

Kotlin

  • 사용범위: 안드로이드 앱 개발, 서버 사이드 애플리케이션

  • 특징: 간결하고 표현력 있는 문법, 자바와의 상호 운용성

  • 선정 이유: 안드로이드 공식 개발 언어로의 지정과 개발자 커뮤니티의 성장

    Google이 Android 개발을 위해 승인한 Kotlin은 간결함과 Java와의 상호 운용성으로 인기를 얻고 있습니다Kotlin을 배우면 효율적이고 현대적인 Android 애플리케이션을 만들 수 있는 길이 열립니다

Go (Golang)

  • 사용범위: 시스템 프로그래밍, 분산 시스템, 클라우드 서비스
  • 특징: 간결한 문법과 빠른 실행 속도, 병행성(concurrency) 지원
  • 선정 이유: 클라우드 기반 서비스와 마이크로서비스 아키텍처의 인기

Rust

  • 사용범위: 시스템 프로그래밍, 웹 어셈블리, 임베디드 시스템
  • 특징: 메모리 안전성과 병행성을 보장하는 현대적인 시스템 언어
  • 선정 이유: 안전한 시스템 개발에 대한 수요 증가

Rust는 스택 오버플로와 같은 플랫폼에서 꾸준히 호평을 받고 있으며, 종종 가장 선호도가 높은 상위 프로그래밍 언어 중 하나로 꼽히기도 합니다사용자의 86%에 달하는 상당수가 Rust에 대한 전문성을 강화하는 데 큰 관심을 표명하고 있습니다그러나 이러한 매력에도 불구하고 설문조사에 참여한 개발자 중 단 3%만이 Rust를 사용한다고 답해, 광범위한 프로그래밍 커뮤니티에서 틈새 시장으로 인식되고 있음을 알 수 있습니다

Rust는 구문은 C++와 비슷하지만 응용 가능성이 더 넓은 '다중 패러다임' 언어로 구분됩니다신속한 컴파일, 향상된 크로스 플랫폼 기능 또는 더 밝은 커리어의 길을 우선시하든, Rust를 채택하는 것은 전략적인 선택이 될 수 있습니다.

SQL

  • 데이터베이스 관리
    • 영업 보고서
    • 비즈니스 관리

일반적으로 구조화된 쿼리 언어로 알려진 SQL은 프로그래머가 데이터베이스와 상호 작용할 수 있는 특수 도구로 사용됩니다특히 관계형 데이터베이스 관리 시스템(RDBMS)에 맞게 설계된 SQL은 데이터 검색, 레코드 업데이트, 추가 및 삭제와 같은 작업에 탁월합니다

SQL의 기능은 칭찬할 만하지만, SQL은 소규모 데이터베이스에서 가장 효율적이며 더 크고 복잡한 데이터베이스에서는 한계에 직면할 수 있다는 점에 유의할 필요가 있습니다그럼에도 불구하고 SQL은 프로그래밍 분야에서 세 번째로 많이 사용되는 언어이며, 개발자의 54.7%가 SQL의 기능을 활용하고 있을 정도로 널리 사용되고 있다는 사실은 부인할 수 없습니다.

NOSQL

  • 데이터베이스 관리
  • 영업 보고서
  • 비즈니스 관리

비관계형 SQL의 약자인 NoSQL은 사용자 친화적인 특성을 유지하면서 SQL의 확장성을 향상시키는 것을 목표로 하는 솔루션으로 등장했습니다SQL은 조작과 검색을 위해 데이터를 테이블로 구성하는 관계형 데이터베이스 시스템에 의존하지만, NoSQL은 이러한 테이블 구조를 따르지 않는다는 점에서 차별화됩니다

이러한 유연성 덕분에 NoSQL은 계층적 네트워크 데이터 저장이나 광범위한 클라우드 기반 애플리케이션 지원과 같은 작업에 특히 능숙합니다이러한 적응성을 고려할 때 SQL과 NoSQL은 모두 가장 인기 있는 프로그래밍 언어 중 하나입니다.

반응형

'개발' 카테고리의 다른 글

코딩 AI 랭킹  (0) 2024.03.09
Mac이 AI PC로서 최고인 이유  (0) 2024.02.03
gitlab 설치(apache --proxy--> gitlab)  (0) 2023.12.27
elixir vs rust 비교  (1) 2023.12.27
vscode dev containers  (1) 2023.12.22

golang 1.9

golang 1.9 release news

소개

최신 Go 버전 1.9 버전은 Go 1.8 이후 6 개월 후에 출시되고, Go 1.x 시리즈에서 10 번째 릴리스입니다. 언어에는 두 가지 변경 사항이 있습니다.
type alias에 대한 지원 추가 및 구현이 부동 소수점 연산을 통합 할 수 있는 시점 정의하는 부분입니다. 대부분의 변경 사항은 toolchain, runtime 및 라이브러리의 구현에 있습니다. 언제나 그렇듯이 이 릴리스는 Go 1 호환성을 유지합니다. 거의 모든 Go 프로그램이 이전처럼 계속해서 컴파일되고 실행될 것입니다.

이 릴리스에서는 명쾌한 단조로운 시간 지원 기능을 추가하고, 패키지 내의 기능 컴파일을 병렬화하며 test helper 기능을 보다 잘 지원하고 새로운 비트 조작 패키지를 포함하며, 새로운 동시 map type을 제공합니다.

오늘 brew update를 했더니 golang이 업그레이드가 된 사실을 알게 되었습니다. 그래서 중요한 변경부분을 적어 봅니다.

언어의 변경점

두가지 변경점이 있습니다.

Go는 패키지간에 유형을 이동하면서 점진적인 코드 복구를 지원하는 type alias을 지원합니다. type 디자인 문서리팩토링에 대한 기사에서 문제를 자세히 설명합니다. 즉, type alias 선언은 다음과 같은 형식을 취합니다.

type T1 = T2

이 선언은 T2로 표시된 type에 대한 대체 철자 인 alias T1을 도입합니다. 즉, T1과 T2는 모두 같은 type을 나타냅니다.

언어의 작은 변경점은 아키텍처의 “fused multiply and add”(FMA) 명령어를 사용하여 중간 결과를 반올림하지 않고, x*y+z를 계산하는 것과 같이 부동 소수점 연산을 함께 구현할 수 있는 언어구현을 의미합니다 x * y. 강제적으로 중간의 반올림을 실시하려면, float64 (x * y) + z라고 기입합니다.

Ports

이 릴리스에는 지원되는 새로운 운영 체제 또는 프로세서 아키텍처가 없습니다.

ppc64x requires POWER8

FreeBSD

OpebBSD 6.0

known Issue

NetBSD 커널 충돌로 인해 1.9 개발동안 NetBSD 빌더 실행이 중단되었습니다 (NetBSD 7.1까지 포함). Go 1.9가 릴리스됨에 따라 NetBSD 7.1.1이 수정되었습니다. 그러나 현재로서는 테스트 통과 한 NetBSD 빌더가 없습니다. 다양한 NetBSD 문제를 조사하는 데 도움을 주시면 감사하겠습니다.

Tools

병렬 컴파일

Go 컴파일러는 이제 다중 코어를 활용하여 패키지의 함수를 병렬로 컴파일하는 기능을 지원합니다. 이것은 별도 패키지의 병렬 컴파일에 대한 go 명령의 기존 지원에 추가됩니다. 병렬 컴파일은 기본적으로 켜져 있지만 환경 변수를 아래와 같이 변경하면 비활성화 할 수 있습니다.

GO19CONCURRENTCOMPILATION = 0

Vendor matching with ./…

Moved GOROOT

Compiler Toolchain

어샘블러

Doc

긴 인수 목록들이 생략됩니다. 이 것은 go doc 의 가독성을 개량했습니다.
구조체 필드에 대한 문서보기가 지원됩니다. 예를 들어 doc http.Client.Jar로 이동하십시오.

type Client struct {
    // Jar specifies the cookie jar.
    //
    // The Jar is used to insert relevant cookies into every
    // outbound Request and is updated with the cookie values
    // of every inbound Response. The Jar is consulted for every
    // redirect that the Client follows.
    //
    // If Jar is nil, cookies are only sent if they are explicitly
    // set on the Request.
    Jar CookieJar

    // ... other fields elided ...

ENV

go env --json을 통해 json 형식으로 출력할 수 있습니다.

Test

Pprof

Vet

vet명령은 go tool에 더 잘 통합되어 있어서 vet는 모든 표준 빌드 플래그를 지원하고, vet 플래그는 이제 vet와 go tool vet에서 사용할 수 있습니다.

Gccgo

Runetime

inlined frames이 포함된 스택호출

성능

언제나 그렇듯이 변경 사항은 매우 일반적이며 다양하여 성능에 대한 정확한 설명을 하기 어렵습니다. 대부분의 프로그램은 가비지 컬렉터의 속도 향상, 향상된 코드 생성 및 코어 라이브러리의 최적화로 인해 조금 더 빠르게 실행될 것입니다.

가비지 콜렉터(Garbage Collector)

세계 표준 가비지 콜렉션을 트리거하는데 사용 된 라이브러리 함수는 이제 동시 가비지 콜렉션을 트리거합니다. 특히 runtime.GC, debug.SetGCPercent 및 debug.FreeOSMemory는 동시 가비지 콜렉션을 트리거하고, 가비지 콜렉션이 완료 될 때까지 호출 goroutine 만 차단합니다.

debug.SetGCPercent 함수는 새로운 GOGC 값으로 인해 즉시 필요한 경우에만 가비지 수집을 트리거합니다. 이렇게하면 GOGC를 즉석에서 조정할 수 있습니다.

큰 오브젝트 할당 성능은 대형 오브젝트가 많은 대형 (> 50GB) 힙을 사용하는 어플리케이션에서 상당히 향상됩니다.

매우 큰 힙에 대해서도 runtime.ReadMemStats 함수는 이제 100μs보다 적게 걸립니다.

코어 라이브러리

새로운 비트조작 패키지

Go 1.9에는 새로운 패키지 인 math/bits가 포함되어 있으며 비트 조작을위한 최적화 된 구현이 포함되어 있습니다. 대부분의 아키텍처에서이 패키지의 함수는 컴파일러에서 추가로 인식되며 추가 성능을 위해 내장 함수로 처리됩니다.

Test.Helper function

새로운 (T).Helper( B).Helper 메서드는 호출 함수를 테스트 도우미 함수로 표시합니다. 파일 및 줄 정보를 인쇄 할 때 해당 기능은 건너 뜁니다. 이렇게하면 사용자에게 유용한 줄 번호를 사용하면서 테스트 도우미 함수를 작성할 수 있습니다.

동시 발생하는 MAP

sync 패키지의 새로운 map 패키지는 amortized-constant-time, 저장 및 삭제가 포함 된 동시 map입니다. 여러 goroutine이 Map의 메소드를 동시에 호출하는 것이 안전합니다.

Profiler Labels

기타 소규모 변경점

문서가 너무 많다… ㅠㅠ

반응형

일상에 스며들어 있는 코드들을 가장 쉽게 배울 수 있는 사이트 ... Codecademy (코드카데미)


근래에 한국에서 프로그래머라는 직업이 부흥하고 있는 직업 중에 하나가 되었습니다. 미국에서는 이미 연예인 만큼이나 인정받는 직업입니다.

구글의 창업자 래리 페이지는 컴퓨터 언어는 필수적으로 배워야하는 학문이라고 말하기도 했습니다. 사고 방식을 개선하는데 도움이 된다는 것이 그 이유 중에 하나였습니다.

미국에서는 이미 초등과정에서 프로그램 과목을 개설해서 학습하고 있는 학교들도 있고, 정부차원에서 이 사업에 대해서 적극적으로 지원하고 있습니다.


배울 수 있는 언어


  • HTML & CSS
  • JAVAScript
  • jQuery
  • PHP
  • Python
  • Ruby


생소한 언어들대한 정보는 위키피디아에서 ... http://ko.wikipedia.org/wiki/프로그래밍_언어


Codecademy는 코드를 배울 수 있는 가장 빠른 방법입니다.


배워야할 주제별로 샘플코드들이 제시되고, 이를 수정하는 방법으로 배워나갈 수 있다. 직관적으로 바로 결과를 확인할 수 있기 때문에 자신이 입력하는 코드들이 제대로 이뤄진 것인지 알 수 있습니다.


http://www.codecademy.com


시작하기


http://www.codecademy.com/en/tracks/korean-web


facebook, google ID, twitter 로 바로 사용할 수 있습니다. 외국 사이트들의 open ID로 간단하게 클릭 몇번만으로 접속할 수 있습니다.

현재는 HTML 언어만 배울 수 있는 상태.

다른 언어를 배우려면 영어로 공부하여야 합니다.


저도 이제 공부하려고 사이트에 입문 하게 되었는데, 같이 입문 하시려는 분이 있으면 좋겠네요.

한두시간 정도 키보드를 두둘겨 봤는데, 좋은 키보드를 사고 싶은 충동이 듭니다.

그리고, 너무 어려워요.

단순한 취미로 시작하기에는 참으로 어렵다는 생각이 듭니다.


시작하면, 왼쪽에 지금 배우고 있는 코드에 대한 설명이 좌측에 나옵니다.

오른쪽에는 사용자가 입력하는 인터페이스와 오른쪽에 결과 화면이 나옵니다.

입력한 코드에 대한 결과가 즉각적으로 나와서 입력하는 중간에 자신의 실수 부분을 바로 파악할 수 있습니다.


반응형

+ Recent posts