امروزه از هر کسی بپرسیم با چه زبانی برنامهنویسی ميکند به استثنای برنامهنویسهای حرفهای خاص، بيشتر آنها میگویند: 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 را انتخاب کنید تا با این قابلیتها از نزدیک آشنا شوید.
امين صفائي
كي #F را شروع ميكنيد؟
در اين بخش ميتوانيد در مباحث مربوط ديگر زبانهاي برنامه نويسي به بحث بپردازيد
مدیران انجمن: Azadi.Isatis, abbas.m.k, athlon64x2, شوراي نظارت
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها
