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

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

  1. #1
    کاربر دائمی آواتار NIK
    تاریخ عضویت
    خرداد 1389
    سن
    39
    پست
    293

    F#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    سلام

    در
    https://barnamenevis.org/showthread.php?t=230433
    خواندیم:

    همانطور که خالق این زبان در مصاحبه هاش گفته ، قرار نیست این زبان جایگزین وی بی یا سی شارپ بشود. در واقع هنوز هم برای برنامه های تجاری[4] و GUI و برنامه های تحت وب و ... زبان های فعلی مناسب ترند (نه این که F#‎ قادر به انجام این کارها نباشد)
    موارد کاربرد F#‎ :

    • برنامه هایی که قرار است به صورت موازی روی چند هسته (یا سی پی یو) اجرا شوند
    • برنامه هایی که با حجم وسیعی از داده ها سر و کار دارند (data analysis)
    • برنامه های محاسباتی و ریاضی و آماری و ...
    از دوستانی که به اف شارپ تسلط دارن میپرسم :
    در چه مواردی از اف شارپ استفاده میکنید؟
    آیا ارزشش رو داره که واسه یادگیری روش وقت بذارم؟

    به طور کلی، با توجه به تجربه شخصی خودتان،از اف شارپ واسه انجام چه پروژه هایی استفاده میکنید؟

  2. #2

    نقل قول: F#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    من قبلا به این سوال در اینجا جواب دادم:
    http://stackoverflow.com/questions/5...ou-using-f-for
    ببین #F هم یک زبان دیگر تحت دات نت هست که به تو اجازه میده مثل دیگر زبان های تحت دات نت (وی بی ، سی شارپ ، ...) از امکانات فریم ورک استفاده کنی. یعنی می تونی Web App ، ویندوز فرم ، برنامۀ کنسول ... باهاش ایجاد کنی. اما #F به خاطر برخوردار بودن از ویژگی های زبان های تابعی ، برنامه نویس رو قادر می کنه یک سری مسائل رو راحت تر و سریع تر حل کنه.
    همونطور که می دونید #F محیط طراحی گرافیکی (RAD IDE) برای ایجاد برنامه های تحت ویندوز نداره؛ علتش هم اینه که قرار نیست با ایجاد یک زبان جدید، دانش قبلی رو فراموش یا ترک کرده و هجوم بیارید به سمت این زبان. هنوز هم مایکروسافت (و خیلی از برنامه نویسا از جمله بنده) سی شارپ و وی بی رو بهترین زبان های تحت دات نت برای ایجاد برنامه های Line Of Business می دونن و استفاده از #F در جاهایی مثل محاسبات آنالیزی بر روی مقدار زیادی از داده ها ، توجیه پذیره.
    جاهایی که استفاده از #F نسبت به زبان های موجود برتری داره (کم تر بودن حجم کد ، سریع تر شدن زمان توسعه):
    ایجاد DSL (زبان های کوچک با منظور خاص)
    انجام محاسبات آنالیزی و ریاضی بر روی حجم زیادی از داده ها
    برنامه نویسی موازی
    برنامه نویسی مالی (عدۀ زیادی از مشتری های زبان های تابعی ، بانک های بزرگ دنیا هستند)
    ...
    این لیست (و لیست های مشابه) به این معنا نیست که تو نمی تونی برنامه های Win Forms یا WPF یا وب بنویسی ،بلکه میگه در اون زمینه ها مزیت بیشتری نسبت به C#‎ و VB حاصل نمیشه ، و جاهای دیگری هست که #F قدرت خودش رو نشون میده.
    این هم بعضی از شرکت های معروفی که از #F استفاده می کنن:
    1- Flying Frog Consultancy در لندن ، مشاورۀ نرم افزاری و ارائۀ راه حل های نرم افزاری با استفاده از OCaml و #F (دکتر Jon Harrop موسس این شرکت تک نفره!، نویسندۀ کتاب های F#‎ For Scientists و F#‎ for Technical Computing هست و نیز محصولاتی به صورت کتابخونه برای #F می فروشه که لیستش رو اینجا می تونید ببینید: http://www.ffconsultancy.com/products/index.html
    در ضمن اولین و تنها مجلۀ #F به نام F#‎ Journal هم متعلق به ایشونه)
    2- Intellifactory که ابتدا در بوداپست مجارستان تاسیس و بعد ها دفاتری در لندن ، پاریس و کالیفرنیا تاسیس کرد ، علاوه بر برگزاری دوره های آموزشی #F و انجام مشاوره ، محصولی به نام WebSharper داره که در واقع یک F#‎ to JavaScript Compiler هست و یک فریم ورک کامل برای ایجاد برنامه های تحت وب محسوب میشه.(قبلا اینجا معرفی کرده بودم: https://barnamenevis.org/showpo...77&postcount=5 )
    http://www.intellifactory.com/
    3- موسسه مالی Credit Suisse
    4- موسسۀ DOE Joint Genome Institute از #F برای انجام محاسبات استفاده می کنه
    5- DataSynapse
    و خیلی شرکت های دیگری که ممکنه مثل شرکت های فوق ، به صورت علنی اعلام نکرده باشن که از چه فن آوری هایی استفاده می کنند.
    در ضمن #F ویژگی هایی داره که در هیچ زبان تحت دات نت (و یا بعضا در هیچ زبانی) وجود نداره:
    Async Workflows
    Units of Measure
    Built-in tuple and list
    Computation Expressions
    Quotations
    REPL
    ….
    (در مورد این ویژگی ها بعد ها به تفصیل بحث خواهم کرد)
    در مورد ارزش داشتن: مسلما داره؛ نه فقط اف شارپ ، بلکه یادگیری هر زبانی ،در نگرشت به برنامه نویسی موثره (حتی اگه ازش به طور روزمره استفاده نکنی). مرحوم فقید Dave Thomas (رضی الله عنه) می فرمایند هر سال یک زبان جدید یاد بگیرید؛ فکر کنم با توجه به اقبال عمومی نسبت به برنامه نویسی موازی و نیز تابعی ، و رلیز شدن نسخۀ نهایی و stable اف شارپ ، امسال سال یادگیری اف شارپ باشه
    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#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    یعنی اف شارپ به درد نرم افزارهای حسابداری هم میخورد؟؟
    به درد که می خوره ؛ اما منظور من از اون جمله ، بیشتر محاسبات بر روی تراکنش های مالی در مقیاس های بزرگ و آنالیز داده ها و data mining و ... بود که ظاهرا در دنیای واقعی ، بیشتر به درد موسسات مالی می خوره
    (مثلا Jane Street از زبان OCaml که شباهتی با #F داره استفاده می کنه. در این ویدئو توضیح میدن که چطور و در کجا ها از OCaml استفاده می کنن: http://ocaml.janestreet.com/?q=node/61)
    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#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    ممنون
    راستی یک سوال دیگر، رابطه اف شارپ با سی پلاس چطور است؟ آیا کاملاً ناسازگار هستند؟؟

  6. #6

    نقل قول: F#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    راستی یک سوال دیگر، رابطه اف شارپ با سی پلاس چطور است؟ آیا کاملاً ناسازگار هستند؟؟
    این سوال ، نامفهوم و نامرتبط به تاپیکه؛ #F روی فریم ورک دات نت اجرا میشه (اگه منظورت استفاده از DLL های native یا COM هست ، هیچ تفاوتی بین #F و #C وجود نداره . البته #F پوینتر های unmanaged مثل سی شارپ نداره)
    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

  7. #7

    نقل قول: 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

  8. #8

    نقل قول: F#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    اولین کتابی که در مورد اف شارپ منتشر شد (Foundations of F#‎) در صفحه سومش چند مثال جالب در این مورد زده :
    http://books.google.com/books?id=n1D...page&q&f=false
    متن کامل و بدون نقص در لینک فوق قابل دسترس هست ولی به طور خلاصه دو مثال زیر از لینک بالا رو اینجا می نویسم:
    اول از همه از Ralf Herbrich یکی از مدیران گروه بازی‌های بخش تحقیقات شرکت مایکروسافت در این مورد سوال میشه و بخشی از جوابش این هست:
    "اولین تجربه‌ی کاربردی، نرم‌افزاری برای انتقال 110 گیگابایت داده‌ی ثبت شده به بانک اطلاعاتی SQL بود. این مقدار داده در 11.000 فایل متنی که در 300 پوشه‌ قرار داشتند ذخیره شده بود. کل نرم‌افزار تنها 90 خط کد بود (با احتساب توضیحات افزوده شده!) و عمل انتقال داده‌ها در کمتر از 18 ساعت به پایان رسید. این زمان نشان‌دهنده‌ی آن است که به طور میانگین در هر ثانیه 10.000 خط داده‌ی ثبت شده در فایل‌ها مورد پردازش قرار گرفته است. چنین نتیجه‌ای در زمانی که کد نوشته شده بهینه‌سازی نشده بود بسیار شگفت‌انگیز بود. من توقع داشتم برای نوشتن نرم‌افزار و پردازش فایل‌ها و دریافت نتیجه‌ی مطلوب نزدیک به یک هفته وقت صرف کنم!"

    در ادامه مثال دیگه ای رو میزنه که در اون برنامه ای در 100 خط کد با اف شارپ نوشته شد که معادل آن در سی شارپ نزدیک 1000 خط کد میشد. این برنامه پردازش سنگینی (خواندن اطلاعات از دیتابیس SQL و درج نتایج در فایل های اطلاعاتی MATLAB) رو تنها در 10 دقیقه انجام داد!

  9. #9

    نقل قول: F#‎ برای انجام چه پروژه هایی مناسبه ؟؟

    اول از همه از Ralf Herbrich یکی از مدیران گروه بازی‌های بخش تحقیقات شرکت مایکروسافت در این مورد سوال میشه و بخشی از جوابش این هست:
    "اولین تجربه‌ی کاربردی، نرم‌افزاری برای انتقال 110 گیگابایت داده‌ی ثبت شده به بانک اطلاعاتی SQL بود. این مقدار داده در 11.000 فایل متنی که در 300 پوشه‌ قرار داشتند ذخیره شده بود. کل نرم‌افزار تنها 90 خط کد بود (با احتساب توضیحات افزوده شده!) و عمل انتقال داده‌ها در کمتر از 18 ساعت به پایان رسید. این زمان نشان‌دهنده‌ی آن است که به طور میانگین در هر ثانیه 10.000 خط داده‌ی ثبت شده در فایل‌ها مورد پردازش قرار گرفته است. چنین نتیجه‌ای در زمانی که کد نوشته شده بهینه‌سازی نشده بود بسیار شگفت‌انگیز بود. من توقع داشتم برای نوشتن نرم‌افزار و پردازش فایل‌ها و دریافت نتیجه‌ی مطلوب نزدیک به یک هفته وقت صرف کنم!"
    لینک سومی که در پست https://barnamenevis.org/showpo...95&postcount=7 دادم ، جزییات این پروژه (مطالب پایه ای و اسلاید ها) و نیز نمونه ای از پیاده سازی رو همراه با سورس ارائه کرده.
    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

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

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