# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > F#‎‎ > سوال: چه چیز زبان F#‎ را از سایر زبان ها متمایز میکند؟

## M.T.P

با سلام.
اهداف ایجاد این زبان چیست؟

----------


## Mehdi Asgari

قسمتی از جوابت رو می تونی در https://barnamenevis.org/showthread.php?t=230496 پیدا کنی.
البته باید مشخص کنی که داری #F رو با چه زبان هایی مقایسه می کنی. زبان های تحت دات نت ، یا غیره. و اگر گزینۀ دوم منظورته، زبان های تابعی یا غیر تابعی رو هم باید مشخص کنی.
یه سری ویژگی های منحصر به فرد #F که بعضی ها واقعا منحصر به فرد بوده ، بعضی ها فقط در یک سری زبان های آکادمیک مثل Haskell یافت میشن ، و برخی نیز در بسیاری از زبان های تابعی دیگر به صورت پیش فرض وجود دارن:
Units of Measure
آمیزش شی گرایی و تابعی در یک زبان
سینتکس ساده و موجز (به دلیل استفاده از Type Inference و نیز استفاده از بها دادن به تورفتگی ها مشابه پایتون)
Computation Expressions
Active Patterns
Pattern Matching
Discriminated Unions
Tail Recursion
Message Passing (Actors) Concurrency

Async Workflows
Built-in list and tuple data types (این ویژگی رو زبان های تابعی دیگر و نیز زبان های داینامیکی مثل پایتون هم دارن)
تنها زبان تابعی با پشتیبانی یک IDE درست و حسابی ، مستندات و کتاب های به روز و غیر آکادمیک ، کتابخانۀ توابع کامل و پشتیبانی شده ،کار بدون مشکل روی پلتفرم ویندوز ،دیباگر درست حسابی و ویژوال ،پشتیبانی از سی پی یو های چند هسته ای و نیز دارا بودن Concurrent Garbage Collector در رانتایم ، تبلیغات خوب (قبلا هم اریکسون برای Erlang ، یا شرکت های مختلفی برای لیسپ تبلیغات و بازاریابی و فروش می کردن ، ولی خودتون می دونید وضع مایکروسافت چطوره: ویدئو تولید می کنه ، پول میده براش کتاب بنویسن (مثل Jon Harrop)، کلی وبلاگ براش ایجاد میشه ، در کنفرانس های مختلف تبلیغش می کنه ...)

به زودی در مورد تمام ویژگی های فوق ، به تفصیل صحبت می کنم.




> اهداف ایجاد این زبان چیست؟


برخی از کارها رو که با زبان های تابعی راحت تر میشه انجام داد ، توسط این زبان بتونیم روی دات نت انجام بدیم. هم تبلیغ خوبیه برای دات نت (که نشون میده از همه جور زبانی پشتیبانی می کنه) و هم جذب کنندۀ مشتری برای محصولات مایکروسافت

سوالی هست ، بپرس

----------

