تبلیغات
فناوری اطلاعات وارتباطات - كی #F را شروع می‌كنید؟
دوشنبه 17 آبان 1389

كی #F را شروع می‌كنید؟

   نوشته شده توسط: امل جاشکی    

اشاره:
امروزه از هر کسی بپرسیم با چه زبانی برنامه‌نویسی‌ می‌کند به استثنای برنامه‌نویس‌های حرفه‌ای خاص، بیشتر آن‌ها می‌گویند: #C، VB، Delphi و در نهایت++C. كمتر اتفاق می‌افتد برنامه‌نویس حرفه‌ای پیدا كنیم كه حتی تمایل به یادگیری زبان جدیدی داشته باشد، زیرا نیازی به این كار نمی‌بیند. اغلب برنامه‌نویس‌ها هنوز نسخه پیشین نرم‌افزاری را کاملاً فرا نگرفته، نسخه جدید آن را نصب كرده و از چند قابلیت آن استفاده می‌کنند
زبان برنامه نویسی-مایکروسافت-#-languagemicrosoft-f

امروزه از هر کسی بپرسیم با چه زبانی برنامه‌نویسی‌ می‌کند به استثنای برنامه‌نویس‌های حرفه‌ای خاص، بیشتر آن‌ها می‌گویند: C، VB، Delphi و در نهایت++C.

كمتر اتفاق می‌افتد برنامه‌نویس حرفه‌ای پیدا كنیم كه حتی تمایل به یادگیری زبان جدیدی داشته باشد، زیرا نیازی به این كار نمی‌بیند. اغلب برنامه‌نویس‌ها هنوز نسخه پیشین نرم‌افزاری را کاملاً فرا نگرفته، نسخه جدید آن را نصب كرده و از چند قابلیت آن استفاده می‌کنند، اما به دلیل این‌که ممکن است هیچ‌گاه به قابلیت‌های دیگر نیاز نداشته باشند به سراغ آن نیز نمی‌روند.

به عنوان مثال، در Visual Studio 2010 که به تازگی از طرف مایکروسافت به بازار آمده صدها قابلیت شگفت انگیز وجود دارد، اما ممکن است فقط به اندازه انگشتان دست از قابلیت‌های این نسخه جدید استفاده کنیم. یکی از قابلیت‌ها و زبان‌هایی که به‌صورت رسمی وآن هم پس از حدود پنج سال تحقیق و بررسی توسط دانشگاه‌های معتبر جهان مانند کمبریج و تیم تحقیقاتی مایکروسافت توسط این شرکت عرضه شد، زبان# F است. زبانی که تاریخچه آن شاید به حدود چهل سال قبل برمی‌گردد، یعنی زمانی که زبان ML توسط رابین میلنر توسعه داده‌شد. طراحی این زبان به‌صورت Functional در دات نت انجام شده و زبانی Type Safe است که قابلیت‌های برنامه‌نویسی Data Oriented، پردازش‌موازی ورودی و خروجی، پردازش‌های موازی در سطح پردازشگر، اسکریپت و توسعه الگوریتم را در‌بر‌دارد. این زبان برای prototype کردن به وفور استفاده‌ می‌شود، زیرا به برنامه‌نویس اجازه‌ می‌دهد بدون این‌که کل پروژه را کامپایل کند تنها قسمتی از نرم‌افزار را اجرا و اشکال‌یابی كند و‌ می‌توان با استفاده از این زبان، FP (سرنام Functional Programming) را به آسانی انجام داد.

FP در واقع سعی در تبدیل عملیات‌های برنامه به عملیات‌های ریاضی دارد، به نحوی که بتوان مانند یک فرمول ریاضی با دادن چندین مقدار یک خروجی مشخص را استخراج کرد. این زبان به شما این قابلیت را می‌دهد تا تایپ مورد نظر را انتخاب کنید كه این امر‌ می‌تواند مانع استفاده از مقادیر NULL شود و در نهایت برخلاف زبان‌هایی مانند #C یا VB.NET در این زبان دیگر با Null Pointer Exception در زمان کامپایل کد روبه‌رو نخواهید شد. یکی دیگر از امتیازاتی که این زبان دارد این است که فرمول‌نویسی در این زبان آسان است. دیگر نیازی نیست که به حرف کامپیوتر در نوشتن فرمول گوش کنید. به آسانی می‌توانید فرمول‌های ریاضی خود را در این زبان نوشته و اجرا کنید. همچنین، اگر هنوز دوست دارید می‌توانید با استفاده از زبان‌های دیگری که به آن‌ها تسلط بیشتری دارید‌ این کار را انجام دهید و به عنوان مثال، در کدهای خود از زبان #C هم استفاده کنید كه با این کار‌ می‌توانید از مزایای هر دو زبان برنامه‌نویسی بهره بگیرید.


نکته جالبی که نظر مرا به این زبان بیشتر جلب کرد، این بود که با استفاده از این زبان‌ می‌توان پروژه‌های داده‌کاوی یا DM (سرنام Data Mining) را قوی‌تر از قبل انجام داد. محیط‌های برنامه‌نویسی تجاری در DM را‌ می‌توان به سه گروه عمده SAS و MATLABو SPSS تقسیم‌ کرد. SAS زبانی ماکرویی است و‌ می‌تواند از GUI نیز پشتیبانی کند، اما SPSS از GUI بهتری استفاده‌ می‌کند که از SAS قوی‌تر است. Matlab که به عنوان غول DM در محیط‌های تجاری شناخته شده از SAS و SPSS قوی‌تر به نظر‌ می‌رسد، اما هر کدام از این سیستم‌ها قابلیت‌های خوبی دارند که در DM استفاده‌ می‌شود. اما نکته جالب توجه اینجا است که با استفاده از توابع کتابخانه‌ای#F‌، خودمان می‌توانیم نرم‌افزارهای ساده DM بسازیم. قابلیت‌هایی که این زبان را به زبان متمایزی نسبت‌به سایر زبان‌ها برای استفاده در DM‌ تبدیل می‌كند، عبارتند از: قابلیت پشتیبانی از دیتاست‌های Dense  و Sparce و پشتیبانی از فرمت‌های اطلاعاتی مختلف حتی جدول‌های اکسل و SVM.


در #F برخی از الگوریتم‌های معروف DM از قبیل Classificatin، Regression، Clustring، Dimention Redution و MISC پیاده‌سازی شده است. همچنین توابع کتابخانه‌ای قدرتمندی برای پردازش موازی و حتی موازی‌سازی در سطح الگوریتم نیز در این زبان وجود دارد. به عنوان مثال، K-Means Clustering و به‌صورت پیش فرض DM در زبان #F به صورت موازی انجام‌ می‌پذیرد یا Clustering  و Classification‌ می‌توانند به صورت‌موازی در سیستم انجام شوند که این امر به سرعت اجرای درخواست‌ها در DM کمک خواهد کرد.


در #F چندین الگوی طراحی DM وجود دارد که‌ می‌توان با استفاده از آن طراحی راه حل‌های DM را انجام داد. همچنین همان‌گونه که مشخص است در DM، نقش استفاده از فرمول‌های ریاضی در الگوریتم‌ها بسیار مشهود است و این کار از عهده #F که توابع کتابخانه‌ای قدرتمندی در ریاضی دارد، بر‌ می‌آید.


علاوه بر قابلیت‌هایی که در بالا به آن اشاره شد، قابلیت اجرای #F در محیط دات‌نت به ما اجازه استفاده از هزاران قابلیت و تابع کتابخانه‌ای چه با این زبان و چه با زبان‌های دیگر دات را خواهد داد که خود امتیاز ویژه‌ای محسوب می‌شود. پس اگر خواستید این بار VS 2010 را روی سیستم خود نصب کنید گزینه نصب #F را انتخاب کنید تا با این قابلیت‌ها از نزدیک آشنا شوید.


برچسب ها: زبان برنامه نویسی-مایکروسافت-#-languagemicrosoft-f ، مقاله ،