ภาษาเอฟชาร์ป (F#) เป็นภาษาสำหรับเขียนโปรแกรมคอมพิวเตอร์แบบ strongly typed บนดอตเน็ตเฟรมเวิร์กและ Mono ที่สนับสนุนโมเดลการเขียนโปรแกรมหลายแบบรวมทั้ง การเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงวัตถุ และการเขียนโปรแกรมเชิงคำสั่ง F# เป็นภาษาดอตเน็ต สามารถเรียกใช้เอพีไอของดอตเน็ต และถูกเรียกจากภาษาดอตเน็ตอื่นๆ นอกจากนั้น F# ยังสามารถถูกใช้กับโปรแกรมประยุกต์บนเว็บ เขียนโปรแกรมสำหรับหน่วยประมวลผลกราฟิกส์ หรือ GPU และใช้เขียนโปรแกรมสำหรับแมคโอเอสเท็นไอโอเอส และ แอนดรอยด์ โดยใช้ Programming tool สร้างโดยบริษัท Xamarin
F# logomark | |
กระบวนทัศน์ | : , , object-oriented, , metaprogramming, , |
---|---|
ตระกูล | |
, | |
ผู้พัฒนา | Microsoft, |
เริ่มเมื่อ | 2005 | , version 1.0
รุ่นเสถียร | 16.8 / 10 พฤศจิกายน 2020 |
ระบบชนิดตัวแปร | , , |
ระบบปฏิบัติการ | Cross-platform: , .NET Framework, |
สัญญาอนุญาต | MIT License |
นามสกุลของไฟล์ | .fs, .fsi, .fsx, .fsscript |
เว็บไซต์ | fsharp |
ได้รับอิทธิพลจาก | |
C#, , ,, ,Python, | |
ส่งอิทธิพลต่อ | |
C#,, , | |
|
ประวัติ
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")
อ้างอิง
- "Release 16.8". 10 พฤศจิกายน 2020. สืบค้นเมื่อ 19 มีนาคม 2023.
- "F# Software Foundation's License". GitHub. 14 October 2021.
- "Microsoft's F# License". GitHub. 16 October 2021.
- Syme, Granicz & Cisternino (2007:2)
- อ้างอิงผิดพลาด: ป้ายระบุ
<ref>
ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อhistoryMSR
- (2006). "Leveraging .NET Meta-programming Components from F#".
[F#] is rooted in the Core ML design, and in particular has a core language largely compatible with that of OCaml
- for async
- The F# Software Foundation. . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2014-06-25. สืบค้นเมื่อ 2014-06-07.
- The F# Software Foundation. . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2016-12-18. สืบค้นเมื่อ 2014-06-07.
- The F# Software Foundation. "Use F# on Mac OSX". สืบค้นเมื่อ 2014-06-07.
- The F# Software Foundation. "Use F# for iOS App Development". สืบค้นเมื่อ 2014-06-07.
- The F# Software Foundation. "Use F# for Android Development". สืบค้นเมื่อ 2014-06-07.
- ผู้ร่วมสร้าง F#
- F# ที่ Microsoft Research
- . คลังข้อมูลเก่าเก็บจากแหล่งเดิมเมื่อ 2014-04-08. สืบค้นเมื่อ 2014-04-16.
ดูเพิ่ม
- OCaml
- C#
แหล่งข้อมูลอื่น
- แหล่งข้อมูลสำหรับ F#
- The F# Software Foundation
- หนังสือ Développement d'applications avec Objective Caml
wikipedia, แบบไทย, วิกิพีเดีย, วิกิ หนังสือ, หนังสือ, ห้องสมุด, บทความ, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม, มือถือ, โทรศัพท์, Android, iOS, Apple, โทรศัพท์โมบิล, Samsung, iPhone, Xiomi, Xiaomi, Redmi, Honor, Oppo, Nokia, Sonya, MI, PC, พีซี, web, เว็บ, คอมพิวเตอร์
phasaexfcharp F epnphasasahrbekhiynopraekrmkhxmphiwetxraebb strongly typed bndxtentefrmewirkaela Mono thisnbsnunomedlkarekhiynopraekrmhlayaebbrwmthng karekhiynopraekrmechingfngkchn karekhiynopraekrmechingwtthu aelakarekhiynopraekrmechingkhasng F epnphasadxtent samartheriykichexphiixkhxngdxtent aelathukeriykcakphasadxtentxun nxkcaknn F yngsamarththukichkbopraekrmprayuktbnewb ekhiynopraekrmsahrbhnwypramwlphlkrafiks hrux GPU aelaichekhiynopraekrmsahrbaemkhoxexsethnixoxexs aela aexndrxyd odyich Programming tool srangodybristh XamarinF F logomarkkrabwnthsn object oriented metaprogramming trakul phuphthnaMicrosoft erimemux2005 19 pithiaelw 2005 version 1 0runesthiyr16 8 10 phvscikayn 2020 3 pikxn 10 phvscikayn 2020 rabbchnidtwaepr rabbptibtikarCross platform NET Framework syyaxnuyatMIT Licensenamskulkhxngifl fs fsi fsx fsscriptewbistfsharp wbr orgidrbxiththiphlcakC Python sngxiththiphltxC F Sharp Programming thiwikitaraprawtiF thukerimsrangody Don Syme aelathim thi Microsoft Research odymiphunthanmacakphasa OCaml sungepnphasaintrakulphasa ML pccubnphasaexfcharpidthukoxephnsxrs aelaphthnaody F Software Foundation Microsoft aelaphuphthnathwipphaphrwmF epnphasaaebb strongly typed thisnbsnunomedlkarekhiynopraekrmhlayaebb rwmthngkarekhiynopraekrmechingfngkchn karekhiynopraekrmechingwtthu aelakarekhiynopraekrmechingkhasng odythithukxyanginechnfngkchn control flows in F epn expression thimi type hrux okhrngsrangkhxmul thisamarththukprakxbekhaknid okhrngsrangkhxmulthisakhythimiin F idaek Unit sungkhlaykb Void inphasatrakulphasaC Tuple Record Discriminated unions List Optionopraekrmtwxyangopraekrmha Factorial gt let rec fact function 0 gt 1 n gt n fact n 1 val fact int gt int phllphth gt fact 12 val it int 479001600 winodwsfxrm open System Windows Forms let form new Form do form Visible lt true do form TopMost lt true do form Text lt Welcome to F let x 3 4 5 do form Text lt if x 23 then Correct else incorrect xangxing Release 16 8 10 phvscikayn 2020 subkhnemux 19 minakhm 2023 F Software Foundation s License GitHub 14 October 2021 Microsoft s F License GitHub 16 October 2021 Syme Granicz amp Cisternino 2007 2 harvcoltxt error no target CITEREFSymeGraniczCisternino2007 xangxingphidphlad payrabu lt ref gt imthuktxng immikarkahndkhxkhwamsahrbxangxingchux historyMSR 2006 Leveraging NET Meta programming Components from F F is rooted in the Core ML design and in particular has a core language largely compatible with that of OCaml for async The F Software Foundation khlngkhxmulekaekbcakaehlngedimemux 2014 06 25 subkhnemux 2014 06 07 The F Software Foundation khlngkhxmulekaekbcakaehlngedimemux 2016 12 18 subkhnemux 2014 06 07 The F Software Foundation Use F on Mac OSX subkhnemux 2014 06 07 The F Software Foundation Use F for iOS App Development subkhnemux 2014 06 07 The F Software Foundation Use F for Android Development subkhnemux 2014 06 07 phurwmsrang F F thi Microsoft Research khlngkhxmulekaekbcakaehlngedimemux 2014 04 08 subkhnemux 2014 04 16 duephimOCaml C aehlngkhxmulxunaehlngkhxmulsahrb F The F Software Foundation hnngsux Developpement d applications avec Objective Caml bthkhwamkarekhiynopraekrm hrux phasaopraekrmniyngepnokhrng khunsamarthchwywikiphiediyidodykarephimetimkhxmuldk