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

จากวิกิพีเดีย สารานุกรมเสรี

ภาษา F# (อ่านว่าเอฟชาร์ป) เป็นภาษาลูกผสมของภาษาตระกูลฟังก์ชันแนลและภาษาแบบออปเจคโอเรียนเต็ด สำหรับทำงานบนไมโครซอฟท์ดอทเน็ต

สารบัญ

[แก้] ความเป็นมา

จุดแข็งของ F# คือการทำงานบนดอทเน็ต เพราะเป้าหมายสำคัญประการหนึ่งของเอฟชาร์ปคือ การทำงานกับดอทเน็ตอย่างสมบูรณ์ ทั้งในการเรียกใช้เอพีไอของดอทเน็ต และการสร้างคอมโพเนนท์ของดอทเน็ตด้วยภาษา F# ตัวไลบรารีหลักๆ คือไลบรารีของดอทเน็ตเอง(เช่น ไดเร็กเอกซ์, วินโดว์ฟอร์ม และเอเอสพีดอทเน็ต หรือตัวเลือกอื่นๆ อย่าง Gtk#)


ภาษาเอฟชาร์ปสร้างโดย Don Syme ที่ Microsoft Research มีแกนของภาษาคล้ายกับภาษา Ocaml (ซึ่งเป็นภาษาในตระกูลภาษาเอ็มแอล)


ภาษาเอฟชาร์ปมีไลบรารีมาตรฐานของตัวเอง ออบแบบให้เข้ากันได้กับไลบรารีมาตรฐานของภาษา OCaml โดยทั้งสองภาษาใช้คุณลักษณะย่อยบางอย่างร่วมกัน ทำให้สามารถคอมไพล์โค้ดเดียวกันให้ทำงานกับทั้งสองภาษาได้ ซึ่งทำให้นำโค้ดที่สร้างด้วยภาษา Caml มาทำงานบนดอทเน็ต และโค้ดที่สร้างด้วยเอฟชาร์ปมาเรียกใช้ด้วย OCaml ได้


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

[แก้] โปรแกรมหา Factorial

> let rect 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")

[แก้] ข้อมูลเพิ่มเติม

[แก้] ลิงก์ภายนอก


 ภาษาเอฟชาร์ป เป็นบทความเกี่ยวกับ คอมพิวเตอร์ อุปกรณ์คอมพิวเตอร์ หรือ เครือข่าย ที่ยังไม่สมบูรณ์ ต้องการตรวจสอบ เพิ่มเนื้อหา หรือเพิ่มแหล่งอ้างอิง คุณสามารถช่วยเพิ่มเติมหรือแก้ไข เพื่อให้สมบูรณ์มากขึ้น
ข้อมูลเกี่ยวกับ ภาษาเอฟชาร์ป ในภาษาอื่น สามารถหาอ่านได้จากเมนู ภาษาอื่น ๆ ด้านซ้ายมือ

ภาษาโปรแกรมที่สำคัญ (แก้ )

ธุรกิจ: ABAP | Ada | ASP | AWK | Assembly | C | C++ | C# | COBOL | Object Pascal | Eiffel | Fortran | Java | JavaScript | JSP | J# | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | RPG | Ruby | SAS | sh | SQL | Tcl/Tk | Visual Basic

การศึกษา: F# | Haskell | Logo | ML | Pascal | Prolog | Smalltalk | Scheme |

อื่นๆ: ALGOL | APL | BASIC | Clipper | MUMPS | PL/I | Simula