최근 수정 시각 : 2024-11-21 00:50:52

F#

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,#737373><colcolor=#fff>제품군
하드​웨어Surface · Xbox · HoloLens · PixelSense · Zune · Pluton · IVAS
소프트​웨어Windows · Office · Edge · Media Player · Hyper-V · Defender · Visual Studio Code · Visual Studio · Windows Terminal · Microsoft Store · Xbox App · PowerToys · Internet Explorer · MS-DOS · Windows Movie Maker · Autoruns · Clipchamp
서비스Microsoft Azure · OneDrive · Microsoft Copilot · Bing · LinkedIn · Microsoft Docs · Skype · MSN · 정품인증 · Xbox Game Pass · Xbox Cloud Gaming · Xbox network
관련 기술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-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,#222> 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 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#222> 2024년 8월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 MATLAB
2 C++ 12 Delphi / Object Pascal
3 C 13 PHP
4 Java 14 Rust
5 C# 15 Ruby
6 JavaScript 16 Swift
7 SQL 17 Assembly language
8 Visual Basic 18 Kotlin
9 Go 19 R
10 Fortran 20 Scratch
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 COBOL 36 Scala
22 Classic Visual Basic 37 Transact-SQL
23 LISP 38 PL/SQL
24 Prolog 39 ABAP
25 Perl 40 Solidity
26 (Visual) FoxPro 41 GAMS
27 SAS 42 PowerShell
28 Haskell 43 TypeScript
29 Dart 44 Logo
30 Ada 45 Wolfram
31 D 46 Awk
32 Julia 47 RPG
33 Objective-C 48 ML
34 VBScript 49 Bash
35 Lua 50 Elixir
}}}}}}}}} ||
[ PYPL 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=green><tablebgcolor=#fff,#222> 2024년 8월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Objective-C
2 Java 12 Go
3 JavaScript 13 Kotlin
4 C# 14 MATLAB
5 C/C++ 15 PowerShell
6 R 16 VBA
7 PHP 17 Dart
8 TypeScript 18 Ruby
9 Swift 19 Ada
10 Rust 20 Lua

}}} ||
프로그래밍 언어 목록 · 분류 · 문법
F#
파일:fsharp-logo.png
<colbgcolor=#fff,#1f2023><colcolor=#378BBA,#30B9DB> 개발 <colbgcolor=#fff,#1f2023>Microsoft
버전 8(2023년 11월 업데이트)
웹사이트 F# 가이드

1. 개요2. 역사3. 특징4. 학습

[clearfix]
printfn "Hello, World"

1. 개요

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

2. 역사

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

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

3. 특징

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

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

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

4. 학습