프로그래밍 사이트 선정 프로그래밍 언어 순위 목록 | ||||
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all" {{{#!wiki style="display: inline-table; min-width: 25%; min-height: 2em;" {{{#!folding [ IEEE Spectrum 2024 ] {{{#!wiki style="margin: -5px 0" | <rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 | 직업 부문 상위 10개 프로그래밍 언어 | ||
1 | Python | 1 | SQL | |
2 | Java | 2 | Python | |
3 | JavaScript | 3 | Java | |
4 | C++ | 4 | TypeScript | |
5 | TypeScript | 5 | SAS | |
6 | SQL | 6 | JavaScript | |
7 | C# | 7 | C# | |
8 | Go | 8 | HTML | |
9 | C | 9 | Shell | |
10 | HTML | 10 | C++ |
}}}
}}}
- [ Stack Overflow 2024 ]
- ||<tablewidth=100%><width=9999><-4><bgcolor=#FFA500><tablebgcolor=#fff,#1c1d1f> 2024년 Stackoverflow 설문조사 기준 인기 상위 25개 프로그래밍 언어 ||
1 JavaScript 14 Rust 2 HTML, CSS 15 Kotlin 3 Python 16 Lua 4 SQL 17 Dart 5 TypeScript 18 어셈블리어 6 Bash 19 Ruby 7 Java 20 Swift 8 C# 21 R 9 C++ 22 Visual Basic 10 C 23 MATLAB 11 PHP 24 VBA 12 PowerShell 25 Groovy 13 Go
- [ TIOBE 2025 ]
- ||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#1c1d1f> 2025년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Fortran 2 C++ 12 Scratch 3 Java 13 Rust 4 C 14 PHP 5 C# 15 R 6 JavaScript 16 MATLAB 7 SQL 17 Assembly language 8 Go 18 COBOL 9 Delphi / Object Pascal 19 Ruby 10 Visual Basic 20 Prolog {{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"21 Swift 36 VBScript 22 Classic Visual Basic 37 PL/SQL 23 Kotlin 38 TypeScript 24 Ada 39 GAMS 25 SAS 40 Solidity 26 LISP 41 ABAP 27 Haskell 42 Logo 28 Dart 43 D 29 (Visual) FoxPro 44 Bash 30 Perl 45 PowerShell 31 Scala 46 Elixir 32 Lua 47 RPG 33 Objective-C 48 ML 34 Julia 49 Ladder Logic 35 Transact-SQL 50 Awk
- [ PYPL 2025 ]
- ||<tablewidth=100%><width=9999><-4><bgcolor=green><tablebgcolor=#fff,#1c1d1f> 2025년 3월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Swift 2 Java 12 Go 3 JavaScript 13 Kotlin 4 C/C++ 14 MATLAB 5 C# 15 Ada 6 R 16 Dart 7 PHP 17 Ruby 8 Rust 18 Lua 9 TypeScript 19 PowerShell 10 Objective-C 20 VBA
}}} ||
프로그래밍 언어 목록 · 분류 · 문법 |
#lang racket (println 'Hello, world!')
라켓 Racket | |
| |
개발자 | Matthias Felleison Mattew Flatt Robby Findler Shriram Krishnamurthi |
최초 공개 | 1995년 1월 28일 ([age(1995-01-28)]년 전) |
최신 버전 | 8.14 (2024년 8월 19일) |
|
[clearfix]
1. 개요
라켓(Racket)은 리스프/스킴 계열 언어 중 하나인 범용 프로그래밍 언어이다. 라켓은 프로그래밍 언어 생성, 구현, 및 디자인에 최적화 된 언어이다. 라켓은 스크립팅, GUI 애플리케이션을 포함한 범용 애플리케이션 프로그래밍, 교육용 및 연구용 언어로 많이 쓰인다. 이 언어를 만든 사람 중 하나인 Robby Findler는 이걸 써서 강의에 쓰는 슬라이드를 만든다.패키지를 설치하려면 다음과 같이 명령어
raco
를 이용한다.[1]raco pkg install <pkg-name>
2. 역사
1990년대 중반에 미국 라이스 대학교의 교수 Matthias Felleison과 박사학위 학생들이었던 Matthew Flatt, Robby Findler, 및 Shriram Krishnamurthi가 교육용 언어로 쓰기 위해 Scheme을 기반으로 한 새 언어를 개발하기로 한다. 그리고 이 언어를 위한 전용 IDE인 DrRacket을 개발하게 된다. 처음 개발을 시작하고 만든 언어의 이름은 PLT Racket이었으나 2010년 6월에 현재 언어인 Racket으로 변경되었다.3. 특징
- 라켓이 다른 LISP 계열 언어와 비교해서 다른 점은 특유의 유연한 매크로와 확장성이라고 할 수 있다. 이렇게 만들어진 모듈들은 라켓 기본 언어의 문법을 오버라이드 하게 된다. 일단 모듈은 그 자체가 한 언어로 볼 수 있으므로 그걸 #lang ____ 이런 형식으로 가져와서 쓰게 될 경우 언어 자체를 바꿔버리는 게 가능하다. 극단적인 예시로, 이를 이용하여 라켓에서 파이썬 돌리게 해주는 모듈도 있다![2]
- 라켓은 확장자로
.rkt
를 사용한다.
4. 예제
문법 자체는 커먼 리스프와 스킴 등을 크게 벗어나지 않는다. 모든 언어는 일단 헬로월드부터 출력한다.(print "Hello World\\n")
커먼 리스프에서의 함수를 정의하는 키워드인 defun
대신 define
을 쓴다. 피보나치 숫자를 리턴하는 재귀함수를 구현하면 아래와 같다.(define fib (n)
(cond
[(< n 2) 1]
[else (+ (fib (- n 1)) (fib (- n 2)))]))
5. DrRacket
- 라켓 언어 전용 IDE로 처음엔 C++로 구현되었으나 버전 5.0부터는 라켓으로 다시 쓰여졌다.
- 윈도, macOS, Linux 등 거의 모든 플랫폼을 지원한다.
- 익숙해지면 꽤 쓸만하다. 특히 이 IDE의 가장 편한 점 중 하나는 괄호를 자동으로 닫아준다는 것이다. 스킴 계열 언어에서는 대괄호, 중괄호, 소괄호 모두가 쓰이는데 그게 여러 개 쌓일 경우 불가능하다. 이렇게 써놓으니까 무슨 소린지 잘 모르겠지만 일단 써보면 안다.(...) 대괄호, 중괄호, 소괄호를 섞어 사용했을 경우, 나중에 소괄호를 연타해도 알아서 중, 대괄호로 바꿔준다. 쓰다 보면 은근 편하다.
6. 여담
- 프로그래밍 언어론 교재 Essentials of Programming Languages 서문에 R5RS 호환되는 Scheme이면 실습이 가능하다고 안내되어 있으나 라켓의
eopl
패키지를 이용하면 실습을 진행하기 수월하다.[3]
7. 관련 문서
8. 외부 링크
[1] https://docs.racket-lang.org/pkg/getting-started.html[2] https://github.com/pedropramos/PyonR[3] https://docs.racket-lang.org/eopl/index.html