최근 수정 시각 : 2024-04-11 17:02:45

F#


[include(틀:링크시 주의, 링크=F\ 또는 # 또는 F#)]
파일:Microsoft 로고.svg파일:Microsoft 로고 화이트.svg
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px); word-break:keep-all"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
<colbgcolor=#393939,#000><colcolor=#fff>제품군
하드​웨어Surface · Xbox · HoloLens · PixelSense · Zune · Pluton ·IVAS
소프트​웨어Windows · Office · Edge · Media Player · Hyper-V · Defender · Visual Studio Code · Visual Studio · Windows Terminal · PowerToys · Internet Explorer · MS-DOS · Windows Movie Maker · Autoruns · Clipchamp
서비스Microsoft Azure · OneDrive · Skype · MSN · Bing · Microsoft Copilot · LinkedIn · Cortana · 테이 · Xbox network · 정품 인증 · Microsoft Docs
관련 기술ASF · ASP · Blazor · COM · DCOM · DirectX · 파일 시스템(FAT · NTFS · ReFS) · MFC · .NET(.NET Core · .NET Standard · C# · F# · Visual Basic .NET · Windows Forms · WPF · UWP · .NET MAUI · ASP.NET · ML.NET) · OLE · Q# · Silverlight · Visual Basic · VBA · WASAPI · Windows 커널 · Windows 디자인 · Windows API · Windows Runtime(UWP · WinUI 3) · WMA · WMV · Xamarin · XNA · 하복 엔진 · SAMI · PowerShell · Windows Modern Standby
산하 계열사 및 사업부GitHub · .NET Foundation · Microsoft Gaming · LinkedIn
관련 인물빌 게이츠(은퇴) · 폴 앨런(은퇴) · 스티브 발머(퇴사) · 게이브 뉴웰(퇴사) · 마이크 이바라(퇴사)
사티아 나델라 · 필 스펜서 · 브래드 스미스
기타제니맥스 미디어 인수 · 액티비전 블리자드 인수 · 시작 메뉴 · 빌 게이츠의 굴욕
관련 틀365 제품군 · 하드웨어 제품군 · Surface 제품군 · Windows 제품군}}}}}}}}}

프로그래밍 사이트 선정 프로그래밍 언어 순위 목록
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all"
{{{#!wiki style="display: inline-block; margin: 0 0 -5px; min-width: 25%"
{{{#!folding ⠀[ IEEE Spectrum 2023 ]⠀
{{{#!wiki style="margin:-6px -1px -10px"
<rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 SQL
2 Java 2 Python
3 C++ 3 Java
4 C 4 JavaScript
5 JavaScript 5 C++
6 C# 6 C#
7 SQL 7 C
8 Go 8 HTML
9 TypeScript 9 Shell
10 HTML 10 SAS
}}}}}}}}}
⠀[ Stack Overflow 2023 ]⠀
||<tablewidth=100%><width=2000><-4><bgcolor=#FFA500><tablebgcolor=#fff,#222> 2023년 Stackoverflow 설문조사 기준 인기 상위 25개 프로그래밍 언어 ||
1 JavaScript 14 Rust
2 HTML, CSS 15 Kotlin
3 Python 16 Ruby
4 SQL 17 Lua
5 TypeScript 18 Dart
6 Bash 19 어셈블리어
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 2024 ]⠀
||<tablewidth=100%><width=2000><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#222> 2024년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Fortran
2 C 12 Delphi / Object Pascal
3 C++ 13 MATLAB
4 Java 14 Assembly language
5 C# 15 Scratch
6 JavaScript 16 Swift
7 SQL 17 Kotlin
8 Go 18 Rust
9 Visual Basic 19 COBOL
10 PHP 20 Ruby
{{{#!wiki style="margin:0 -10px -5px; min-height: 26px"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -10px"
21 R 36 Transact-SQL
22 SAS 37 VBScript
23 Classic Visual Basic 38 Haskell
24 Prolog 39 TypeScript
25 Ada 40 Logo
26 Perl 41 Bash
27 (Visual) FoxPro 42 Scheme
28 Dart 43 Solidity
29 D 44 ABAP
30 F# 45 ML
31 Scala 46 X++
32 Objective-C 47 PL/SQL
33 Lua 48 GAMS
34 Julia 49 PowerShell
35 LISP 50 RPG
}}}}}}}}} ||
⠀[ PYPL 2024 ]⠀
||<tablewidth=100%><width=2000><-4><bgcolor=green><tablebgcolor=#fff,#222> 2024년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Rust
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 TypeScript 18 PowerShell
9 Swift 19 VBA
10 Objective-C 20 Lua
}}} ||
프로그래밍 언어 목록 · 분류 · 문법
F#
파일:fsharp-logo.png
<colbgcolor=#fff,#1f2023><colcolor=#378BBA,#30B9DB> 개발 <colbgcolor=#fff,#1f2023>Microsoft
버전 7(2022년 11월 업데이트)
웹사이트 F# 가이드

1. 개요

[clearfix]
printfn "Hello, World"

1. 개요

ML 계열 언어인 OCaml에 기반하여 Microsoft Research(MSR)와 연구원 Don Syme이 개발한 함수형 프로그래밍 언어.

.NET Framework와 CLR이 구현된 이후 연구되기 시작하여 2005년에 최초의 안정판이 나온 젊은 언어로, C#과 마찬가지로 처음부터 CLR을 위해 개발되었다.

그래봐야 사실은 아무도 모르고 넘어갈 수 있었을 신생 함수형 언어였지만, MSR의 엄청난 편애를 받고 있어서 Visual Studio의 기본 언어 중 하나로 들어가 있다. 덕분에 많은 사람들이 "Visual F#은 뭐하는 놈이야?" 하는 의문을 가지게 만든다. 발표 직후에는 윈도우에서만 쓸 수 있었지만 2.0 이후 리눅스, OS X에서도 쓸 수 있게 되었고, 3.0 이후엔 자바스크립트와 함께 CUDA, OpenCL 환경에서도 쓸 수 있게 되었다.

문법적인 기본 특징은 OCaml과 유사한 하이브리드적 성질을 들 수 있다. 즉 선언적인 함수형언어의 기본에 절차적인 코드를 추가할 수 있고, 객체지향적 요소도 쓸 수 있다. 이렇게 보면 구성요소가 많고 복잡해야할 것 같지만 적은 구성요소로 이리저리 돌려서 다 해결하는 식이라 새로 시작하는 입장에서는 상당히 덩치가 커진 C# 5.0보다 F# 3.0이 쉬울 수 있다. 또한 힌들리 밀너 타입추론을 하므로 타입 안정성이 있고, 타입 선언을 생략 가능한 경우가 많다.

F#은 비교적 초기에 개발진의 연구에 의해 비동기 프로그래밍 모델이 언어에 통합되었고, 이를 활용한 병행, 병렬 응용계층이 풍부하게 구현되어 있다. 비동기, 병행, 병렬 처리라는 부분은 엄청나게 발전되어 있어서 MSR에 잡혀있을 외계인들이 걱정되는 수준.

언어 소개 및 학습 사이트인 TryF#은 단순히 코드와 설명을 보여주는 수준을 넘어서 F#용 웹 IDE를 제공해주고 있다. 이 IDE의 완성도도 상당한 것으로 유명하다. 덤으로 MSR의 F# 빠심을 볼 수 있다.