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

نام تاپیک: معنای کلمات foo & bar در برنامه نویسی

  1. #1
    کاربر تازه وارد آواتار proSPY
    تاریخ عضویت
    فروردین 1387
    پست
    82

    معنای کلمات foo & bar در برنامه نویسی

    سلام
    در کتاب ها کلمات foo و bar زیاد دیده میشه
    کسی میدونه این کلمات یعنی چی و چرا اینقدر زیاد اشتفاده میشه ؟
    با تشکر

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

    نقل قول: foo & bar

    سلام
    من هم زیاد دیدم.
    یک مدت رفتم دنبالش ببینم چیه، دیدم همه سرشون رو انداختند زیر، دور از جون شما مثل گوسفند ازش فقط استفاده می کنند. هیچ کدوم نمی دونند یعنی چی.
    این گوگل هم یک ایرادهای اساسی داره. مثلا می خواهید که ببینید معنی foo و bar چیه، حالا باید چی سرچ کنید مثلا؟ کلی result میاره که مثال کد برنامه نویسی هستند. نه معنی.
    شما به جای foo و bar می تونید از همون A و B یا class1 و class2 استفاده کنید.

  3. #3
    کاربر دائمی آواتار M.YasPro
    تاریخ عضویت
    آبان 1386
    محل زندگی
    Kernel
    پست
    1,171

    نقل قول: foo & bar

    سلام
    منشا این کلمات بطور دقیق شناخته شده نیست . این کلمه شاید از کلمه نظامی FUBAR بدست اومده باشه .
    بر اساس نظریه بالا FOO مخفف Forward Observation Officer به معنی یک افسر خط مقدم ارتش انگلیس در جنگ جهانی اول می باشد .
    صرف و کاوش این واژه در Internet Engineering Task Force (IETF) ما رو به این نتایج میرسونه که این واژه در کارتونهای سال 1930 که کارتونهایی مثل دافی داک و اسموکی استوور و پوگو استفاده شدند و از اینجا به واژه های نظامی تبدیل شدند .
    BAR به عنوان واژه دوم در این سری واژه ، احتمالا در الکترونیک توسعه یافته است ، در جاییکه یک سیگنال معرف "روشن" با یک منفی یا شرایط ولتاژ صفر با خط افقی روی سیگنال برچسب شده است . نماد برای یک سیگنال معکوس "Foo" و سپس در مجموع به صورت FOOBAR تلفظ می شود .
    به احتمال فراوان استفاده از FOO برای هکر ها و سرانجام در مفاهیم برنامه نویسی از موسسه Tech Model Railroad Club آغاز شده است . برای اطلاع از فعالیت این موسسه به این لینک برید .


    منبع

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

    نقل قول: foo & bar

    The origins of the terms are not known with certainty
    به هر حال از هزار سال پیش که نیومده! جدیدا استفاده میشه. خوب اول از همه کی به کارش برد؟
    اگه بی رگ و ریشه هست، حالا چرا خیلی ها اصرار دارند که این کلمات بی معنی را به کار ببریم؟ خوب مثلا Fire و Water یا Evil و Angel که خیلی قشنگتره تا این Foo و Bar !

  5. #5

    نقل قول: foo & bar

    نقل قول نوشته شده توسط cardano7 مشاهده تاپیک
    به هر حال از هزار سال پیش که نیومده! جدیدا استفاده میشه. خوب اول از همه کی به کارش برد؟
    اگه بی رگ و ریشه هست، حالا چرا خیلی ها اصرار دارند که این کلمات بی معنی را به کار ببریم؟ خوب مثلا Fire و Water یا Evil و Angel که خیلی قشنگتره تا این Foo و Bar !
    شاید یکی از دلایل کاربردشون همون بی معنی بودنشون هست و اینکه کاملا نشون داده بشه که معنا و منظور و تفاوت خاص مد نظر نیست و کاربرد کلی و مثالی هست.
    اگر مثلا بگیم Fire کسی ممکنه معنا و منظور خاصی برداشت کنه. همینطور برای بقیه.

  6. #6
    کاربر دائمی آواتار میلاد قاضی پور
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    اوج بلند
    پست
    768

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    دیکشنری:

    foo
    n. general name used for indefinite items (i.e. computer files, programs etc.)
    نام عمومی برای موارد غیر قابل اندازه گیری و نا معلوم در علوم کامپیوتر.

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

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    نقل قول نوشته شده توسط اوج بلند مشاهده تاپیک
    دیکشنری:

    foo
    n. general name used for indefinite items (i.e. computer files, programs etc.)
    نام عمومی برای موارد غیر قابل اندازه گیری و نا معلوم در علوم کامپیوتر.
    مشکل اینه که خوب همین کلمه چطور ساخته شده. حتی ساده ترین کلمات از جایی آمده اند.
    اون چندین هزار سال پیش که بشر تونست حرف بزنه رو نمی گم. ولی بعدش دیگه همه ی کلمات یک رگ رو ریشه یی داشتند. مثلا اکثر کلمات تک سیلابل با تغییر واج از یک زبان به زبان دیگه رفتند و یک شکل دیگه شدند.
    مثلا در زبان انگلیسی به شیر میگند میلک و در آلمانی میگند میلش. یا کتاب یه آلمانی میشه بوخ.
    جالبه "مزگت" فارسی چون شکل اسم مکان بود و واقعا هم معنی مکان(عبادتگاه) می داد، عرب ها اومدند ازش ریشه ی سجد رو گرفتند. و بعد کلمه ی مسجد و ساجد و سجاده و ... رو ازش ساختند.
    کلمه های دو سیلابلی معمولا از ترکیب تک سیلابلی ها تشکیل شدند. گاهی معنی اون تک سیلابلی ها ممکنه که فراموش بشه اما خود کلمه ی دو سیلابلی همچنان پر کاربرد باشه.
    مثلا آسمان بوده: آس + مان
    آس مثل آس و پاس
    مان مثل مان در گفتمان.
    برای همین هم هست که بهش میگند چرخ گردون (چرخ آس و پاس!)
    یا آفتاب: افت(افتادن) + تاب(تابش)
    جالبه بدونید که کلماتی مثل رحلت و رحیل و رحل قرآن اگر چه به ظاهر بی ارتباط معنایی هستند، اگر دقیق اونا رو ریشه یابی کنیم می بینیم که هم خانواده بودن اونا بی ازتباط یا تصادفی نبوده. (مجال توضیحش اینجا نیست)
    یا اینکه چرا کلماتی مثل جنین و جانی و جن و (و عذر می خواهم. گوشتون رو بیارید جلو: جنده) با هم خانواده شدند، تصادفی نبوده و دلیل داره. اگر چه اگر به یک معلم مدرسه بگویید جنین با جانی هم خوانده هست، به دلیل عدم ارتباط معنایی اون رو ممکنه رد کنه(نصف بیشتر معلم های ما بی سوادند. اگه مایل بودید، ثابت می کنم)
    در حالی که این چند کلمه عنصر جن که به "مخفی بودن" اشاره داره رو در خود داره. جن آشکار نیست. جنین هم در دل مادر مخفیه. جانی هم همیشه داره قایمکی زندگی می کنه. و ... رو هم که خودتون می دونید!

    مثال زیاده. مجالش نیست. خودم رشته م مهندسی برق هست. اما از یک استاد(نه از این استاد های دو زاری) ادبیات بپرسید می تونه کلی مثال بهتون بگه.
    حتی کلماتی مثل "خفن" هم از روی هوا نیومدند.

    خلاصه اوج بلند جان و eshpilen جان، هیچ واژه یی در دنیا بی معنی نیست. foo و bar هم نمی تونند از این قاعده مستثنی باشند.

  8. #8

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    لاصه اوج بلند جان و eshpilen جان، هیچ واژه یی در دنیا بی معنی نیست. foo و bar هم نمی تونند از این قاعده مستثنی باشند.
    من به خود کلمه کار ندارم شاید واقعا ریشهء لغوی داشته باشه (راستی پیدا کردی به منم خبر بده).
    بعضی وقتا منظور ما واقعا انتخاب یه چیزی هست که جهتگیری و معنای قابل استنباطی نداشته باشه و صرفا یک Placeholder محض باشه.
    مثلا من توی بقیهء فرومها آیدیم رو گذاشتم Folaani، بخاطر اینکه خواستم آیدیم هیچ جهت گیری و معنای سیاسی و عقیدتی و احساسی و غیره نداشته باشه (و خواننده بفهمه این فقط یه آیدی برای حضور و ارتباط هست و نه حامل معنا و گرایش خاصی) چون شاید شخصیت و نظرم در آینده عوض شد، ولی آیدی رو نمیشه براحتی عوض کرد (ولی مثلا امضا رو میشه). بخصوص که اون موقع واقعا نمیخواستم و نمیتونستم ببینم چه چیزی از بین اینهمه چیز بنظرم مهمتر و برام جذابتر هست و میخوام عموم مردم هم ازش مطلع بشن؛ اینطوری اون چیز خاص درنظر بقیه مهمتر و جذابتر بود برای من درحالیکه اونطور نبود و نمیتونستم با یه آدی و چند کلمهء محدود تمام چیزهایی رو که بنظرم بصورت تقریبا برابر مهم و جذاب هستن بیان کنم. بنابراین یه آیدی رو انتخاب کردم که بنظرم هیچ محتوی غیر از روش برای حضور و ارتباط خنثی رو نداشت.
    حالا این foo و bar هم نهایتش معنی داشته باشن باید یه چیزی درحد هرچیزی و فلانی و اینطور چیزا باشه!!
    و این خیلی فرق میکنه با کلمات معنا دار مثل Fire و Water و غیره. این کلمات بدرد کاربردهای فنی خنثی نمیخورن و معنای خاصی رو به ذهن میرسونن و ذهن خواننده رو منحرف میکنن. ما کلماتی میخوایم که خنثی باشن و فقط بصورت Placeholder برای هرچیزی، بصورت برابر، دیده بشن.

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

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    قشنگی دنیا به همون معنادار بودنشه.
    آب و آتش هم جهتی به کسی نمیدند ولی معنا دارند.
    هر چیزی که معنادار باشه بهتر در ذهن می مونه. شما فرض کن بهتون بگند که این ضرب المثل بی معنی رو در فلان جا به کار ببر:
    AAA BBB CCC
    خودت باشی این کار رو می کنی؟ با اینکه می دونی معنای ظاهری ضرب المثل اهمیت اصلی رو نداره.

    مردم هم از الفاظ بی معنی دوست ندارند استفاده کنند و اگر بخواهیم Place Holder محض داشته باشیم، مثل رباضی به کار بردن x و y هم کافیه.

  10. #10

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    بله اتفاقا مثل همون ریاضی هست خیلی جاها.
    حالا اینکه چرا بجای x و y از foo و bar استفاده میشه و امثالهم، بازم دلیلش بنظر من واضح هست. چون x و y توی برنامه ها متداول هست (مثلا بعنوان مختصات نقاط). foo و bar کاملا متمایز هستن و احتمال اینکه در بخش دیگری از کد و الگوریتم کاربرد و معنای خاصی داشته باشن خیلی کم هست.
    بنظر من از قیافه و بی معنایی و خصوصیات این اسم ها، هدف و کاربردشون مشخص هست.
    یه چیزایی هستن که در هرجایی بیان کاملا متمایز هستن و جای دیگه کاربرد و معنی ندارن. انتخاب طول 3 کاراکتر هم بنظرم انتخاب بهینه ای هست برای چنین منظوری. چون هم کوتاهه هم تلفظش راحته هم تایپ کردن راحت و در عین حال بقدر کافی متمایز از بقیهء کد و غیرمعمول هست و انتظار نمیره جای دیگه ای با کاربرد و معنای دیگری دیده بشن یا مورد نیاز باشن.
    اسم های دو حرفی معمولا خیلی جاها بکار میرن و احتمال برخورد یا شباهت اونها با هم زیاد هست. تک حرفی ها هم که بیشتر اینطور هستن.
    البته foo از bar بهتره چون غریب تر و کم مشابه تر هست. bar معنی هایی داره در دیکشنری و در بعضی کدها بعنوان اسم معنا دار بعضی متغییرها و مخفف و سرنام احتمالش بیشتر هست که انتخاب بشه.
    بهرحال این دوتا از لحاظ شکل و تلفظ چون تمایز واضحی از همدیگر دارن بعنوان جفت مکمل که نمایندهء دو Placeholder مختلف یک کد مثال باشن به قوارهء همدیگر میخورن!
    آخرین ویرایش به وسیله eshpilen : جمعه 23 مهر 1389 در 14:54 عصر

  11. #11

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    سایت ictzone حسابی ته و توی این قضیه رو در آورده:
    http://ictzone.ir/2016/02/03/%D9%85%...DB%8C-foo-bar/

  12. #12

    نقل قول: معنای کلمات foo & bar در برنامه نویسی

    اگر شما در کلاس ها تدریس کنید و مخصوصا اگر شاگردان با کامپیوتر آشنا نباشند متوجه می شوید که چقدر ذهن آنها نسبت به نام گذاری متغیرها سخت گیر است و اگر همیشه x و y بگذارید آنها تصور می کنند که فقط باید متغیر یک حرفی باشد و اگر کلمات معنی دار بگذارید مثلا total و .. آنها فکر می کنند که این کلمات keywordها هستند.
    به همین دلیل بهتر است که به صورت واضح به آنها بگویید که هر چیزی می تواند نام یک متغیر یا identifier (نام تابع / کلاس و ...) باشد.
    کلمات foo و bar از جلمه این واژه ها هستند و در کتاب ها و منابع پایتون کلمات eggs, spam , ham بکار برده می شود و به اینها اصطلاحا place holder می گویند . یعنی هر کلمه ای می تواند به جای آنها قرار گیرد و این کلمه مهم نیست.

    اما پیشنهاد من برای تدریس این است که در ایران از نام هایی مانند زیر استفاده کنیم که کاملا بچه ها / دانش آموزان / دانشجویان بدانند که هر نامی می توانند انتخاب کنند:

    ایده از کلمات بی معنی اجی مجی لا ترجی:



    aji = 10
    maji = 20
    if aji > maji:
    print('ok')


    ایده از اتل متل توتوله:


    totoleh = lambda atal , matal: atal + matal


    البته مهرتاش (یک دوست برنامه نویس حرفه ای من معمولا از متغیر sosk / سوسک همیشه مثال می زد)
    جالب است که بدانید که بچه ها کاملا از این اسامی استقبال می کنند و ترس احتمالی که از دیدن نام متغیرهای انگلیسی (مخصوصا دانش آموزان) دارند مرتفع می گردد. بدیهی است که اگر شما یک متن برای مخاطبین حرفه ای تولید می کنید بهتر است از همان foo و bar و ... استفاده نمایید.
    آخرین ویرایش به وسیله farshid_mi : سه شنبه 07 اسفند 1397 در 01:12 صبح

برچسب های این تاپیک

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

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