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

آیا میدانستید که :پس از خورشید، ستارهٔ شباهنگ درخشانترین ستارهٔ آسمان شبانهاست؟
آیا میدانستید که :آلبوم تریلر، اثر مایکل جکسون است با اختلاف ۶۰ میلیون نسخه با دومین آلبوم، پر فروشترین آلبوم موسیقی جهان است؟
آیا میدانستید که :سوزندوزیهای مهتاب نوروزی، مشهورترین سوزندوز ایران، در کاخ موزه سعد آباد نگهداری میشود؟
آیا میدانستید که :صفحه وب میلیون دلاری وبگاهی است که در سال ۲۰۰۵ توسط الکس تیو، برای تأمین مخارج تحصیلات دانشگاهی خود شکل گرفت و از یک میلیون پیکسل تشکیل شدهاست؟
آیا میدانستید که :روحالله نیکپا نخستین مدال آور المپیک در تاریخ کشور افغانستان است؟
آیا میدانستید که :فرانسیس فورد کوپولا پدید آورنده سه گانه فیلم پدرخوانده عموی نیکولاس کیج، بازیگر معروف و برنده جایزه اسکار بهترین بازیگر مرد است؟
آیا میدانستید که : ویتک خرس معروف ایرانی ارتش لهستان بود که به ازای دو کنسرو ماهی به سربازان ارتش لهستان فروخته و به خدمت در ارتش این کشور مشغول شد؟
آیا میدانستید که : جان استفن آکواری دونده استقامت اهل کشور تانزانیا است که با وجود کسب مقام آخر در ماراتن بازیهای المپیک تابستانی ۱۹۶۸ مکزیکو سیتی معروف تر از برنده اتیوپیایی این دوره از مسابقات شد؟
آیا میدانستید که : محمد حسین کبادی از امدادگران و جزو نیروهای واکنش سریع هلال احمر ایران مسافت یک هزار و ۵۰ کیلومتری خلیج فارس را در ۸۵ روز شنا کرد؟
آیا میدانستید که : گورستانی در محله دولاب در جنوب شهر تهران وجود دارد که بزرگترین آرامگاه لهستانیهای پناهنده به ایران در سال ۱۹۴۲ میلادی است؟
آیا میدانستید که : باباشمل لقبی بود که به سردسته ٔلوطیها و داشهای شناخته شدهٔ محلههای تهران اطلاق میشد؟
آیا میدانستید که : لغتنامه دهخدا علاوه بر علیاکبر دهخدا و همکاران اولیه وی، گروهی ۴۸ نفره از پژوهندگان زبان و ادب فارسی را در طی بیش از شصت سال به تهیه مواد، تنظیم و تالیف آنها وا داشته بود؟
آیا میدانستید که : پردهٔ آهنین نامی بود که دیوار برلین اصلیترین نماد جنگ سرد به آن مشهور شده بود. این دیوار به مدت ۲۸ سال شهر برلین آلمان را به دو بخش شرقی و غربی تقسیم کرده بود؟
آیا میدانستید که : آرامگاه کوروش کوچک یا گور دختر درست همانند آرامگاه کورش بزرگ در پاسارگاد است با این تفاوت که اندازهای کوچکتر دارد؟
آیا میدانستید که : محمد ظاهر شاه آخرین پادشاه افغانستان بود که در سال ۱۹۳۳ میلادی، در ۱۹ سالگی به پادشاهی رسید و به مدت چهل سال فرمانروای این کشور ماند؟
آیا میدانستید که : بحران ایران ماجرای پدیداری و سپس نابودی حکومت ملی آذربایجان به رهبری جعفر پیشهوری و به پشتیبانی شوروی در سالهای ۱۳۲۴ و ۱۳۲۵ در منطقهٔ آذربایجان ایران بود که در اصل یکی از سرآغازهای جنگ سرد شد؟
آیا میدانستید که : پسرک یا پسر کوچولو نام نخستین بمب هستهای بود که در یک جنگ بکار برده شد. بمب دوم که فت من نام داشت سه روز بعد روی شهر ناگازاکی انداخته شد؟
آیا میدانستید که : باربارا هارمر نخستین خلبان هواپیماهای مافوق صوت کنکورد در سن ۱۵ سالگی تحصیل را رها کرد تا آرایشگر شود. وی مدت ۵ سال این حرفه را ادامه داد؟
آیا میدانستید که : بوداسَف در اندیشههای بودایی به موجوداتی گفته میشود که به همهٔ موجودات هوشمند دیگر کمک میکنند تا به بیداری روحانی برسند؟
آیا میدانستید که : کوشنامه منظومهای حماسی-اساطیری است که در قرن ششم هجری توسط ایرانشاه بن ابیالخیر در سالهای ۵۰۰ تا ۵۰۴ هجری به سبک شاهنامه نوشته شده و از تاریخنامههای ملّی افسانهای منظوم فارسی است؟
آیا میدانستید که :تازیانه خداوند لقبی است که رومیان به آتیلا رهبر قوم هونها داده بودند که در زمان حیاتش بزرگترین امپراتوری را در اروپا، از رود اورال تا دانوب داشت؟
آیا میدانستید که :رضا جباری هواپیماربای پرواز شماره ۷۰۷ کیش ایر در ۲۸ شهریور ۱۳۷۴ بود. وی پس از ۱۲ سال از این ماجرا ملیت کشور اسرائیل را برای ادای دِین به کشور میزبان پذیرفت؟
آیا میدانستید که :کلاشنیکف یا آکا-۴۷ یک سلاح تهاجمی است که به نام سازنده آن میخائیل کلاشنیکف نام گرفتهاست؟ این اسلحه در ایران به اشتباه کلاشینکف خوانده میشود.
آیا میدانستید که :مهران کریمی ناصری زاده ۱۹۴۲ میلادی در مسجدسلیمان ایران و یک پناهنده ایرانی است که تا سال ۲۰۰۶ به مدت ۱۸ سال در فردوگاه بینالمللی شارل دو گل فرانسه زندگی کرد؟
آیا میدانستید که :تیمور معروف به تیمور لنگ پایهگذار خاندان تیموریان تمام جهانگشاییها و جنگهایش را پس از سن ۵۰ سالگی انجام دادهاست؟
آیا میدانستید که :شهناز آزاد روزنامهنگار و یکی از پیشگامان جنبش زنان ایران، دختر حسن رشدیه (پدر فرهنگ جدید ایران) است؟
آیا میدانستید که :در دههٔ شصت فیلمی از سیمای جمهوری اسلامی ایران از زندگی و نبردهای اسپرخخان، خانِ بلغارها دوبله و پخش شد که در آن، نام او را اِسپاروخان میخواندند؟
آیا میدانستید که : نخستین شورش ثبت شده در تاریخ بشر، توسط کارگران معبد خوفو بخاطر قطع شدن جیره سیر آنها به وقوع پیوسته است؟
آیا میدانستید که :هه پینگپینگ اهل کشور چین با داشتن ۷۴٫۶۱ سانتیمتر قد، کوچکترین مرد دنیا بود؟
آیا میدانستید که :شبتای زوی که ادعا میکرد مسیح موعود یهودیان است در سن چهل سالگی به اجبار محمد چهارم، به دین اسلام روی آورد؟
آیا میدانستید که :پرچم بریتانیا در سال ۱۷۰۷ میلادی از ترکیب پرچم اسکاتلند، پرچم انگلستان و پرچم ایرلند شمالی بوجود آمدهاست؟
آیا میدانستید که :رزمناو هود بزرگترین رزمناو ساخته شده و یکی از افتخارات نیروی دریایی پادشاهی بریتانیا در ۲۴ می ۱۹۴۱ با نخستین شلیک توپخانه نبردناو بیسمارک آلمان در عرض ۵ دقیقه غرق شد؟
آیا میدانستید که :شیردال در میان مردمان ایران باستان و عیلامیها نقش محافظ گنجینههای خداوند را به عهده داشتند؟
آیا میدانستید که :قلعه شوش قلعهای است که توسط ژاک دو مورگان فرانسوی برای سکونت باستانشناسان فرانسوی و با استفاده از آجرهای کاخ آپادانای شوش و سنگنبشتههای میخی چغازنبیل ساخته شدهاست؟
آیا میدانستید که : گاو سنگی بزرگ کاخ آپادانای شوش که حدود دوازده تن وزن داشت زیر ضربات پتک ژان دیولافوای فرانسوی شکسته شد؟
آیا میدانستید که : جورج غول پیکر بزرگترین سگ دنیاست. جورج غول پیکر با بلندی قد ۱٫۰۹ متر و وزن ۱۱۱ کیلوگرم در آریزونای آمریکا زندگی میکند؟
آیا میدانستید که : برادران غلامعلی بایندر و یدالله بایندر یکی در خلیج فارس به دست نیروهای انگلیسی و دیگری در دریای خزر به دست نیروهای روسی با فاصله یک روز از هم در راه دفاع از میهن کشته شدند؟
آیا میدانستید که : جورج هربرت واکر بوش و جورج دبلیو بوش دو رئیس جمهور ایالات متحده آمریکا از اعضای محفل مخفی جمجمه و استخوان اند؟
آیا میدانستید که :باراک اوباما در سال ۲۰۱۰ بعد از گذشت ۶۲ سال، بابت آزمایش میکروب سفلیس در گواتمالا توسط دولت ایالات متحده آمریکا بر روی شهروندان این کشور، عذر خواهی کرد؟
آیا میدانستید که : نقش رستم مجموعهای باستانی در روستای زنگیآباد استان فارس است که از حدود سال ۱۲۰۰ پیش از میلاد تا سال ۶۲۵ میلادی مورد استفاده بودهاست؟
آیا میدانستید که :حسن رشدیه که لقب پدر فرهنگ جدید ایران به او دادهاند با توصیه پدرش که از روحانیان بود به جای رفتن به نجف و خواندن درس طلبگی، به استانبول، مصر و بیروت رفت تا آموزگاری نوین را فراگیرد؟
آیا میدانستید که :حسین امانت در ۲۴ سالگی طرح برج آزادی را که تلفیقی از معماری دوران هخامنشی، ساسانی و دوره اسلامی است با نام میدان شهیاد در مدت ۲۸ ماه اجرا کرد؟
آیا میدانستید که :جبار باغچهبان بنیانگذار نخستین کودکستان، نخستین مدرسه کر و لالهای ایران و همچنین نخستین مؤلف و ناشر کتاب کودک در ایران است؟
آیا میدانستید که :طاق کسری یا ایوانِ مداین نام کاخ پادشاهان ساسانی در شهر بغداد است که بلندترین طاق خشتی ساخته شده به دست انسان میباشد؟
آیا میدانستید که :گیوم آپولینر یکی از برجستهترین شاعران نخستین دهه قرن بیستم میلادی در فرانسه به اتهام دزدی از موزه لوور یک هفته در زندان بود؟
آیا میدانستید که :دیپ بلو نخستین کامپیوتر شطرنجبازی است که در ماه مه ۱۹۹۷ توانستهاست قهرمان شطرنج جهان را شکست دهد؟
آیا میدانستید که :پنگوئن امپراتور نر در مدت دوماهی که وظیفه محافظت از تخم را به عهده دارد هیچ چیز نمیخورد؟ (تصویر)
آیا میدانستید که :هایکو کوتاهترین گونهٔ شعر در جهان است و ژاپنیها ابداع کنندهٔ هستند؟
آیا میدانستید که :مایاها نخستین قومی در جهان بودند که در حدود سال ۳۶ پیش از میلاد موفق به کشف عدد صفر شدند و تنها ششصد سال بعد بود که هندیها به راز صفر پی بردند؟
آیا میدانستید که :اَرگ رایِن در شهر کرمان با مساحتی بیش از بیست و دو هزار مترمربع، دومین بنای خشتی بزرگ جهان پس از ارگ بم است؟
آیا میدانستید که :آفریقای سیاه اصطلاحی است که برای مناطق جنوب صحرای بزرگ آفریقا بهکار میرود و این نام به خاطر سیاهپوست بودن اکثر ساکنان این مناطق رواج یافتهاست؟
آیا میدانستید که :سیاهمجد در اساطیر ایران دوره اسلامی نام مرد سیاهپوستی است که اغلب در پشت مسجدها و در حال قضای حاجت است؟
آیا میدانستید که :زامبی رایانهای اغلب برای فعالیتهایی مانند گسترش هرزنامههای الکترونیکی و بدون آگاهی صاحب واقعی رایانه، مورد بهرهبرداری قرار میگیرد؟
آیا میدانستید که :دیناور به پیروان دین مانوی گفته میشد. آئینی عرفانی که ترکیبی از ادیان مسیحیت، زرتشتی و گنوسی بود؟
آیا میدانستید که :پلاستوفوم نوعی پلیمر سفید رنگ که عایق رطوبت، صدا و حرارت است. این پلیمر در ایران به نام یونولیت شناخته میشود؟
آیا میدانستید که :غلامحسین نقشینه بازیگر معروف نقش دایی جان ناپلئون بود که در خردادماه سال ۱۳۴۱ با سِمت معاون مدیرکل امور مخابرات سازمان برنامه و بودجه بازنشسته شد؟
آیا میدانستید که :شطرنج۹۶۰ گونهای از بازی شطرنج است که بابی فیشر قهرمان سابق شطرنج جهان، پدید آورنده آن است. تنها تفاوت این شطرنج با شطرنج کلاسیک در چگونگی جایگیری مهرهها (به جز پیادهها) است؟
آیا میدانستید که :جنگ تریاک بین سالهای ۱۸۴۰ تا ۱۸۴۲ میلادی میان انگلستان و چین روی داد. این جنگ نخستین مرحله نفوذ موثر کشورهای اروپای غربی به چین به شمار میرود؟
آیا میدانستید که :تلخترین ترکیب شیمیایی شناخته شده تاکنون توسط بشر دناتونیوم نام دارد؟
آیا میدانستید که :کافه گلاسه، بستنیهای فرنگی، قهوه ترک و قهوه فرانسوی برای نخستین بار در سال ۱۳۰۶ در کافه نادری به ایرانیان عرضه شد؟
آیا میدانستید که :یهودی سرگردان در ادبیات عامیانهٔ اروپا داستان یک یهودی است که به مسیح توهین میکند، و به تاوان آن تا بازگشت مسیح باید زمین را بپیماید؟
آیا میدانستید که :تیله را در اهواز و آبادان فِنگ، در خراسان توشله، در تبریز مازی، در ایلام گُلو و در سقز کردستان که لا می گویند؟
آیا میدانستید که : اِدو نام یک دهکدهٔ ماهیگیری کوچک در ژاپن بود که بعدها به یکی از بزرگترین شهرهای جهان به نام توکیو، به معنی پایتخت شرقی، تبدیل شد؟
آیا میدانستید که :نام آذربایجان معرب آتروپاتکان است و ریشه نام به سردار پارسی هخامنشیان، آتروپات برمیگردد که بخشهای شمال ایران را در زمان حمله اسکندر از اشغال حفظ کرد؟
آیا میدانستید که :نمایش آدم و حوا نخستین تئاتر زنان در ایران بود که محوریت آن آزادی زنان بود و نمایشنامه آن توسط جمعیت نسوان وطنخواه و میرزاده عشقی در سال ۱۳۰۲ آماده شده بود؟
آیا میدانستید که :پنگوئن امپراتور میتواند ۱۸ دقیقه در عمق ۵۳۵ متری زیر آب بماند. و در شرایط اضطراری، توانایی کاهش سوخت و ساز بدن و غیرفعال کردن عملکرد اندامهای غیر ضروری را دارد؟
آیا میدانستید که :نام کوروش بزرگ در پارسی باستان «کوروش»، در زبان عیلامی «کوراش»، در متون اکدی «کورِش»، در تورات بصورت «کورُش» و «کورِش»، در زبان یونانی «کورُس»، در کتاب آثار الباقیه «کورُش»، در مروج الذهب «کورُس» و در کتاب تاریخ الرسل و الملوک «کِیرُش» نوشته شدهاست؟
آیا میدانستید که :موزه هنرهای معاصر تهران بزرگترین و گرانبهاترین گنجینه آثار هنری مدرن در خارج از ایالات متحده و اروپا را داراست؟
آیا میدانستید که :سیاهچاله ناحیهای از فضا-زمان است که هیچ چیز، حتی نور هم نمیتواند از میدان گرانشی آن بگریزد؟
آیا میدانستید که :نادر جهانبانی، سپهبد خلبان نیروی هوایی شاهنشاهی ایران، به خاطر چهره اروپاییاش به عنوان ژنرال چشمآبی معروف بود؟
آیا میدانستید که :فیفا ۱۰۰ نام فهرستی از صد بازیکن فوتبال برتر دنیاست که به درخواست فیفا و بوسیله پله، بازیکن فوتبال برزیلی، در سال ۲۰۰۴ نوشته شدهاست؟
آیا میدانستید که :هارولد لوید که حرکات خطرناک در داستان فیلم را خود انجام میداد به همراه چارلی چاپلین و باستر کیتون در زمره محبوبترین کمدینهای دوران فیلم صامت بهشمار میآید؟
آیا میدانستید که :دریای خزر به عنوان بزرگترین دریاچه جهان و بزرگترین منبع ماهیان خاویاری در جهان بیش از ۹۰ درصد خاویار جهان را تأمین میکند؟
آیا میدانستید که :ماهاتما به معنای روح بزرگ لقب مهانداس کارامچاند گاندی رهبر سیاسی و معنوی هندیها بود که ملت هند را در راه آزادی از استعمار امپراتوری بریتانیا رهبری کرد؟
آیا میدانستید که :کندترین ماهی دریا اسب دریایی است که با سرعت ۰٫۰۱۶ کیلومتر بر ساعت شنا میکند؟
آیا میدانستید که :استارباکس با داشتن ۱۹۹۷۲ شعبه در ۶۰ کشور دنیا، بزرگترین کافیشاپ زنجیرهای در جهان است؟
آیا میدانستید که :آسپرین یکی از پر طرفدارترین داروها در دنیاست که سالانه ۵۰۰۰۰ میلیون عدد از آن در جهان مصرف میشود؟
آیا میدانستید که :ببرهای تامیل یک گروه نظامی جداییطلب است که در ماه می سال ۱۹۷۶ برای ایجاد یک ایالت مستقل در شمال و شرق سریلانکا پایهگذاری شد؟
آیا میدانستید که :نخستین آلبوم راک اند رول به دست فرهاد مِهراد معروف به فرهاد در ایران منتشر شد؟
آیا میدانستید که :امپراتوری مغول در سدههای میانی تاریخ (۵۰۰ میلادی تا ۱۵۰۰ میلادی) با وسعت ۲۴ میلیون کیلومتر مربع بزرگترین امپراتوری جهان بشمار میآمد؟
آیا میدانستید که :جان رونالد روئل تالکین خالق رمانهای هابیت و ارباب حلقهها و ۱۵ زبان تخیلی است که شخصیتهای مختلف سرزمینهای خیالی داستانهایش به آن زبانها سخن میگویند؟
آیا میدانستید که :استوانهٔ کوروش در سال ۱۹۷۱ میلادی به همهٔ زبانهای رسمی سازمان ملل متحد منتشر شد و بدلی از این استوانه در مقر سازمان ملل در شهر نیویورک قرار گرفت؟
آیا میدانستید که :الیا کازان به عنوان کارگردان، دو جایزه اسکار، چهار جایزه گلدن گلوب و سه جایزه تونی را از آن خود کرد؟
آیا میدانستید که :تنها جانوری که میتواند پس از بلوغ جنسی به دوره نابالغی بازگردد، تیولا یا عروس دریایی نامیرا است که صدها سال عمر میکند؟
آیا میدانستید که :سومو یک سبک کُشتی ژاپنی است که در آن هدف شرکتکنندگان این است که حریف خود را از رینگ بیرون انداخته یا او را وادار کنند تا یکی از اعضای بدن خود را بر زمین گذارد؟
آیا میدانستید که :سرخجامگان به رهبری مازیار در طبرستان و خرمدینان به رهبری بابک در آذربایجان علیهٔ عباسیان قیام کردند و سرانجام کشته شدند؟
آیا میدانستید که :نوار موبیوس سطحی است که فقط یک رو و فقط یک مرز دارد. این نوار مثالی از یک رویهٔ جهتناپذیر در ریاضیات است؟
آیا میدانستید که :ریچارد نیکسون از سال ۱۹۶۹ تا ۱۹۷۴، سیوهفتمین رئیس جمهور آمریکا بود و تا به امروز نخستین و تنها رئیسجمهور این کشور است که از مقام خود کنارهگیری کردهاست؟
آیا میدانستید که :« زبان مردم آذربایجان نه ترکی بلکه زبانی بنام زبان تاتی ایران بودهاست » موضوع رساله دکترای احسان یارشاطر بود؟
آیا میدانستید که :در جریان محاکمهٔ پزشک احمدی در سال ۱۳۲۰، احمد کسروی با این عنوان که او «واسطه افزار جرم» بوده نه عامل آن، وکیل مدافع وی بود؟
آیا میدانستید که :دقیقی آغاز کننده سرایش شاهنامه و از معدود شاعران ادبیات فارسی است که آئین مزدیسنا داشتهاست؟
آیا میدانستید که :یوناتان نتانیاهو برادر بزرگتر بنیامین نتانیاهو نخستوزیر اسرائیل در جریان عملیات آزادسازی مسافران هواپیمای فرانسوی در ۴ ژوئیه ۱۹۷۶ در فرودگاه انتبه کشته شد؟
آیا میدانستید که :بهاءالدین ولد نام پدر و بهاء ولد نام پسر مولوی بودهاست؟
آیا میدانستید که :قلعه دختر به قلعههای دستنیافتنیای میگفتند که تصرف آنها مشکل بودهاست و در چندین شهر ایران آثاری از آنها برجای ماندهاست. همچنین گاه در مقابل آنها قلعه دیگری به نام قلعه پسر ساخته میشد؟
آیا میدانستید که :امتیوی نخستین شبکه تلویزیونی جهان بود که به طور شبانه روزی موسیقی پخش میکرد؟
آیا میدانستید که : برج گنبد کاووس بلندترین بنای آجری دنیا است و بیش از هزارسال قدمت دارد؟
آیا میدانستید که : بتهوون بهترین آثارش را در دورانی که کمشنوا و در نهایت ناشنوا بود خلق کرد و بیشترین ساختارشکنیهایش مربوط به این دوران است؟
آیا میدانستید که : گروهی از ماساگتها که از اقوام ایرانیتبار و از تیرهٔ سکایی در آسیای میانه بودند به جنوب شرقی ایران کوچیدند و این سرزمین را به نام خود سکستان یا سیستان کنونی خواندند؟
آیا میدانستید که : پروژهٔ منهتن (پروژهٔ ساخت بمب اتم) با امضا و تائید آلبرت اینشتین شروع شد، اما با این وجود سازمان افبیآی به دلایل امنیتی به وی اجازهٔ مشارکت در این پروژه را نداد؟
آیا میدانستید که : رمز ژنتیکی مربوط به رفتارِ تعلّقی (دوستانه) در انسان و بونوبو (شامپانزهٔ کوتوله) مشترک است؟ این کد ژنتیکی در شامپانزه معمولی نیست؟
آیا میدانستید که : نبرد نرماندی بزرگترین عملیات آبی خاکی تاریخ محسوب میشود؟
آیا میدانستید که : جنگ ایران و عراق (به مدت ۸ سال) طولانیترین جنگ سده بیستم میلادی بود؟
آیا میدانستید که : کمبوجیه دوم پسر بزرگ کورش هنگامیکه به پادشاهی رسید به سوی مصر لشکر کشید و بر فرعونهای مصر که بیش از سه هزار سال حکومت میکردند پیروز گشته و وارد مصر شد؟
آیا میدانستید که : سلیمان حییم علاوه برفرهنگهای انگلیسی به فارسی و برعکس، فرهنگهای فرانسوی به فارسی، عبری به فارسی و برعکس را نیز تدوین کردهاست و با زبانهای ترکی و آلمانی و روسی آشنایی داشتهاست؟
آیا میدانستید که : دکتر علی ملکحسینی نخستین پیوند کبد از فرد زنده به فرد زنده را در بیمارستان نمازی شیراز انجام داد؟
آیا میدانستید که : در دورهٔ جنبش مشروطه انجمنهای سرّی و نیمهسری زیادی در ایران به وجود آمدند؛ در این دوران انجمنهای زنان نیز به طور مخفیانه شکل گرفتند که در انقلاب مشروطه شرکت میکردند و سپس سازمانهای حقوق زنان تاسیس شدند که جنبش زنان ایران را آغاز کردند؟
آیا میدانستید که : قلندران معمولاً دلقی سبزرنگ از جنس پشم پوشیده و موی سر و ریش و سبیل و گاهی بعضی از آنان ابروی خود را نیز میتراشیدهاند؟
آیا میدانستید که : شاپور دوم ساسانی پیش از زاده شدن و وقتی درون شکم مادرش بود، پدرش هرمز دوم درگذشت؛ در روایات آمده که درباریان و موبدان تاج شاهی بر شکم مادرش گذاشتند؛ بدین ترتیب وی از بدو تولد شاهنشاه بود؟
آیا میدانستید که : بمب هیدروژنی تزار قویترین بمب آزمایش شده توسط بشر است که حدود ۳۰۰۰ برابر بمب اتمی هیروشیما قدرت داشت و تا ۶۰۰۰ برابر نیز قابل ارتقا بود؟
آیا میدانستید که : نبرد عین جالوت اولین نبردی بود که در آن مغولها به شکل ماندگاری شکست خورده و از ادامه پیشروی بازماندند؟
آیا میدانستید که : پیمان نانجینگ پیمانی بود که پس از جنگ تریاک نخست بین بریتانیا و چین بسته شد و مطابق آن هنگ کنگ به پادشاهی بریتانیا واگذار شد؟
آیا میدانستید که : کوه سرگردان جلد سوم جزیره سرگردانی و آخرین رمان سیمین دانشور، از سال ۱۳۸۶ مفقود شدهاست؟
آیا میدانستید که : مزدا نام شرکت خودروسازی مشهور ژاپنی، برگرفته از نام اهورامزدا بودهاست؟
آیا میدانستید که : سمیرامیس ملکهٔ افسانهای سرزمین بابل است که باغهای معلق بابل برای او ساخته شد؟
آیا میدانستید که : تا پیش از آن که رضاشاه، شیرهکشخانهها را تعطیل و اداره آنها را ممنوع نماید این مکانها در دوره ناصرالدینشاه قاجار در اوج فعالیت خود بود ؟
آیا میدانستید که : بلشویکها گروهی از حزب کارگر سوسیال دموکرات مارکسیستی روسیه بودند که در دومین کنگره حزب در ۱۹۰۳ به رهبری ولادیمیر لنین از دستهٔ منشویکها (اقلیت) جدا شده و نهایتاً حزب کمونیست شوروی را تشکیل دادند؟
آیا میدانستید که : بلز پاسکال در سن ۱۸ سالگی، برای کمک به پدرش در انجام محاسبات ریاضی، یک ماشینحساب مکانیکی ساخت که قادر به جمع و تفریق اعداد بود که بعدها به نام ماشین حساب پاسکال شهرت یافت؟
آیا میدانستید که : رنسانس یا نوزایی در سالهای ۱۳۰۰ از ایتالیا آغاز شد و در طول سه قرن در سراسر اروپا انتشار یافت؟
آیا میدانستید که : جایزه هوگو قدیمیترین و یکی از معتبرترین جوایز در زمینهٔ داستان نویسی علمی–تخیلی و خیالپردازی است که به افتخار هوگو گرنزبک بنیانگذار نخستین مجلهٔ علمی-تخیلی به نام او نامگذاری شدهاست؟
آیا میدانستید که : مرغ چنگ پرندهای از خانوادهٔ گنجشکسانان و شناخته شده ترین پرندهٔ بومی استرالیا است. این پرنده میتواند هر صدایی که در پیرامونش به گوش میرسد را تقلید کند حتی صدای بسته شدن دریچهٔ دوربین در هنگام عکس گرفتن؟
آیا میدانستید که : از آنجا که دو قاره آسیا و اروپا مرز طبیعی ویژهای ندارند و مرزبندی کنونی میان این دو قاره بیشتر تاریخی-فرهنگی است؛ برخی از گیتاشناسان این دو قاره را قارهای یکپارچه می دانند و آن را اوراسیا میخوانند؟
آیا میدانستید که : فرانسیسکو وارایو بازی کن پیشین تیم ملی فوتبال آرژانتین در اوت سال ۲۰۱۰ آخرین فرد زنده از میان بازیکنان مرحلهٔ نهایی جام جهانی فوتبال ۱۹۳۰ اروگوئه بود که در سن صد سالگی درگذشت؟
آیا میدانستید که : جنبش وهابیت پیش از پایهگذاری حکومت پادشاهی عربستان سعودی به دست ملک عبدالعزیز، یک بار توسط سلطان عثمانی در سال ۱۸۱۸ و بار دیگر به دست خاندان رشیدیه (از شمال عربستان) از تسلط سیاسی و مذهبی بر عربستان باز ماند؟
آیا میدانستید که : امپراتریس گو-ساکوراماشی ۱۱۷مین فرمانروا و در تمام دورههای امپراتوری ژاپن وی ۸مین و آخرین امپراتریسِ فرمانروای ژاپن است؟
آیا میدانستید که : سروانتس رماننویس، شاعر، نقاش و نمایشنامهنویس اسپانیایی بود و در جنگ لپانتو در مقابل امپراتوری عثمانی جنگید و بر اثر جراحات وارده دست چپش از کار افتاد؟
آیا میدانستید که : بر روی سنگ قبر نیکوس کازانتزاکیس نوشته شده: «نه آرزوئی دارم، نه میترسم. من آزادم»؟
آیا میدانستید که : آتش جنگ جهانی اول در ۱۱ نوامبر ۱۹۱۸ خاموش شد در حالیکه پیمان ورسای در در ۲۸ ژوئن سال ۱۹۱۹ میلادی به امضا رسید و در ۱۰ ژانویه ۱۹۲۰ به مرحله اجرا گذاشته شد؟
آیا میدانستید که : در سال ۱۹۳۳ و در جریان رکود بزرگ، برای مدتی ورود شهروندان دیگر مناطق آمریکا به کالیفرنیا توسط مسئولان ایالتی با محدودیت روبرو شده بود؟
آیا میدانستید که : پرتاب روباه یکی از بازیهای پرطرفدار قرنهای هفده و هجده میلادی در بیشتر قسمتهای اروپا بود؟
آیا میدانستید که : کاظم رجوی نخستین نمایندهٔ ایران در مقر سازمان ملل متحد در ژنو پس از انقلاب ۱۳۵۷ بود که در تاریخ ۲۴ آوریل ۱۹۹۰ در نزدیکی خانهاش هدف ۶ گلوله قرار گرفت؟
آیا میدانستید که : هووخشتره تواناترین شاه ماد اولین پادشاهی است که یک سلطنت سراسری را در ایران تشکیل داد و ایران را به عنوان یک قدرت مهم جهان آن زمان مطرح کرد؟
آیا میدانستید که : صبیحه گوکچن، دخترخواندهٔ مصطفی کمال آتاترک، اولین خلبان زن هواپیماهای جنگنده در سرتاسر جهان است؟
آیا میدانستید که : طلا شکلپذیرترین مادهاست و یک اونس آن را میتوان به اندازهٔ ۳۰۰ پا پهن کرد؟
آیا میدانستید که : در سنت مذهبی مایا خدایان زوج بودند و هرکدام برای خود قرینهای نیز داشتند که همکار و همدمشان بود؟
آیا میدانستید که : مونتهنگرو از ۲۱ مه ۲۰۰۶ و کوزوو از ۱۸ فوریه ۲۰۰۸ به عنوان کشور شناخته شدند؟
آیا میدانستید که : پس از کشتهشدن پاتریس لومومبا، شعری با نام «سرود بهار» از عبدالله بهزادی در سوگ وی خطاب به همسر او در هفتهنامه سپید و سیاه بهچاپ رسید که بعدها متن سرود انقلابی بهاران خجسته باد شد؟
آیا میدانستید که : دنبالهدار سی/۲۰۱۲ اس۱ هنگامی که در حضیض خود در روز ۲۸ نوامبر ۲۰۱۳ جای گیرد، درخشان تر از ماه کامل در آسمان دیده خواهد شد؟
آیا میدانستید که : نام شهر تفتناز در سوریه عربی نیست بلکه ریشه آن به زبان هیتی باز میگردد؟
آیا میدانستید که : ساختمان پایتخت ایالت ویسکانسین در ۲۶ فوریهٔ ۱۹۰۴ میلادی آنچنان سوخت که میتوان گفت، با خاک یکسان شد؟
آیا میدانستید که : منارهٔ مسجد حسن دوم با بلندی ۲۱۰ متر، بلندترین مناره در جهان است و در بالای آن پرتوهای لیزر تابیده میشود و مستقیم به سوی مکه اشاره دارد؟

آیا میدانستید که :پس از خورشید، ستارهٔ شباهنگ درخشانترین ستارهٔ آسمان شبانهاست؟
آیا میدانستید که :آلبوم تریلر، اثر مایکل جکسون است با اختلاف ۶۰ میلیون نسخه با دومین آلبوم، پر فروشترین آلبوم موسیقی جهان است؟
آیا میدانستید که :سوزندوزیهای مهتاب نوروزی، مشهورترین سوزندوز ایران، در کاخ موزه سعد آباد نگهداری میشود؟
آیا میدانستید که :صفحه وب میلیون دلاری وبگاهی است که در سال ۲۰۰۵ توسط الکس تیو، برای تأمین مخارج تحصیلات دانشگاهی خود شکل گرفت و از یک میلیون پیکسل تشکیل شدهاست؟
آیا میدانستید که :روحالله نیکپا نخستین مدال آور المپیک در تاریخ کشور افغانستان است؟
آیا میدانستید که :فرانسیس فورد کوپولا پدید آورنده سه گانه فیلم پدرخوانده عموی نیکولاس کیج، بازیگر معروف و برنده جایزه اسکار بهترین بازیگر مرد است؟
آیا میدانستید که : ویتک خرس معروف ایرانی ارتش لهستان بود که به ازای دو کنسرو ماهی به سربازان ارتش لهستان فروخته و به خدمت در ارتش این کشور مشغول شد؟
آیا میدانستید که : جان استفن آکواری دونده استقامت اهل کشور تانزانیا است که با وجود کسب مقام آخر در ماراتن بازیهای المپیک تابستانی ۱۹۶۸ مکزیکو سیتی معروف تر از برنده اتیوپیایی این دوره از مسابقات شد؟
آیا میدانستید که : محمد حسین کبادی از امدادگران و جزو نیروهای واکنش سریع هلال احمر ایران مسافت یک هزار و ۵۰ کیلومتری خلیج فارس را در ۸۵ روز شنا کرد؟
آیا میدانستید که : گورستانی در محله دولاب در جنوب شهر تهران وجود دارد که بزرگترین آرامگاه لهستانیهای پناهنده به ایران در سال ۱۹۴۲ میلادی است؟
آیا میدانستید که : باباشمل لقبی بود که به سردسته ٔلوطیها و داشهای شناخته شدهٔ محلههای تهران اطلاق میشد؟
آیا میدانستید که : لغتنامه دهخدا علاوه بر علیاکبر دهخدا و همکاران اولیه وی، گروهی ۴۸ نفره از پژوهندگان زبان و ادب فارسی را در طی بیش از شصت سال به تهیه مواد، تنظیم و تالیف آنها وا داشته بود؟
آیا میدانستید که : پردهٔ آهنین نامی بود که دیوار برلین اصلیترین نماد جنگ سرد به آن مشهور شده بود. این دیوار به مدت ۲۸ سال شهر برلین آلمان را به دو بخش شرقی و غربی تقسیم کرده بود؟
آیا میدانستید که : آرامگاه کوروش کوچک یا گور دختر درست همانند آرامگاه کورش بزرگ در پاسارگاد است با این تفاوت که اندازهای کوچکتر دارد؟
آیا میدانستید که : محمد ظاهر شاه آخرین پادشاه افغانستان بود که در سال ۱۹۳۳ میلادی، در ۱۹ سالگی به پادشاهی رسید و به مدت چهل سال فرمانروای این کشور ماند؟
آیا میدانستید که : بحران ایران ماجرای پدیداری و سپس نابودی حکومت ملی آذربایجان به رهبری جعفر پیشهوری و به پشتیبانی شوروی در سالهای ۱۳۲۴ و ۱۳۲۵ در منطقهٔ آذربایجان ایران بود که در اصل یکی از سرآغازهای جنگ سرد شد؟
آیا میدانستید که : پسرک یا پسر کوچولو نام نخستین بمب هستهای بود که در یک جنگ بکار برده شد. بمب دوم که فت من نام داشت سه روز بعد روی شهر ناگازاکی انداخته شد؟
آیا میدانستید که : باربارا هارمر نخستین خلبان هواپیماهای مافوق صوت کنکورد در سن ۱۵ سالگی تحصیل را رها کرد تا آرایشگر شود. وی مدت ۵ سال این حرفه را ادامه داد؟
آیا میدانستید که : بوداسَف در اندیشههای بودایی به موجوداتی گفته میشود که به همهٔ موجودات هوشمند دیگر کمک میکنند تا به بیداری روحانی برسند؟
آیا میدانستید که : کوشنامه منظومهای حماسی-اساطیری است که در قرن ششم هجری توسط ایرانشاه بن ابیالخیر در سالهای ۵۰۰ تا ۵۰۴ هجری به سبک شاهنامه نوشته شده و از تاریخنامههای ملّی افسانهای منظوم فارسی است؟
آیا میدانستید که :تازیانه خداوند لقبی است که رومیان به آتیلا رهبر قوم هونها داده بودند که در زمان حیاتش بزرگترین امپراتوری را در اروپا، از رود اورال تا دانوب داشت؟
آیا میدانستید که :رضا جباری هواپیماربای پرواز شماره ۷۰۷ کیش ایر در ۲۸ شهریور ۱۳۷۴ بود. وی پس از ۱۲ سال از این ماجرا ملیت کشور اسرائیل را برای ادای دِین به کشور میزبان پذیرفت؟
آیا میدانستید که :کلاشنیکف یا آکا-۴۷ یک سلاح تهاجمی است که به نام سازنده آن میخائیل کلاشنیکف نام گرفتهاست؟ این اسلحه در ایران به اشتباه کلاشینکف خوانده میشود.
آیا میدانستید که :مهران کریمی ناصری زاده ۱۹۴۲ میلادی در مسجدسلیمان ایران و یک پناهنده ایرانی است که تا سال ۲۰۰۶ به مدت ۱۸ سال در فردوگاه بینالمللی شارل دو گل فرانسه زندگی کرد؟
آیا میدانستید که :تیمور معروف به تیمور لنگ پایهگذار خاندان تیموریان تمام جهانگشاییها و جنگهایش را پس از سن ۵۰ سالگی انجام دادهاست؟
آیا میدانستید که :شهناز آزاد روزنامهنگار و یکی از پیشگامان جنبش زنان ایران، دختر حسن رشدیه (پدر فرهنگ جدید ایران) است؟
آیا میدانستید که :در دههٔ شصت فیلمی از سیمای جمهوری اسلامی ایران از زندگی و نبردهای اسپرخخان، خانِ بلغارها دوبله و پخش شد که در آن، نام او را اِسپاروخان میخواندند؟
آیا میدانستید که : نخستین شورش ثبت شده در تاریخ بشر، توسط کارگران معبد خوفو بخاطر قطع شدن جیره سیر آنها به وقوع پیوسته است؟
آیا میدانستید که :هه پینگپینگ اهل کشور چین با داشتن ۷۴٫۶۱ سانتیمتر قد، کوچکترین مرد دنیا بود؟
آیا میدانستید که :شبتای زوی که ادعا میکرد مسیح موعود یهودیان است در سن چهل سالگی به اجبار محمد چهارم، به دین اسلام روی آورد؟
آیا میدانستید که :پرچم بریتانیا در سال ۱۷۰۷ میلادی از ترکیب پرچم اسکاتلند، پرچم انگلستان و پرچم ایرلند شمالی بوجود آمدهاست؟
آیا میدانستید که :رزمناو هود بزرگترین رزمناو ساخته شده و یکی از افتخارات نیروی دریایی پادشاهی بریتانیا در ۲۴ می ۱۹۴۱ با نخستین شلیک توپخانه نبردناو بیسمارک آلمان در عرض ۵ دقیقه غرق شد؟
آیا میدانستید که :شیردال در میان مردمان ایران باستان و عیلامیها نقش محافظ گنجینههای خداوند را به عهده داشتند؟
آیا میدانستید که :قلعه شوش قلعهای است که توسط ژاک دو مورگان فرانسوی برای سکونت باستانشناسان فرانسوی و با استفاده از آجرهای کاخ آپادانای شوش و سنگنبشتههای میخی چغازنبیل ساخته شدهاست؟
آیا میدانستید که : گاو سنگی بزرگ کاخ آپادانای شوش که حدود دوازده تن وزن داشت زیر ضربات پتک ژان دیولافوای فرانسوی شکسته شد؟
آیا میدانستید که : جورج غول پیکر بزرگترین سگ دنیاست. جورج غول پیکر با بلندی قد ۱٫۰۹ متر و وزن ۱۱۱ کیلوگرم در آریزونای آمریکا زندگی میکند؟
آیا میدانستید که : برادران غلامعلی بایندر و یدالله بایندر یکی در خلیج فارس به دست نیروهای انگلیسی و دیگری در دریای خزر به دست نیروهای روسی با فاصله یک روز از هم در راه دفاع از میهن کشته شدند؟
آیا میدانستید که : جورج هربرت واکر بوش و جورج دبلیو بوش دو رئیس جمهور ایالات متحده آمریکا از اعضای محفل مخفی جمجمه و استخوان اند؟
آیا میدانستید که :باراک اوباما در سال ۲۰۱۰ بعد از گذشت ۶۲ سال، بابت آزمایش میکروب سفلیس در گواتمالا توسط دولت ایالات متحده آمریکا بر روی شهروندان این کشور، عذر خواهی کرد؟
آیا میدانستید که : نقش رستم مجموعهای باستانی در روستای زنگیآباد استان فارس است که از حدود سال ۱۲۰۰ پیش از میلاد تا سال ۶۲۵ میلادی مورد استفاده بودهاست؟
آیا میدانستید که :حسن رشدیه که لقب پدر فرهنگ جدید ایران به او دادهاند با توصیه پدرش که از روحانیان بود به جای رفتن به نجف و خواندن درس طلبگی، به استانبول، مصر و بیروت رفت تا آموزگاری نوین را فراگیرد؟
آیا میدانستید که :حسین امانت در ۲۴ سالگی طرح برج آزادی را که تلفیقی از معماری دوران هخامنشی، ساسانی و دوره اسلامی است با نام میدان شهیاد در مدت ۲۸ ماه اجرا کرد؟
آیا میدانستید که :جبار باغچهبان بنیانگذار نخستین کودکستان، نخستین مدرسه کر و لالهای ایران و همچنین نخستین مؤلف و ناشر کتاب کودک در ایران است؟
آیا میدانستید که :طاق کسری یا ایوانِ مداین نام کاخ پادشاهان ساسانی در شهر بغداد است که بلندترین طاق خشتی ساخته شده به دست انسان میباشد؟
آیا میدانستید که :گیوم آپولینر یکی از برجستهترین شاعران نخستین دهه قرن بیستم میلادی در فرانسه به اتهام دزدی از موزه لوور یک هفته در زندان بود؟
آیا میدانستید که :دیپ بلو نخستین کامپیوتر شطرنجبازی است که در ماه مه ۱۹۹۷ توانستهاست قهرمان شطرنج جهان را شکست دهد؟
آیا میدانستید که :پنگوئن امپراتور نر در مدت دوماهی که وظیفه محافظت از تخم را به عهده دارد هیچ چیز نمیخورد؟ (تصویر)
آیا میدانستید که :هایکو کوتاهترین گونهٔ شعر در جهان است و ژاپنیها ابداع کنندهٔ هستند؟
آیا میدانستید که :مایاها نخستین قومی در جهان بودند که در حدود سال ۳۶ پیش از میلاد موفق به کشف عدد صفر شدند و تنها ششصد سال بعد بود که هندیها به راز صفر پی بردند؟
آیا میدانستید که :اَرگ رایِن در شهر کرمان با مساحتی بیش از بیست و دو هزار مترمربع، دومین بنای خشتی بزرگ جهان پس از ارگ بم است؟
آیا میدانستید که :آفریقای سیاه اصطلاحی است که برای مناطق جنوب صحرای بزرگ آفریقا بهکار میرود و این نام به خاطر سیاهپوست بودن اکثر ساکنان این مناطق رواج یافتهاست؟
آیا میدانستید که :سیاهمجد در اساطیر ایران دوره اسلامی نام مرد سیاهپوستی است که اغلب در پشت مسجدها و در حال قضای حاجت است؟
آیا میدانستید که :زامبی رایانهای اغلب برای فعالیتهایی مانند گسترش هرزنامههای الکترونیکی و بدون آگاهی صاحب واقعی رایانه، مورد بهرهبرداری قرار میگیرد؟
آیا میدانستید که :دیناور به پیروان دین مانوی گفته میشد. آئینی عرفانی که ترکیبی از ادیان مسیحیت، زرتشتی و گنوسی بود؟
آیا میدانستید که :پلاستوفوم نوعی پلیمر سفید رنگ که عایق رطوبت، صدا و حرارت است. این پلیمر در ایران به نام یونولیت شناخته میشود؟
آیا میدانستید که :غلامحسین نقشینه بازیگر معروف نقش دایی جان ناپلئون بود که در خردادماه سال ۱۳۴۱ با سِمت معاون مدیرکل امور مخابرات سازمان برنامه و بودجه بازنشسته شد؟
آیا میدانستید که :شطرنج۹۶۰ گونهای از بازی شطرنج است که بابی فیشر قهرمان سابق شطرنج جهان، پدید آورنده آن است. تنها تفاوت این شطرنج با شطرنج کلاسیک در چگونگی جایگیری مهرهها (به جز پیادهها) است؟
آیا میدانستید که :جنگ تریاک بین سالهای ۱۸۴۰ تا ۱۸۴۲ میلادی میان انگلستان و چین روی داد. این جنگ نخستین مرحله نفوذ موثر کشورهای اروپای غربی به چین به شمار میرود؟
آیا میدانستید که :تلخترین ترکیب شیمیایی شناخته شده تاکنون توسط بشر دناتونیوم نام دارد؟
آیا میدانستید که :کافه گلاسه، بستنیهای فرنگی، قهوه ترک و قهوه فرانسوی برای نخستین بار در سال ۱۳۰۶ در کافه نادری به ایرانیان عرضه شد؟
آیا میدانستید که :یهودی سرگردان در ادبیات عامیانهٔ اروپا داستان یک یهودی است که به مسیح توهین میکند، و به تاوان آن تا بازگشت مسیح باید زمین را بپیماید؟
آیا میدانستید که :تیله را در اهواز و آبادان فِنگ، در خراسان توشله، در تبریز مازی، در ایلام گُلو و در سقز کردستان که لا می گویند؟
آیا میدانستید که : اِدو نام یک دهکدهٔ ماهیگیری کوچک در ژاپن بود که بعدها به یکی از بزرگترین شهرهای جهان به نام توکیو، به معنی پایتخت شرقی، تبدیل شد؟
آیا میدانستید که :نام آذربایجان معرب آتروپاتکان است و ریشه نام به سردار پارسی هخامنشیان، آتروپات برمیگردد که بخشهای شمال ایران را در زمان حمله اسکندر از اشغال حفظ کرد؟
آیا میدانستید که :نمایش آدم و حوا نخستین تئاتر زنان در ایران بود که محوریت آن آزادی زنان بود و نمایشنامه آن توسط جمعیت نسوان وطنخواه و میرزاده عشقی در سال ۱۳۰۲ آماده شده بود؟
آیا میدانستید که :پنگوئن امپراتور میتواند ۱۸ دقیقه در عمق ۵۳۵ متری زیر آب بماند. و در شرایط اضطراری، توانایی کاهش سوخت و ساز بدن و غیرفعال کردن عملکرد اندامهای غیر ضروری را دارد؟
آیا میدانستید که :نام کوروش بزرگ در پارسی باستان «کوروش»، در زبان عیلامی «کوراش»، در متون اکدی «کورِش»، در تورات بصورت «کورُش» و «کورِش»، در زبان یونانی «کورُس»، در کتاب آثار الباقیه «کورُش»، در مروج الذهب «کورُس» و در کتاب تاریخ الرسل و الملوک «کِیرُش» نوشته شدهاست؟
آیا میدانستید که :موزه هنرهای معاصر تهران بزرگترین و گرانبهاترین گنجینه آثار هنری مدرن در خارج از ایالات متحده و اروپا را داراست؟
آیا میدانستید که :سیاهچاله ناحیهای از فضا-زمان است که هیچ چیز، حتی نور هم نمیتواند از میدان گرانشی آن بگریزد؟
آیا میدانستید که :نادر جهانبانی، سپهبد خلبان نیروی هوایی شاهنشاهی ایران، به خاطر چهره اروپاییاش به عنوان ژنرال چشمآبی معروف بود؟
آیا میدانستید که :فیفا ۱۰۰ نام فهرستی از صد بازیکن فوتبال برتر دنیاست که به درخواست فیفا و بوسیله پله، بازیکن فوتبال برزیلی، در سال ۲۰۰۴ نوشته شدهاست؟
آیا میدانستید که :هارولد لوید که حرکات خطرناک در داستان فیلم را خود انجام میداد به همراه چارلی چاپلین و باستر کیتون در زمره محبوبترین کمدینهای دوران فیلم صامت بهشمار میآید؟
آیا میدانستید که :دریای خزر به عنوان بزرگترین دریاچه جهان و بزرگترین منبع ماهیان خاویاری در جهان بیش از ۹۰ درصد خاویار جهان را تأمین میکند؟
آیا میدانستید که :ماهاتما به معنای روح بزرگ لقب مهانداس کارامچاند گاندی رهبر سیاسی و معنوی هندیها بود که ملت هند را در راه آزادی از استعمار امپراتوری بریتانیا رهبری کرد؟
آیا میدانستید که :کندترین ماهی دریا اسب دریایی است که با سرعت ۰٫۰۱۶ کیلومتر بر ساعت شنا میکند؟
آیا میدانستید که :استارباکس با داشتن ۱۹۹۷۲ شعبه در ۶۰ کشور دنیا، بزرگترین کافیشاپ زنجیرهای در جهان است؟
آیا میدانستید که :آسپرین یکی از پر طرفدارترین داروها در دنیاست که سالانه ۵۰۰۰۰ میلیون عدد از آن در جهان مصرف میشود؟
آیا میدانستید که :ببرهای تامیل یک گروه نظامی جداییطلب است که در ماه می سال ۱۹۷۶ برای ایجاد یک ایالت مستقل در شمال و شرق سریلانکا پایهگذاری شد؟
آیا میدانستید که :نخستین آلبوم راک اند رول به دست فرهاد مِهراد معروف به فرهاد در ایران منتشر شد؟
آیا میدانستید که :امپراتوری مغول در سدههای میانی تاریخ (۵۰۰ میلادی تا ۱۵۰۰ میلادی) با وسعت ۲۴ میلیون کیلومتر مربع بزرگترین امپراتوری جهان بشمار میآمد؟
آیا میدانستید که :جان رونالد روئل تالکین خالق رمانهای هابیت و ارباب حلقهها و ۱۵ زبان تخیلی است که شخصیتهای مختلف سرزمینهای خیالی داستانهایش به آن زبانها سخن میگویند؟
آیا میدانستید که :استوانهٔ کوروش در سال ۱۹۷۱ میلادی به همهٔ زبانهای رسمی سازمان ملل متحد منتشر شد و بدلی از این استوانه در مقر سازمان ملل در شهر نیویورک قرار گرفت؟
آیا میدانستید که :الیا کازان به عنوان کارگردان، دو جایزه اسکار، چهار جایزه گلدن گلوب و سه جایزه تونی را از آن خود کرد؟
آیا میدانستید که :تنها جانوری که میتواند پس از بلوغ جنسی به دوره نابالغی بازگردد، تیولا یا عروس دریایی نامیرا است که صدها سال عمر میکند؟
آیا میدانستید که :سومو یک سبک کُشتی ژاپنی است که در آن هدف شرکتکنندگان این است که حریف خود را از رینگ بیرون انداخته یا او را وادار کنند تا یکی از اعضای بدن خود را بر زمین گذارد؟
آیا میدانستید که :سرخجامگان به رهبری مازیار در طبرستان و خرمدینان به رهبری بابک در آذربایجان علیهٔ عباسیان قیام کردند و سرانجام کشته شدند؟
آیا میدانستید که :نوار موبیوس سطحی است که فقط یک رو و فقط یک مرز دارد. این نوار مثالی از یک رویهٔ جهتناپذیر در ریاضیات است؟
آیا میدانستید که :ریچارد نیکسون از سال ۱۹۶۹ تا ۱۹۷۴، سیوهفتمین رئیس جمهور آمریکا بود و تا به امروز نخستین و تنها رئیسجمهور این کشور است که از مقام خود کنارهگیری کردهاست؟
آیا میدانستید که :« زبان مردم آذربایجان نه ترکی بلکه زبانی بنام زبان تاتی ایران بودهاست » موضوع رساله دکترای احسان یارشاطر بود؟
آیا میدانستید که :در جریان محاکمهٔ پزشک احمدی در سال ۱۳۲۰، احمد کسروی با این عنوان که او «واسطه افزار جرم» بوده نه عامل آن، وکیل مدافع وی بود؟
آیا میدانستید که :دقیقی آغاز کننده سرایش شاهنامه و از معدود شاعران ادبیات فارسی است که آئین مزدیسنا داشتهاست؟
آیا میدانستید که :یوناتان نتانیاهو برادر بزرگتر بنیامین نتانیاهو نخستوزیر اسرائیل در جریان عملیات آزادسازی مسافران هواپیمای فرانسوی در ۴ ژوئیه ۱۹۷۶ در فرودگاه انتبه کشته شد؟
آیا میدانستید که :بهاءالدین ولد نام پدر و بهاء ولد نام پسر مولوی بودهاست؟
آیا میدانستید که :قلعه دختر به قلعههای دستنیافتنیای میگفتند که تصرف آنها مشکل بودهاست و در چندین شهر ایران آثاری از آنها برجای ماندهاست. همچنین گاه در مقابل آنها قلعه دیگری به نام قلعه پسر ساخته میشد؟
آیا میدانستید که :امتیوی نخستین شبکه تلویزیونی جهان بود که به طور شبانه روزی موسیقی پخش میکرد؟
آیا میدانستید که : برج گنبد کاووس بلندترین بنای آجری دنیا است و بیش از هزارسال قدمت دارد؟
آیا میدانستید که : بتهوون بهترین آثارش را در دورانی که کمشنوا و در نهایت ناشنوا بود خلق کرد و بیشترین ساختارشکنیهایش مربوط به این دوران است؟
آیا میدانستید که : گروهی از ماساگتها که از اقوام ایرانیتبار و از تیرهٔ سکایی در آسیای میانه بودند به جنوب شرقی ایران کوچیدند و این سرزمین را به نام خود سکستان یا سیستان کنونی خواندند؟
آیا میدانستید که : پروژهٔ منهتن (پروژهٔ ساخت بمب اتم) با امضا و تائید آلبرت اینشتین شروع شد، اما با این وجود سازمان افبیآی به دلایل امنیتی به وی اجازهٔ مشارکت در این پروژه را نداد؟
آیا میدانستید که : رمز ژنتیکی مربوط به رفتارِ تعلّقی (دوستانه) در انسان و بونوبو (شامپانزهٔ کوتوله) مشترک است؟ این کد ژنتیکی در شامپانزه معمولی نیست؟
آیا میدانستید که : نبرد نرماندی بزرگترین عملیات آبی خاکی تاریخ محسوب میشود؟
آیا میدانستید که : جنگ ایران و عراق (به مدت ۸ سال) طولانیترین جنگ سده بیستم میلادی بود؟
آیا میدانستید که : کمبوجیه دوم پسر بزرگ کورش هنگامیکه به پادشاهی رسید به سوی مصر لشکر کشید و بر فرعونهای مصر که بیش از سه هزار سال حکومت میکردند پیروز گشته و وارد مصر شد؟
آیا میدانستید که : سلیمان حییم علاوه برفرهنگهای انگلیسی به فارسی و برعکس، فرهنگهای فرانسوی به فارسی، عبری به فارسی و برعکس را نیز تدوین کردهاست و با زبانهای ترکی و آلمانی و روسی آشنایی داشتهاست؟
آیا میدانستید که : دکتر علی ملکحسینی نخستین پیوند کبد از فرد زنده به فرد زنده را در بیمارستان نمازی شیراز انجام داد؟
آیا میدانستید که : در دورهٔ جنبش مشروطه انجمنهای سرّی و نیمهسری زیادی در ایران به وجود آمدند؛ در این دوران انجمنهای زنان نیز به طور مخفیانه شکل گرفتند که در انقلاب مشروطه شرکت میکردند و سپس سازمانهای حقوق زنان تاسیس شدند که جنبش زنان ایران را آغاز کردند؟
آیا میدانستید که : قلندران معمولاً دلقی سبزرنگ از جنس پشم پوشیده و موی سر و ریش و سبیل و گاهی بعضی از آنان ابروی خود را نیز میتراشیدهاند؟
آیا میدانستید که : شاپور دوم ساسانی پیش از زاده شدن و وقتی درون شکم مادرش بود، پدرش هرمز دوم درگذشت؛ در روایات آمده که درباریان و موبدان تاج شاهی بر شکم مادرش گذاشتند؛ بدین ترتیب وی از بدو تولد شاهنشاه بود؟
آیا میدانستید که : بمب هیدروژنی تزار قویترین بمب آزمایش شده توسط بشر است که حدود ۳۰۰۰ برابر بمب اتمی هیروشیما قدرت داشت و تا ۶۰۰۰ برابر نیز قابل ارتقا بود؟
آیا میدانستید که : نبرد عین جالوت اولین نبردی بود که در آن مغولها به شکل ماندگاری شکست خورده و از ادامه پیشروی بازماندند؟
آیا میدانستید که : پیمان نانجینگ پیمانی بود که پس از جنگ تریاک نخست بین بریتانیا و چین بسته شد و مطابق آن هنگ کنگ به پادشاهی بریتانیا واگذار شد؟
آیا میدانستید که : کوه سرگردان جلد سوم جزیره سرگردانی و آخرین رمان سیمین دانشور، از سال ۱۳۸۶ مفقود شدهاست؟
آیا میدانستید که : مزدا نام شرکت خودروسازی مشهور ژاپنی، برگرفته از نام اهورامزدا بودهاست؟
آیا میدانستید که : سمیرامیس ملکهٔ افسانهای سرزمین بابل است که باغهای معلق بابل برای او ساخته شد؟
آیا میدانستید که : تا پیش از آن که رضاشاه، شیرهکشخانهها را تعطیل و اداره آنها را ممنوع نماید این مکانها در دوره ناصرالدینشاه قاجار در اوج فعالیت خود بود ؟
آیا میدانستید که : بلشویکها گروهی از حزب کارگر سوسیال دموکرات مارکسیستی روسیه بودند که در دومین کنگره حزب در ۱۹۰۳ به رهبری ولادیمیر لنین از دستهٔ منشویکها (اقلیت) جدا شده و نهایتاً حزب کمونیست شوروی را تشکیل دادند؟
آیا میدانستید که : بلز پاسکال در سن ۱۸ سالگی، برای کمک به پدرش در انجام محاسبات ریاضی، یک ماشینحساب مکانیکی ساخت که قادر به جمع و تفریق اعداد بود که بعدها به نام ماشین حساب پاسکال شهرت یافت؟
آیا میدانستید که : رنسانس یا نوزایی در سالهای ۱۳۰۰ از ایتالیا آغاز شد و در طول سه قرن در سراسر اروپا انتشار یافت؟
آیا میدانستید که : جایزه هوگو قدیمیترین و یکی از معتبرترین جوایز در زمینهٔ داستان نویسی علمی–تخیلی و خیالپردازی است که به افتخار هوگو گرنزبک بنیانگذار نخستین مجلهٔ علمی-تخیلی به نام او نامگذاری شدهاست؟
آیا میدانستید که : مرغ چنگ پرندهای از خانوادهٔ گنجشکسانان و شناخته شده ترین پرندهٔ بومی استرالیا است. این پرنده میتواند هر صدایی که در پیرامونش به گوش میرسد را تقلید کند حتی صدای بسته شدن دریچهٔ دوربین در هنگام عکس گرفتن؟
آیا میدانستید که : از آنجا که دو قاره آسیا و اروپا مرز طبیعی ویژهای ندارند و مرزبندی کنونی میان این دو قاره بیشتر تاریخی-فرهنگی است؛ برخی از گیتاشناسان این دو قاره را قارهای یکپارچه می دانند و آن را اوراسیا میخوانند؟
آیا میدانستید که : فرانسیسکو وارایو بازی کن پیشین تیم ملی فوتبال آرژانتین در اوت سال ۲۰۱۰ آخرین فرد زنده از میان بازیکنان مرحلهٔ نهایی جام جهانی فوتبال ۱۹۳۰ اروگوئه بود که در سن صد سالگی درگذشت؟
آیا میدانستید که : جنبش وهابیت پیش از پایهگذاری حکومت پادشاهی عربستان سعودی به دست ملک عبدالعزیز، یک بار توسط سلطان عثمانی در سال ۱۸۱۸ و بار دیگر به دست خاندان رشیدیه (از شمال عربستان) از تسلط سیاسی و مذهبی بر عربستان باز ماند؟
آیا میدانستید که : امپراتریس گو-ساکوراماشی ۱۱۷مین فرمانروا و در تمام دورههای امپراتوری ژاپن وی ۸مین و آخرین امپراتریسِ فرمانروای ژاپن است؟
آیا میدانستید که : سروانتس رماننویس، شاعر، نقاش و نمایشنامهنویس اسپانیایی بود و در جنگ لپانتو در مقابل امپراتوری عثمانی جنگید و بر اثر جراحات وارده دست چپش از کار افتاد؟
آیا میدانستید که : بر روی سنگ قبر نیکوس کازانتزاکیس نوشته شده: «نه آرزوئی دارم، نه میترسم. من آزادم»؟
آیا میدانستید که : آتش جنگ جهانی اول در ۱۱ نوامبر ۱۹۱۸ خاموش شد در حالیکه پیمان ورسای در در ۲۸ ژوئن سال ۱۹۱۹ میلادی به امضا رسید و در ۱۰ ژانویه ۱۹۲۰ به مرحله اجرا گذاشته شد؟
آیا میدانستید که : در سال ۱۹۳۳ و در جریان رکود بزرگ، برای مدتی ورود شهروندان دیگر مناطق آمریکا به کالیفرنیا توسط مسئولان ایالتی با محدودیت روبرو شده بود؟
آیا میدانستید که : پرتاب روباه یکی از بازیهای پرطرفدار قرنهای هفده و هجده میلادی در بیشتر قسمتهای اروپا بود؟
آیا میدانستید که : کاظم رجوی نخستین نمایندهٔ ایران در مقر سازمان ملل متحد در ژنو پس از انقلاب ۱۳۵۷ بود که در تاریخ ۲۴ آوریل ۱۹۹۰ در نزدیکی خانهاش هدف ۶ گلوله قرار گرفت؟
آیا میدانستید که : هووخشتره تواناترین شاه ماد اولین پادشاهی است که یک سلطنت سراسری را در ایران تشکیل داد و ایران را به عنوان یک قدرت مهم جهان آن زمان مطرح کرد؟
آیا میدانستید که : صبیحه گوکچن، دخترخواندهٔ مصطفی کمال آتاترک، اولین خلبان زن هواپیماهای جنگنده در سرتاسر جهان است؟
آیا میدانستید که : طلا شکلپذیرترین مادهاست و یک اونس آن را میتوان به اندازهٔ ۳۰۰ پا پهن کرد؟
آیا میدانستید که : در سنت مذهبی مایا خدایان زوج بودند و هرکدام برای خود قرینهای نیز داشتند که همکار و همدمشان بود؟
آیا میدانستید که : مونتهنگرو از ۲۱ مه ۲۰۰۶ و کوزوو از ۱۸ فوریه ۲۰۰۸ به عنوان کشور شناخته شدند؟
آیا میدانستید که : پس از کشتهشدن پاتریس لومومبا، شعری با نام «سرود بهار» از عبدالله بهزادی در سوگ وی خطاب به همسر او در هفتهنامه سپید و سیاه بهچاپ رسید که بعدها متن سرود انقلابی بهاران خجسته باد شد؟
آیا میدانستید که : دنبالهدار سی/۲۰۱۲ اس۱ هنگامی که در حضیض خود در روز ۲۸ نوامبر ۲۰۱۳ جای گیرد، درخشان تر از ماه کامل در آسمان دیده خواهد شد؟
آیا میدانستید که : نام شهر تفتناز در سوریه عربی نیست بلکه ریشه آن به زبان هیتی باز میگردد؟
آیا میدانستید که : ساختمان پایتخت ایالت ویسکانسین در ۲۶ فوریهٔ ۱۹۰۴ میلادی آنچنان سوخت که میتوان گفت، با خاک یکسان شد؟
آیا میدانستید که : منارهٔ مسجد حسن دوم با بلندی ۲۱۰ متر، بلندترین مناره در جهان است و در بالای آن پرتوهای لیزر تابیده میشود و مستقیم به سوی مکه اشاره دارد؟
9:59 am
کاربرد برنامه نویسی
زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف دادهها، و عملیات یا تبدیلهایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم میکند. یک برنامه نویس از انتزاعات آماده در زبان استفاده میکند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از سادهترین عناصر موجود بیان میشوند(مفاهیم ابتدایی نامیده میشوند).

زبانهای برنامه نویسی با غالب زبانهای انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبانهای طبیعی برای ارتباط با دیگر انسانها، نویسندگان و گویندگان میتوانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانهها "دقیقاً آنچه که به آنها گفته شده را انجام میدهند." و نمیتوانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بودهاست] البته امروزه برنامههایی برای انجام این کار تولید شدهاند و تلاشهای بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص میکند. برنامههای یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامهها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامهای استفاده میشود، زبان اسکریپت میگویند. بسیاری از زبانها کنار گذاشته شدهاند، برای رفع نیازهای جدید جایگزین شدهاند، با برنامههای دیگر ترکیب شدهاند و در نهایت استعمال آنها متوقف شدهاست. با وجود اینکه تلاشهایی برای طراحی یک زبان رایانه" کامل" شدهاست که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبانهای رایانهای گسترده از گستردگی زمینههایی که زبانها استفاده میشوند، ناشی میشود:
محدوده برنامهها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستمهای بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویسها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفهایهایی که با پیچیدگی قابل توجهی کنار میآیند.
برنامهها باید سرعت، اندازه و سادگی را بسته به سیستمها از ریزپردازندها تا ابر رایانهها متناسب نگه دارند.
برنامهها ممکن است یک بار نوشته شوند و تا نسلها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویسها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.
یک سیر رایج در گسترش زبانهای برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبانهای برنامه نویسی اولیه به سختافزار رایانه گره خورده بودند. همانطور که زبانهای برنامه نویسی جدید گسترش پیدا کردهاند، ویژگیهایی به برنامهها افزوده شده که به برنامه نویس اجازه دهد که ایدههایی که از ترجمه ساده به دستورات سختافزار دورتر هستند نیز استفاده کند. چون برنامه نویسها کمتر به پیچیدگی رایانه محدود شدهاند، برنامههای آنها میتواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را میدهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازندههای زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبانهای اختصاصی برنامه نویسی پیشنهاد شدهاند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.
المانها
تمام زبانهای بزنامه نویسی تعدادی بلوکهای ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف میشوند که ساختار و معنای مربوطه را توضیح میدهند.
دستور(
syntax)
فرم سطحی یک زبان برنامه نویسی دستور آن نامیده میشود. غالب زبانهای برنامه نویسی کاملاً متنی اند؛ و از دنبالهٔ متون شامل کلمات، اعداد، نشانگذاری، بسیار شبیه زبان نوشتاری طبیعی استفاده میکنند. از طرف دیگر، برنامههایی نیز وجود دارند که بیشتر گرافیکی اند، و از روابط بصری بین سمبلها برای مشخص کردن برنامه استفاده میکنند. دستور یک زبان ترکیبات ممکن سمبلها برای ایجاد یک برنامهٔ درست را از نظر دستوری مشخص میکند. معنایی که به یک ترکیب سمبلها داده میشود با معناشناسی اداره میشود(قراردادی یا نوشته شده در پیاده سازی منبع). از آنجا که اغلب زبانها متنی هستند، این مقاله دستور متنی را مورد بحث قرار میدهد.
دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف میشوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص میکند:
یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکستهای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی میتواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) میآید.
یک لیست تعدادی پرانتز است که میتواند صفر یا چند عبارت در خود داشته باشد.
"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثالهایی هستند از دنبالههای خوش فرم در این گرامر.
همه برنامههایی که از لحاظ دستوری درست هستند، از نظر معنا درست نیستند. بسیاری از برنامههای درست دستوری، بد فرم اند، با توجه به قوانین زبان؛ و ممکن است (بسته به خصوصیات زبان و درست بودن پیاده سازی) به خطای ترجمه و یا استثنا(exception) منتج شود. در برخی موارد، چنین برنامههایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی اگر یک برنامه در یک زبان به خوبی بیان شده باشد، ممکن است دقیقاً مطلوب نویسنده آن نبوده باشد.
به عنوان مثال در زبان طبیعی، ممکن نیست به برخی از جملات درست از لحاظ گرامری، معنای خاصی اطلاق کرد و یا ممکن است جمله نادرست باشد:
"ایدههای بی رنگ سبز با خشم میخوابند."از نظر دستوری خوش فرم است ولی معنای مورد قبولی ندارد.
"جان یک مجرد متاهل است." از نظر دستوری درست است، ولی معنایی را بیان میکند که نمیتواند درست باشد.
این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام میدهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);
گرامر مورد نیاز برای مشخص کردن یک زبان برنامه نویسی میتواند با جایگاهش در "سلسله مراتب چامسکی" طبقه بندی شود. دستور اغلب زبانهای برنامه نویسی میتواند بوسیله یک گرامر نوع ۲ مشخص گردد، برای مثال، گرامرهای مستقل از متن.
معناشناسی ایستا
معناشناسی ایستا محدودیتهایی بر روی ساختار مجاز متنها تعیین میکند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیتها به وسیله سیستم نوع گذاری انجام میشود.
سیستم نوع گذاری
یک سیستم نوع گذاری مشخص میکند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی میکند، چگونه میتواند آن نوعها را تغییر دهد و رفتار متقابل آنها چگونهاست. این کارعموما توضیح داده ساختارهایی که میتوانند در آن زبان ایجاد شوند را شامل میشود. طراحی و مطالعه سیستمهای نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبانهای نوع گذاری شده و بدون نوع گذاری
یک زبان نوع گذاری شدهاست اگر مشخصات هر عملیات، نوع دادههای قابل اجرا توسط آن را با نشان دادن نوعهایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشتهاست. در غالب زبانهای برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبانهای برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامهها رد کنند. در برخی زبانها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامهها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبانهای نوع دار زبانهای تک نوعند. این زبانها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشتههای کاراکتری که هم برای دادههای عددی و هم برای دادههای سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبانهای اسمبلی، این امکان را میدهد که هر عملیاتی روی هر دادهای انجام شود، که معمولاً دنبالهای از بیتها با طولهای متفاوت در نظر گرفته میشوند. زبانهای سطح بالا که بی نوع هستند شامل زبانهای ساده رایانهای و برخی از انواع زبانهای نسل چهارم.
در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی میشوند(چک کردن یا رد کردن تمام عملیاتها)، غالب زبانهای امروزی درجهای از نوع گذاری را فراهم میکنند. بسیاری از زبانهای تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم میکنند.
نوع گذاری ایستا و متحرک
در نوع گذاری ایستا تمام عبارات نوعهای خود را قبل از اجرای برنامه تعیین میکنند(معمولاً در زمان کامپایل). برای مثال، ۱ و (۲+۲) عبارات عددی هستند؛ آنها نمیتوانند به تابعی که نیاز به یک رشته دارد داده شوند، یا در متغیری که تعریف شده تا تاریخ را نگه دارد، ذخیره شوند.
زبانهای نوع گذاری شده ایستا میتوانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوعها را در جایگاههای منتنی مشخص مینویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریفها را بر اساس متن استنباط میکند. غالب زبانهای مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری میشوند
نوع گذاری قوی و ضعیف
نوع گذاری ضعیف این امکان را ایجاد میکند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.
نوع گذاری قوی مانع رخ دادن مشکل فوق میشود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا میشود. زبانهایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته میشوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبانها اشاره میکند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را میدهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل میکند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشتهای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان میکنند.
قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض میشوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار میبرند و منظورشان قوی، ایستایی نوع گذاری شدهاست، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شدهاست. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده میشود.
معناشناسی اجرا
وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیاتها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین میکند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.
برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی میشوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا میکنند.
کتابخانه هسته
اغلب زبانهای برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده میشوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازیهای زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتمها، داده ساختارها و مکانیزمهای ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار میکنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هستهای را مشخص میکنند که باید در تمام پیاده سازیها موجود باشند، و در زبانهای استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبانها به گونهای تعریف شدهاند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونهای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونهای از کلاس BlockContext کتابخانه میسازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان میباشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمیکنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.
عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازیهای زبان هستند.
خصوصیات
یک زبان برنامه نویسی باید تعریفی فراهم کند که کاربران و پیاده کنندههای زبان میتوانند از آن استفاده کنند تا مشخص کنند که رفتار یک برنامه درست است. با داشتن کد منبع: خصوصیات یک زبان برنامه نویسی چندین قالب میتواند بگیرد، مانند مثالهای زیر:
تعریف صریح دستور، معناشناسی ایستا، ومعناشناسی اجرای زبان. درحالیکه دستور معمولاً با یک معناشناسی قراردادی مشخص میشود، تعاریف معناشناسی ممکن است در زبان طبیعی نوشته شده باشند (مثل زبان C)، یا معناشناسی قراردادی(مثل StandardML ,Scheme)
توضیح رفتار یک مترجم برای زبان(مثل C,fortran). دستور و معناشناسی یک زبان باید از این توضیح استنتاج شوند، که ممکن است به زبان طبیعی یا قراردادی نوشته شود.
پیاده سازی منبع یا مدل. گاهی اوقات در زبانهای مشخص شده(مثل: prolog,ANSI REXX).دستور و معناشناسی صریحاً در رفتار پیاده سازی مدل موجودند.
پیاده سازی
پیاده سازی یک زبان برنامه نویسی امکان اجرای آن برنامه را روی پیکربندی مشخصی از سختافزار و نرمافزار را فراهم میکند. بطور وسیع، دو راه رسیدن به پیاده سازی زبان برنامه نویسی وجود دارد. کامپایل کردن و تفسیر کردن. بطور کلی با هر بک از ابن دو روش میتوان یک زبان را پیاده سازی کرد.
خروجی یک کامپایلر ممکن است با سختافزار و یا برنامهای به نام مفسر اجرا شود. در برخی پیاده سازیها که از مفسر استفاده میشود، مرز مشخصی بین کامپایل و تفسیر وجود ندارد. برای مثال، برخی پیاده سازیهای زبان برنامه نویسی بیسیک کامپایل میکنند و سپس کد را خط به خط اجرا میکنند.
برنامههایی که مستقیماً روی سختافزار اجرا میشوند چندین برابر سریعتر از برنامههایی که با کمک نرمافزار اجرا میشوند، انجام میشوند.
یک تکنیک برای بهبود عملکرد برنامههای تفسیر شده کامپایل در لحظه آن است. در این روش ماشین مجازی، دقیقاً قبل از اجرا، بلوکهای کدهای بایتی که قرار است استفاده شوند را برای اجرای مستقیم روی سختافزار ترجمه میکند.
تاریخچه
پیشرفتهای اولیه
اولین زبان برنامه نویسی به قبل از رایانههای مدرن باز میگردد. قرن ۱۹ دستگاههای نساجی و متون نوازنده پیانو قابل برنامه نویسی داشت که امروزه به عنوان مثالهایی از زبانهای برنامه نویسی با حوزه مشخص شناخته میشوند. با شروع قرن بیستم، پانچ کارتها داده را کد گذاری کردند و پردازش مکانیکی را هدایت کردند. در دهه ۱۹۳۰ و ۱۹۴۰، صورت گرایی حساب لاندای آلونزو چرچ و ماشین تورینگ آلن تورینگ مفاهیم ریاضی بیان الگوریتمها را فراهم کردند؛ حساب لاندا همچنان در طراحی زبان موثر است.
در دهه ۴۰، اولین رایانههای دیجیتال که توسط برق تغذیه میشدند ایجاد شدند. اولین زبان برنامه نویسی سطح بالا طراحی شده برای کامپیوتر پلانکالکول بود، که بین سالهای ۱۹۴۵ و ۱۹۴۳ توسط کنراد زوس برای ز۳ آلمان طراحی شد.
کامپیوترهای اوایل ۱۹۵۰، بطور خاص ÜNIVAC ۱ و IBM ۷۰۱ از برنامههای زبان ماشین استفاده میکردند. برنامه نویسی زبان ماشین نسل اول توسط نسل دومی که زبان اسمبلی نامیده میشوند جایگزین شد. در سالهای بعد دهه ۵۰، زبان برنامه نویسی اسمبلی، که برای استفاده از دستورات ماکرو تکامل یافته بود، توسط سه زبان برنامه نویسی سطح بالا دیگر: FORTRAN,LISP , COBOL مورد استفاده قرار گرفت. نسخههای به روز شده این برنامهها همچنان مورد استفاده قرار میگیرند، و هر کدام قویا توسعه زبانهای بعد را تحت تاثیر قرار دادند. در پایان دهه ۵۰ زبان algol ۶۰ معرفی شد، و بسیاری از زبانهای برنامه نویسی بعد، با ملاحظه بسیار، از نسل algol هستند. قالب و استفاده از زبانهای برنامه نویسی به شدت متاثر از محدودیتهای رابط بودند.
پالایش
دوره دهه ۶۰ تا اواخر دهه ۷۰ گسترش مثالهای عمده زبان پرکاربرد امروز را به همراه داشت. با این حال بسیاری از جنبههای آن بهینه سازی ایدههای اولیه نسل سوم زبان برنامه نویسی بود:
APL برنامه نویسی آرایهای را معرفی کرد و برنامه نویسی کاربردی را تحت تاثیر قرار داد.
PL/i(NPL) دراوایل دهه ۶۰ طراحی شده بود تا ایدههای خوب فورترن و کوبول را بهم پیوند دهد.
در دهه ۶۰، Simula اولین زبانی بود که برنامه نویسی شئ گرا را پشتیبانی میکرد، در اواسط دهه۷۰. Smalltalk به دنبال آن به
عنوان اولین زبان کاملاً شئ گرا معرفی شد.
C بین سالهای ۱۹۶۹ تا ۱۹۷۳ به عنوان زبان برنامه نویسی سیستمی طراحی شد و همچنان محبوب است.
Prolog، طراحی شده در ۱۹۷۲، اولین زبان برنامه نویسی منطقی بود.
در ۱۹۷۸ ML سیستم نوع چند ریخت روی لیسپ ایجاد کرد، و در زبانهای برنامه نویسی کاربردی ایستا نوع گذاری شده پیشگام شد.
هر یک از این زبانها یک خانواده بزرگ از وارثین از خود به جای گذاشت، و مدرنترین زبانها از تبار حداقل یکی از زبانهای فوق به شمار میآیند.
دهههای ۶۰ و ۷۰ مناقشات بسیاری روی برنامه نویسی ساخت یافته به خود دیدند، و اینکه آیا زبانهای برنامه نویسی باید طوری طراحی شوند که آنها را پشتیبانی کنند.
"ادسگر دیکسترا" در نامهای معروف در ۱۹۶۸ که در ارتباطات ACM منتشر شد، استدلال کرد که دستورgoto باید از تمام زبانهای سطح بالا حذف شود.
در دهههای ۶۰ و ۷۰ توسعهٔ تکنیکهایی صورت گرفت که اثر یک برنامه را کاهش میداد و در عین حال بهره وری برنامه نویس و کاربر را بهبود بخشید. دسته کارت برای ۴GL اولیه بسیار کوچکتر از برنامهٔ هم سطح بود که با ۳GL deck نوشته شده بود.
یکپارچگی و رشد
دهه ۸۰ سالهای یکپارچگی نسبی بود. C++ برنامه نویسی شئ گرا و برنامه نویسی سیستمی را ترکیب کرده بود. ایالات متحده ایدا(زبان برنامه نویسی سیستمی که بیشتر برای استفاده توسط پیمان کاران دفاعی بود) را استاندارد سازی کرد. در ژاپن و جاهای دیگر، هزینههای گزافی صرف تحقیق در مورد زبان نسل پنجم میشد که دارای ساختارهای برنامه نویسی منطقی بود. انجمن زبان کاربردی به سمت استانداردسازی ML و Lisp حرکت کرد. به جای ایجاد مثالهای جدید، تمام این تلاشها ایدههایی که در دهههای قبل حلق شده بودند را بهتر کرد.
یک گرایش مهم در طراحی زبان در دهه ۸۰ تمرکز بیشتر روی برنامه نویسی برای سیستمهای بزرگ از طریق مدولها، و یا واحدهای کدهای سازمانی بزرگ مقیاس بود. مدول-۲، ایدا. و ML همگی سیستمهای مدولی برجستهای را در دهه ۸۰ توسعه دادند. با وجود اینکه زبانهای دیگر، مثل PL/i، پشتیبانی بسیار خوبی برای برنامه نویسی مدولی داشتند. سیستمهای مدولی غالباً با ساختارهای برنامه نویسی عام همراه شدهاند.
رشد سریع اینترنت در میانه دهه ۹۰ فرصتهای ایجاد زبانهای جدید را فراهم کرد. Perl، در اصل یک ابزار نوشتن یونیکس بود که اولین بار در سال ۱۹۸۷ منتشر شد، در وبگاههای دینامیک متداول شد. جاوا برای برنامه نویسی جنب سروری مورد استفاده قرار گرفت. این توسعهها اساساً نو نبودند، بلکه بیشتر بهینه سازی شده زبان و مثالهای موجود بودند، و بیشتر بر اساس خانواده زبان برنامه نویسی C بودند. پیشرفت زبان برنامه نویسی همچنان ادامه پیدا میکند، هم در تحقیقات و هم در صنعت. جهتهای فعلی شامل امنیت و وارسی قابلیت اعتماد است، گونههای جدید مدولی(mixin، نمایندهها، جنبهها) و تجمع پایگاه داده.
۴GLها نمونهای از زبانهایی هستند که محدوده استفاده آنها مشخص است، مثل SQL. که به جای اینکه دادههای اسکالر را برگردانند، مجموعههایی را تغییر داده و بر میگردانند که برای اکثر زبانها متعارفند. Perl برای مثال، با "مدرک اینجا" خود میتواند چندین برنامه ۴GL را نگه دارد، مانند چند برنامه جاوا سکریبت، در قسمتی از کد پرل خود و برای پشتیبانی از چندین زبان برنامه نویسی با تناسب متغیر در "مدرک اینجا" استفاده کند.
سنجش استفاده از زبان
مشکل است که مشخص کنیم کدام زبان برنامه نویسی بیشتر مورد استفادهاست، و اینکه کاربرد چه معنی میدهد با توجه به زمینه تغییر میکند. یک زبان ممکن است زمان بیشتری از برنامه نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبانها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکزداده متحد، غالباً روی کامپیوترهای بزرگ توانا است؛ fortran در مهندسی برنامههای کاربردی، C در برنامههای تعبیه شده و سیستمهای عامل؛ و بقیه برنامهها معمولاً برای نوشتن انواع دیگر برنامهها کاربرد دارند. روشهای مختلفی برای سنجش محبوبیت زبانها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شدهاست:
شمارش تعداد تبلیغات شغلی که از آن زبان نام میبرند.
تعداد کتابهای آموزشی و شرح دهندهٔ آن زبان که فروش رفتهاست.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبانهایی را که در جستجوها کمتر پیدا میشوند دست کم گرفته شوند.
شمارش ارجاعهای زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.
طبقه بندیها هیچ برنامه غالبی برای دسته بندی زبانهای برنامه نویسی وجود ندارد. یک زبان مشخص معمولاً یک زبان اجدادی ندارد. زبانها معمولاً با ترکیب المانهای چند زبان پیشینه بوجود میآیند که هربار ایدههای جدید درگردشند. ایدههایی که در یک زبان ایجاد میشوند در یک خانواده از زبانهای مرتبط پخش میشوند، و سپس از بین خلاهای بین خانوادهها منتقل شده و در خانوادههای دیگر ظاهر میشوند.
این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر میکند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق میکند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.
در نگاه کلی، زبانهای برنامه نویسی به مثالهای برنامه نویسی و یک دسته بندی بر اساس محدوده استفاده تقسیم میشوند. مثالها شامل برنامه نویسی رویهای، برنامه نویسی شیءگرا، برنامه نویسی کاربردی، وبرنامه نویسی منطقی؛ برخی زبانها ترکیب چند مثالند. یک زبان اسمبلی مثالی از یک مدل مستقیم متضمن معماری ماشین نیست. با توجه به هدف، زبانهای برنامه نویسی ممکن است همه منظوره باشند، زبانهای برنامه نویسی سیستمی، زبانهای اسکریپتی، زبانهای محدوده مشخص، زبانهای همزمان/ گسترده(و یا ترکیب اینها). برخی زبانهای همه منظوره تا حد زیادی برای اهداف آموزشی طراحی شدهاند.
یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثالهای برنامه نویسی دسته بندی شود. برای مثال، غالب زبانهای برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده میکنند، در حالیکه تعداد کمی این کار را نمیکنند. سایر زبانها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف دادهها، و عملیات یا تبدیلهایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم میکند. یک برنامه نویس از انتزاعات آماده در زبان استفاده میکند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از سادهترین عناصر موجود بیان میشوند(مفاهیم ابتدایی نامیده میشوند).

زبانهای برنامه نویسی با غالب زبانهای انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبانهای طبیعی برای ارتباط با دیگر انسانها، نویسندگان و گویندگان میتوانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانهها "دقیقاً آنچه که به آنها گفته شده را انجام میدهند." و نمیتوانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بودهاست] البته امروزه برنامههایی برای انجام این کار تولید شدهاند و تلاشهای بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص میکند. برنامههای یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامهها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامهای استفاده میشود، زبان اسکریپت میگویند. بسیاری از زبانها کنار گذاشته شدهاند، برای رفع نیازهای جدید جایگزین شدهاند، با برنامههای دیگر ترکیب شدهاند و در نهایت استعمال آنها متوقف شدهاست. با وجود اینکه تلاشهایی برای طراحی یک زبان رایانه" کامل" شدهاست که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبانهای رایانهای گسترده از گستردگی زمینههایی که زبانها استفاده میشوند، ناشی میشود:
محدوده برنامهها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستمهای بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویسها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفهایهایی که با پیچیدگی قابل توجهی کنار میآیند.
برنامهها باید سرعت، اندازه و سادگی را بسته به سیستمها از ریزپردازندها تا ابر رایانهها متناسب نگه دارند.
برنامهها ممکن است یک بار نوشته شوند و تا نسلها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویسها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.
یک سیر رایج در گسترش زبانهای برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبانهای برنامه نویسی اولیه به سختافزار رایانه گره خورده بودند. همانطور که زبانهای برنامه نویسی جدید گسترش پیدا کردهاند، ویژگیهایی به برنامهها افزوده شده که به برنامه نویس اجازه دهد که ایدههایی که از ترجمه ساده به دستورات سختافزار دورتر هستند نیز استفاده کند. چون برنامه نویسها کمتر به پیچیدگی رایانه محدود شدهاند، برنامههای آنها میتواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را میدهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازندههای زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبانهای اختصاصی برنامه نویسی پیشنهاد شدهاند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.
المانها
تمام زبانهای بزنامه نویسی تعدادی بلوکهای ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف میشوند که ساختار و معنای مربوطه را توضیح میدهند.
دستور(
syntax)
فرم سطحی یک زبان برنامه نویسی دستور آن نامیده میشود. غالب زبانهای برنامه نویسی کاملاً متنی اند؛ و از دنبالهٔ متون شامل کلمات، اعداد، نشانگذاری، بسیار شبیه زبان نوشتاری طبیعی استفاده میکنند. از طرف دیگر، برنامههایی نیز وجود دارند که بیشتر گرافیکی اند، و از روابط بصری بین سمبلها برای مشخص کردن برنامه استفاده میکنند. دستور یک زبان ترکیبات ممکن سمبلها برای ایجاد یک برنامهٔ درست را از نظر دستوری مشخص میکند. معنایی که به یک ترکیب سمبلها داده میشود با معناشناسی اداره میشود(قراردادی یا نوشته شده در پیاده سازی منبع). از آنجا که اغلب زبانها متنی هستند، این مقاله دستور متنی را مورد بحث قرار میدهد.
دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف میشوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص میکند:
یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکستهای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی میتواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) میآید.
یک لیست تعدادی پرانتز است که میتواند صفر یا چند عبارت در خود داشته باشد.
"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثالهایی هستند از دنبالههای خوش فرم در این گرامر.
همه برنامههایی که از لحاظ دستوری درست هستند، از نظر معنا درست نیستند. بسیاری از برنامههای درست دستوری، بد فرم اند، با توجه به قوانین زبان؛ و ممکن است (بسته به خصوصیات زبان و درست بودن پیاده سازی) به خطای ترجمه و یا استثنا(exception) منتج شود. در برخی موارد، چنین برنامههایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی اگر یک برنامه در یک زبان به خوبی بیان شده باشد، ممکن است دقیقاً مطلوب نویسنده آن نبوده باشد.
به عنوان مثال در زبان طبیعی، ممکن نیست به برخی از جملات درست از لحاظ گرامری، معنای خاصی اطلاق کرد و یا ممکن است جمله نادرست باشد:
"ایدههای بی رنگ سبز با خشم میخوابند."از نظر دستوری خوش فرم است ولی معنای مورد قبولی ندارد.
"جان یک مجرد متاهل است." از نظر دستوری درست است، ولی معنایی را بیان میکند که نمیتواند درست باشد.
این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام میدهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);
گرامر مورد نیاز برای مشخص کردن یک زبان برنامه نویسی میتواند با جایگاهش در "سلسله مراتب چامسکی" طبقه بندی شود. دستور اغلب زبانهای برنامه نویسی میتواند بوسیله یک گرامر نوع ۲ مشخص گردد، برای مثال، گرامرهای مستقل از متن.
معناشناسی ایستا
معناشناسی ایستا محدودیتهایی بر روی ساختار مجاز متنها تعیین میکند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیتها به وسیله سیستم نوع گذاری انجام میشود.
سیستم نوع گذاری
یک سیستم نوع گذاری مشخص میکند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی میکند، چگونه میتواند آن نوعها را تغییر دهد و رفتار متقابل آنها چگونهاست. این کارعموما توضیح داده ساختارهایی که میتوانند در آن زبان ایجاد شوند را شامل میشود. طراحی و مطالعه سیستمهای نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبانهای نوع گذاری شده و بدون نوع گذاری
یک زبان نوع گذاری شدهاست اگر مشخصات هر عملیات، نوع دادههای قابل اجرا توسط آن را با نشان دادن نوعهایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشتهاست. در غالب زبانهای برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبانهای برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامهها رد کنند. در برخی زبانها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامهها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبانهای نوع دار زبانهای تک نوعند. این زبانها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشتههای کاراکتری که هم برای دادههای عددی و هم برای دادههای سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبانهای اسمبلی، این امکان را میدهد که هر عملیاتی روی هر دادهای انجام شود، که معمولاً دنبالهای از بیتها با طولهای متفاوت در نظر گرفته میشوند. زبانهای سطح بالا که بی نوع هستند شامل زبانهای ساده رایانهای و برخی از انواع زبانهای نسل چهارم.
در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی میشوند(چک کردن یا رد کردن تمام عملیاتها)، غالب زبانهای امروزی درجهای از نوع گذاری را فراهم میکنند. بسیاری از زبانهای تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم میکنند.
نوع گذاری ایستا و متحرک
در نوع گذاری ایستا تمام عبارات نوعهای خود را قبل از اجرای برنامه تعیین میکنند(معمولاً در زمان کامپایل). برای مثال، ۱ و (۲+۲) عبارات عددی هستند؛ آنها نمیتوانند به تابعی که نیاز به یک رشته دارد داده شوند، یا در متغیری که تعریف شده تا تاریخ را نگه دارد، ذخیره شوند.
زبانهای نوع گذاری شده ایستا میتوانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوعها را در جایگاههای منتنی مشخص مینویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریفها را بر اساس متن استنباط میکند. غالب زبانهای مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری میشوند
نوع گذاری قوی و ضعیف
نوع گذاری ضعیف این امکان را ایجاد میکند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.
نوع گذاری قوی مانع رخ دادن مشکل فوق میشود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا میشود. زبانهایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته میشوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبانها اشاره میکند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را میدهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل میکند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشتهای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان میکنند.
قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض میشوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار میبرند و منظورشان قوی، ایستایی نوع گذاری شدهاست، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شدهاست. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده میشود.
معناشناسی اجرا
وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیاتها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین میکند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.
برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی میشوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا میکنند.
کتابخانه هسته
اغلب زبانهای برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده میشوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازیهای زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتمها، داده ساختارها و مکانیزمهای ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار میکنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هستهای را مشخص میکنند که باید در تمام پیاده سازیها موجود باشند، و در زبانهای استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبانها به گونهای تعریف شدهاند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونهای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونهای از کلاس BlockContext کتابخانه میسازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان میباشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمیکنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.
عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازیهای زبان هستند.
خصوصیات
یک زبان برنامه نویسی باید تعریفی فراهم کند که کاربران و پیاده کنندههای زبان میتوانند از آن استفاده کنند تا مشخص کنند که رفتار یک برنامه درست است. با داشتن کد منبع: خصوصیات یک زبان برنامه نویسی چندین قالب میتواند بگیرد، مانند مثالهای زیر:
تعریف صریح دستور، معناشناسی ایستا، ومعناشناسی اجرای زبان. درحالیکه دستور معمولاً با یک معناشناسی قراردادی مشخص میشود، تعاریف معناشناسی ممکن است در زبان طبیعی نوشته شده باشند (مثل زبان C)، یا معناشناسی قراردادی(مثل StandardML ,Scheme)
توضیح رفتار یک مترجم برای زبان(مثل C,fortran). دستور و معناشناسی یک زبان باید از این توضیح استنتاج شوند، که ممکن است به زبان طبیعی یا قراردادی نوشته شود.
پیاده سازی منبع یا مدل. گاهی اوقات در زبانهای مشخص شده(مثل: prolog,ANSI REXX).دستور و معناشناسی صریحاً در رفتار پیاده سازی مدل موجودند.
پیاده سازی
پیاده سازی یک زبان برنامه نویسی امکان اجرای آن برنامه را روی پیکربندی مشخصی از سختافزار و نرمافزار را فراهم میکند. بطور وسیع، دو راه رسیدن به پیاده سازی زبان برنامه نویسی وجود دارد. کامپایل کردن و تفسیر کردن. بطور کلی با هر بک از ابن دو روش میتوان یک زبان را پیاده سازی کرد.
خروجی یک کامپایلر ممکن است با سختافزار و یا برنامهای به نام مفسر اجرا شود. در برخی پیاده سازیها که از مفسر استفاده میشود، مرز مشخصی بین کامپایل و تفسیر وجود ندارد. برای مثال، برخی پیاده سازیهای زبان برنامه نویسی بیسیک کامپایل میکنند و سپس کد را خط به خط اجرا میکنند.
برنامههایی که مستقیماً روی سختافزار اجرا میشوند چندین برابر سریعتر از برنامههایی که با کمک نرمافزار اجرا میشوند، انجام میشوند.
یک تکنیک برای بهبود عملکرد برنامههای تفسیر شده کامپایل در لحظه آن است. در این روش ماشین مجازی، دقیقاً قبل از اجرا، بلوکهای کدهای بایتی که قرار است استفاده شوند را برای اجرای مستقیم روی سختافزار ترجمه میکند.
تاریخچه
پیشرفتهای اولیه
اولین زبان برنامه نویسی به قبل از رایانههای مدرن باز میگردد. قرن ۱۹ دستگاههای نساجی و متون نوازنده پیانو قابل برنامه نویسی داشت که امروزه به عنوان مثالهایی از زبانهای برنامه نویسی با حوزه مشخص شناخته میشوند. با شروع قرن بیستم، پانچ کارتها داده را کد گذاری کردند و پردازش مکانیکی را هدایت کردند. در دهه ۱۹۳۰ و ۱۹۴۰، صورت گرایی حساب لاندای آلونزو چرچ و ماشین تورینگ آلن تورینگ مفاهیم ریاضی بیان الگوریتمها را فراهم کردند؛ حساب لاندا همچنان در طراحی زبان موثر است.
در دهه ۴۰، اولین رایانههای دیجیتال که توسط برق تغذیه میشدند ایجاد شدند. اولین زبان برنامه نویسی سطح بالا طراحی شده برای کامپیوتر پلانکالکول بود، که بین سالهای ۱۹۴۵ و ۱۹۴۳ توسط کنراد زوس برای ز۳ آلمان طراحی شد.
کامپیوترهای اوایل ۱۹۵۰، بطور خاص ÜNIVAC ۱ و IBM ۷۰۱ از برنامههای زبان ماشین استفاده میکردند. برنامه نویسی زبان ماشین نسل اول توسط نسل دومی که زبان اسمبلی نامیده میشوند جایگزین شد. در سالهای بعد دهه ۵۰، زبان برنامه نویسی اسمبلی، که برای استفاده از دستورات ماکرو تکامل یافته بود، توسط سه زبان برنامه نویسی سطح بالا دیگر: FORTRAN,LISP , COBOL مورد استفاده قرار گرفت. نسخههای به روز شده این برنامهها همچنان مورد استفاده قرار میگیرند، و هر کدام قویا توسعه زبانهای بعد را تحت تاثیر قرار دادند. در پایان دهه ۵۰ زبان algol ۶۰ معرفی شد، و بسیاری از زبانهای برنامه نویسی بعد، با ملاحظه بسیار، از نسل algol هستند. قالب و استفاده از زبانهای برنامه نویسی به شدت متاثر از محدودیتهای رابط بودند.
پالایش
دوره دهه ۶۰ تا اواخر دهه ۷۰ گسترش مثالهای عمده زبان پرکاربرد امروز را به همراه داشت. با این حال بسیاری از جنبههای آن بهینه سازی ایدههای اولیه نسل سوم زبان برنامه نویسی بود:
APL برنامه نویسی آرایهای را معرفی کرد و برنامه نویسی کاربردی را تحت تاثیر قرار داد.
PL/i(NPL) دراوایل دهه ۶۰ طراحی شده بود تا ایدههای خوب فورترن و کوبول را بهم پیوند دهد.
در دهه ۶۰، Simula اولین زبانی بود که برنامه نویسی شئ گرا را پشتیبانی میکرد، در اواسط دهه۷۰. Smalltalk به دنبال آن به
عنوان اولین زبان کاملاً شئ گرا معرفی شد.
C بین سالهای ۱۹۶۹ تا ۱۹۷۳ به عنوان زبان برنامه نویسی سیستمی طراحی شد و همچنان محبوب است.
Prolog، طراحی شده در ۱۹۷۲، اولین زبان برنامه نویسی منطقی بود.
در ۱۹۷۸ ML سیستم نوع چند ریخت روی لیسپ ایجاد کرد، و در زبانهای برنامه نویسی کاربردی ایستا نوع گذاری شده پیشگام شد.
هر یک از این زبانها یک خانواده بزرگ از وارثین از خود به جای گذاشت، و مدرنترین زبانها از تبار حداقل یکی از زبانهای فوق به شمار میآیند.
دهههای ۶۰ و ۷۰ مناقشات بسیاری روی برنامه نویسی ساخت یافته به خود دیدند، و اینکه آیا زبانهای برنامه نویسی باید طوری طراحی شوند که آنها را پشتیبانی کنند.
"ادسگر دیکسترا" در نامهای معروف در ۱۹۶۸ که در ارتباطات ACM منتشر شد، استدلال کرد که دستورgoto باید از تمام زبانهای سطح بالا حذف شود.
در دهههای ۶۰ و ۷۰ توسعهٔ تکنیکهایی صورت گرفت که اثر یک برنامه را کاهش میداد و در عین حال بهره وری برنامه نویس و کاربر را بهبود بخشید. دسته کارت برای ۴GL اولیه بسیار کوچکتر از برنامهٔ هم سطح بود که با ۳GL deck نوشته شده بود.
یکپارچگی و رشد
دهه ۸۰ سالهای یکپارچگی نسبی بود. C++ برنامه نویسی شئ گرا و برنامه نویسی سیستمی را ترکیب کرده بود. ایالات متحده ایدا(زبان برنامه نویسی سیستمی که بیشتر برای استفاده توسط پیمان کاران دفاعی بود) را استاندارد سازی کرد. در ژاپن و جاهای دیگر، هزینههای گزافی صرف تحقیق در مورد زبان نسل پنجم میشد که دارای ساختارهای برنامه نویسی منطقی بود. انجمن زبان کاربردی به سمت استانداردسازی ML و Lisp حرکت کرد. به جای ایجاد مثالهای جدید، تمام این تلاشها ایدههایی که در دهههای قبل حلق شده بودند را بهتر کرد.
یک گرایش مهم در طراحی زبان در دهه ۸۰ تمرکز بیشتر روی برنامه نویسی برای سیستمهای بزرگ از طریق مدولها، و یا واحدهای کدهای سازمانی بزرگ مقیاس بود. مدول-۲، ایدا. و ML همگی سیستمهای مدولی برجستهای را در دهه ۸۰ توسعه دادند. با وجود اینکه زبانهای دیگر، مثل PL/i، پشتیبانی بسیار خوبی برای برنامه نویسی مدولی داشتند. سیستمهای مدولی غالباً با ساختارهای برنامه نویسی عام همراه شدهاند.
رشد سریع اینترنت در میانه دهه ۹۰ فرصتهای ایجاد زبانهای جدید را فراهم کرد. Perl، در اصل یک ابزار نوشتن یونیکس بود که اولین بار در سال ۱۹۸۷ منتشر شد، در وبگاههای دینامیک متداول شد. جاوا برای برنامه نویسی جنب سروری مورد استفاده قرار گرفت. این توسعهها اساساً نو نبودند، بلکه بیشتر بهینه سازی شده زبان و مثالهای موجود بودند، و بیشتر بر اساس خانواده زبان برنامه نویسی C بودند. پیشرفت زبان برنامه نویسی همچنان ادامه پیدا میکند، هم در تحقیقات و هم در صنعت. جهتهای فعلی شامل امنیت و وارسی قابلیت اعتماد است، گونههای جدید مدولی(mixin، نمایندهها، جنبهها) و تجمع پایگاه داده.
۴GLها نمونهای از زبانهایی هستند که محدوده استفاده آنها مشخص است، مثل SQL. که به جای اینکه دادههای اسکالر را برگردانند، مجموعههایی را تغییر داده و بر میگردانند که برای اکثر زبانها متعارفند. Perl برای مثال، با "مدرک اینجا" خود میتواند چندین برنامه ۴GL را نگه دارد، مانند چند برنامه جاوا سکریبت، در قسمتی از کد پرل خود و برای پشتیبانی از چندین زبان برنامه نویسی با تناسب متغیر در "مدرک اینجا" استفاده کند.
سنجش استفاده از زبان
مشکل است که مشخص کنیم کدام زبان برنامه نویسی بیشتر مورد استفادهاست، و اینکه کاربرد چه معنی میدهد با توجه به زمینه تغییر میکند. یک زبان ممکن است زمان بیشتری از برنامه نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبانها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکزداده متحد، غالباً روی کامپیوترهای بزرگ توانا است؛ fortran در مهندسی برنامههای کاربردی، C در برنامههای تعبیه شده و سیستمهای عامل؛ و بقیه برنامهها معمولاً برای نوشتن انواع دیگر برنامهها کاربرد دارند. روشهای مختلفی برای سنجش محبوبیت زبانها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شدهاست:
شمارش تعداد تبلیغات شغلی که از آن زبان نام میبرند.
تعداد کتابهای آموزشی و شرح دهندهٔ آن زبان که فروش رفتهاست.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبانهایی را که در جستجوها کمتر پیدا میشوند دست کم گرفته شوند.
شمارش ارجاعهای زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.
طبقه بندیها هیچ برنامه غالبی برای دسته بندی زبانهای برنامه نویسی وجود ندارد. یک زبان مشخص معمولاً یک زبان اجدادی ندارد. زبانها معمولاً با ترکیب المانهای چند زبان پیشینه بوجود میآیند که هربار ایدههای جدید درگردشند. ایدههایی که در یک زبان ایجاد میشوند در یک خانواده از زبانهای مرتبط پخش میشوند، و سپس از بین خلاهای بین خانوادهها منتقل شده و در خانوادههای دیگر ظاهر میشوند.
این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر میکند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق میکند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.
در نگاه کلی، زبانهای برنامه نویسی به مثالهای برنامه نویسی و یک دسته بندی بر اساس محدوده استفاده تقسیم میشوند. مثالها شامل برنامه نویسی رویهای، برنامه نویسی شیءگرا، برنامه نویسی کاربردی، وبرنامه نویسی منطقی؛ برخی زبانها ترکیب چند مثالند. یک زبان اسمبلی مثالی از یک مدل مستقیم متضمن معماری ماشین نیست. با توجه به هدف، زبانهای برنامه نویسی ممکن است همه منظوره باشند، زبانهای برنامه نویسی سیستمی، زبانهای اسکریپتی، زبانهای محدوده مشخص، زبانهای همزمان/ گسترده(و یا ترکیب اینها). برخی زبانهای همه منظوره تا حد زیادی برای اهداف آموزشی طراحی شدهاند.
یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثالهای برنامه نویسی دسته بندی شود. برای مثال، غالب زبانهای برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده میکنند، در حالیکه تعداد کمی این کار را نمیکنند. سایر زبانها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
ساعت : 9:59 am | نویسنده : admin
|
طراحی وب امیر |
مطلب قبلی