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

نام تاپیک: Functional Programming یعنی چی ؟

  1. #1
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    Functional Programming یعنی چی ؟

    سلام
    Functional Programming یعنی چی ؟
    اینکه اینجوری کد بنویسیم یعنی چی ؟
    یعنی چی دیگه آبجکت تعطیل ، باید فانکشنال کد کنیم یا فکر کنیم


    راستی منظورم این نیست که #F چیه ، #F ام مثله بقیه زبونا یه سینتکسی داره که اگه کسی بخواد باید یادش بگیرو استفاده کنه ؛ دونباله محسناتشم نیستم چون واقعاً عالیه

    امیدوارم تونسته باشم دردمو بگم

  2. #2
    کاربر دائمی آواتار m.soleimani
    تاریخ عضویت
    دی 1386
    محل زندگی
    اصفهان
    پست
    639

    نقل قول: Functional Programming یعنی چی ؟

    بسیاری از پرسش‌های شما به صورت کامل یا تا حد کامل توی همین بخش پاسخ داده شده برای مثال:

    https://barnamenevis.org/showthread.p...اسبه-؟؟

    https://barnamenevis.org/showthread.p...-میکند؟

    https://barnamenevis.org/showthread.p...سمت-اول

    https://barnamenevis.org/showthread.p...-F-چیست؟

    https://barnamenevis.org/showthread.p...آموزشی-F

    در کل توی بقیه سایت هم یه جستجو بکنید کلی مطلب پیدا می‌کنید اون‌هایی که مال قبل از این هست که یک بخش جدا به این زبان اختصاص پیدا کنه؛ ولی اگر به زبان انگلیسی آشنایی دارید به دنبال مطالب زبان اصلی بگردید که خیلی کامل‌تر و پله پله توضیح دادن. اگر هم به انگلیسی مسلط نیستید به نظر من از همین الان قید برنامه نویسی رو بزنید و بچسبید به یاد گیری زبان انگلیسی « این‌جوری هم دنیا رو دارید هم آخرت رو » بعد از اون شما به هر زبان برنامه نویسی که اراده کنید می‌تونید مسلط بشید البته « البته به این نکته هم دقت کنید شما پیش نیاز آشنایی با ریاضیات و دروس مرتبط رو نباید فراموش کنید » ولی برای این که واقعن یه برنامه نویس بشید دانستن زبان انگلیسی یکی از ملزومات هست شاد و پیروز باشید./

    پ ن: من همیشه به صورت کلی پاسخ می‌دم که اگر دوستان دیگه هم با این مشکل رو به رو هستن یه سری نتیجه بگیرن برای خودشون و کلی هم پست تکرار توی تاپیک‌ها مختلف زده نشه.

  3. #3
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    نقل قول: Functional Programming یعنی چی ؟

    از اینکه لینکه 4تا تاپیکو کپی پیست کردی ممنوون و باز
    از اینکه یادآوری کردی که زبان انگلیسی برم یاد بگیرم ممنوون

    بنده مشکلی با #F ندارم ، نمیخوامم بدوونم تاریخچش چیه ، من میخوام یه مثال عملی یکی بزنه دوزاریم بیوفته فانکشنال کد کردن یعنی چی
    اگر اینجا سوالمو مطرح کردم برا این بود که جایه دیگه ایی پیدا نکردم تو سایت

  4. #4
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    تا خبری بشه ....

    #F سه تا حسن عمده داره
    1- سادگی سینتکس و به طبع اون کد نویسی (Simplicity)
    2- اقتصادی بودن (Economics)
    3- محاسبات موازی (Parallel)

    به عنوان مثال فرض کنید
    میخوایم یه پابلیک پراپرتی به نام a داشته باشیم که شامل عدد مشخصیه ، بعدشم چاپش کنیم


    //C#‎
    using System;
    namespace ConsoleApplication1
    {
    class Program
    {
    static int a()
    {
    return 2;
    }
    static void Main(string[] args)
    {
    Console.WriteLine(a());
    }
    }
    }



    //F#‎
    open System
    let a = 2
    Console.WriteLine a

    دیگه خبری از نیم اسپیسو ، کلاسو ، تایپ متغیرو یه مشت آکولادو اینا نیست


    راستی این let هم یکی پرکاربردترین دستوورات #F

    مثلاً دوم


    //C#‎
    abstract class Command
    {
    public virtual void Execute();
    }
    abstract class MarsRoverCommand : Command
    {
    protected MarsRover Rover { get; private set; }

    public MarsRoverCommand(MarsRover rover)
    {
    this.Rover = rover;
    }
    }
    class BreakCommand : MarsRoverCommand
    {
    public BreakCommand(MarsRover rover)
    : base(rover)
    {
    }
    public override void Execute()
    {
    Rover.Rotate(-5.0);
    }
    }
    class TurnLeftCommand : MarsRoverCommand
    {
    public TurnLeftCommand(MarsRover rover)
    : base(rover)
    {
    }
    public override void Execute()
    {
    Rover.Rotate(-5.0);
    }
    }



    //F#‎
    type Command = Command of (Rover -> unit)
    let BreakCommand = Command(fun rover -> rover.Accelerate(-1.0))
    let TurnLeftCommand = Command(fun rover -> rover.Rotate(-5.0<degs>))

    مختصر مفید

    راستی کدایه #Fاو تو چی بزاریم که خوشگل نشوون بده ؟
    آخرین ویرایش به وسیله Dariuosh : دوشنبه 21 شهریور 1390 در 00:09 صبح

  5. #5
    کاربر دائمی آواتار cardano7
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    کارتون خواب
    پست
    473

    نقل قول: Functional Programming یعنی چی ؟

    نقل قول نوشته شده توسط m.soleimani مشاهده تاپیک
    بسیاری از پرسش‌های شما به صورت کامل یا تا حد کامل توی همین بخش پاسخ داده شده برای مثال:

    https://barnamenevis.org/showthread.p...اسبه-؟؟

    https://barnamenevis.org/showthread.p...-میکند؟

    https://barnamenevis.org/showthread.p...سمت-اول

    https://barnamenevis.org/showthread.p...-F-چیست؟

    https://barnamenevis.org/showthread.p...آموزشی-F

    در کل توی بقیه سایت هم یه جستجو بکنید کلی مطلب پیدا می‌کنید اون‌هایی که مال قبل از این هست که یک بخش جدا به این زبان اختصاص پیدا کنه؛ ولی اگر به زبان انگلیسی آشنایی دارید به دنبال مطالب زبان اصلی بگردید که خیلی کامل‌تر و پله پله توضیح دادن. اگر هم به انگلیسی مسلط نیستید به نظر من از همین الان قید برنامه نویسی رو بزنید و بچسبید به یاد گیری زبان انگلیسی « این‌جوری هم دنیا رو دارید هم آخرت رو » بعد از اون شما به هر زبان برنامه نویسی که اراده کنید می‌تونید مسلط بشید البته « البته به این نکته هم دقت کنید شما پیش نیاز آشنایی با ریاضیات و دروس مرتبط رو نباید فراموش کنید » ولی برای این که واقعن یه برنامه نویس بشید دانستن زبان انگلیسی یکی از ملزومات هست شاد و پیروز باشید./

    پ ن: من همیشه به صورت کلی پاسخ می‌دم که اگر دوستان دیگه هم با این مشکل رو به رو هستن یه سری نتیجه بگیرن برای خودشون و کلی هم پست تکرار توی تاپیک‌ها مختلف زده نشه.
    راستش خیلی از جواب هایی که نه فقط در این فروم داده می شوند، که حتی در فروم هایی مثل کدپراجکت، دارای یک عیب بسیار بزرگ هستند. منظور من فقط شخص شما نیستید و لطفا از این که نوشته ی شما را نقل قول کردم ناراحت نشوید. ایراد بزرگ این هست که تمامی این جواب ها حاوی جواب هستند اما جواب آن سوال نیستند.
    در خیلی از پست های دیگر هم سوال کننده می پرسد که زبان برنامه نویسی تابعی چیست و در جواب دوستان توضیح می دهند که اف شارپ چیست. می دانیم اف شارپ خیلی قابلیت ها و کاربردها دارد و می دانیم خیلی شرکت ها از اف شارپ استفاده می کنند اما این پاسخ سوال "زبان برنامه نویسی تابعی چیست؟" را نمی دهد.
    تمامی لینک های شما را دیدم و هیچ یک به تنها چیزی که اشاره نمی کند همین است. شاید 5 خط برای توضیح این موضوع کافی باشد اما آنها پارگراف ها(گاه کپی از منابع تکراری) در باره ی تاریخچه و 1000 چیز دیگر در مورد اف شارپ می نویسند الا اینکه زبان برنامه نویسی تابعی چیست. در فروم هایی نظیر کد پراجکت که یوزر ها بی تربیت هم هستند و گاه کار برخی این هست که هر کس هر سوالی پرسید فوری جواب دهند که "google it" غافل از اینکه اگر گوگل جواب سوال را می داد کسی پستی را ایجاد نمی کرد که چنین سوالی را بپرسد. گاهی هم برخی یوزرها عادت دارند که گوگل کنند و لینک اولین نتیجه را به عنوان پاسخ مطرح کنند و بعد سرکوفت بزنند که چرا گوگل نمی کنید. غافل از اینکه خود او اصلا نه سوال را می فهمد و نه جواب را. منظور من شما نیستید اما این لینک ها مرا یاد خاطراتی از کدپراجکت انداخت.
    چند کیلومتری انشاهای این لینک ها را خواندم و آخر سر همچنان برای من یک سوال بافی مانده است، که زیان برنامه نویسی تابعی چیست؟
    یقینا ما نمی خواهیم یک کتاب بخوانیم تا جواب این سوال را دریابیم.
    لطفا اگر کسی می تواند، تنها در چند خط جواب این سوال را بدهد.

  6. #6
    کاربر دائمی آواتار cardano7
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    کارتون خواب
    پست
    473

    نقل قول: Functional Programming یعنی چی ؟

    من در حال خواندن کتاب #Programming F از انتشارات O’Reilly هستم. در فصل سوم کتاب تعریف برنامه نویسی تابعی به این شکل آمده:
    For a language to be considered “functional,” it typically needs to support a few key features:

    • Immutable data
    • Ability to compose functions
    • Functions can be treated as data
    • Lazy evaluation
    • Pattern matching

  7. #7
    کاربر دائمی آواتار Dariuosh
    تاریخ عضویت
    مهر 1386
    محل زندگی
    ایران - تهران
    پست
    448

    نقل قول: Functional Programming یعنی چی ؟

    سلام
    دیدنشوون خالی از لطف نیست

    C9 Lectures: Dr. Don Syme - Introduction to F#‎‎

  8. #8

    نقل قول: Functional Programming یعنی چی ؟

    ببینم اگر Functional خوبه پس چرا اینقدر Windows API که تابع تابعه آدمو زجر میده ؟؟؟

  9. #9

    نقل قول: Functional Programming یعنی چی ؟

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

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

  10. #10

    نقل قول: تا خبری بشه ....

    با سلام و تشکر
    میشه این مثال دوم که زدین هم #c و هم #f کدهاش رو بهم توضیح بدین .ممنون میشم

    //C#‎‎‎
    abstract class Command
    {
    public virtual void Execute();
    }
    abstract class MarsRoverCommand : Command
    {
    protected MarsRover Rover { get; private set; }

    public MarsRoverCommand(MarsRover rover)
    {
    this.Rover = rover;
    }
    }
    class BreakCommand : MarsRoverCommand
    {
    public BreakCommand(MarsRover rover)
    : base(rover)
    {
    }
    public override void Execute()
    {
    Rover.Rotate(-5.0);
    }
    }
    class TurnLeftCommand : MarsRoverCommand
    {
    public TurnLeftCommand(MarsRover rover)
    : base(rover)
    {
    }
    public override void Execute()
    {
    Rover.Rotate(-5.0);
    }
    }


    //F#‎‎‎
    type Command = Command of (Rover -> unit)
    let BreakCommand = Command(fun rover -> rover.Accelerate(-1.0))
    let TurnLeftCommand = Command(fun rover -> rover.Rotate(-5.0<degs>))

  11. #11

    نقل قول: Functional Programming یعنی چی ؟

    یعنی عاشق این ملتم، یارو اومده در مورد functional programming سوال کرده، بعد راجع به F#‎‎‎ حرف میزنید؟ (فقط cardano7 جواب مرتبط داده و بقیه حرف مفت زدید.)

    اما اینکه functional programming چیه؟
    جواب ساده این سوال اینه که function شهروند درجه یک برنامه نویسی میشه. به عبارتی دیگر در یک زبان برنامه نویسی FP شما قدرت کار بیشتری برای سر و کله زدن با function ها دارید(حتی از قدرت عمل شما در جاهایی کاسته میشود تا بتواند با function ها بهتر و قوی تر کار کنید.)

    مثالهایی از مفهوم "شهروند درجه یک بودن function"

    دو قابلیت زیر که قابلیتی هستند که معمولاً فقط در زبانهای functional یافت میشوند:

    1 - یکی از کارهایی که میتونید در زبان FP بکنید اینه با function به صورت داده رفتار کنید(مثلاً به عنوان ورودی و یا خروجی method ها یک function را رد و بدل کنید.) (این قابلیت در F#‎‎‎ و C#‎‎‎ هر دو وجود دارد)
    2 - یکی دیگه از قابلیتهای زبانهای functional اینه که میتونید function را به صورت جزئی فراخوانی کنید و یک function دیگر در خروجی بگیرید. (مثلاً اگر تابع X دو پارامتر a و b دارد در زبانی مانند Java تنها حالتی که میتونید این تابع را صدا بزنید این است که هر دو پارامتر a و b را مقدار دهی کنید. اما در یک زبان functional مانند F#‎‎‎ شما میتوانید فقط مقدار پارامتر a را بدهید و چون هنوز مقدار b را مشخص نکرده اید در خروجی یک تابع میگیرید که یک پارامتر b دارد و اگر آن را صدا بزنید مانند این است که تابع X را صدا زده اید.) - این قابلیت در F#‎‎‎ وجود دارد و در JavaScript به نوعی قابل انجام است.

    مثال از محدودیت زبان functional در راستای پشتیبانی بهتر از مفهموم "شهروند درجه یک بودن function"
    معمولاً زبانهای functional دارای این محدودیت هستند که مفهومی با نام متغیر ندارند(آره منظورم variable است) چون در این زبانها ماهیت function بیشتر به تعریف ریاضی آن نزدیک است. در این زبانها function دارای side effect نیست بلکه فقط و فقط دارای ورودی و خروجی است و در بدنه آن فقط محاسبات صورت میگیرد و نه عملیات. محاسبات هم به صورت اجرای توابع و عملگرهای مختلف بر روی ورودی و تولید مقادیر موقت داخلی و انجام مکرر توابع عملگرها و توابع بر روی مقادیر موقت داخلی و در نهایت تولید مقدار خروجی پیش میرود.


    اینها نمونه ای از مفاهیمی بود که امیدوارم کمک کند تا تصویری از تفارت زبانها functional و سایر زبانها داشته باشی. البته چون این مفاهیم کمی سخت هستند(حتی برای خودم) و من هم خودم خیلی مسلط نیستم، این جواب من جامع و کامل نیست و فقط به امید اینکه ایده ای ارائه کرده باشم این رو نوشتم.

    در ضمن "object تعطیل" لفظ درستی نیست. اگر منظورتون اینه که object مطرح نیست، باید بگم به طور مثال در زبانی مثل F#‎‎‎ چون چندپارادایم هست(multi paradigm) همچنان هم object oriented programming قابل انجامه و هم functional programming. ولی در زبانهای pure functional به طور کلی خبری از مفهوم object نیست.
    آخرین ویرایش به وسیله govaleshgar2 : چهارشنبه 27 دی 1391 در 04:21 صبح

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

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