کمی درباره #F

زبان اف شارپ در سال ۲۰۰۳ توسط مایکروسافت ساخته شد و از همون اول متن باز بود ولی خب در اون زمان جامعه فعالی نبود و از طرفی رابطه مایکروسافت با جامعه متن باز جور نبود پس این زبان عالی تا حدودی قربانی این اختلاف مایکروسافت با جامعه متن باز شد.

زبان اف شارپ بسیار زبان ساده ای هست شاید ساده تر از پایتون. این زبان یک زبان تابعی یا به عبارتی فانکشنال است. فانکشنال روبروی شی گرایی قرار میگیره، (زبانهای شی گرایی مثل جاوا و سی شارپ و زبانهای فانکشنال مثل OCaml یا Scala یا #F). البته در اکثر زبانها مثل همین اف شارپ فقط از یک پارادایم پشتیبانی نمی کنند و هم شی گرایی را ساپورت می کنند و هم فانکشنال، مثلا در پایتون میشه هم بصورت فانکشنال کد زد هم بصورت شی گرایی.

زبان اف شارپ تا نسخه ۴ فقط فانکشنال بود ولی بعد از اون شعارش رو عوض کرد و به فانکشنال فرست تغییر داد یعنی بصورت کامل از شی گرایی هم پشتیبانی می کنه و مثلا شما میتونید ارث بری ها رو اعمال کنید ولی خب طبیعتا چون تمرکز رو فانکشنال هست نمیشه انتظار یک شی گرایی کامل رو مثل سی شارپ ازش داشت.

مزیت اف شارپ سادگی کدهاش هست که شما بدون براکت و سمی کالن(که البته خودم این رو نمی پسندم چون زبانهایی که با براکت و سمی کالن هستند دیباگشون به نظر من راحتتره و نمیخاد وقتت رو صرف پیدا کردن یک اسپیس کم یا زیاد کنی) کد میزنید مثل پایتون و چون زبان فانکشنال هم هست کدهای کمتری رو برای هر کاری خواهید نوشت.

اف شارپ چون یک زبان دات نتی هست پس هر کاری که با سی شارپ میشه انجام داد با اف شارپ هم میشه انجام داد مثلا شما با زامارین هم میتونید کد بزنید.

انگیزه واقعی من برای یادگیری این زبان در اصل به خاطر زبان Bosque است. این زبان جدید مایکروسافت است که توسط مارک مارون نوشته شده و فعلا تو فاز توسعه است. این زبان پارادایم جدید رو معرفی می کنه به اسم Regularized programming‌ که در واقع نسخه تکامل یافته فانکشنال هست. چون مارک مارون تو دوتا از مهمترین پروژه های موفق متن باز مایکروسافت یعنی vscode‌و typescript بوده پس قطعا کارشو بلده و چون این زبان تکامل یافته فانکشنال هست پس بهتر دیدم با برنامه نویسی فانکشنال آشنا بشم برای همین اومدم سراغ اف شارپ و فهمیدم این زبان چقدر باحاله.

من چون خودم تصمیم گرفتم از سی شارپ برم سمت اف شارپ تصمیم دارم هرچی رو یاد میگیرم از صفر اینجا بزارم و دوستانی که علاقمندند بتونند با این زبان آشنا بشن. امیدوارم تنبلی نکنم و تند تند درباره این زبان پست بزارم.

یک انتشارات هم تشکیل دادم که شما بتونید به راحتی پست ها من درباره اف شارپ رو دنبال کنید. لینک انتشارات