F Sharp: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
IvanBot (обговорення | внесок)
м →‎Історія: replaced: незважаючи на те → попри те
IvanBot (обговорення | внесок)
м →‎Короткий огляд F#: replaced: Незважаючи на те → Попри те
Рядок 6:
Найцікавіше, що це вперше функційна мова максимально адаптована до використання в [[.NET Framework]], відповідно, вона не заперечує і імперативного підходу. З тієї ж причини F# не особливо славиться серед пуристів функціонального програмування, хоча це нітрохи не применшує його достоїнств як повноцінної функціональної мови, що дозволяє скористатися перевагами багатообіцяючої парадигми.
 
Протягом тривалого часу F# існував як дослідницький проект, основним завданням якого було збагатити імперативну мову C# можливостями, традиційно доступними лише функціональним мовам. Безліччю нововведень C# 3.0 з VS 2008 завдячує саме йому. Сам по собі F # не створений з чистого аркуша в Microsoft, в його основу покладено досить популярний (якщо так взагалі можна говорити про функціональні мови) OCaml, який, у свою чергу, походить від одної з перших типізованих функціональних мов ML. Незважаючи наПопри те що синтаксично F# і OCaml досить близькі, вони не еквівалентні: грубо кажучи, перший являє собою підмножину другого, доповнену доступом до властивостей .NET Framework. Однак деякі програми на OCaml можуть бути практично без модифікацій скомпільовані F#, зворотня компіляція також справедлива, зрозуміло, за відсутності звернень до класів .NET Framework.
 
У цілому, поява F # в складі Visual Studio свідчить про те, що розробники з Microsoft покладають великі надії на функціональне програмування, що стало особливо актуальним в епоху багатоядерних процесорів і непомірно вирісшої складності внутрішньої структури вихідного коду великих проектів. Звичайно, F# не позиціонується як заміна традиційним універсальним імперативним мовам, зокрема C#, і їх розвиток у напрямку асиміляції найбільш вдалих ідей декларативного програмування не припиниться. Швидше за все, F#, як і багато інших функціональних мов, займе своє місце серед інших, спеціалізуючись на вирішенні певного класу задач так само, як, наприклад, SQL зайняв нішу інструментів для маніпулювання реляційними даними. Можна припустити, що в найближчому майбутньому володіння хоча б однією функціональною мовою з'явиться в числі професійних вимог до типового програміста, подібно до того як сьогодні необхідно знання того ж SQL.