แอปพลิเคชันที่รู้จักกันดีที่เขียนใน F # คืออะไร [ปิด]


13

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

ฉันหวังว่าเรื่องราวความสำเร็จของ F # หรืออย่างน้อยสองสามแอปพลิเคชันที่ฉันคุ้นเคยอาจทำให้ชัดเจนขึ้นเล็กน้อยเมื่อ F # (หรือภาษาการเขียนโปรแกรมที่ใช้งานได้) จะเหมาะสมสำหรับโครงการ

ดังนั้นกลับไปที่คำถามแอปพลิเคชันที่รู้จักกันดีที่ใช้ F # หรือภาษาการเขียนโปรแกรมการทำงานที่คล้ายกันคืออะไร

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


ฉันอยากรู้เกี่ยวกับเรื่องนี้ดี ฉันคิดว่า F # เป็นภาษาทาง MS Research Dept มันน่าสนใจที่จะดูว่ามีโปรแกรมใด ๆ ที่ใช้มันที่เป็นที่รู้จักหรือไม่ ฉันสงสัยว่ามีโปรแกรม 'ที่รู้จักกันดี' ที่เป็น F # ทั้งหมด
Kavet Kerek

1
คำถามนี้ดูเหมือนจะไม่อยู่ในหัวข้อเนื่องจากเป็นคำถามที่ใช้ในการสำรวจความคิดเห็น

jet.com, อีคอมเมิร์ซเริ่มต้นเขียนครั้งแรกใน F # ถูกซื้อโดย Walmart สองสามปีที่ผ่านมาราคา $ 3 พันล้าน +
KolA

คำตอบ:


8
  • ระบบ F # ทั้งหมด (คอมไพเลอร์, ไลบรารีและเครื่องมือ)
  • IronJS (พูดถึงแล้ว)
  • อัลกอริทึม XBox Live TrueSkill เช่นเดียวกับระบบความสำเร็จทั้งหมดระบบการจัดอันดับและระบบจับคู่ที่อยู่รอบ ๆ

ฉันเดาเหตุผลหลักว่าทำไมไม่มีแอปพลิเคชั่น "ที่รู้จักกันดี" ที่เขียนใน F # เป็นเพราะมันใช้เวลาหลายปีหรือแม้แต่ทศวรรษที่จะกลายเป็น "ที่รู้จักกันดี" และ F # ก็ยังไม่แก่

อย่างไรก็ตามแอปพลิเคชั่นส่วนใหญ่ที่โด่งดังนั้นไม่ใช่ "ที่รู้จักกันดี" มี PowerPoint เพียงรายการเดียว แต่มีแอปจ่ายเงินเดือนแบบกำหนดเองที่เขียนด้วยมือนับล้านตัวเล็ก ๆ

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


1
ตามที่ Wikipedia F # มีอายุ 8 ปี PHP, Java, C # ล้วน แต่ถูกใช้ในแอพพลิเคชั่นที่รู้จักกันดีมานานก่อนที่พวกเขาจะอายุมาก ยกตัวอย่างเช่น C # ออกมาในปี 2001 และ F # ที่ชัดเจนนั้นสวยกว่า C # มากกว่าหนึ่งปีในแง่ของการใช้งาน
GrandmasterB

5
@GrandmasterB: นั่นอาจไม่ใช่การประเมินที่ยุติธรรม F # เป็นเพียงโครงการทดลองจนกว่าจะมีการผลิตใน VS2010 แม้ว่าจะใช้ได้ในปี 2008 ดังนั้นฉันจะไม่เรียกมันว่า 8 ปี
Robert Harvey

3

มีTabbles ตัวจัดการไฟล์และตัวจัดระเบียบพร้อมด้วยคุณสมบัติมากมาย มันมีระบบการติดแท็กที่คุณสามารถแบ่งปันกับผู้อื่นได้ มันเป็นผลิตภัณฑ์เชิงพาณิชย์


1

ฉันสงสัยในสิ่งเดียวกันสำหรับสักครู่รู้ ฉันชอบ F # แต่ไม่ได้เห็นอะไรเลยในขอบเขตของแอพเชิงพาณิชย์ สิ่งที่ฉันเคยได้ยิน (และบ่อยครั้งมาก) คือ F # ถูกใช้อย่างแพร่หลายในขอบเขตทางการเงิน

มีเว็บเฟรมเวิร์กที่เหมาะสมสำหรับการเขียนโปรแกรมการทำงานอย่างไร มีตัวอย่างบางส่วนของเว็บเฟรมเวิร์กสำหรับภาษาโปรแกรมที่ใช้งานได้และฉันรู้http://cs.hubfs.net/blogs/tomasp/archive/2010/05/09/14050.aspxเป็นบทความวิธีเขียน ASP.Net MVC 2 เว็บแอปใน F #

เมื่อฉันได้ค้นหาบทความใน F # และตัวอย่างจำนวนมากและการสรรเสริญของผู้คนมาในรูปแบบของ parsers บันทึก แต่นั่นมักจะมีการพูดถึงสิ่งต่าง ๆ ตามแนวของ "ฉันไม่ได้รับอนุญาตให้ใช้ภาษาในที่ทำงาน" (แน่นอนถอดความ) ฉันจะพยายามหาตัวอย่างเพิ่มเติม

ฉันเล่นกับความคิดในการสร้าง MUD ที่อิงกับข้อความ (Multi-User Dungeon) ใน F # แต่ฉันไม่เคยมีเวลาเลย


โคลน == ผู้ใช้หลายคนคุกใต้ดิน?
Robert Harvey

@ Robert Harvey - นั่นจะถูกต้อง ฉันจะแก้ไขสิ่งนั้นในสำหรับผู้ที่ไม่ทราบ
Jetti

ฉันลืมเพิ่ม WebSharper ช่วยให้นักพัฒนาสามารถสร้างเว็บไซต์ทั้งหมดใน F #
Jetti

0

ฉันดู F # สั้น ๆ เมื่อฉันต้องการเขียนตัวแยกวิเคราะห์ SQL ซึ่งฉันลงเอยด้วยการนำไปใช้ใน Haskell ที่กล่าวว่าคุณสามารถใช้ F # ทุกที่ที่คุณจะใช้ C # แต่มันจะคุ้มหรือไม่ หากคุณกำลังทำโปรแกรมฟังก์ชั่นมากมายการใช้ F # จะคุ้มค่าเพราะไวยากรณ์สำหรับการสร้างฟังก์ชั่นเป็นมิตรขึ้น หากคุณกำลังทำ OO เป็นส่วนใหญ่น่าจะดีกว่าถ้าใช้ C #


ฉันเห็นด้วยกับ Larry Coleman ทำไมบางคนถึงทำบางสิ่งใน F # เมื่อพวกเขาทำได้ใน C # ฉันคิดว่ามันปลอดภัยที่จะบอกว่าเวลาส่วนใหญ่ที่ F # มีประโยชน์มากกว่า C # ไม่ใช่ในสถานการณ์แอพเชิงพาณิชย์
Jetti

1
ฉันคิดว่านี่เป็นมุมมองของ MS เช่นกัน C # และ VB.NET ถูกนำเสนอเป็น / หรือต่อกัน แต่ฉันคิดว่าเป้าหมายของ F # (และในระดับที่น้อยกว่าภาษาเช่น IronPython และ Boo) คือการส่งเสริมการเขียนโปรแกรมหลายภาษา: การใช้ภาษาต่าง ๆ พร้อมคุณสมบัติเฉพาะเพื่อแก้ปัญหาที่แตกต่างกัน ชนิดของปัญหา
CodexArcanum

@Jetti F # ดีมากสำหรับการประมวลผลข้อมูลใด ๆ สำหรับการแยกวิเคราะห์และสำหรับฟิลด์การคำนวณหนักที่ความถูกต้องมีความสำคัญ ฟังก์ชั่นการเขียนโปรแกรมโดยทั่วไปมีระดับของการแสดงออกที่ทำให้โปรแกรมหลายชนิดง่ายต่อการเขียน ไม่มีสิ่งใดที่สามารถมองเห็นได้อย่างชัดเจนส่วนหน้าเช่นเว็บไซต์หรือแอปพลิเคชั่น GUI พื้นที่ที่ C # เก่ง คุณสามารถใช้ LINQ เพื่อรับ FP ใน C # แต่ F # เป็นภาษาที่เป็นธรรมชาติมากขึ้นในการแสดงรหัสดังกล่าว
CodexArcanum

@CodexArcanum - ฉันเห็นด้วยกับคุณอย่างสมบูรณ์ ฉันเดาว่าฉันกำลังเข้าใจผิด "แอพเชิงพาณิชย์" ฉันควรจะพูดว่า "แอปพลิเคชันผู้บริโภคทุกวัน (เช่น Office, Firefox และอื่น ๆ )"
Jetti

1
@Jetti: ฉันจะแนะนำ Haskell มากกว่า F # ถ้าคุณสนใจที่จะเรียนรู้การเขียนโปรแกรมฟังก์ชั่น คุณจะเรียนรู้ได้เร็วขึ้นเพราะคุณจะไม่สามารถทำตามขั้นตอนหรือ OO ได้
Larry Coleman

0

เหล็ก JS

โดยส่วนตัวฉันคิดว่ามันแปลกที่แอปพลิเคชันเดียวที่ฉันรู้จักที่เขียนใน F # เป็นสิ่งที่ช่วยให้คุณเขียนในภาษาอื่นที่ไม่ใช่ F #

สำหรับฉันมันบอกได้มากมายเกี่ยวกับคุณค่าที่แท้จริงของการเขียนโปรแกรมฟังก์ชั่น ผู้คนสามารถเฉลิมฉลองว่า "สวย" เป็นสิ่งที่พวกเขาต้องการ - ถ้ามันสวยงามมาก ๆ ผู้คนก็จะใช้มันมากกว่านี้


ฉันไม่เห็นด้วยกับคำสั่งสุดท้ายของคุณ ผู้คนใช้ F # ในความเป็นจริงพวกเขาใช้มันมากจนกลายเป็นส่วนหนึ่งของ Visual Studio 2010 F # ถูกนำไปใช้ในภาคการเงินเช่นเดียวกับ Erlang ได้ถูกนำมาใช้ในการสื่อสารโทรคมนาคม เพียงเพราะฉันสามารถเขียนแอพใน F # ไม่ได้หมายความว่าฉันจะทำเช่นนั้น ภาษา (และภาษา FP โดยทั่วไป) มีจุดแข็งและจุดอ่อนดังนั้นจึงจะถูกใช้อย่างกว้างขวางในด้านที่ได้รับประโยชน์จากจุดแข็งของพวกเขา!
Jetti

@Jetti สิ่งที่แน่นอน เป็นเวลานานกว่า 30 ปีแล้วที่การเขียนโปรแกรมเพื่อการใช้งานเกิดขึ้น แต่ฉันมั่นใจว่ามันจะทำให้การเขียนโปรแกรมแบบขั้นตอนสามารถทำได้ทุกวัน ฉันไม่ได้บอกว่ามันไม่มีข้อดี - บางอย่างสามารถทำได้ค่อนข้างหรูหราด้วยฟังก์ชั่น สิ่งที่ฉันกำลังพูดคือมันจะไม่มีวันครอบงำ
riwalk

@ Stargzer712 - ฉันยอมรับว่ามันจะไม่มีวันครอบงำและด้วยเหตุผลที่ดีเช่นกัน
Jetti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.