زبان برنامه نویسی F#: تاریخچه، مزایا و فرصت های آتی
زبان برنامه نویسی F#
توسعه دهندگان نرم افزار تازه کار ممکن است اسم آن را F Hash («اف هَش») تلفظ کنند، اما احتمال واکنش شدید و منفی از سوی متخصصان این حوزه بسیار کم است. F sharp (# شارپ تلفظ میشود) یک زبان برنامه نویسیِ متنباز، با نوعدهی نیرومند و دارای چندین الگو است. این زبان برنامهنویسی دارای چندین الگو متفاوت، برنامه نویسی تابعی، دستوری و شیءگرا را پشتیبانی میکند.
هر زبان برنامهنویسی میتواند تحت یکی از این دو دستهبندی قرار بگیرد: 1) نوعدهی نیرومند، و 2) نوعدهی کمزور
زبانهای نوعدهی نیرومند از لحاظ نوعدهی، قوانین سفت و سختی در زمینه زمان کامپایل دارند، که به طور تلحویحی اشاره به احتمال بیشتر وقوع خطاها و استثناها دارد. اکثریت این قوانین بر روی ارزشهای بازگشتی، انتساب متغیر، و فراخوانی تابع اثر میگذارند.
در سمت دیگر زبانهای نوعدهی کم نیرو هستند که قوانین نوشتاری سست آنها اغلب منجر به نتایج غیرقابل پیشبینی یا حتی تبدیل ضمنی نوع در زمان اجرا میشود.
منظور از چندین الگو این است که بیش از یک الگوی برنامه نویسی را پشتیبانی کرده، و به برنامهنویسان اجازه انتخاب نوع برنامهنویسی مورد دلخواه، و همچنین ساختارهای زبانی مرتبط با آن، را برای هر پروژه میدهد.
بیشتر اوقات از این زبان به عنوان یک زیرساخت زبان مشترک (CLI) دارای چند پلتفرم استفاده میشود، و همچنین قابلیت تولید کدهای جاوا اسکریپت و واحد پردازش گرافیکی (GPU) را نیز دارد.
این زبان برنامهنویسی توسط بنیاد نرمافزار F# و شرکت مایکروسافت در همکاری با دیگر شرکای آزاد توسعه پیدا کرده است.
تاریخچه کوتاه
F# اولین بار در سال 2005 مطرح شد و توسط شرکت تحقیقاتی مایکروسافت توسعه پیدا کرد. در اوایل، از .NET (دات نت) اُکمل (کمل شئ گرا) استفاده میکرد، چون قدرت و دستور زبان کاربردی، و هزاران قابلیت کتابخانهای، مورد دسترسی زبانهای دات نت را همزمان قابل استفاده میکرد.
از سال 2005، F# دچار تغییر و تحول های مورد نیاز گشته است، و توسعهدهندگان آن نسخههای متفاوتی از آن را که از نسخههای ابتدایی بهتر عمل میکند، منتشر کردهاند. راه اندازی آن تحت لیسانس Apache این اجازه را داد تا این زبان برنامهنویسی به صورت متنباز (open source) استفاده شود، یعنی قابلیت اصلاح، توزیع، و استفاده بدون پرداخت هزینه به توسعهدهندگان اولیه را دارد.
نسخه اولیه، که در سال 2005 روانه بازار شد، تنها با ویندوز قابلیت کارکرد داشت و از زمان اجرای 1.0 تا 3.5 دات نت استفاده میکرد. محدودیت استفاده از آن در پلتفرمها مختلف بزرگترین ضعف این نسخه بود. این مشکل در نسخه بعدی مورد توجه قرار گرفت، و OS X و لینوکس نیز به جمع پلتفرمهای مورد پشتیبانی در نسخه 2.0 منتشر شده در سال 2010 قرار گرفتند.
در سال 2012، جاوا اسکریپت و GPU نیز به جمع پلتفرم مورد پشتیبانی F# اضافه شدند. نسخه 4.0 جدیدترین نسخه آن است که در سال 2015 منتشر شد.
آینده F#
به باور بسیاری از افراد، F# یکی از منفورترین، دست کم گرفته شده ترین و کم استفاده ترین زبانهای برنامهنویسی است. ولی این تنها یک روی سکه است. بر اساس گزارش StackOverflow، F# پردرآمدترین زبان برنامهنویسی در جهان است.
با این حال، همان گزارش نشان میدهد که F# حتی جزو 25 زبان برنامهنویسی از حیث استفاده در سطح جهان نیز نمیباشد. به رغم داشتن یکی از فعالترین گروههای کاربری، این زبان هنوز در حاشیه قرار دارد.
پس اگر F# جزو منفورترین زبانها است، توسعهدهندگان علاقه بسیار زیادی نسبت به کار کردن با آن نشان میدهند؟ این زبان که زاییده ذهن برنامهنویسی استرالیایی به نام دان سایم است، در مقایسه با دیگر زبانهای برنامهنویسی کاربردی مشابه خودش مانند Scala، مقاومت بیشتری در برابر پیچیدگیهای بیش از حد و مشکلات نشان داده است. این مقاومت به برنامهنویسان دیگر را که ممکن است علاقهای به کار با برنامهنویسی کاربردی دارند را همچنان اجازه دسترسی و استفاده از آن میدهد.
وقتی که نیاز به توسعه داده، و دامنه، محور وجود داشته باشد، F# بسیار مفید ظاهر شده است. حالا همچنین قابلیت استفاده از آن در جاوا اسکریپ، یکی از محبوبترین زبانهای دنیا، نیز به وجود آمده است. به همین دلیل نیز دسترسی به کتابخانههای جامع و دستگاههای جاواسکریپ نیز ممکن شده است.
در مورد هوش مصنوعی، یادگیری ماشینی، و تحلیل داده مرتبط با آن F# کیفیت خود را نشان داده است. هدف نهایی از ایجاد این زبان نیز همین مسئله بود. به دلیل مقیاس بزرگ و تاثیرات احتمالی هوش مصنوعی بر روی اکوسیستم زبانها، و به طور کلی در دنیای فناوری، داشتن زبانی که برای توسعه مناسب باشد، آن را در جایگاهی مطمئن برای رشد سریع و حتی به چالش کشیدن دیگر زبانهای پرطرفدار مانند جاوا اسکریپت و پایتون در آینده قرار میدهد.
چه چیزی سد راه رشد F# است؟
گرچه ممکن است هضم این موضوع سخت باشد، اما مقصر اصلی در این زمینه سازندگان اولیه آن، یعنی مایکروسافت است. آنان جلوی محبوبیت F# را گرفته و به C# اجازه اشباع بازار را دادهاند. مایکروسافت F# را ضعیفتر از C# ساخته است.
یک چرخه همیشگی در این رابطه وجود دارد، شغلهای بسیاری کمی برای F# وجود دارد چون تعداد کمی برنامهنویس F# وجود دارد، و تعداد پایین برنامهنویسان F# به دلیل کم بودن فرصتهای شغلی برای این زبان است. اما این روند با حرکت خزندهای شروع به تغییر کرده است.
Jet.com اولین شرکت بزرگ بود که شروع به استفاده از F# کرد. با گذر زمان، شرکت Kaggle، و بسیاری از شرکتهای مالی و بیمهای نیز به این به آن پیوستند.
توسعهدهندگان F# تلاشی برای محبوبتر کردن آن نکردهاند، و با داشتن خصوصیاتی همچون زبان چند الگویی که در هوش مصنوعی بسیار پرکاربرد است، بهترین کار تمرکز بر روی مزایای اصلی F# است، که زمان اجرای کوتاهتر، باگهای کمتر و بهرهوری بیشتر میباشد.
آیا F# واقعا نسبت به C# برتری دارد؟
- F# بسیاری از فعالیتهای معمول در برنامهنویسی را سادهتر میکند. به عنوان نمونه میتوان به ایجاد و استفاده از تعاریف نگارشی پیچیده، پردازش لیست، ماشینهای حالات، برابری و مقایسه و بسیاری از اعمال دیگر اشاره کرد.
- عدم وجود نقطه ویرگول (؛)، آکولاد و چیزهای مشابه با آن. در F# شما تقریبا هیچوقت نیاز به مشخص کردن نوع شیء، به دلیل وجود یک سیستم تشخیص نوع قوی، نخواهید داشت. همچنین تعداد کمتری خط کد برای حل این مشکل نیاز خواهید داشت.
- F# یک زبان کاربردی است، اما از دیگر مدلهایی که کاملا خالص نیستند نیز پشتیبانی میکند، که امکان تعامل با دنیای ناهمگونیها مانند دیتابیسها، وبسایتها و از این دست را آسان تر میسازد. به خصوص، F# به عنوان یک زبان کاربردی در ترکیب با شیء گرا ها طراحی شده است، به همین دلیل هر آنچه C# انجام میدهد را میتواند خود انجام دهد. با این حال، F# به زیبایی با اکوسیستم دات نت ادغام شده که به شما اجازه دسترسی به تمامی ابزارها و کتابخانههای شخص ثالث دات نت را میدهد.
- F# بخشی از مایکروسافت ویژوال استدیو است و به شما اجازه استفاده از یک ادیتور خوب با پشتیبانی IntelliSense، اشکال یاب (دیباگر) و تعداد زیادی پلاگین برای آزمایش یونیت ها، کنترل منبع، و دیگر فعالیتهای مرتبط با برنامه نویسی را میدهد.
منبع : eduonix
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.