نمایش نتایج 1 تا 12 از 12

نام تاپیک: زبان برنامه نویسی F#‎ چیست؟

  1. #1
    کاربر دائمی آواتار ricky22
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    شیراز
    پست
    1,591

    Smile زبان برنامه نویسی F#‎ چیست؟

    زبان برنامه نویسی تابعی بهترین روش حل مسایل کامپیوتریست اما زبان برنامه نویسی تابعی خالص برای برنامه نویسی همه منظوره مناسب نمیباشد بنابراین به تدریج زبانهای برنامه نویسی تابعی در کنار زبانهای شی گرا و دستوری باقی مانده و استفاده عمومی نیافتند. مچنین در این مدل ویژگیهای افزوده شده را به راحتی میتوان در هر برنامه ای نوشت و به راحتی به آن افزود. F#‎ یک زبان طبیعی به وجود آمده بر این مبناست بعلاوه بسیار بیشتر از یک زبان برنامه نویسی تابعی میباشد. برخی از زبانهای برنامه نویسی تابعی معروف بطور کلی (OCAML , Haskel , Lisp) با دستورات زمان اجرای سفارشی کار میکند و این مسئله باعث نبود روش برنامه نویسی چند فعالیته میشود.
    F#‎ یک زبان همه منظوره برای محیط .Net است که برای حالت اجرا بصورت همه منظوره به کار میرود و به راحتیهر سه مدل برنامه نویسی را شامل میشود. برای حل مسایل مختلف در موثرترین روش میتوانید محیط خاص آنرا در برنامه انتخاب کنید. شما میتوانیداز برنامه نویسی توصیفی استفاده کنید و یا توابع را به راحتی با هم ترکیب کنید و یا روشهای شی گرا و دستوری را در همان برنامه استفاده کنید و از قابلیتهای مختلف هر کدام در برنامه سود ببرید. مثل دیگر برنامه های تابعی F#‎ نوع قوی دارد اما از نوع استنتاجی هم سود میبرد بنابراین برنامه نویسان نیاز ندارند زمان زیادی برای توضیح انواع توابع هدر دهند مگر اینکه در موارد خاص ابهاماتی دربرنامه پیش بیاید که لزوم داشته باشد به وضوح بیان شود.علاوه بر این F#‎ بصورت کاملی با چهارچوب .Net و کتابخانه کلاس اصلی آن یعنی BCL ترکیب شده و به راحتی میتوان از آن در F#‎ استفاده کرد و این مسئله مانند C#‎‎ و VB میباشد و حتی در مواردی استفاده از BCL در F#‎ از دیگر زبانهای تحت .Net راحت تر است.

    F#‎ مدل خود را از روی OCAML انتخاب کد که زبان برنامه نویسی تابعی شی گرای موفقی بود سپس با گسترش قابلیتها خوب این برنامه آنها را از نظر فنی و فلسفه کار داخل غالب .Net گنجاند. این زبان کاملا از غالب .Net پشتیبانی کرده و به کاربران این امکان را میدهد که هر چیزی که در محیط .Net ارائه شده است با F#‎ استفاده کنند. کامپایلر F#‎ میتواند تمام پیاده سازیهای زیر ساختار زبانهای معمول را بپذیرد و از روشهای معمول .Net بدون تغییر کد استفاده کند. همچنین میتواند برای کد نویسی IL به صورت برچسب دار استفاده شود.

    F#‎ محدود به محیط ویندوز نبوده و میتوان آنرا در لینوکس ، مکینتاش و... استفاده کرد که بخشی از کتاب مورد ترجمه به نحوه عملکرد روی لینوکس میپردازد.کامپایلر F#‎ را میتوان داخل محیط Virtual Studio افزود و با عیب یاب آن به چک کردن دستورات به صورت اتوماتیک پرداخت. همچنین این کامپالر راهنمایی هایی برای استفاده از تمامی توابع عرضه میکند که در نوع خود بینظیر است و برنامه نویسان اشاره میکنند که این مسئله بسیار برای شبیه کردن برنامه به زندگی واقعی موثر است.

    F#‎ توسط دکتر دون سیم ابداع شد. در حال حاضرمحصولیست وابسته به تیمی کوچک اما کاملا پیشرفته واقع در مرکز تحقیقات مایکروسافت - کمبریج - لندن - انگلستان با این حال F#‎ در حد یک زبان آکادمیک یا تحقیقاتی نیست و برای خیلی از برنامه های دنیای واقعی (که تعداد آنها به شدت در حال افزایش است) به کار میرود. با توجه به اینکه زبان تابعی دیگری به ندرت در محیط .Net اجرا میشوند F#‎ بعنوان استاندارد این نوع زبانها در آمده است. زبانهای برنامه نویسی تابعی در این میان از F#‎ تبعیت میکنند زیرا این زبان کیفیت پیاده سازی و اشتراک با .Net و Virtual Studio را بسیار بهتر در خود دارد. هیچ برنامه برنامه نویسی .Net دیگری از لحاظ کارکرد ، استفاده و انعطاف پذیری به پای F#‎ نمیرسد.

    درباره نویسنده و نوشتن کتاب F#‎

    در سال 2003 دنبال راهی برای پردازش IL که زبان میانی مورد نیاز برای کامپایل تمام زبانهای .Net میشد میگشتم. در آن زمان .Net تقریبا جدید بود و گزینه های زیادی برای این عمل وجود نداشت. من به سرعت دریافتم که بهترین گزینه در آن زمان یا حتی امروزه API به نام ABSIL است که به زبانی ه نام F#‎ نوشته شده بود و من تصمیم گرفتم از این زبان برای نوشتن برنامه ای برای دسته بندی ABSIL استفاده کنم. بنابراین من از این طریق میتوانستم اطلاعات مورد نیاز را از DLL ها به شکل مورد استفاده تراز C#‎‎ استفاده کنم. اما چیز جالبی در زمان نوشتن این دسته بندی اتفاق افتاد. با وجو اینکه در آن زمانها برنامه نویسی به زبان F#‎ به دلیل نبودن کامپایلر مناسب مشکل بود فهمیدم که از برنامه نویسی به این زبان آنقدر لذت میبرم که وقتی نوشتن برنامه ام را تام کردم نمیخواستم به C#‎‎ برگردم. یعنی در حقیقت عاشق این زبان شده بودم. زمانی که من به عنوان مشاور کار میکردم نیاز به چک کردن مدام تکنولوژی های جدید و API های آنها داشتم بنابرین تمام تجربیاتم را با F#‎ انجام میدادم. درهمان زمان افرادی در باره راه جدیدی برای ارتباط با وب بحث میکردند و لغت جدیدی که وارد زبان انگلیسی شده بود Blog بود. من تصمیم گرفتم که یک وبلاگ داشته باشم چون هرکسی که در مقوله فن آوری درگیر بود یکی از آنها را داشت بنابراین من وبلاگ خودم را راه اندازی کردم که امروزه هم هنوز فعال است. آنگاه یک دایره المعارف درباره F#‎ به وبلاگم افزودم که در حال حاضربسیار محبوب است و از شیوه wiki در آن استفاده کرده ام. کار من لزوما با مسافرت های زیادی همراه بود بذا زمان زیادی را در اطاقهای هتل یا ترنها یا هواپیماها داشتم. در این زمانها میتوانستم به راحتی به مسایلی مانند F#‎ بپردازم. من به مبادله ایمیلهایی با دون سیم(ابداعگر F#‎) پرداختم و سپس به تدریج با هم ملاقاتهایی داشتیم. ابتدا به جایی برای صرف نوشیدنی رفتیم و اولین بخش ساختار DNA را با هم وجود آوردیم یعنی در حقیقت کار خود را با یکدیگر آغاز کردیم. آیا سالها بعد افرادی درباره باری(Bar) که اولین بار سیم و پیکرینگ(نویسندگان کتاب) با هم ملاقات کردند چیزی خواهند گفت ؟شاید نه! در هر حال تمام این مسائل مرا به نقطه ای هدایت کرد که من میتوانم آنرادریافت اطلاعات جدید زبان F#‎ و برنامه نویسی تابعی بدانم. در این زمان فردی به نام جیم هادلستون یک لیست پستی F#‎ به راه انداخت و پرسید که آیا کسی میتواند کتابی درباره این زبان بنویسد یا نه ؟. و من نتوانستم جلوی خودم را بگیرم و این کار به نظرم موقعیت شغلی خوبی آمد بنابراین با کمکها و تشویقهای دون سیم نوشتن این کتاب را آغاز کردم. قسمتی از این کتاب در پاریس نوشته شد و برخی از آنها در بروکسل ولی بیشتر آن زمانی نوشته شد که بین این دو شهر رفت و آمد میکردم.


    چه کسانی از F#‎ استفاده میکنند ؟

    F#‎ در شرکت مایکروسافت به وفور مورد استفاده است هم در MSR و هم در کل شرکت. رالف هربریش که یکی از مدیران دوگانه گروه بازی های مایکروافت و متخصص آموزش ماشینیست به استفاده فزاینده از F#‎ اشاره میکند :
    "اولین برنامه کاربردی برای فرستادن 110 گیگابایت از طریق 11.000 فایل
    متنی در بیش از 300 دایرکتوری و وارد کردن آنها در بانک داده ای بود. کل
    برنامه 90 خط بود که شامل توضیحات نیز میشد و در کمتر از 18 ساعت
    توانست اطلاعات مربوطه را در محیط SQL بگنجاند یعنی 10.000 خط
    برنامه متنی در هر ثانیه مورد پردازش قرار گرفت. همچنین توجه کنید که من
    کد را بهینه نکردم بلکه برنامه را بصورت کاملا عادی نوشتم. این جواب بسیار
    قابل توجه بود زیرا من انتظار داشتم نوشتن و اجرای برنامه حداقل یک هفته
    کار ببرد. دومین برنامه ، برنامه پردازش میلیونها Feedback مشتریان بود،
    ما روابط مدلی زیادی را توسعه دادیم ومن آنها را داخل برنامه F#‎ تایپ کردم
    همچنین داده های مربوط به پایگاه داده ای SQL را داخل آن فراخوانی کردم و
    نتایج را در فایل داده ای MatLab ذخیره کردم. مقدار این برنامه در F#‎ صد
    خط بود که توضیحات را نیز شامل میشد. باز هم با اجرای این برنامه من تحت
    تاثیر قرار گرفتم زیرا پردازش میلیونها مورد دادها 10 دقیقه و در یک کامپیوتر
    عادی زمان برد.این برنامه را با C#‎‎از فعالیتهای قبلی ام داشتم که حدود 1000
    خط طول داشت واصلا سریعتر ازاین برنامه نبود.کل کار از توسعه مدل روابط
    با اجرا و دیدن نتایج دو روز زمان برد."

    استفده از F#‎ تنها در مایکروسافت رایج نیست و در خارج از آن نیز کاربردهایی دارد و یه سرعت در حال افزایش است. جود او کلی ، برنامه نویس شرکت Derivative One که یک شرکت تولید نرم افزارهای شبیه ساز مالی میباشد در جواب به این سوال که چرا این شرکت از F#‎ در محصولاتش استفاده میکند ؟ میگوید :

    "ما مدلهای مالی خود را در C#‎‎ و F#‎ مورد مقایسه قرار دادیم و مشاهده کردیم
    که عملکرد یکسان است اما از F#‎ بیشتر خوشمان آمد زیرا روش خلاصه تری
    دارد. یکی از مشکلات ما با F#‎ نبود اطلاعات در مورد این زبان بود وبه نظر
    ما کتابی که هم اکنون توسط دون سیم برای آموزش F#‎ ارائه شده میتواند کمک
    خوبی در این مورد باشد."

    تنها کتاب موجود

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

  2. #2

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    یک ترجمۀ پر غلط و ناقص از مقدمۀ #Foundations of F که یک کتاب قدیمی هست (و مسلما فقط در زمان چاپش تنها کتاب اف اشارپ بوده)
    ظاهرا نویسنده فقط ترجمۀ زبانی کرده و هیچی از اف شارپ نمی دونسته
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  3. #3

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    ولی من چند خط را که خواندم برایم جالب بود!!!
    شما اگر توضیحات بهتری دارید حتما بگذارید تا اطلاعات بیشتری درباره این زبان نسبتا نو ظهور به دست آوریم.
    با سپاس...
    دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان

    هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
    واحد فاصله «متر» نیست، «اشتیاق» است. اگر مشتاقش باشی حتی يک قدم هم فاصله ای دور است.

  4. #4

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    بنده هم در این تالار و نیز در تالار های دیگه (قبلا که این تالار اف شارپ موجود نبود) و نیز مجلۀ برنامه نویس در مورد ویژگی های این زبان صحبت کردم و می کنم. در مورد این ترجمه می تونید به منبع اصلی (خود کتاب) مراجعه کرده و متن اصلی رو با ترجمه مقایسه کنید.
    در ضمن اگر در مورد ویژگی های خاصی از زبان سوالی دارید ، در این بخش مطرح کنید تا جواب داده بشه
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  5. #5

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    کسی که C++‎ بلده ولی C#‎ نخونده میتونه(درسته) که مستقیم F#‎ یاد بگیره اصلا بدرد میخوره

  6. #6

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    C#‎ یا C++‎ بلد بودم یا نبودن ربطی به F#‎ نداره( البته تا انجایی که من می دونم)


    F#‎ مدل oo رو از C#‎ گرفته
    Kernel Mode Developer
    RootKitSMM@Yahoo.com

  7. #7

    Smile نقل قول: زبان برنامه نویسی F#‎ چیست؟

    آیا میتوان کلاً بجای آنکه از C#‎‎‎ استفاده کنیم از F#‎ استفاده کنیم.
    یعنی F#‎ همانند C#‎‎‎ در وب و ویندوز و همه جا قابل استفاده می باشد.
    آخرین ویرایش به وسیله arefsoft : سه شنبه 15 تیر 1389 در 19:15 عصر

  8. #8

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    نقل قول نوشته شده توسط arefsoft مشاهده تاپیک
    آیا میتوان کلاً بجای آنکه از C#‎‎‎‎ استفاده کنیم از F#‎ استفاده کنیم.
    یعنی F#‎ همانند C#‎‎‎‎ در وب و ویندوز و همه جا قابل استفاده می باشد.
    بله میشه، ولی دور ریختن دانش و مهارت کسب شده در سی شارپ (یا وی بی) به منظور انجام همون کارهای قبلی در اف شارپ کار عاقلانه ای نیست. بالاخره هر دو تحت دات نت اجرا میشن و اگر قراره از اف شارپ استفاده کنید ، بهتره برای انجام کار هایی باشه که در اون ها مناسب تره (اف شارپ ، دیزاینر گرافیکی برای Windows Forms و ... نداره و زیاد مناسب نوشتن برنامه های LOB نیست. هر زبانی را بهر کاری ساختند)
    We work in the dark, we do what we can, we give what we have.
    Our doubt is our passion and our passion is our task.
    The rest is the madness of art

  9. #9

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    سلام
    با این توضیحات میشه بگید F#‎ برای چه کار هیی ساخته شده؟ فقط نام ببرید بی زحمت
    مثلا
    زبان فورترن برای محاسبات علمی
    زبان جاوا برای برنامه های مستقل از os ,...

  10. #10
    کاربر جدید آواتار Armin.Programming
    تاریخ عضویت
    آبان 1390
    محل زندگی
    اینترنت
    پست
    4

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    سلام به همه دوستان
    من یک سوال دارم
    برای یادگیری این زبان نیازی هست که زبان های دیگه رو یاد گرفت؟

  11. #11

    نقل قول: زبان برنامه نویسی F#‎ چیست؟

    نقل قول نوشته شده توسط Armin.Programming مشاهده تاپیک
    سلام به همه دوستان
    من یک سوال دارم
    برای یادگیری این زبان نیازی هست که زبان های دیگه رو یاد گرفت؟

    سلام
    میدونم که تاریخش گذشته اما جهت اطلاع!
    یه سری فیلم آموزشی در مورد اون زبان در P30learninig.com وجود داره
    یا حق

  12. #12

    نقل قول: زبان برنامه نویسی F#‎‎ چیست؟

    نقل قول: منابع آموزشی #F

    با سلام -کتاب جدید آموزشی اف شارپ با امکانات خیلی زیاد از انتشارات دیباگران منتشر شده است . لینک خرید کتاب هم اینه :
    http://www.mftshop.com/productdetail...type=b&id=7608
    پیشنهاد میکنم امتحان کنید .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •