نسخه‌های خطی شاهنامه

نسخه‌های خطی شاهنامه بسیار است، اعم از تاریخدار و بی‌تاریخ. تعداد نسخه‌های تاریخ دار تا سده دوازدهم و معرفی شده در فهرستها نزدیک به سیصد نسخه است. به همین تعداد هم نسخه‌هایی است که تاریخ ندارد. برخی از مهمترین نسخه‌های شاهنامه عبارتند از:





نسخه فلورانس:

قدیمی ترین دستنویس شناخته شده از شاهنامه مربوط به دویست سال پس از سرایش این اثر است و به سال ۱۲۱۷ میلادی بازمی‌گردد و در کتابخانه ملی فلورانس (Biblioteca Nazionale) نگهداری می‌شود. این نسخه در سال ۱۹۹۷ توسط Angelo Piemontese (انجلو پیه‌مونتزه) در طی فعالیت‌های پژوهشی و بایگانی کتب خطی زبان پارسی در کتابخانه‌های ایتالیا شناسایی شد. این جلد که ۲۵۶ صفحه دارد، به خط نسخ نوشته شده اما بیش از ۷۰۰ حاشیه‌نویسی آن به خط کوفی است. ابعاد آن ۴۸x۳۲ سانتیمتر است. این نسخه در فروردين ۱۳۹۳ (آوریل ۲۰۱۴) پس از سال‌ها تلاش پژوهشگران ایتالیایی دیجیتالی شد و به صورت برخط (آنلاین) در اختیار علاقمندان قرار گرفت.




نسخه موزه بریتانیا

این نسخه در سال ۱۲۷۶-۱۲۷۷ نوشته شده است و در موزه بریتانیا نگهداری می‌شود.

نسخه دارالکتاب قاهره قسمت تاریخ فارسی، شماره ۴۹، مورخ ۷۰۵ هجری.
نسخه طوپقاپوسرای استانبول با هشتادونه مجلس، مورخ ۷۳۱ هجری
نویافته ترین نسخه کشف شده در کتابخانه اورینتال (Bibliothèque Orientale) دانشگاه سنت جوزف (Saint-Joseph University) بیروت توسط آقای دکتر مصطفی موسوی – استاد زبان و ادبیات فارسی دانشگاه تهران- کشف شده است. تاریخ نگارش این نسخه ۱۲۵۰-۱۳۵۰ میلادی تخمین زده شده است. این نسخه در چهار ستون نوشته و دو روی صفحه شده است و دارای ۹۹۲ صفحه (۴۹۶ برگ) می‌باشد و عموماً در هر صفحه ۲۵ خط نوشته شده است. این دستنوشته منقش نیست.




نسخه لنینگراد

نسخه‌های موجود در هند

نسخه خدابخش (۷۸۹ هجری، ۱۳۸۷ میلادی)

نستعلیق، ابن یحیی، ۷۶۸ صفحه، ۲۱ سطر، اندازه ۲۵٫۵ * ۱۶٫۵

نسخه شورای هند (۸۲۹ هجری، ۱۴۲۶ میلادی)

نستعلیق، ۱۴۳۲ صفحه، ۱۹ سطر، اندازه ۲۱٫۵ * ۳۲

نسخه موزه ملی(۸۳۱ هجری، ۱۴۲۷ میلادی)

نستعلیق، ابن محمود المحمود، ۱۱۷۰ صفحه (چهار ستون)، اندازه ۲۲ * ۳۲

نسخه رامپور (۸۴۰ هجری)

نستعلیق، محمد بن محمد یوسف التشتری، ۱۰۷۸ صفحه

ایوانف (۸۸۲ هجری، ۱۴۷۷ میلادی)

نستعلیق شکسته، بدهن بن قوام الدین بن کمال الدین یوسف علم دار، ۱۲۵۸ صفحه، ۲۱ سطر (چهر ستون)، اندازه ۲۴*۳۱

نسخه دانشگاه علیگره (۸۹۴ هجری، ۱۴۸۸ میلادی)

نستعلیق، ۱۶۰۶ صفحه، ۲۷ سطر، اندازه ۱۲* ۱۲٫۹

نسخه خدابخش (۹۴۲ هجری، ۱۵۲۷ میلادی)

نستعلیق، مرشد الکاتب الشیرازی، ۱۲۲۴ صفحه، ۲۵ سطر، اندازه ۲۵ * ۳۴

نسخه حمیدیه (۹۶۲ هجری، ۱۵۵۴ میلادی)
نسخه بارت اتهاس (۹۷۵ هجری، ۱۵۶۷ میلادی)
نسخه سالارجنگ (۹۷۷ هجری، ۱۵۶۹ میلادی)

نسخه‌های خطی مصور شاهنامه

نسخه ایلخانی

این نسخه به دوره ایخانی و دهه ۱۳۳۰ بر می‌گردد. این نسخه به نسخه Demotte نیز می شناخته می‌شود. دلالی به نام Georges Demotte که موفق به فروش اثر با قیمت درخور نشده بود، برگ‌های کتاب را از هم جدا کرد و اقدام به فروش جداگانه برگ‌ها کرد.




نسخه بایسنقری:

این نسخه در کاخ موزه گلستان نگهداری می‌شود. تاریخ نگارش آن به ۱۴۳۰ میلادی باز می‌گردد. این اثر در دوره بایستغر (۱۳۹۹-۱۴۳۳) یکی از نوادگان تیمور و با حمایت او آفریده شده است. خطاط اثر ملا جعفر تبریزی بایسنغری و هنرمندان آن ملا علی و امیر خلیل می‌باشند. نسخه دارای ۷۰۰ برگ می‌باشد که در هر صفحه ۳۱ خط نگاشته شده است. حاوی ۲۱ نقاشی و ۵۸ هزار بیت می‌باشد.




نسخه تهماسبی:

این دست‌نویس در ابعاد ۴۷ در ۳۲ سانتی‌متر و در بردارنده ۷۵۹ برگ و ۲۵۸ نگاره است. ۱۱۸ نگاره آن در ایران و دیگر نگاره‌ها در موزه‌های جهان نگهداری می‌شود. این نسخه یکی از شناخته شده ترین نسخ شاهنامه است. در دوران شاه تهماسب صفوی نوشته شده است. این نسخه در سال ۱۵۷۶ به عنوان هدیه به سلطان سلیم یا سلطلان مراد عثمانی داده شده است. این نسخه در تبریز و در طی سی سال تکمیل شده است. خطاطان و نقاشان بسیاری در آفرینش این اثر دست داشته‌اند (مانند میرمصور، سلطان محمد، دوست مخمد، میرزا علی، میر سید علی، مظفرعلی، عبداصمد و ..). این دستنوشته در سال ۱۹۵۹ توسط Edmond de Rothschild به فردی بنام Arthur Houghton فروخته شد. متأسفانه Houghton به منظور فروش تک برگ‌های این اثر، دست نوشته را تکه‌تکه کرد. برخی از این برگ‌ها در موزه متروپولیتن نیویورک نگهداری می‌شود(New York's Metropolitan Museum of Art). درسال 1976 Houghton پیشنهاد فروش برگ‌های باقی‌مانده را به محمدرضا شاه به قیمت ۲۰ میلیون دلار داد. پیشنهادی که رد شد. در نوامبر سال ۱۹۷۶ ۷ برگ از این اثر را در حراج کریستی به حراج گذاشت. در سال حراجی ۱۹۸۸ ۱۴ برگ دیگر فروخته شد. در سال ۲۰۰۶ یک برگ از آن در حراجی ساتبی به موزه آقاخان در ژنو به قیمت ۹۰۴۰۰۰ یورو فروخته شد. ۱۱۸ برگ باقی‌مانده در دست Houghton پس از مرگش نیز به حراج گذاشته شد تا در نهایت دولت جمهوری اسلامی با یک نقاشی (Lady No. 3 by Willem De Kooning) آنرا مبادله کرد.




نسخه‌های تیموری
نسخه آستان قدس (۱۰۶۷ ه. ق)

این نسخه دارای ۵۱ مجلس نقاشی ظریف و زیبا به الوان و زر و دارای چهار سرلوح و کتیبه مذهب و منقش در آغاز و وسط هر جلد می‌باشد. بین السطور صفحات آغازین طلا اندازی، تمام اوراق جدول بندی به زر تحریر دار و لاجورد، کمند کشی به سیاهی تحریر دار می‌باشد. این نسخه به خط نستعلیق چهارستونه ۲۵ سطری کتابت شده است. تعداد اوراق ۵۶۰ برگ در اندازه ۳۷*۲۲ سانتی‌متر و دارای جلد مقوایی با عطف و گوشه تیماج است. این نسخه در گنجینه مخطوطات کتابخانه مرکزی آستان قدس رضوی نگهداری می‌شود.




برگزیده ابیات شاهنامه

برگزیده ابیات شاهنامه عنوانی عمومی برای کتابهایی است که بخش‌هایی از شاهنامه فردوسی را در بر می‌گیرند و در طول دوران‌های مختلف جمع‌آوری و یا چاپ گردیده‌اند.
فلسفهٔ برگزیده‌نگاری از شاهنامه

دکتر کتایون مزداپور در پیشگفتاری که بر برگزیدهٔ شاهنامهٔ فردوسی (به انتخاب دکتر احمدعلی رجایی بخارایی) نگاشته است می‌نویسد:

«حجم سنگین شاهنامه، مانع بزرگ بازخوانی و آشنایی نزدیک با آن، بویژه در روزگار ما، مردم شتابزده را از اخت‌شدن با مجموع حوادث و روند کلی و پیوستاری داستان‌های خود بازمی‌دارد، و موجب بوده است که تهیه‌کردن گزیده‌ای از شاهنامه از عهدی نزدیک به زمان فردوسی آغاز شود.»∗

برگزیده‌های مشهور

برگزیده‌های پارینه∗

منتخبی گمشده از مسعود سعد سلمان که منتخبی بوده است از ابیات حکمتی شاهنامه که به احتمال متعلق به قرن ششم است.
منتخب شاه‌جهانی



برگزیده‌های نوین

دو منتخب از محمد علی فروغی با نامهای خلاصهٔ شاهنامه و منتخب شاهنامه∗
سپاسی، محمود. مجموعه ابیات برگزیده از نُه جلد شاهنامهٔ فردوسی، تهران، ۱۳۴۷.
حبیب یغمایی. فردوسی در شاهنامه، تهران، انتشارات یغما، ۱۳۵۳.

این کتاب به جمع‌آوری و گزیده‌نگاری ابیاتی از شاهنامه پرداخته است که در آنها فردوسی بطور شخصی در بیان و خطاب مستقیم و بیرون از داستان به خواننده، حضور می‌یابد.

نخبه‌ای از شاهنامه (گزیدهٔ اشعار داستانی شاهنامه) و داستان‌های ایرانیان از مجتبی مینوی∗
رجایی، بخارایی، احمدعلی. برگزیدهٔ شاهنامهٔ فردوسی، به کوشش کتایون مزداپور، تهران: پژوهشگاه علوم انسانی و مطالعات فرهنگی، چاپ سوم ۱۳۸۱.



کتاب‌های نوشته‌شده بر پایهٔ شاهنامه

از رنگ گل تا رنج خار (شکل‌شناسی داستان‌های شاهنامه) نوشتهٔ قدمعلی سرامی
پارسیان و من (در سه جلد: کاخ اژدها، راز کوه پرنده، رستاخیز فرا می‌رسد) نوشتهٔ آرمان آرین
نامهٔ باستان (در ۹ جلد) نوشتهٔ جلال‌الدین کزازی
تصحیح شاهنامه به کوشش جلال خالقی مطلق و با همکاری محمود امیدسالار و ابوالفضل خطیبی
تصحیح جلد هفتم نسخهٔ فلورانس شاهنامه به کوشش عزیزالله جوینی
ویرایش شاهنامه به کوشش فریدون جنیدی (دورهٔ شش جلدی)



ویرایش‌های منثور

دوازده تن از نویسندگان و پژوهشگران، از جمله دکتر جلال خالقی، محمدعلی اسلامی ندوشن، دکتر منصور رستگار فسایی، بهرام گرگین، محبوبه کاشانی]، میرجلال‌الدین کزازی و دیگران داستان‌های شاهنامه را به نثرآورده‌اند.



فیلم‌های ساخته‌شده بر پایهٔ شاهنامه

در سال ۱۳۱۳ خورشیدی، عبدالحسین سپنتا اقدام به ساخت فیلم «فردوسی» به منظور نمایش در جشن هزارهٔ فردوسی در توس کرد. در سال ۱۳۳۶، مهدی رئیس فیروز فیلم '«'رستم و سهراب»را کارگردانی کرد. هم‌چنین در زمینهٔ شاهنامه، فیلم‌های «بیژن و منیژه» به کارگردانی منوچهر زمانی در سال ۱۳۳۷، «سیاوش در تخت جمشید» به کارگردانی فریدون رهنما در سال ۱۳۴۶، «مردان سحر» به کارگردانی اسماعیل نوری‌علاء در سال ۱۳۵۰ و «شاهزادهٔ ایرانی» به کارگردانی محمد نوری‌زاد در سال ۱۳۸۴ ساخته شده‌است.

بوریس کیمیاگرف (کارگردان یهودی‌تبار تاجیک و زادهٔ سمرقند) که به فردوسی علاقهٔ بسیار داشت، پرخرج‌ترین فیلم‌های سینمای تاریخ تاجیکستان («پرچم کاوه آهنگر» در سال ۱۹۶۱، «داستان رستم» و «رستم و سهراب» در سال ۱۹۷۱ و «داستان سیاوش» در سال ۱۹۷۶) را ساخت. هم‌چنین ویشرام بدکار فیلم «رستم و سهراب» را در سال ۱۹۶۳ ساخته‌است.




پژوهشکده شاهنامه

نخستین پژوهشکده شاهنامه در دهه ۱۹۷۰ میلادی در ایران و به مدیریت مجتبی مینوی تاسیس شد.

دومین پژوهشکده شاهنامه در خرداد ۱۳۹۳ (ژوئن ۲۰۱۴) در کالج پمبروکِ دانشگاه کمبریج گشایش یافت. مرکز شاهنامه دانشگاه کمبریج دارای آرشیو بزرگی از تصاویر نسخه‌های خطی شاهنامه مربوط به سده‌های مختلف است. مدیریت این مرکز در حال حاضر بر عهده فیروزه عبدلاوا، استاد و پژوهشگر تاریخ و هنر ایران در این دانشگاه است. دانشگاه کمبریج توانست با کمک مالی بیتا دریاباری (سرمایه دار و خیر ایرانی- آمریکایی) مرکز شاهنامه‌پژوهی در بخش ایرانشناسی این دانشگاه تاسیس کند. این مرکز در ابتدا با کمک مالی ۲ میلیون دلاری به پروژه شاهنامه دانشگاه کمبریج که در سال ۱۹۹۹ به همت چارلز ملویل ایجاد شده بود. کالج پمبروک که قدمتی ششصد ساله دارد یکی‌ از ۳۱ کالج دانشگاه کمبریج است که پیشینه برجسته‌ای در ایرانشناسی دارد.




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




جستار کتاب

در این حماسه روزی کیکاووس با پهلوانان در انجمنی نشسته بود که ناگاه کسی از راه می‌رسد و می‌گوید که فرستاده نوشاد پادشاه هندوستان است و آمده تا از کیکاووس برای رهانیدن هند از آزار دشمنان یاری بجوید. دشمنانی که نوشاد را به گسیل داشتن فرستاده به ایران وادار کرده بودند، چهار تن بودند. نخستین کناس دیو مرده‌خوار که هر ساله آمده و دختری را می‌رباید و تاکنون سه دختر نوشاد شاه را ربوده است. دومین کید شاه که از نوشاد باج سنگین می‌ستاند. سوم گرگی در بیشه مرزقون که به زبان آدمیان سخن می‌گوید و برای همین به گرگ گویا نامور است. چهارم اژدهایی بداندیش و پنجمین سی‌هزار کرگدن در بیشه خومسار. از پهلوانان ایران نخست فرامرز است که خود را برای جنگ نامزد می‌کند. در پی او بیژن پسر گیو نیز به او می‌پیوندد و هر دو به همراه گروهی از پهلوانان ایرانی به سوی هندوستان راهی می‌شوند.




نگارش‌های موجود

از این داستان رزمی دو نسخه نارسا در دست است که یکی در موزه بریتانیا و دیگری در موزه فرانسه نگهداری می شود. نگارش ویرایش‌ شده کنونی ۱۹۵۴ بیت دارد و شیوه سرایش آن برگرفته از شاهنامه فردوسی بوده است. این اثر در ایران بازنگری و پخش شده است.




بهمن‌نامه

بهمن‌ نامه مجموعه اشعار مثنوی حماسی شامل ۹۵۰۰ بیت و به زبان فارسی است. این اشعار در رابطه با بهمن پسر اسفندیار که در دوران پادشاهی کیانیان می‌زیسته‌اند، می‌باشد. رضاقلی خان هدایت سراینده آن را جمالی مهریجردی، از معاصران برهانی و لامعی گرگانی و سوزنی سمرقندی می‌داند. اما شاعری به این نام شناخته نیست و نامش در تذکره‌ها نیامده‌است. تاریخ دقیق سرودن بهمن نامه معلوم نیست ولی چون سراینده، آن را به محمد بن ملکشاه سلجوقی اهدا کرده و در جایی از ده سال پس از مرگ ملکشاه و نیز از لشکرکشی محمدبن ملکشاه به اصفهان در ۵۰۱ هجری قمری یاد کرده‌است، احتمال می‌رود که مثنوی خود را در پایان سده پنجم و آغاز سده ششم سروده باشد. در قرن ششم، نویسندة مجمل التواریخ و القصص، یک جا از اخبار بهمن و در جایی دیگر از بهمن نامه منظوم حکیم ایرانشان بن ابی الخیر یاد کرده، که مهرداد بهار صورت درست این نام را ایرانشاه دانسته‌است.



گرشاسپ‌نامه

چكامه (منظومهٔ) گرشاسپ‌نامه از حماسه‌های ملی ایران، در حدود ۷۰۰۰ تا ۱۰۰۰۰ بیت و در بحر متقارب (همچو شاهنامه‌) است. سرایندهٔ آن اسدی طوسی شاعر قرن پنجم هجری قمری است. این منظومه دربارهٔ دلاوری‌های گرشاسپ پهلوان سیستانی (نیای بزرگ رستم) است.

پایان نظم گرشاسپ‌نامه در ۴۵۸ هجری قمری بوده است.



ارژنگ دیو
ارژنگ دیو در داستان هفت خوان رستم در شاهنامه، یکی از دیوان مازندران و از سرداران دیو سپید است. رستم در خوان ششم از هفت خوان رستم به اردوگاه او حمله کرد و او را کشت.



اسفندیار پسر گشتاسپ
اسفندیار یا اسپندیار پسر گشتاسپ از کتایون و نواده لهراسب بود. برادرانش پشوتن و فرشیدورد، عمویش زریر و پسرانش نوش‌آذر و مهرنوش و بهمن نام داشته‌اند. اسفندیار رویین‌تن بود، در شاهنامه به چگونگی رویین‌تن شدن اسفندیار اشاره‌ای نشده است اما در زراتشت‌نامه از زرتشت بهرام پژدو آمده است که زردشت اسفندیار را که نوزادی بیش نبود، در آب مقدس شست‌وشو داد که همین سبب رویین‌تنی او گشت و تنها چشمانش آسیب‌پذیر باقی‌ماند. اسفندیار در نبرد با ارجاسب فرماندهی سپاه گشتاسب را بر عهده داشت، و با پیروزی به نزدیک پدر برگشت اما گرزم پادشاه را علیه اسفندیار شورانید؛ چنان که دستور داد اسفندیار را در گنبدان‌دژ زندان کنند.اسفندیار توسط رستم (با رهنمایی سیمرغ) با تیر دو سمی که به چشمانش برخورد کرد کشته شد.




ریشه‌شناسی نام

نام اسفندیار در پهلوی به صورت اسپندیات (Spandyat) و در اوستایی به صورت اسپنتوداتو (Spentodato) نگاشته می‌شده است. این اسم مرکب است و از دو بخش سپنته به معنی مقدس و بخش دوم دات یا داتو از مصدر دا به معنی آفریدن و دادن می‌باشد. همهٔ نام به معنای آفریده مقدس یا مقدس آفریده شده می‌باشد.
هفت‌خوان اسفندیار

۱. اسفندیار دو گرگ را می‌کشد.
۲. شیر نر و ماده‌ای را می‌کشد.
۳. با اژدها می‌جنگد. (بکمک ساختن گاری و یا صندوق جنگ-ورزی).
۴. زن جادوگر را می‌کشد. (که بصورت دختر زیبایی او را گول می‌زند).
۵. مرغی را به عظمت سیمرغ می‌کشد.
۶. از برف رد می‌شود و گرگسار را می‌کشد.
۷. رویین دژ را فتح می‌کند و ارجاسپ شاه توران زمین را می‌کشد.





اغریرث (پسر پشنگ)

اَغریرَث در اساطیر ایرانی شاهزادهٔ توران و پسر پشنگ شاه توران است. در جنگی که بین ایران و توران درگرفت او موجب آزاد شدن ایرانیانی که به دست افراسیاب برادرش اسیر شده بودند شد. افراسیاب او را در هنگام مجادله‌ای که بین آندو به دلیل آزاد شدن اسیران درگرفته بود کشت.

نام اغریرث پسر پشنگ در اوستا به شکل اغرارث آمده است. وی از شخصیتهای بسیار محبوب به شمار می‌رود. جزء اول آن (اغ) به معنای پیش‌رونده و جز دوم آن (رارث)از مشتقات raʘa به معنای گردونه است. در کل یعنی <با> گردونه پیش‌تاز.




تبارشناسی
اغریرث تورانی‌ست. پسر پشنگ و برادر افراسیاب (در اوستا فرنگرسین). او به‌دست برادرش کشته می‌شود.





افتخارنامه حیدری

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

این منظومه که در بحر متقارب سروده شده بالغ بر هجده هزار بیت است و در سال ۱۳۰۴ هجری قمری در ۶ ماه سروده شده‌است. این اثر در سال ۱۳۱۰ منتشر شده و بعدها به حمله حیدری نیز مشهور شده‌است.

میرزا آقا مصطفی افتخار العلماء که دست کم ۵۰ تا ۶۰ سال قبل از شهریار می‌زیسته، شعری مشابه شعر «علی ای همای رحمت...» شهریار دارد که این گونه آغاز می‌شود: «علی ای سحاب رحمت تو چه آیت خدایی...» و این دو شعر تفاوت اندکی با هم دارند.

میرزا آقا مصطفی افتخار العلماء فرزند محمدحسن آشتیانی، مجتهد مشهور تهران در عهد ناصری، است. صهبا در ۱۳۲۷، در وقایع مشروطه در حرم شاه‌عبدالعظیم به قتل رسید.





اکوان دیو
اکوان دیو نام یکی از شخصیت‌های منفی شاهنامه فردوسی است.




ریشه نام

بر طبق برهان قاطع، بعضی محققان نام این دیو را محرف اکومان دانسته‌اند که در اوستا Aka-manah به معنای اندیشه پلید آمده است و نام دیوی مظهر اندیشه‌های پست و شرارت و نفاق و در مقابل وهومن (بهمن) بوده است.




درباره این دیو

اکوان ِ دیو در شاهنامه به هیأت گورخروحشی، گله‌های اسب کاووس را آسیب می رساند. رستم در نبرد با این دیو، هر بار که سوار بر رخش، به او یورش می برد، دیو ناپدید می شد. در این نبرد رستم، خسته در کنار چشمه ای به خواب می رود و در آن زمان اکوان به او می تازد و او را اسیر و از جا می‌کند و به رستم می گوید که او را به دریا افکند یا به کوهستان؟ ، رستم چون می داند که کار دیو برعکس است کوه را انتخاب می‌کند و «چون به آب افکنده می شود» با شنا خود را نجات میدهد. بعد از آن دیو را یافته با او رو به رو می شود و برای شکست او نام خدا را بر زبان می آورد تا دیو جادو به کار نبندد و سر دیو را می برد.

محمد جعفر یاحقی نیز در کتاب «فرهنگ اساطیر ایران» اشاره کرده است که برخی پژوهشگران، اکوان را همان اکه منه یا اکومن دانسته اند و برخی دیگر آن را همتای دیوباد چینی تلقی کرده اند.




توفان دریایی

برخی پژوهشگران ریشه داستان اکوان دیو را بر گرفته از گردباد دریایی می‌دانند که به ناگهان از دریا سربرکشیده کشتی‌ها را منهدم ساخته و به فاصله دور پرتاب می‌کرده است. این پدیده در دریای هند و دریای چین در فصل توفان موسمی و همچنین در سواحل فلوریدا و کوبا و غرب استرالیا رخ می‌دهد.
خروشید و پیچید و بانگ و غریو ز دریا برآمد چو اکوان دیو





جنگ بزرگ کیخسرو
جنگ بزرگ کیخسرو منظوم در شاهنامه فردوسی یک اثـر تاریخی است؛ شاهنامه حکایت حماسی مردم ایـران از ابتدای نخستین پادشاه ایــرانی یعنی کیومرث است تا اواخر سلطنت ساسانی و آغاز رواج آیین اسلام در کـشور ایـران زرتشتی. شایـد تـاریخ هیچ کـشوری به اندازهٔ تاریخ مـا ایـرانیــان این همه مغشوش و حاوی مطالب ضدونقیض نباشد. هر مورخی بر وصف حال و درک از اوضاع و شرایط تاریخی ایران در ذهن خویش تاریخ پیش از اسلام ایران را نوعی تعبیر و تألیف نموده است. در آثار تاریخ نویسان معاصر چه ایرانی و چه غیر ایرانی در رابطه با موضوع تاریخ ایران یک وجه مشترک به عمد یا غیر عمد وجود داشته و آن هم اعتقاد استیلای قوم عرب و احساس حقارت از اینکه قوم ایرانی هیچگاه نتوانسته است این ننگ و حقارت را در طول بیش از هزار و پانصد سال رفع نماید.




تقدیر از ایرانی

باید به این طیف از ایرانیان غیور که خواهان وجد و عظمت ایران هستند گفت که واقعاً دچار نوعی توهّم تاریخی شده‌ایم و تا تاریخ سیاسی، اجـتماعــی و عقیدتی دوران پیش از اسلام ایران را واقعاً آنطوریکه هست درک ننماییم هیچگاه به این تحول شگرف اجتماعی و عقیدتی پی نخواهیم برد. یکی از دوران پر افتخار ایرانیان پیش از میلاد همانا خلق حماسهٔ جنگ بزرگ ایرانیان به رهبری کیخسرو است و این حماسه چنان در ذهن ایرانیان کهن خطور نمود و سینه به سینه نقل شد تا بدست جکیم طوس رسید و ایشان هم الحق این حادثه را احیاء نمود که تا قیامت از باد و باران گزندش نخواهد رسید




اندر زادن کیخسرو (شاهنامه)

سرگذشت کیخسرو در شاهنامه اینگونه بیان می‌شود که پدرش سیاوش در آغاز جوانی و زمانیکه تنها فرزند و سردار کیکاووس بود روزی در جبههٔ جنگ با تورانیان پناهنده به آن کشور شد. هنگام ورود به مرز توران نخست با دختر پیران ویسه که جریره نام داشت ازدواج نمود و سپس به گنگ دژ پایتخت توران عزیمت کرد در آنجا هم با شاهزاده خانم تورانی که فرنگیس نام داشت مزاوجت کرد. سیاوش قبل از تولد فرزندش از فرنگیس توسط عمّال افراسیاب ناجوانمردانه به همراه هزار جنگجوی ایرانی دور از وطن و در غربت در یک روز قتل‌عام شدند. «جنگ بزرگ» نیز به خاطر کین سیاوش شاهزادهٔ ایرانی آغاز شد و سرانجام طومار افراسیاب و دولت توران را در هم پیچید.
همی رفت گلشهر تا پیش ماه جدا گشته بود از برِ ماه شاه
بدید و به شادی به پیران بگفت که اینت به آیین خور و ماه جفت
یکی اندر آی و شگفتی ببین بزرگی و رای جهان آفرین
توگویی نشاید مگر تاج را و گر جوشن و ترگ و تاراج را
سپهبد بیامد برِ شهریار بسی آفرین کرد و بردش نماز

اما تولد کیخسرو از شاهزاده خانم تورانی آن هم در زمانیکه پدرش با دسیسهٔ دربار توران هلاک شده بود ورق جدیدی در تاریخ دو کشور ایران و توران گشود، مولود تازه متولد شده در آینده وارث تاج و تخت هر دو کشور بحساب می‌آمد. دوران کودکی کیخسرو به سبب خوابی که افراسیاب دیده بود با رنج و مشققت همراه شد و ظاهراً مدت زمان طولانی او به شبانان سپرده شد و سال‌ها در کوه‌ها و دره‌ها به شبانی پرداخت ولی کیکاووس پس از اطلاع از اینکه نوه‌ای در کشور توران دارد با هر حیله و ترفند او و مادرش را از توران ربوده و به دربار خویش آورد.

تمام حوادث وقوع یافته یعنی پناهنده شدن سیاوش به توران، ازدواج با شاهزاده خانم تورانی، همچنین هلاکت وی، و سرگذشت کیخسرو، به نحوی در منابع دیگر به غیر از شاهنامه انعکاس یافته است. تنها اشکال در این است که فقط اسامی رجال و اماکن مندرج در شاهنامه با اسامی رجال و اماکن در آثار هرودوت و کتسیاس و الواح میخی آشور کاملاً متفاوت است. ولی این موجب نگرانی نیست چون چهار چوب و هستهٔ وقایع در همه یکسان گزارش شده و می‌توان بدون تشویش خاطر مطالب عنوان شدهٔ کیخسرو در شاهنامه را با منابع یاد شده تطبیق نموده تاریخ این برهه از ایران را تا حدودی ترسیم نمود.




پایتخت و کشور کیخسرو

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

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

در منابع یونانی بویژه در آثار هرودوت به محل اجتماع لشکریان متحد ماد اشاره‌ای شده است. مؤلف تاریخ ماد می‌گوید محل پادشاهی دیوک مجهول بوده ولی چون دیوک از طرف ماننا حکومت داشت حدس زده می‌شود که قلمرو وی با سرزمین ماننا مجاور و همان سرزمینی بود که منابع میخی آشور مادای در درّهٔ قزل اوزن می‌خوانند. معلوم نیست که آیا اکباتانا در زمان دیوک مرکز پادشاهی بوده است یا نه.

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

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




تدارک جنگ بزرگ (شاهنامه)

کیخسرو با عنوان سردار سپاه ایران، اختیارات نامحدود داشت و فقط می‌توان گفت که کیکاووس در سن کهولت مقام تشریفاتی پادشاهی ایران را دارا بوده و تمام امور کشوری و لشکری در حیطه و اختیارات کیخسرو قرار داشته و فردوسی در آغاز جنگ بزرگ، از کیخسرو این چنین یاد می‌کند:
چو شد کار پیران ویسه به سر به جنگ دگر شاه پیروزگر
بیاراست از هر سوی مهتران برفتند با لشکری بی‌کران
بر آمد خروشیدن کرّنای به هامون کشیدند پرده سرای
به شهر اندرون جای خفتن نماند به دشت اندرون راه رفتن نماند

از متن فوق چنین مستفاد می‌گردد که کیخسرو از تمام اقوام و قبایل ایرانی نیروهای رزمنده برای جنگ آتی در پایتخت گرد آورده بود و تمام اندرون و بیرون پایتخت مملو از قوای جنگی بوده است. نکتهٔ قابل تأمل در این ابیات واژهٔ مهتر یا مهتران است و عنوانی است که در زمان مادها، کتسیاس از آن نام می‌برد و این عنوان به کسانی داده می‌شد که صاحب مقام و منصب در میان قوم و قبیلهٔ خویش بودند. در مقابل مهتر واژهٔ کهتر قرار داشت که به فرد کوچک و حقیر گفته می‌شد.

بعضی نکات مهم را از شاهنامه نمی‌توان استنتاج نمود مثلاً پایتخت کیخسرو را که این همه قوای جنگی در آنجا گرد آمده بود. اگر چه محتویات متون شاهنامه حوادث جزئی را نیز بیان می‌کند ولی برخی نکات مهم را من‌جمله موقعیت شهرها و کشورها را مشخص نمی‌نماید یا تاریخ وقوع حوادث را روشن نمی‌سازد. دربارهٔ این مطالب به منابع دیگری غیر از شاهنامه مثل گزارش هرودوت و کتسیاس و منابع آشوری باید رجوع نمود. الواح میخی و تألیفات یونانی مکمل شاهنامه برای تدوین این برهه از تاریخ ایران می‌تواند مورد استفاده قرار گیرد.

باری پس از فراخان همه نیروهای متحد علیه توران در پایتخت، کیخسرو برای ملاقات و رهنمود آنان اینگونه عمل نمود:
یکی تخت پیروز بر پشت پیل نهادند و شد روی گیتی چو نیل
نشست از بر تخت با تاج شاه خروش آمد از دشت وز بارگاه
چو بر پشت پیل آن شه نامور زدی مهره در جام و بستی کمر
نبودی به هر پادشاهی روا نشستن مگر بر در پادشاه
از آن نامور خسرو سرکشان چنین بود در پادشاهی نشان

تخت و تاج شاهی از ملزومات حکومت در ایران بود و این دو عنصر همیشه به همراه شمشیری مقام سلطنت را قانونی جلوه می‌داد و عقیده ایرانیان کهن بر این بود که کشور بی‌پادشاه به مانند سر بی‌تن است، در حقیقت کشور بدون شاه را به تن مرده تشبیح می‌نمودند. اما در ابیات مزبور نکته‌ای وجود دارد که از خصوصیات شاهنامه است و باید گفت که در هیچ منبعی از آن ذکری به میان نیامده است و آن مهره انداختن در جام در پشت فیل یا بر روی زمین است. این عمل مشابه استخاره نمودن با تسبیح یا مانند آن است که قبل از کاری مهم مثل جنگ، شاهان ایران انجام می‌دادند و اگر استخاره درست می‌آمد روحیهٔ قوای جنگنده مضاعف می‌شد و در جنگ پیش‌رو با اعتماد به نفس بیشتری پیکار می‌کردند.




آغاز جنگ بزرگ (شاهنامه)

جنگ بزرگ کیخسرو ویژگی‌هایی دارد که جنگ‌های دیگر آن ویژگی‌ها را نداشته است، حکیم طوس چنین روایت می‌کند که کیخسرو عاقبت نیا را بکشت یعنی پدر بزرگش از نسب مادری بنام افراسیاب پادشاه برزگ کشور توران. البته کیخسرو از طرف نسب پدری یعنی سیاوش نیایش کیکاووس پادشاه ایران بود. در حقیقت دو پادشاه بزرگ و کهن‌سال ایران و توران جنگ بزرگ را رهبری می‌کردند و در این میانه کیخسرو که نوهٔ هر دوی ایشان بود به نفع نیای پدری یعنی کیکاووس علیه نیای مادری‌اش افراسیاب و به کین پدرش سیاوش قیام نمود. سرانجام هم نیای مادری را سر برید و بعد از همین احوال ناشایست مورد ملامت و شماتت نزدیکان قرار گرفت و فرّهٔ ایزدی روی از وی بر تافت و دیگر کسی در پادشاهی سخن و فرمان او را نبرد. بقول فرودسی:
چو پیکار کیخسرو آمد پدید زمن جادوی‌ها بباید شنید
بدین داستان دُر ببارم همی به سنگ اندرون لاله کارم همی
تو از کار کیخسرو اندازه گیر کهن گشته کار جهان تازه گیر
که کین پدر باز جست از نیا به شمشیر و هم چاره و کیمیا
نیا را بکشت و خود ایدر نماند جهان نیز منشور او را نخواند

طبق متن شاهنامه قبل از جنگ بزرگ ایران و توران، کیخسرو زهرچشمی از تورانیان گرفته و پیران ویسه را که از متحدان افراسیاب بشمار می‌رفت هلاک و احتمالاً خاکش را ضمیمیهٔ خاک خویش ساخته بود. کیخسرو در منصب سردار سپاه ایران بود نه در مقام پادشاه ایران، چون هنوز کیکاووس بر مسند پادشاهی ایران جلوس داشت و در ایام کهن‌سالی بر تمام اقوام و قبایل ایرانی و غیر ایرانی سروری می‌نمود.

مقامی که کیکاووس داشت هر شاهی نمی‌توانست بر آن دست یابد یعنی همهٔ اقوام و قبایل وی را به رهبری برگزیده باشند. تنها افراد شاخص و با خصوصیت‌های ویژه در طول تاریخ به چنین مقامی می‌رسیدند یعنی همه او را به رهبری و پیشوایی قبول داشته‌‌اند. اگر موردی هم‌شأن و همکسوت کیکاووس را در تاریخ آن دوران از متون و منابع دیگر بخواهیم دریابیم فقط دیوک رهبر و پیشوای قبیله ماد و سپس پادشاه همهٔ ایران است که همه او را به رهبری برگزیده بودند و او چه در قبیله خویش و چه در هنگام پادشاهی بر ایران صاحب دو منصب مهم بود. نخست وی فرمانده لشکر بود و دیگر در مقام داور، یعنی قاضی عادل قرار داشت. هرودوت دربارهٔ دیوک چیزهایی نقل می‌کند که ممکن است کیکاووس نیز شامل همان صفات و درجات بوده باشد.




قیام مادی‌ها

موفقیت قیام مادی‌ها علیه آشوریان بر اثر رفتن خشثریته به طرف آشور ناتمام ماند. آشوریان ایالات کیشه سو ، خارخار و بیت هامبان را حفظ کردند. بعضی از محققان می‌گویند که قیام به شکست مادی‌ها و مرگ خشثریتی منجر شد. این واقعه در شاهنامه پناهنده شدن سیاوش و سپس مرگ وی در توران است که با جزئیات دقیق شرح داده شده است. در واقع شکستی که هرودوت خبر می‌دهد همان سرگذشت سیاوش در شاهنامه است و باید تا آغاز «جنگ برزگ کیخسرو» ایرانیان موقتاً در لاک دفاعی فرو رفته باشند، ولی شکست نخوردند. در فقدان سیاوش، کیکاووس همچنان پادشاه ایران باقی بود تا اینکه کیخسرو از توران به ایران آمد.

واقع امر بر خلاف این نظر که قیام به شکست انجامید در کانون بدوی خود یعنی ایالات بیت کاری ، مادای و ساپاردا ـ یعنی ایران کوچک آن زمان ـ با موفقیت کامل قرین گشت و قدرت آشور در آنجا سرنگون شد و منابع آشوری بعد از آن تاریخ بجای نام سه ایالت مزبور از پادشاهی مستقل ماد یاد می‌کنند که خود زادهٔ قیام سال - ۶۷۳ پ. م. - بوده است.

اگر به سخن هرودوت اعتماد کنیم رهبر قیام، خشثریته پسر یا نوهٔ دیوک بود. ایالت وی موسوم به بیت کاری که مرکز پادشاهی آن دژ کار کاشی بوده در ناحیهٔ همدان قرار داشته. دژ کارکاشی را باید در یکی از نقاط این محل یعنی در جنوب غربی خاک ماد جستجو کرد بعدها پایتخت پادشاهی ماد که « جای اجتماع » نامیده می‌شد در این ناحیه قرار داشته است.

ممکن است قدرت دیوک در آغاز قیام سال ۶۷۳ تا نقاط جنوبی مادای که کار کاشی در آنجا قرار داشت بسط یافته باشد، ولی دلیلی بر اثبات این مدعی در دست نیست و به هر تقدیر در سال‌های ۷۱۷ تا ۷۱۵ پ. م. خاک دیوک تا این محل ممتد نبوده زیرا که میان ناحیهٔ همدان و نواحیی‌که محتملا دیوک در آنجا حکومت داشته، اراضیی وجود داشت که در دست آشوریان بوده. بدین سبب خاک دیوک را، باید در نقطه‌ای از درّهٔ قزل اوزن که به شهر میانه نزدیکتر از همدان باشد، جستجو کرد.

در هر حال هنگام اسیر شدن دیوک چنین بوده و به نظر چنین می‌آید که بعدها خاک دیوک همان ایالت آشوری مادای شمرده می‌شده است. چرا که خشثریته در اینجا مستقر نبوده و در ناحیهٔ مادای شخصی بنام مامی تیارشو متمکن بوده. پاسخ این پرسش معلوم نیست، شاید آشوریان خود عمداً خشثریته را در بیت کاری منصوب کردند تا از نقطه‌ای که به اصطلاح نفوذ و ریشه محلی داشته است دورش کرده باشند.

باید این نکته را در نظر گرفت که خشثریته چنانکه پسر یا نوهٔ دیوک بوده به احتمال قوی در خاک آشور تربیت یافته بود. شاهنامه می‌گوید که سیاوش به توران پناهنده شد و کیخسرو در خاک توران متولد شد و اسارت و تبعید دیاکو یا همان دیوک در شاهنامه باید سرگذشت کیکاووس باشد که او نیز در هنگام اسارت توسط دیوان مازندران از رستم کمک می‌طلبد. به استناد شاهنامه سیاوش تنها رفت ولی در آنجا خانواد تشکیل داد. شاید هوخشتره با فن محاصرهٔ آشوریان که جز ایشان تقریباً کسی از آن اطلاع نداشت آشنا بوده جز این توجیهی نداشته باشد که وی مدتی در خاک آشور بسر برده است. آشوریان محتملا معتقد شده بودند که جوان مادی که دست پرورده دولت ایشان بود مانند بسیاری از دیگر دست پروردگان ایشان سیاستی را تعقیب خواهد کرد که به سود آشور باشد.




مقایسه جنگ بزرگ با قیام مادی‌ها

منابع میخی آغاز «قیام مادی‌ها» را از سال - ۷۱۳ - و ادامهٔ آن را تا سال - ۶۱۲ پ. م. - که نتیجهٔ قطعی قیام منجر به تسخیر نینوا و انهدام دولت آشور بود گزارش می‌کنند، در این مقطع صد ساله رهبری قیام را دیاکو و سلالهٔ او به سرانجام رساند. الواح میخی خبر می‌دهند که دیاکو در سال ۷۱۳ پ. م. بدست سارگون دوم پادشاه وقت آشور اسیر و با خانواده خویش به هامات تبعید شد.

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

نکات مشترکی میان این دو قیام وجود دارد که قابل تأمل است نخست همزمانی قیام‌های مزبور یعنی اینکه سرانجام جنگ بزرگ و سرانجام قیام مادی‌ها در سال - ۶۱۲ پ. م. - با پیرزوی قطعی ایرانیان پایان می‌یابد. بدون تردید این دو حادثه زمان و مکان مشابهی دارند. نکته دوم وجود یک سلالهٔ در رهبری هر دو قیام است که از نیا آغاز گشته و به نوه خاتمه می‌یابد. کیکاووس، سیاوش و کیخسرو در شاهنامه. دیوک، فرورتیش و کیاکسار در متون هرودوت و دیاکو، خشثریته و هوخشتره در منبع میخی آشور. نکته قابل ذکر تشابه و یکسان بودن خشثریته، فرورتیش، فرائورت است.

اسامی دیگری در منابع مزبور از قبیل پارتاتوآ، پروتوتی، مامی تیار شو، دوساننی،مادیا و دیگران هست که هنوز نقش و تطبیق آنها به بررسی موشکافانه‌تری نیاز دارد که باید حل شود. علی‌أی‌حال باید دیاکو، دیوک و کیکاووس را سه نام برای یک تن بشمار آورد، همچنین خشثریته، فرورتیش و سیاوش را نیز باید در یک نفر خلاصه نمود. اسامی هوخشتره، کیاکسار و کیخسرو نیز باید نام یک رجال تاریخی بحساب آیند.

جنگ بزرگ و قیام مادی‌ها که نتیجهٔ یک قرن تلاش و مجاهدت بود به استقلال ایرانیان انجامید، دقیقاً روشن نیست که آخرین جنگ سرنوشت ساز چند سال بطول انجامید اما قطعاً پایان کار همان سال ۶۱۲ پ. م. - باید بوده باشد. طبق متن در اواخر قیام و آغاز جنگ بزرگ، کیخسرو سرداران بنام را که برای تصرّف ایالات مرزی فرستاده بود فرا می‌خواند و ظاهراً در نظر داشت کار قیام را به نتیجه رساند. او پس از اظهار سرداران و مرزداران در پایتخت، پیک‌هایی به تمام کشورهای تابعه گسیل می‌نماید سران و جنگجویان تمام ایالات را در پایتخت گرد آورده سازمان‌دهی می‌نماید و جنگ بزرگ را آغاز می‌کند. اولین اقدام کیخسرو اینگونه شروع می‌شود:


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

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

شاهکان ایالات ( کدخدایان ) به همراه لشکریانشان در تختگاه کیخسرو یا همان «محل اجتماع» حضور به هم رساندند و گردان جنگی آمادهٔ پیکار شد. ولی به استناد بیت آخر سان دیدن کیخسرو از جنگجویانی که سازمان جنگی قبیله‌ای داشتند برای «جنگ بزرگ» مناسب نبودند، کیخسرو فرمان آرایش نظامی جدید را برحسب نیاز صادر نمود.

بار دیگر متون تاریخی این خبر شاهنامه را تأیید می‌کنند. در حدود - ۷۰۰ پ. م. - اراضیی که بعدها تحت عنوان ماد متحد گشت از لحاظ قومی رنگارنگ بود. نواحیی که ساکنان اصلی آن کوتی، لولویی و تا حدی هوریانی و اورارتویی بودند و بیش از همه نواحی اطراف دریاچه ارومیه یعنی ماننا و مردم اراضی مجاور آن، از لحاظ فرهنگ و تمدن تفوّق داشتند.

همانطور که کیخسرو از سه یار نزدیک رستم، طوس و گودرز کمک طلبید، خشثریته خداوند ده کار کاشی نیز موفق به جلب و یاری دو متحد به اسامی مامی تیار شو خداوند پیشین ده در ایالت مادای و دوساننی خداوند پیشین ده در ایالت ساپاردا گشت. هر یک از این سه تن، پیشوای ساکنان محلی یکی از سه ایالت یعنی بیت کاری، مادای و ساپاردا بودند . بدین قرار مردم سه ایالت یکجا و به ریاست سه پیشوای متساوی‌الحقوق وارد گیرودار جنگ شدند ولی ریاست خشثریته مانند کیخسرو بلامعارض بود. به احتمال قوی وی رسماً به سمت پیشوای نظامی اتحادیه قبایل ماد برگزیده شده بود. ولی این انتخاب در مدارک آشور منعکس نشده زیرا که آشوریان بالطبع سِمت او را رسمی نمی‌شناختند.

در نوشته‌های اسرحدون جنگ با خشثریته به احتمال قوی، در اظهاریه‌ای مبهم زیر منعکس است: من کشور بارنا کا، دشمن محتال، و ساکنان کشور تیلاشوری که نامش در دهان مردم مخرانو است پایمال کردم. از اینجا معلوم می‌شود که صحنهٔ اصلی عملیات جنگی در ناحیهٔ جنوب همدان کنونی بوده است. لحن مبهم و خودستایانهٔ این گزارش اجازه نمی‌دهد که واقعا در این مورد آشوریان را پیروز بپنداریم. واقع امر را سئوالاتی که از هاتف به عمل آمده روشن می‌کند.




مطالب هرودوت (تاریخ)

هرودت دربارهٔ هوخشتره (کیخسرو) مطلبی می‌گوید که از لحاظ تاریخی واجد اهمیت خاص می‌باشد. « می‌گویند او ... اول کسی بود که اقوام ساکن آسیا را به قسمت‌های نظامی تقسیم کرد و نخستین بار مقررات جنگی بر قرار کرد که هر نیزه‌دار و کمان‌دار و سوار جدا باشد. پیش از آن ایشان بی‌نظم و مخلوط بودند.»

چنانکه بارها در مورد هرودوت ملاحظه شده - همین‌که او خود ماهیت پدیده را درک نمی‌کند - دلیلی است که نوشتهٔ او حقیقت دارد زیرا که از روی قصد مطلبی را اختراع نکرده. البته هرگز لشکری که در آن پیادگان سبک اسلحه و سنگین اسلحه بطور بی‌نظم با سواران مخلوط شده باشد وجود نداشته. حقیقت این است که قبل از هوخشتره مادی‌ها و اقوام تابع در جنگ بصورت دسته‌های قبیله‌ای شرکت می‌جستند و هوخشتره به متابعت از همسایگان خویش یعنی آشوریان برای نخستین بار ارتش منظّم ایجاد کرد که به واحدهای سوق‌الجیشی و تاکتیکی تقسیم می‌شد و این تقسیمات مبتنی بر روابط قبیله‌ای افراد نبوده بلکه از احتیاجات نظامی دولت ریشه می‌گرفته و وی تقسیم لشکریان را از روی نوع سلاح منتظم ساخت.

این عمل در تشکیل و قوام دولت ماد آخرین گام بود. می‌دانیم که هوخشتره دارای افراد و وسایل آزموده‌ای برای محاصرهٔ قلاع داشت. اکنون ارتش ماد از لحاظ سازمان به هیچ‌وجه از ارتش آشور عقب نبود و در عین حال مسلماً روحیهٔ جنگی آن از آشوریان بمراتب بهتر و عالی‌تر بود. زیرا که ارتشی بود مرکب از افراد آزاد جماعات روستایی. ارتش مزبور مسلماً با تاکتیک پیادگان و فن محاصرهٔ قلاع آشوریان و فن سواری و تیراندازی اسکیت‌ها نیز آشنا بوده.
12:59 pm
کاربرد برنامه نویسی

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





زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

محدوده برنامه‌ها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستم‌های بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویس‌ها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفه‌ای‌هایی که با پیچیدگی قابل توجهی کنار می‌آیند.
برنامه‌ها باید سرعت، اندازه و سادگی را بسته به سیستم‌ها از ریزپردازندها تا ابر رایانه‌ها متناسب نگه دارند.
برنامه‌ها ممکن است یک بار نوشته شوند و تا نسل‌ها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویس‌ها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط 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 در برنامه‌های تعبیه شده و سیستم‌های عامل؛ و بقیه برنامه‌ها معمولاً برای نوشتن انواع دیگر برنامه‌ها کاربرد دارند. روش‌های مختلفی برای سنجش محبوبیت زبان‌ها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شده‌است:

شمارش تعداد تبلیغات شغلی که از آن زبان نام می‌برند.
تعداد کتاب‌های آموزشی و شرح دهندهٔ آن زبان که فروش رفته‌است.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبان‌هایی را که در جستجوها کمتر پیدا می‌شوند دست کم گرفته شوند.
شمارش ارجاع‌های زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.

طبقه بندی‌ها هیچ برنامه غالبی برای دسته بندی زبان‌های برنامه نویسی وجود ندارد. یک زبان مشخص معمولاً یک زبان اجدادی ندارد. زبان‌ها معمولاً با ترکیب المان‌های چند زبان پیشینه بوجود می‌آیند که هربار ایده‌های جدید درگردشند. ایده‌هایی که در یک زبان ایجاد می‌شوند در یک خانواده از زبان‌های مرتبط پخش می‌شوند، و سپس از بین خلاهای بین خانواده‌ها منتقل شده و در خانواده‌های دیگر ظاهر می‌شوند.

این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر می‌کند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق می‌کند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.

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

یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثال‌های برنامه نویسی دسته بندی شود. برای مثال، غالب زبان‌های برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده می‌کنند، در حالیکه تعداد کمی این کار را نمی‌کنند. سایر زبان‌ها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
ساعت : 12:59 pm | نویسنده : admin | گرافیکسولوژی | مطلب قبلی
گرافیکسولوژی | next page | next page