ภาษาเอฟชาร์ป

ภาษาเอฟชาร์ป (F#) เป็นภาษาสำหรับเขียนโปรแกรมคอมพิวเตอร์แบบ strongly typed บนดอตเน็ตเฟรมเวิร์กและ Mono  ที่สนับสนุนโมเดลการเขียนโปรแกรมหลายแบบรวมทั้ง การเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงวัตถุ และการเขียนโปรแกรมเชิงคำสั่ง F# เป็นภาษาดอตเน็ต สามารถเรียกใช้เอพีไอของดอตเน็ต และถูกเรียกจากภาษาดอตเน็ตอื่นๆ นอกจากนั้น F# ยังสามารถถูกใช้กับโปรแกรมประยุกต์บนเว็บ เขียนโปรแกรมสำหรับหน่วยประมวลผลกราฟิกส์ หรือ GPU  และใช้เขียนโปรแกรมสำหรับแมคโอเอสเท็น ไอโอเอส และ แอนดรอยด์ โดยใช้ Programming tool สร้างโดยบริษัท Xamarin

ประวัติ 
F# ถูกเริ่มสร้างโดย Don Syme และทีม ที่ Microsoft Research โดยมีพื้นฐานมาจากภาษา OCaml (ซึ่งเป็นภาษาในตระกูลภาษา ML) 

ปัจจุบันภาษาเอฟชาร์ปได้ถูกโอเพนซอร์ส และพัฒนาโดย F# Software Foundation, Microsoft, และผู้พัฒนาทั่วๆไป

ภาพรวม 
F# เป็นภาษาแบบ strongly typed ที่สนับสนุนโมเดลการเขียนโปรแกรมหลายแบบ รวมทั้งการเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงวัตถุ และการเขียนโปรแกรมเชิงคำสั่ง โดยที่ทุกอย่างในเช่นฟังก์ชัน control flows ใน F# เป็น expression ที่มี type หรือ โครงสร้างข้อมูล ที่สามารถถูกประกอบเข้ากันได้

โครงสร้างข้อมูลที่สำคัญที่มีใน F# ได้แก่:
 Unit ซึ่งคล้ายกับ Void ในภาษาตระกูลภาษาC
 Tuple
 Record
 Discriminated unions
 List
 Option

โปรแกรมตัวอย่าง

โปรแกรมหา Factorial 
> let rec fact = function
    | 0 -> 1
    | n -> n * fact(n-1);;

val fact : int -> int

ผลลัพธ์
> fact 12;;
val it : int = 479001600

วินโดวส์ฟอร์ม 
open System.Windows.Forms

let form = new Form()
do form.Visible <- true
do form.TopMost <- true
do form.Text <- "Welcome to F#"

let x = 3 + (4 * 5)
do form.Text <- (if x = 23 then "Correct!" else "incorrect")

อ้างอิง

ดูเพิ่ม 
 OCaml
 C#

แหล่งข้อมูลอื่น 
 แหล่งข้อมูลสำหรับ F#
 The F# Software Foundation
 หนังสือ Développement d'applications avec Objective Caml

ตระกูลภาษาเอ็มแอล
ภาษาระบบโครงสร้างพื้นฐานภาษาร่วม