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

واحد پردازشگر مرکزی
واحد پردازشگر مرکزی در پلی استیشن ۳ نوعی از یک پردازنده به نام سل پروسسور (Cell processor) است، همچنین این دستگاه اولین محصولی است که از این نوع پردازندها در معماری آن به عنوان پردازنده مرکزی استفاده شده.
سل پروسسور مورد استفاده شده در این کنسول در کلاک ۳٫۲Ghz کار میکند و متشکل شده از یک PPE بر اساس ساختار PowerPC و هفت SPE یا دستیار که سازندگان بازیها تنها از شش عدد آنها میتوانند استفاده کنند زیرا یکی از آنها اختصاصاً در اختیار سیستمعامل خواهد بود.
سل پروسسورها برخلاف پردازندههای چند هستهای رایح ساختاری نامتقارن دارند و هدف اصلی از طراحی آنها استفاده در سینماهای خانگی، دستگاههای بازی و بالاتر بردن سطح کیفی آنها بوده.
ساختار آنها از این جهت نامتقارن نامیده میشود که به خلاف پردازندههای رایج دارای هستههای هم تراز و همسان نیستند و از یک هسته اصلی و چند هسته فرعی تشکیل شدهاند به همین دلیل برنامه نویسی بر روی آنها نسبت به شیوههای متداول تا حد زیادی متفاوت است.
دستههای پلی استیشن ۳
دستههای پلیاستیشن ۳ نسبت به نسخه قبل خود از نظر ظاهری تغییر چندانی نکردهاست و فقط دکمه آنالوگ جای خود را به نماد پلیاستیشن دادهاند و دکمههای R۲ و L۲ کمی رو به بالا متمایل شدهاند، نام دستهها از «دوال شوک» به «سیکس اکسیس» تغییر یافتهاست.
درست است که دستههای این کنسول از لحاظ ظاهری تغییر چندانی نکردهاند اما از لحاظ کارایی این دستهها دارای قابلیت بسیار جالبی به نام سنسیتیو موشن میباشند که به کاربر این امکان را میدهد که با حرکت دادن این دسته در راستای شش محور بسیاری از آیتمهای بازی را کنترل کند. نام SIXAXIS هم از روی عملکرد این دستهها برداشته شده که به معنای شش محور میباشد. تقریبااز اوایل سال ۲۰۰۸ دسته جدیدی برای این کنسول به بازار عرضه شده این دسته که با نام دالشوک ۳ شناخته میشود علاوه بر کاراییهای دسته نسل قبل دارای شوک هم میباشد. سونی، دستههایی با رنگهای مختلفی همچون طلایی، نقرهای، سفید و حتی قرمز و آبی منتشر کردهاست.
در ای۳ سال ۲۰۰۹ سونی از یک پروژه جدید که بعدها در GDC ۲۰۱۰ پلیاستیشن موو نام گذاری شد پرده برداری کرد. این محصول در ۱۵ سپتامبر ۲۰۱۰ در اروپا، ۱۹ سپتامبر ۲۰۱۰ در آمریکای شمالی و ۲۱ اکتبر ۲۰۱۰ در ژاپن انتشار یافت.
شبکه بازی
در پاسخ به موفقیتهای مایکروسافت در شبکه ایکسباکس لایو، سونی در سال ۲۰۰۶ در کنفرانس PlayStation Business Briefing meeting در توکیو رسماً خبر از راه اندازی شبکهای آنلاین برای پیاس۳ داد.
پلیاستیشن ۳ یک شبکه آنلاین به نام "پیاسان" دارد که نوعی دنیای مجازی است و در آن بازی خریداری میشود، گفتگو میشود و صد البته اگر کنسول شما آپدیت جدید نباشد نمیتوانید آنلاین بازی کنید. مگر با روشهای غیررسمی که در کشور موجود است.
برای بازی کردن در شبکه پلیاستیشن نیازی به پرداخت هزینه نیست. این کنسول دارای بخشی به نام مرورگر اینترنت میباشد که پیاس۳ را قادر میسازد همانند یک رایانه شخصی وارد اینترنت شود. برای استفاده از خدمات اینترنت باید کنسول را ثبت نام کنید. استفاده از اینترنت پلیاستیشن به جز پیاسان نیاز به ثبت نام ندارد.
فروشگاه پلیاستیشن
در ماه نوامبر ۲۰۰۶ سونی فروشگاه پلیاستیشن را برای کاربران کنسول خانگی پلیاستیشن ۳ راه اندازی کرد. فروشگاه پلی استیشن یک فروشگاه مجازی است که کاربران کنسولهای شرکت سونی یعنی پلیاستیشن ۳، پیاسپی و پلیاستیشن ویتا میتوانند از آن استفاده کنند. در این فروشگاه بازی، دموی بازیها، بازیهای آرکید، تم و آواتار پلیاستیشن و محصولات چند رسانهای دیگری برای کنسولهای شرکت سونی عرضه میشوند. در ۲۴ سپتامبر سال ۲۰۰۹ شرکت سونی اعلام کرد که از زمان آغاز به کار فروشگاه پلیاستیشن ۶۰۰ میلیون محصول مختلف از این فروشگاه خریداری شدهاست.
تقریباً یک سال پس از راه اندازی فروشگاه پلیاستیشن برای کنسول پلیاستیشن ۳ سونی در سپتامبر ۲۰۰۸ امکان خرید از این فروشگاه از طریق رایانه شخصی را هم برای اعضای شبکه پلیاستیشن فراهم کرد و در اکتبر ۲۰۰۸ کاربران کنسول دستی پیاسپی هم این امکان را یافتند تا از این فروشگاه خرید کنند. خرید از فروشگاه پلیاستیشن از راه خرید کارت اعتباری شبکه پلیاستیشن انجام میشود. این کارتها در دو نوع ۲۵ و ۵۰ دلاری عرضه میشود و کاربر میتواند با وارد کردن شماره درج شده بر روی این کارتها در حساب کاربری خود، حساب شبکه پلی استیشن خودش را شارژ اعتباری کند و به وسیله آن از فروشگاه پلیاستیشن خرید کند.
فروشگاه پلیاستیشن ممکن است برای هر منطقه از جهان محتوایی مخصوص را عرضه کند؛ هر چند که بیشتر محتوای فروشگاه پلیاستیشن در مناطق مختلف یکسان است. فروشگاه پلیاستیشن برای چهار منطقه مختلف در دنیا طراحی شده که شامل مناطق: آمریکای شمالی، اروپا، آسیا و ژاپن میشود. مناطق اقیانوسیه و خاورمیانه منطقه ۲ محسوب میشوند و دارای فروشگاه مشترکی با فروشگاه اروپایی پلیاستیشن هستند. سونی برای چین و آمریکای لاتین فروشگاه اختصاصی نساختهاست.
قیمت کنسول
قیمت رسمی آن در زمان عرضه ۴۹۹ دلار و ۵۹۹ دلار بودهاست اما در خود آمریکا هم با قیمتهای ۵۵۰ دلار و ۶۵۰ دلار فروخته میشد. در ایران این کنسول در اواخر سال ۱۳۹۱ با هارد۳۲۰ گیگابایت، حدود ۱ میلیون و ۷۵۰ هزار تومان داشته است.
پلیاستیشن ویتا
پلیاستیشن ویتا (به انگلیسی: PlayStation Vita) کنسول بازی دستی آینده شرکت سونی است. این کنسول بازی دستی٬ جانشینی برای کنسول بازی دستی پلیاستیشن همراه و عضوی از خانواده پلیاستیشن است.
از ویژگیهای این محصول٬ دو آنالوگ استیک٬ صفحه نمایشگر ۵ اینچی (۱۳۰ میلیمتری) اوالایدی با قابلیت صفحه لمسی است. این کنسول دستی٬ امکاناتی چون بلوتوث٬ وای-فای و 3G را نیز پشتیبانی میکند. این کنسول دارای پردازشگر قدرتمند ۴ هستهای ARM Cortex-A9 MPCore میباشد. همچنین٬ پلیاستیشن ویتا از شبکه PSN نیز پشتیبانی میکند.
این کنسول٬ به منظور رقابت با نینتندو سهدیاس عرضه خواهد شد.
سخت افزار
طراحی کلی پلی استیشن ویتا مشابه طراحی کنسول دستی پیشین سونی یعنی پی اس پی است. این کنسول دارای صفحه نمایش 5 اینچی (130 میلی متری) است و از یک صفحه او ال ای دی خازنی لمسی بهره می برد. برخلاف پی اس پی که از یک آنالوگ بهره می برد، پلی استیشن ویتا از دو آنالوگ استفاده می کند و چهار کلید اصلی کنسول های سونی یعنی (Triangle، Circle، Cross و Square) ، به همراه دو کلید L و R و کلید های پلی استیشن، استارت و سلکت هم بر روی این کنسول دستی وجود دارد.
این کنسول از پردازنده ARM Cortex- A9 MPcore استفاده می کند که چهار هسته ای است؛ اما سه هسته آن برای اپلیکیشن ها قابل استفاده است. پلی استیشن ویتا همچنین دارای پردازنده گرافیکی چهارهستهای مدل PowerVR SGX543MP4 است که ساخت شرکت ایمجینیشن تکنولوجیز است.
از دیگر امکانات سخت افزاری پلی استین ویتا می توان به دو پد لمسی در قسمت پشتی کنسول اشاره کرد. همچنین دو دوربین (یکی عقب، یکی جلو)، بلندگوی استریو، میکروفون، حسگر حرکتی شش محور (سه محور ژیروسکوپ و سه محور شتاب سنج) و قطب نمای الکتریکی در این کنسول دستی وجود دارد.
امکانات ارتباطی
بسته کامل پلی استیشن ویتا که هم از وای-فای و هم از 3G پشتیبانی می کند.
پلی استیشن ویتا از نسل سوم ارتباطات (3G)، وای-فای و بلوتوث 2.1 پشتیبانی می کند. البته مدل ارزان تر این کنسول از 3G پشتیبانی نمیکند و امکانات ارتباطی آن فقط محدود به وای-فای و بلوتوث می شود.
پلیاستیشن همراه
پِلیاستیشن همراه یا پیاسپی (به انگلیسی: PlayStation Portable به اختصار: PSP) نوعی کنسول بازیست که سرگرمیهای رایانهای سونی آنرا ساخته و عرضه کردهاست. این کنسول بازی قابلیت همراه دارد و میتوان بازیهای زیادی رویش انجام داد.
از دیگر ویژگیهای پلیاستیشن همراه میتوان به صفحهٔ نمایش بزرگ، گرافیک بالا، استفاده از دیسکهای نوری، داشتن ورودی کارت حافظه و قابلیت اتصال به پلیاستیشن ۳،پلی استیشن ۲ و اینترنت اشاره کرد.
نسخهها
پیاسپی نسخه یک که در سال ۲۰۰۵ و ۲۰۰۴ پیش توسط سونی به بازار ارائه شد. به آن نسخه چاق هم میگویند.
پیاسپی نسخه دو (یا درستتر PSP Slim) که در کنفرانس ای۳ سال ۲۰۰۷ معرفی و ماه سپتامبر به بازار آمد. به آن نسخه باریک هم میگویند.
پیاسپی-۳۰۰۰: در تاریخ ۲۰ اوت ۲۰۰۸ سری ۳۰۰۰ در کنفرانس مطبوعاتی در شهر لایپزیگ آلمان معرفی شد. در طراحی مجدد، پیاسپی ۳۳٪ سبکتر و ۱۹٪ باریکتر شدهاست. از دیگر مشخصات psp ۳۰۰۰ میتوان به بهبود کیفیت السیدی٫ میکروفون داخلی٫ خروجی ویدیوئی توسعه یافته اشاره کرد. نکته بارز پیاسپی۳۰۰۰ السیدی این کنسول است که در آن نسبت تباین افزایش یافته همچنین زمان پاسخگویی کمتر شده، تعداد رنگها افزایش یافته و از همه مهمتر فناوری ضدّبازتاب به کار رفته در آن میباشد که باعث میشود که در نور خورشید نیز قابلیت دید مناسبی داشته باشد.
پی اس پی گو (psp go) : در ژوئیه سال ۲۰۰۹ در کنفرانسی مطرح شد . قرار شد که در هفتهٔ دوم مهر ماه ۱۳۸۸ در آمریکا و اروپا به قیمت ۲۵۰ دلار عرضه شود . در این psp با وجود حذف درایو umd و البته داشتن مموری ۱۶ گیگابایتی و صفحه ای بسیار نازک و صفحهٔ slide بسیار شکیل است .
سختافزار
ظاهر
پیاسپی دارای ابعاد ۲٫۲×۷٫۳×۱۷ و وزن ۲۸۰ گرم میباشد. در بخش جلوئی کنسول یک عدد السیدی ۴٫۳ اینچی تعبیه شدهاست. رزولوشن این السیدی ۴۸۰×۲۷۲ میباشد و دارای ۱۶٫۷۷ میلیون رنگ میباشد. همچنین در جلو کنسول چهار کلید همیشگی پلیاستیشن (Triangle, Circle, Cross, Square) به همراه دسته آنالوگ و چندین کلید کاربردی دیگر میباشد.
سی پی یو٫ گرافیک و رم
سی پی یو پیاسپی دارای قدرت پردازش ۵۰۰ مگا هرتز و ۳۲ بیتی میباشد. پیاسپی دارای جی پی یوئی با قدرت ۱۶۶ مگا هرتز و ۲ مگابایت حافظه VRAM میباشد. پیاسپی همچنین دارای ۳۲ مگابایت رم و ۴ مگابایت رم تعبیه شده از نوع DRAM میباشد.
باتری
پیاسپی دارای باتری ۱۸۰۰ mAh میباشد که قابلیت ۶-۴ ساعت در حال بازی ۵-۴ ساعت در حالت پخش ویدیوئی و ۱۱-۸ ساعت پخش صوتی میباشد.
تجهیزات دیگر
پورت یو اس بی مینی ۲
پورت فرو سرخ
درایو یو ام دی برای انتقال فیلم و بازی در قسمت پشت پی اس پی
خواننده کارت حافظه در سمت جپ
بلندگوهای استریو و خروجی هدفون
کارت شبکه بی سیم تحت استاندارد IEEE ۸۰۲٫۱۱b برای دسترسی به اینترنت.
نرمافزار
ورژن سیستمعامل
این کنسول دستی دارای سیستمعامل مخصوص به خود بوده که توسط شرکت سازنده آن یعنی سونی ساخته و پشتیبانی میشود. در اولین نسخههای آن (در سال ۲۰۰۴) این سیستمعامل دارای ورژن ۱٫۰۰ بود.
رابط گرافیکی کاربر
رابط گرافیکی پیاسپی نوع پیاسپی٫ اکس ام بی(XMB) (این رابط در محصولات دیگر سونی مانند پلیاستیشن ۳ و سری براویا نیز وجود دارد) میباشد. این رابط شامل منویی متشکل از هفت بخش میباشد، این هفت بخش عبارتند از تنظیمات، تصاویر، آهنگها، کلیپهای ویدیویی، بازی، شبکه، و شبکه پلیاستیشن میباشد. این رابط توانایی نمایش تصاویر و همچنین پخش آهنگها و کلیپهای موجود بر روی حافظه و ذخیره آراساس را دارا میباشد. از دیگر قابلیتهای این رابط میتوان به قابلیت ارسال تصاویر به صورت بی سیم و قابلیت سفارشی سازی توسط کاربر اشاره کرد.
مرورگر وب
مرورگر اینترنت پی اس پی از نوع ریز کاوشگر بوده که به طور رایگان به همراه نسخه ۲٫۰ نرمافزار پی اس پی عرضه شدهاست. این مرورگر از اغلب فناوریهای موجود در کاوشگرها پشتیبانی میکند. همچنین در ورژن ۲٫۷۰ نرمافزار پی اس پی٫ مرورگر از فایلهای فلش نیز پشتیبانی میکند.
بازی از راه دور
بازی از راه دور این قابلیت را به پی اس پی میدهد که به بیشتر خصوصیات پلیاستیشن ۳ از طریق بی سیم ( wi-fi ) دسترسی داشته باشد. از جمله این قابلیتها میتوان به نمایش تصاویر و پخش فایلهای صوتی و تصویری موجود بر روی هارد پلیاستیشن ۳ و همچنین کنترل از راه دور پلیاستیشن ۳ اشاره کرد.
مشخصات
نسخه یک
وزن:۲۸۰ گرم
حافظه داخلی:۳۲ مگابایت
نوع و عمر باتری:۱۸۰۰ mA ۵ تا ۶ ساعت
امکانات خاص:درگاه فروسرخ
رنگها :سیاه٬سفید و صورتی
قیمت در ایران :۲۰۰٬۰۰۰ تومان
نسخه دو
وزن:۱۸۹ گرم
حافظه داخلی:۶۴ مگابایت
سی پی یو CPU:MIPS R۴۰۰۰-based; clocked from 1 to 333 MHz
نمایش عکس با فرمتهای JPEG,BITMAP,PNG
نمایش فیلم با فرمتهای MPEG-۴,AVC
پخش موسیقی با فرمتهای ATRAC, AAC, MP3, WMA
نوع و عمر باتری:۲۲۰۰mA تا ۶ ساعت
امکانات خاص:درگاه فروسرخ حذف شده، خروجی تلویزیون
رنگها :سیاه٬سفید و خاکستری
قیمت در ایران :۲۱۰۰۰۰ تومان
پلیاستیشن موو
پلیاستیشن موو (به انگلیسی: PlayStation Move) یک کنترلکننده بازی دارای حسگر حرکتی که توسط بخش سرگرمی کامپیوتری سونی برای کنسول پلیاستیشن ۳ منتشر گردید. پلیاستیشن موو برای اولین بار در ۲ ژوئن ۲۰۰۹ رونمایی شد و در ۱۵ سپتامبر ۲۰۱۰ در اروپا و بیشتر بازارهای آسیا، ۱۶ سپتامبر ۲۰۱۰ در استرالیا و ۱۷ سپتامبر ۲۰۱۰ در آمریکا و انگلستان منتشر شده است. پلیاستیشن موو با کنترل از راه دور وی و کینکت که به ترتیب برای کنسولهای وی و ایکسباکس ۳۶۰ هستند، به رقابت میپردازد.
دریمکست
دریمکست (به انگلیسی: Dream cast) کنسول بازی ۱۲۸-بیت بود که توسط سگا در اواخر ۱۹۹۸ میلادی جانشین سگا سترن شد. این کنسول اولین کنسول از نسل ششم کنسولهای بازیهای ویدئویی در کنار پلی استیشن ۲، ایکسباکس و نینتندو گیم کیوب بود.
سگا تولید این کنسول را در مارس ۲۰۰۱ متوفق کرد و آن به آخرین نسل از کنسولهای سگا بدل گشت، اگرچه پشتیبانی از آن در اقیانوسیه و اروپا تا اواخر ۲۰۰۲ میلادی ادامه داشت و در ژاپن تا سال ۲۰۰۶ میلادی نیز همچنان به فروش میرسید. بر طبق گفته برنی استولار رئیس و مدیرعامل سابق سگا در آمریکا، توقف تولید این کنسول به واسطه جهت گیری تازه کمپانی برای تمرکز بر روی تولید نرمافزار صورت گرفت.
باوجود طول عمر کوتاه، این کنسول توانست جایگاه ویژهای بواسطه تاریخچه و ویژگیهایش کسب کند. دریم کست به دلیل آنکه پیشتر از زمان خود بود و بویژه امکان بازی آنلاین، مورد ستایش قرار میگیرد. دریم کست اولین کنسولی بود که به مودم و توانایی پشتیبانی از اینترنت برای بازیهای آنلاین مجهز گردید.
نینتندو گیمکیوب
نینتندو گیمکیوب (به ژاپنی: ニンテンドーゲームキューブ Nintendō Gēmukyūbu، به انگلیسی: Nintendo GameCube) (اغلب به صورت مختصره GCN نوشته میشود) چهارمین کنسول بازی ویدئویی نینتندو که بخشی از ششمین نسل در عصر کنسولها است. گیمکیوب جانشین نینتندو ۶۴ و کنسول قبل از نینتندو وی بود.
نینتندو گیمکیوب اولین کنسول نینتندو بود که از دیسک اپتیک به عنوان منبع اصلی ذخیره سازی استفاده میکرد، بعد از اینکه نینتندو چندین قدم بی نتیجه در زمینهٔ رسانههای دیسک ذخیره سازی انجام داد. گیمکیوب در مقایسه با کنسولهای رقیبش، ایکس باکس و پلی استیشن ۲، از مینیدیویدی به جای دیویدیهای بزرگ استفاده میکرد. به این سبب، مانند ایکس باکس و پلی استیشن ۲ قابلیت پشتیبانی از دیویدی ویدئو و لوح فشرده آئودیو را نداشت.
این کنسول در ۱۴ سپتامبر ۲۰۰۱ در ژاپن، ۱۸ نوامبر ۲۰۰۱ در آمریکای شمالی، ۳ مه ۲۰۰۲ در اروپا و ۱۷ مه ۲۰۰۲ در استرالیا منتشر شده است. گیمکیوب ۲۱٫۷۴ میلیون در سرتاسرجهان به فروش رساند.
وی
وی کنسول بازی خانگی نسل هفتم میباشد که توسط نینتندو در ۱۹ نوامبر ۲۰۰۶ عرضه شد. به عنوان کنسول بازی نسل هفتم وی رقیب اصلی ایکسباکس ۳۶۰ از مایکروسافت و پلی استیشن ۳ از سونی است. نینتندو گفته است که این کنسول برای استفاده افراد بیشتری نسبت به دو رقیب خود طراحی شده. تا آوریل ۲۰۱۱ وی با فروش بالاتر از دو رقیب خود پلی استیشن ۳ و ایکسباکس ۳۶۰ پرفروشترین کنسول نسل خود به شمار میرود، و در دسامبر ۲۰۰۹ رکورد پرفروشترین کنسول بازی را در آمریکا طی یک ماه شکسته است.
یک ویژگی مشخص این کنسول، کنترلر وایرلس آن، وی ریموت میباشد که میتواند به عنوان یک وسیله اشاره کننده دستی به کار رود و حرکات را در فضای سهبعدی تشخیص دهد. یکی دیگر از مشخصات به کار رفته در این کنسول ویکانکت۲۴ میباشد، که قابلیت دریافت پیام و آپدیت را در زمانی که سیستم در حالت آماده به کار میباشد را دارد.
وی پنجمین کنسول خانگی نینتندو و جانشین نینتندو گیمکیوب است که به طور کامل قابلیت سازگاری عقبرو را با تمامی بازیها و بیشتر لوازم جانبی گیمکیوب دارد. نینتندو نخستین بار در مورد این کنسول در نشست خبری نمایشگاه الکترونیک اکسپو ۲۰۰۳ سخن گفت و بعدها در نمایشگاه الکترونیک اکسپو ۲۰۰۵ از آن پردهبرداری کرد. مدیرعامل شرکت نینتندو ساتورو یاواتا یک نمونه اولیه از وی ریموت را در سپتامبر ۲۰۰۵ در نمایشگاه بازی توکیو نشان داد. در نمایشگاه الکترونیک اکسپو ۲۰۰۶، وی برای نخستین بار چندین جایزه را از آن خود کرد. در ۸ دسامبر ۲۰۰۶ وی فروش خود را در چهار بازار کلیدی به طور کامل آغاز کرد.
مشخصات
در ۱۹ نوامبر ۲۰۰۶ عرضه شد.
آمار فروش آن برابر است با 52.62 میلیون دستگاه (تا آگوست 2009) است. همچنین وی پرفروشترین کنسول نسل هفتم تا این تاریخ است.
نام
در مورد دلیل انتخاب نام وی، نظرات مختلفی وجود دارد ولی احتمالاً بهترین توصیف، به هنگام معرفی کنسول برای اولین بار عنوان شده است:
تلفظ وی مانند we انگلیسی است که تاکیدی است بر این امر که این کنسول متعلق به همه ما است. وی به راحتی توسط مردم همه جای دنیا به خاطر سپرده میشود، مستقل از اینکه به چه زبانی صحبت میکنند. نه گیج شدنی هست و نه خلاصه کردنی. فقط همان وی.
شکل ظاهری
ابعاد این دستگاه عبارت است از ۱۷۵*۲۱۵.۴*۴۴ میلی متر و در رنگ سفید و مشکی منتشر میشود که البته با روکشهایی میتوان به رنگهای صورتی، آبی و حتی سبز تبدیل کرد. وزن «وی» برابر ۲.۱ کیلوگرم است که در مقابل رقیبان خود سبکترین وزن را دارد.
سیستم تهویه
یک سیستم تهویه ۶ سانتیمتری این کنسول را خنک میکند.
آرشیو نرمافزاری
کپی های بازی وی در بازار خرده فروشی بر روی دیسکهای نوری وی که مشابه با دیویدی می باشند عرضه می شود. این دیسکها در بسته بندی به همراه راهنمای بازی عرضه می شوند. دیسکهای ۱۲ سانتیمتری وی و دیسکهای ۸ سانتیمتری گیمکیوب را میتوان با وی اجرا کرد. علاوه بر دیسکهای نوری وی می توان از سرویسهای کنسول مجازی و ویویر که بخشی از خدمات برخط کانال ویشاپ می باشند برای خرید بازی به صورت آنلاین استفاده نمود.
سرویس کنسول مجازی اجازه می دهد دارندگان وی بازی هایی را که در اصل برای کنسولهای قدیمیتر نینتندو شامل انایاس - سوپر نینتندو - نینتندو ۶۴ به همراه کنسولهای قدیمی سایر شرکتها شامل سگا مستر سیستم و سگا مگا درایو از شرکت سگا. توربوگرافاکس-۱۶/پیسیانجین از شرکت انایسی به همراه کنسول نیو جیو از شرکت اسانکی و کمودور ۶۴ وهمچنین بازیهای انتخابی از دستگاههای آرکاد میباشد. بازیهای کنسول مجازی توسط اینترنت پرسرعت قابل دانلود بر روی حافظه داخلی و یا کارت SD می باشند که پس از دانلود از منوی وی یا منوی SD قابل اجرا میباشند.
سرویس ویویر سرویسی مشابه با کنسول مجازی بوده و برای بازیهایی است که فقط به صورت آنلاین منتشر میشوند و مشابه با سرویسهای ایکسباکس لایو آرکاد و پلی استیشن استور میباشد.
دستههای بازی
دستههای وی از تکنولوژی حس گر حرکات بهره مندند که به وسیلهٔ آن قطعه الکترونیکی حرکت را حس میکند. مثلاً میتوان دسته را مانند چوب بیسبال در دست گرفت و مانند ضربه زدن به توپ از آن استفاده کرد. قطعه با استفاده از سرعت و زاویه حرکت اطلاعات مشابه را در کنسول ثبت میکند و توپ فرضی به جایی میرود که اگر دسته، چوب بیسبال بود به طور واقعی میرفت. این مساله باعث برتری شدید نسبت به رقیبان شد و باعث شد فروش «وی» این چنین بالا برود وگرنه به علت سختافزار ضعیف نسبت به رقیبان نباید اصلاً در رده نسل هفتم کنسولها قرار بگیرد. نتایج نشان داده است که این ورزشها موجب لاغری و تناسب مطلوب بدن هم میشوند.
مشخصات درونی
سیپییو «وی» فقط ۷۲۹ مگاهرتز است که در مقابل پلی استیشن ۳ که دارای هفت SPEکه فرکانس هر کدام از آنها ۳.۲ گیگاهرتز است، ضعیفتر میباشدو بازیهای وی از گرافیک پایین تری برخوردارند. جیپییو «وی» هم ساخت شرکت ایتیآی است.
مصرف برق
«وی» یک یازدهم دو رقیب خود، ایکس باکس ۳۶۰ و پلی استیشن ۳، برق مصرف میکند.
قیمت
قیمت رسمی آن هم اکنون149.99 دلار است.
ایکسباکس
اکسباکس (به انگلیسی: Xbox) کنسولی از ششمین نسل کنسولهای بازی ویدئویی است که توسط شرکت مایکروسافت عرضه شد. این اولین حملهٔ مایکروسافت به بازار بازیهای رایانهای بود که با کنسولهای پلی استیشن ۲، نینتندو گیمکیوب و دریمکست به رقابت پرداخت. سرویس اکسباکس لایو به بازیبازها اجازه رقابت به صورت آنلاین را میداد. این کنسول در روز ۱۵ نوامبر ۲۰۰۱ در آمریکای شمالی؛ ۲۲ فوریه ۲۰۰۲ در ژاپن و در ۱۴ مارس ۲۰۰۲ در اروپا و استرالیا عرضه گشت و بعد از آن اکسباکس ۳۶۰ مایکروسافت وارد بازارها شد. اکسباکس اولین جسارت سازندهاش در میدان نبرد کنسولها بود. عناوین قابل ذکری که برای این کنسول منتشر شدند شامل: Halo: Combat Evolved ، Amped ، Project Gotham Racing , Oddworld و Ninja Gaiden
ایکسباکس لایو
اکسباکس لایو (به انگلیسی: Xbox Live) یک خدمت بازی چند نفرهٔ برخط و تحویل رسانههای دیجیتال است که توسط شرکت مایکروسافت ابداع شده و بهرهبرداری میشود. اکسباکس لایو هم اکنون تنها خدمت بازی برخط (روی کنسول بازی دستی) است که از کاربرانش وجهی را در قبال بازی کردن دریافت میکند. اکسباکس لایو اولین بار برای دستگاه اکسباکس در سال ۲۰۰۲ میلادی عرضه شد. نگارش به روز شدهای از این خدمت نیز در سال ۲۰۰۵ همزمان با دستگاه اکسباکس ۳۶۰ ارائه شد. برای بازیهای تحت ویندوز، این خدمت نام گیمز فور ویندوز - لایو (بازیهای ویندوز - لایو) را با خود دارد که بیشتر امکانات این خدمت را روی رایانههای تحت ویندوز ارائه میدهد. مایکروسافت اعلام کرده که به عنوان بخشی از ابتکار لایو همه جا، لایو را روی دستگاههای دیگری همچون تلفن همراه نیز گسترش میدهد.
تاریخچه
هنگامی که مایکروسافت دستگاه اکسباکس اولیه را ساخت، بازیهای برخط به عنوان یکی از اصول راهبردی اکسباکس به شمار میرفت. سگا در سال ۱۹۹۹ تلاش کرده بود تا روی روند رو به رشد بازیهای برخط، با ساخت دستگاه دریمکست سرمایهگذاری کند. اما از آنجایی که اینترنت پر سرعت هنوز رایج و در دسترس نبود، دریمکست با یک مودم آنالوگ عرضه شد که توفیق چندانی در بر نداشت.
مایکروسافت اما با وجود شکست دریمکست به پیروزی خدمات برخط امیدوار بود. این شرکت عقیده داشت برای پیروزی در بازیهای برخط بایستی به خطوط اینترنت پر سرعت و دیسک سخت داخلی برای ضبط اطلاعات توجه کرد و این امکانات را در دستگاه جدید گنجاند. این نه تنها این امکان را میدهد که امکانات جدید، مانند مراحل جدید، نقشهها، تفنگها و شخصیتهای جدیدی وارد بازی شوند، بلکه به لطف ارتباط اینترنت پرسرعت، امکاناتی نظیر ارتباط صوتی و تصویری نیز فراهم میشود. استیو بالمر و بیل گیتس هر دو عقیده داشتند که محتوای چشمگیر قابل بارگیری میتواند در جذب مشتریان جدید مؤثر باشد. با این استدلال، دستگاه بازی با یک درگاه اترنت (۱۰/۱۰۰) همراه شد تا ارتباط با شبکههای پهن باند را فراهم کند. البته دستگاه بازی تنها برای کاربران این نوع شبکهها طراحی شده بود و مودم و ارتباط آنالوگ را پشتیبانی نمیکرد.
هنگامی که اکسباکس در ۱۵ نوامبر ۲۰۰۱ عرضه شد، قرار بود اکسباکس لایو که هنوز نامی نداشت، در تابستان ۲۰۰۲ شروع به کار کند. اکسباکس لایو بالاخره در نمایشگاه ای۳ ۲۰۰۲، زمانی که به طور کامل عرضه شد صاحب نام فعلی خود شد.
بازارچهٔ اکسباکس
این بازارچه اینترنتی محصولاتی مانند بازیهای آرکید،بازیهای Indie،بازیهای ارجینال اکسباکس،بازیهای تریال و دمو،DLC بازی ها(مانند نقشهٔ اضافی برای بازیهایی مانند COD،ماشینهای اضافی برای بازیهایی مانند GTA و Mafia 2،بستههای اهنگ برای بازیهای مانند Dance Central)،تریلر بازی ها،گیمر پیکچر و تم، برنامههای تلویزیون،موزیک ویدیو،و میتوان در آن فیلم اجاره کرد و غیره.
در ۱۷ نوامبر ۲۰۰۹،مایکروسافت App جدیدی را عرضه کرد که اسم آن Zune است. با استفاده از این App میتوانیم با 100 microsoft point فیلم اجاره کنیم و نیازی به اکانت گلد هم ندارد
بازارچه ویدیو در ۶ نوامبر ۲۰۰۶ مایکروسافت چیزی به نام بازارچه ویدیو را راه اندازی کرد که بتوان با آن شبکههایی مانند Syfy,ESPN,MSNBC,Sky go و غیره را با اکسباکس و با کیفیت HD دیدو appهایی مانند نت فلیکس و هولو پلاس را بیرون داد تا با ان بتوان فیلم هاو قسمتهایی که از سریالهای مختلف از دست دادهایم را با کیفیت HD دید. و این قابلیت اول در آمریکا در۲۲ نوامبر ۲۰۰۶ به بیرون آمد.
کنسول بازی دستی
کنسول بازی دستی یک ماشین الکترونیکی قابل حمل سبک برای اجرای بازیهای ویدئویی میباشد.
در چهارم ژوئن ۲۰۱۲، سونی مدل قرمز رنگ متالیک پلی استیشن ۳ را به طور انحصاری در بریتانیا عرضه کرد. این کنسول قرمز رنگ مجهز به یک هارد ۳۲۰ گیگابایتی و مانند بقیه بستههای پلی استیشن ۳ دارای دو دسته بی سیم است. فروشگاه اینترنتی آمازون قیمت این کنسول قرمز رنگ را ۲۵۰ یورو اعلام کرد، ولی فروشگاه پلی دات کام قیمت آن را ۲۴۰ یورو قرار داد.

واحد پردازشگر مرکزی
واحد پردازشگر مرکزی در پلی استیشن ۳ نوعی از یک پردازنده به نام سل پروسسور (Cell processor) است، همچنین این دستگاه اولین محصولی است که از این نوع پردازندها در معماری آن به عنوان پردازنده مرکزی استفاده شده.
سل پروسسور مورد استفاده شده در این کنسول در کلاک ۳٫۲Ghz کار میکند و متشکل شده از یک PPE بر اساس ساختار PowerPC و هفت SPE یا دستیار که سازندگان بازیها تنها از شش عدد آنها میتوانند استفاده کنند زیرا یکی از آنها اختصاصاً در اختیار سیستمعامل خواهد بود.
سل پروسسورها برخلاف پردازندههای چند هستهای رایح ساختاری نامتقارن دارند و هدف اصلی از طراحی آنها استفاده در سینماهای خانگی، دستگاههای بازی و بالاتر بردن سطح کیفی آنها بوده.
ساختار آنها از این جهت نامتقارن نامیده میشود که به خلاف پردازندههای رایج دارای هستههای هم تراز و همسان نیستند و از یک هسته اصلی و چند هسته فرعی تشکیل شدهاند به همین دلیل برنامه نویسی بر روی آنها نسبت به شیوههای متداول تا حد زیادی متفاوت است.
دستههای پلی استیشن ۳
دستههای پلیاستیشن ۳ نسبت به نسخه قبل خود از نظر ظاهری تغییر چندانی نکردهاست و فقط دکمه آنالوگ جای خود را به نماد پلیاستیشن دادهاند و دکمههای R۲ و L۲ کمی رو به بالا متمایل شدهاند، نام دستهها از «دوال شوک» به «سیکس اکسیس» تغییر یافتهاست.
درست است که دستههای این کنسول از لحاظ ظاهری تغییر چندانی نکردهاند اما از لحاظ کارایی این دستهها دارای قابلیت بسیار جالبی به نام سنسیتیو موشن میباشند که به کاربر این امکان را میدهد که با حرکت دادن این دسته در راستای شش محور بسیاری از آیتمهای بازی را کنترل کند. نام SIXAXIS هم از روی عملکرد این دستهها برداشته شده که به معنای شش محور میباشد. تقریبااز اوایل سال ۲۰۰۸ دسته جدیدی برای این کنسول به بازار عرضه شده این دسته که با نام دالشوک ۳ شناخته میشود علاوه بر کاراییهای دسته نسل قبل دارای شوک هم میباشد. سونی، دستههایی با رنگهای مختلفی همچون طلایی، نقرهای، سفید و حتی قرمز و آبی منتشر کردهاست.
در ای۳ سال ۲۰۰۹ سونی از یک پروژه جدید که بعدها در GDC ۲۰۱۰ پلیاستیشن موو نام گذاری شد پرده برداری کرد. این محصول در ۱۵ سپتامبر ۲۰۱۰ در اروپا، ۱۹ سپتامبر ۲۰۱۰ در آمریکای شمالی و ۲۱ اکتبر ۲۰۱۰ در ژاپن انتشار یافت.
شبکه بازی
در پاسخ به موفقیتهای مایکروسافت در شبکه ایکسباکس لایو، سونی در سال ۲۰۰۶ در کنفرانس PlayStation Business Briefing meeting در توکیو رسماً خبر از راه اندازی شبکهای آنلاین برای پیاس۳ داد.
پلیاستیشن ۳ یک شبکه آنلاین به نام "پیاسان" دارد که نوعی دنیای مجازی است و در آن بازی خریداری میشود، گفتگو میشود و صد البته اگر کنسول شما آپدیت جدید نباشد نمیتوانید آنلاین بازی کنید. مگر با روشهای غیررسمی که در کشور موجود است.
برای بازی کردن در شبکه پلیاستیشن نیازی به پرداخت هزینه نیست. این کنسول دارای بخشی به نام مرورگر اینترنت میباشد که پیاس۳ را قادر میسازد همانند یک رایانه شخصی وارد اینترنت شود. برای استفاده از خدمات اینترنت باید کنسول را ثبت نام کنید. استفاده از اینترنت پلیاستیشن به جز پیاسان نیاز به ثبت نام ندارد.
فروشگاه پلیاستیشن
در ماه نوامبر ۲۰۰۶ سونی فروشگاه پلیاستیشن را برای کاربران کنسول خانگی پلیاستیشن ۳ راه اندازی کرد. فروشگاه پلی استیشن یک فروشگاه مجازی است که کاربران کنسولهای شرکت سونی یعنی پلیاستیشن ۳، پیاسپی و پلیاستیشن ویتا میتوانند از آن استفاده کنند. در این فروشگاه بازی، دموی بازیها، بازیهای آرکید، تم و آواتار پلیاستیشن و محصولات چند رسانهای دیگری برای کنسولهای شرکت سونی عرضه میشوند. در ۲۴ سپتامبر سال ۲۰۰۹ شرکت سونی اعلام کرد که از زمان آغاز به کار فروشگاه پلیاستیشن ۶۰۰ میلیون محصول مختلف از این فروشگاه خریداری شدهاست.
تقریباً یک سال پس از راه اندازی فروشگاه پلیاستیشن برای کنسول پلیاستیشن ۳ سونی در سپتامبر ۲۰۰۸ امکان خرید از این فروشگاه از طریق رایانه شخصی را هم برای اعضای شبکه پلیاستیشن فراهم کرد و در اکتبر ۲۰۰۸ کاربران کنسول دستی پیاسپی هم این امکان را یافتند تا از این فروشگاه خرید کنند. خرید از فروشگاه پلیاستیشن از راه خرید کارت اعتباری شبکه پلیاستیشن انجام میشود. این کارتها در دو نوع ۲۵ و ۵۰ دلاری عرضه میشود و کاربر میتواند با وارد کردن شماره درج شده بر روی این کارتها در حساب کاربری خود، حساب شبکه پلی استیشن خودش را شارژ اعتباری کند و به وسیله آن از فروشگاه پلیاستیشن خرید کند.
فروشگاه پلیاستیشن ممکن است برای هر منطقه از جهان محتوایی مخصوص را عرضه کند؛ هر چند که بیشتر محتوای فروشگاه پلیاستیشن در مناطق مختلف یکسان است. فروشگاه پلیاستیشن برای چهار منطقه مختلف در دنیا طراحی شده که شامل مناطق: آمریکای شمالی، اروپا، آسیا و ژاپن میشود. مناطق اقیانوسیه و خاورمیانه منطقه ۲ محسوب میشوند و دارای فروشگاه مشترکی با فروشگاه اروپایی پلیاستیشن هستند. سونی برای چین و آمریکای لاتین فروشگاه اختصاصی نساختهاست.
قیمت کنسول
قیمت رسمی آن در زمان عرضه ۴۹۹ دلار و ۵۹۹ دلار بودهاست اما در خود آمریکا هم با قیمتهای ۵۵۰ دلار و ۶۵۰ دلار فروخته میشد. در ایران این کنسول در اواخر سال ۱۳۹۱ با هارد۳۲۰ گیگابایت، حدود ۱ میلیون و ۷۵۰ هزار تومان داشته است.
پلیاستیشن ویتا
پلیاستیشن ویتا (به انگلیسی: PlayStation Vita) کنسول بازی دستی آینده شرکت سونی است. این کنسول بازی دستی٬ جانشینی برای کنسول بازی دستی پلیاستیشن همراه و عضوی از خانواده پلیاستیشن است.
از ویژگیهای این محصول٬ دو آنالوگ استیک٬ صفحه نمایشگر ۵ اینچی (۱۳۰ میلیمتری) اوالایدی با قابلیت صفحه لمسی است. این کنسول دستی٬ امکاناتی چون بلوتوث٬ وای-فای و 3G را نیز پشتیبانی میکند. این کنسول دارای پردازشگر قدرتمند ۴ هستهای ARM Cortex-A9 MPCore میباشد. همچنین٬ پلیاستیشن ویتا از شبکه PSN نیز پشتیبانی میکند.
این کنسول٬ به منظور رقابت با نینتندو سهدیاس عرضه خواهد شد.
سخت افزار
طراحی کلی پلی استیشن ویتا مشابه طراحی کنسول دستی پیشین سونی یعنی پی اس پی است. این کنسول دارای صفحه نمایش 5 اینچی (130 میلی متری) است و از یک صفحه او ال ای دی خازنی لمسی بهره می برد. برخلاف پی اس پی که از یک آنالوگ بهره می برد، پلی استیشن ویتا از دو آنالوگ استفاده می کند و چهار کلید اصلی کنسول های سونی یعنی (Triangle، Circle، Cross و Square) ، به همراه دو کلید L و R و کلید های پلی استیشن، استارت و سلکت هم بر روی این کنسول دستی وجود دارد.
این کنسول از پردازنده ARM Cortex- A9 MPcore استفاده می کند که چهار هسته ای است؛ اما سه هسته آن برای اپلیکیشن ها قابل استفاده است. پلی استیشن ویتا همچنین دارای پردازنده گرافیکی چهارهستهای مدل PowerVR SGX543MP4 است که ساخت شرکت ایمجینیشن تکنولوجیز است.
از دیگر امکانات سخت افزاری پلی استین ویتا می توان به دو پد لمسی در قسمت پشتی کنسول اشاره کرد. همچنین دو دوربین (یکی عقب، یکی جلو)، بلندگوی استریو، میکروفون، حسگر حرکتی شش محور (سه محور ژیروسکوپ و سه محور شتاب سنج) و قطب نمای الکتریکی در این کنسول دستی وجود دارد.
امکانات ارتباطی
بسته کامل پلی استیشن ویتا که هم از وای-فای و هم از 3G پشتیبانی می کند.
پلی استیشن ویتا از نسل سوم ارتباطات (3G)، وای-فای و بلوتوث 2.1 پشتیبانی می کند. البته مدل ارزان تر این کنسول از 3G پشتیبانی نمیکند و امکانات ارتباطی آن فقط محدود به وای-فای و بلوتوث می شود.
پلیاستیشن همراه
پِلیاستیشن همراه یا پیاسپی (به انگلیسی: PlayStation Portable به اختصار: PSP) نوعی کنسول بازیست که سرگرمیهای رایانهای سونی آنرا ساخته و عرضه کردهاست. این کنسول بازی قابلیت همراه دارد و میتوان بازیهای زیادی رویش انجام داد.
از دیگر ویژگیهای پلیاستیشن همراه میتوان به صفحهٔ نمایش بزرگ، گرافیک بالا، استفاده از دیسکهای نوری، داشتن ورودی کارت حافظه و قابلیت اتصال به پلیاستیشن ۳،پلی استیشن ۲ و اینترنت اشاره کرد.
نسخهها
پیاسپی نسخه یک که در سال ۲۰۰۵ و ۲۰۰۴ پیش توسط سونی به بازار ارائه شد. به آن نسخه چاق هم میگویند.
پیاسپی نسخه دو (یا درستتر PSP Slim) که در کنفرانس ای۳ سال ۲۰۰۷ معرفی و ماه سپتامبر به بازار آمد. به آن نسخه باریک هم میگویند.
پیاسپی-۳۰۰۰: در تاریخ ۲۰ اوت ۲۰۰۸ سری ۳۰۰۰ در کنفرانس مطبوعاتی در شهر لایپزیگ آلمان معرفی شد. در طراحی مجدد، پیاسپی ۳۳٪ سبکتر و ۱۹٪ باریکتر شدهاست. از دیگر مشخصات psp ۳۰۰۰ میتوان به بهبود کیفیت السیدی٫ میکروفون داخلی٫ خروجی ویدیوئی توسعه یافته اشاره کرد. نکته بارز پیاسپی۳۰۰۰ السیدی این کنسول است که در آن نسبت تباین افزایش یافته همچنین زمان پاسخگویی کمتر شده، تعداد رنگها افزایش یافته و از همه مهمتر فناوری ضدّبازتاب به کار رفته در آن میباشد که باعث میشود که در نور خورشید نیز قابلیت دید مناسبی داشته باشد.
پی اس پی گو (psp go) : در ژوئیه سال ۲۰۰۹ در کنفرانسی مطرح شد . قرار شد که در هفتهٔ دوم مهر ماه ۱۳۸۸ در آمریکا و اروپا به قیمت ۲۵۰ دلار عرضه شود . در این psp با وجود حذف درایو umd و البته داشتن مموری ۱۶ گیگابایتی و صفحه ای بسیار نازک و صفحهٔ slide بسیار شکیل است .
سختافزار
ظاهر
پیاسپی دارای ابعاد ۲٫۲×۷٫۳×۱۷ و وزن ۲۸۰ گرم میباشد. در بخش جلوئی کنسول یک عدد السیدی ۴٫۳ اینچی تعبیه شدهاست. رزولوشن این السیدی ۴۸۰×۲۷۲ میباشد و دارای ۱۶٫۷۷ میلیون رنگ میباشد. همچنین در جلو کنسول چهار کلید همیشگی پلیاستیشن (Triangle, Circle, Cross, Square) به همراه دسته آنالوگ و چندین کلید کاربردی دیگر میباشد.
سی پی یو٫ گرافیک و رم
سی پی یو پیاسپی دارای قدرت پردازش ۵۰۰ مگا هرتز و ۳۲ بیتی میباشد. پیاسپی دارای جی پی یوئی با قدرت ۱۶۶ مگا هرتز و ۲ مگابایت حافظه VRAM میباشد. پیاسپی همچنین دارای ۳۲ مگابایت رم و ۴ مگابایت رم تعبیه شده از نوع DRAM میباشد.
باتری
پیاسپی دارای باتری ۱۸۰۰ mAh میباشد که قابلیت ۶-۴ ساعت در حال بازی ۵-۴ ساعت در حالت پخش ویدیوئی و ۱۱-۸ ساعت پخش صوتی میباشد.
تجهیزات دیگر
پورت یو اس بی مینی ۲
پورت فرو سرخ
درایو یو ام دی برای انتقال فیلم و بازی در قسمت پشت پی اس پی
خواننده کارت حافظه در سمت جپ
بلندگوهای استریو و خروجی هدفون
کارت شبکه بی سیم تحت استاندارد IEEE ۸۰۲٫۱۱b برای دسترسی به اینترنت.
نرمافزار
ورژن سیستمعامل
این کنسول دستی دارای سیستمعامل مخصوص به خود بوده که توسط شرکت سازنده آن یعنی سونی ساخته و پشتیبانی میشود. در اولین نسخههای آن (در سال ۲۰۰۴) این سیستمعامل دارای ورژن ۱٫۰۰ بود.
رابط گرافیکی کاربر
رابط گرافیکی پیاسپی نوع پیاسپی٫ اکس ام بی(XMB) (این رابط در محصولات دیگر سونی مانند پلیاستیشن ۳ و سری براویا نیز وجود دارد) میباشد. این رابط شامل منویی متشکل از هفت بخش میباشد، این هفت بخش عبارتند از تنظیمات، تصاویر، آهنگها، کلیپهای ویدیویی، بازی، شبکه، و شبکه پلیاستیشن میباشد. این رابط توانایی نمایش تصاویر و همچنین پخش آهنگها و کلیپهای موجود بر روی حافظه و ذخیره آراساس را دارا میباشد. از دیگر قابلیتهای این رابط میتوان به قابلیت ارسال تصاویر به صورت بی سیم و قابلیت سفارشی سازی توسط کاربر اشاره کرد.
مرورگر وب
مرورگر اینترنت پی اس پی از نوع ریز کاوشگر بوده که به طور رایگان به همراه نسخه ۲٫۰ نرمافزار پی اس پی عرضه شدهاست. این مرورگر از اغلب فناوریهای موجود در کاوشگرها پشتیبانی میکند. همچنین در ورژن ۲٫۷۰ نرمافزار پی اس پی٫ مرورگر از فایلهای فلش نیز پشتیبانی میکند.
بازی از راه دور
بازی از راه دور این قابلیت را به پی اس پی میدهد که به بیشتر خصوصیات پلیاستیشن ۳ از طریق بی سیم ( wi-fi ) دسترسی داشته باشد. از جمله این قابلیتها میتوان به نمایش تصاویر و پخش فایلهای صوتی و تصویری موجود بر روی هارد پلیاستیشن ۳ و همچنین کنترل از راه دور پلیاستیشن ۳ اشاره کرد.
مشخصات
نسخه یک
وزن:۲۸۰ گرم
حافظه داخلی:۳۲ مگابایت
نوع و عمر باتری:۱۸۰۰ mA ۵ تا ۶ ساعت
امکانات خاص:درگاه فروسرخ
رنگها :سیاه٬سفید و صورتی
قیمت در ایران :۲۰۰٬۰۰۰ تومان
نسخه دو
وزن:۱۸۹ گرم
حافظه داخلی:۶۴ مگابایت
سی پی یو CPU:MIPS R۴۰۰۰-based; clocked from 1 to 333 MHz
نمایش عکس با فرمتهای JPEG,BITMAP,PNG
نمایش فیلم با فرمتهای MPEG-۴,AVC
پخش موسیقی با فرمتهای ATRAC, AAC, MP3, WMA
نوع و عمر باتری:۲۲۰۰mA تا ۶ ساعت
امکانات خاص:درگاه فروسرخ حذف شده، خروجی تلویزیون
رنگها :سیاه٬سفید و خاکستری
قیمت در ایران :۲۱۰۰۰۰ تومان
پلیاستیشن موو
پلیاستیشن موو (به انگلیسی: PlayStation Move) یک کنترلکننده بازی دارای حسگر حرکتی که توسط بخش سرگرمی کامپیوتری سونی برای کنسول پلیاستیشن ۳ منتشر گردید. پلیاستیشن موو برای اولین بار در ۲ ژوئن ۲۰۰۹ رونمایی شد و در ۱۵ سپتامبر ۲۰۱۰ در اروپا و بیشتر بازارهای آسیا، ۱۶ سپتامبر ۲۰۱۰ در استرالیا و ۱۷ سپتامبر ۲۰۱۰ در آمریکا و انگلستان منتشر شده است. پلیاستیشن موو با کنترل از راه دور وی و کینکت که به ترتیب برای کنسولهای وی و ایکسباکس ۳۶۰ هستند، به رقابت میپردازد.
دریمکست
دریمکست (به انگلیسی: Dream cast) کنسول بازی ۱۲۸-بیت بود که توسط سگا در اواخر ۱۹۹۸ میلادی جانشین سگا سترن شد. این کنسول اولین کنسول از نسل ششم کنسولهای بازیهای ویدئویی در کنار پلی استیشن ۲، ایکسباکس و نینتندو گیم کیوب بود.
سگا تولید این کنسول را در مارس ۲۰۰۱ متوفق کرد و آن به آخرین نسل از کنسولهای سگا بدل گشت، اگرچه پشتیبانی از آن در اقیانوسیه و اروپا تا اواخر ۲۰۰۲ میلادی ادامه داشت و در ژاپن تا سال ۲۰۰۶ میلادی نیز همچنان به فروش میرسید. بر طبق گفته برنی استولار رئیس و مدیرعامل سابق سگا در آمریکا، توقف تولید این کنسول به واسطه جهت گیری تازه کمپانی برای تمرکز بر روی تولید نرمافزار صورت گرفت.
باوجود طول عمر کوتاه، این کنسول توانست جایگاه ویژهای بواسطه تاریخچه و ویژگیهایش کسب کند. دریم کست به دلیل آنکه پیشتر از زمان خود بود و بویژه امکان بازی آنلاین، مورد ستایش قرار میگیرد. دریم کست اولین کنسولی بود که به مودم و توانایی پشتیبانی از اینترنت برای بازیهای آنلاین مجهز گردید.
نینتندو گیمکیوب
نینتندو گیمکیوب (به ژاپنی: ニンテンドーゲームキューブ Nintendō Gēmukyūbu، به انگلیسی: Nintendo GameCube) (اغلب به صورت مختصره GCN نوشته میشود) چهارمین کنسول بازی ویدئویی نینتندو که بخشی از ششمین نسل در عصر کنسولها است. گیمکیوب جانشین نینتندو ۶۴ و کنسول قبل از نینتندو وی بود.
نینتندو گیمکیوب اولین کنسول نینتندو بود که از دیسک اپتیک به عنوان منبع اصلی ذخیره سازی استفاده میکرد، بعد از اینکه نینتندو چندین قدم بی نتیجه در زمینهٔ رسانههای دیسک ذخیره سازی انجام داد. گیمکیوب در مقایسه با کنسولهای رقیبش، ایکس باکس و پلی استیشن ۲، از مینیدیویدی به جای دیویدیهای بزرگ استفاده میکرد. به این سبب، مانند ایکس باکس و پلی استیشن ۲ قابلیت پشتیبانی از دیویدی ویدئو و لوح فشرده آئودیو را نداشت.
این کنسول در ۱۴ سپتامبر ۲۰۰۱ در ژاپن، ۱۸ نوامبر ۲۰۰۱ در آمریکای شمالی، ۳ مه ۲۰۰۲ در اروپا و ۱۷ مه ۲۰۰۲ در استرالیا منتشر شده است. گیمکیوب ۲۱٫۷۴ میلیون در سرتاسرجهان به فروش رساند.
وی
وی کنسول بازی خانگی نسل هفتم میباشد که توسط نینتندو در ۱۹ نوامبر ۲۰۰۶ عرضه شد. به عنوان کنسول بازی نسل هفتم وی رقیب اصلی ایکسباکس ۳۶۰ از مایکروسافت و پلی استیشن ۳ از سونی است. نینتندو گفته است که این کنسول برای استفاده افراد بیشتری نسبت به دو رقیب خود طراحی شده. تا آوریل ۲۰۱۱ وی با فروش بالاتر از دو رقیب خود پلی استیشن ۳ و ایکسباکس ۳۶۰ پرفروشترین کنسول نسل خود به شمار میرود، و در دسامبر ۲۰۰۹ رکورد پرفروشترین کنسول بازی را در آمریکا طی یک ماه شکسته است.
یک ویژگی مشخص این کنسول، کنترلر وایرلس آن، وی ریموت میباشد که میتواند به عنوان یک وسیله اشاره کننده دستی به کار رود و حرکات را در فضای سهبعدی تشخیص دهد. یکی دیگر از مشخصات به کار رفته در این کنسول ویکانکت۲۴ میباشد، که قابلیت دریافت پیام و آپدیت را در زمانی که سیستم در حالت آماده به کار میباشد را دارد.
وی پنجمین کنسول خانگی نینتندو و جانشین نینتندو گیمکیوب است که به طور کامل قابلیت سازگاری عقبرو را با تمامی بازیها و بیشتر لوازم جانبی گیمکیوب دارد. نینتندو نخستین بار در مورد این کنسول در نشست خبری نمایشگاه الکترونیک اکسپو ۲۰۰۳ سخن گفت و بعدها در نمایشگاه الکترونیک اکسپو ۲۰۰۵ از آن پردهبرداری کرد. مدیرعامل شرکت نینتندو ساتورو یاواتا یک نمونه اولیه از وی ریموت را در سپتامبر ۲۰۰۵ در نمایشگاه بازی توکیو نشان داد. در نمایشگاه الکترونیک اکسپو ۲۰۰۶، وی برای نخستین بار چندین جایزه را از آن خود کرد. در ۸ دسامبر ۲۰۰۶ وی فروش خود را در چهار بازار کلیدی به طور کامل آغاز کرد.
مشخصات
در ۱۹ نوامبر ۲۰۰۶ عرضه شد.
آمار فروش آن برابر است با 52.62 میلیون دستگاه (تا آگوست 2009) است. همچنین وی پرفروشترین کنسول نسل هفتم تا این تاریخ است.
نام
در مورد دلیل انتخاب نام وی، نظرات مختلفی وجود دارد ولی احتمالاً بهترین توصیف، به هنگام معرفی کنسول برای اولین بار عنوان شده است:
تلفظ وی مانند we انگلیسی است که تاکیدی است بر این امر که این کنسول متعلق به همه ما است. وی به راحتی توسط مردم همه جای دنیا به خاطر سپرده میشود، مستقل از اینکه به چه زبانی صحبت میکنند. نه گیج شدنی هست و نه خلاصه کردنی. فقط همان وی.
شکل ظاهری
ابعاد این دستگاه عبارت است از ۱۷۵*۲۱۵.۴*۴۴ میلی متر و در رنگ سفید و مشکی منتشر میشود که البته با روکشهایی میتوان به رنگهای صورتی، آبی و حتی سبز تبدیل کرد. وزن «وی» برابر ۲.۱ کیلوگرم است که در مقابل رقیبان خود سبکترین وزن را دارد.
سیستم تهویه
یک سیستم تهویه ۶ سانتیمتری این کنسول را خنک میکند.
آرشیو نرمافزاری
کپی های بازی وی در بازار خرده فروشی بر روی دیسکهای نوری وی که مشابه با دیویدی می باشند عرضه می شود. این دیسکها در بسته بندی به همراه راهنمای بازی عرضه می شوند. دیسکهای ۱۲ سانتیمتری وی و دیسکهای ۸ سانتیمتری گیمکیوب را میتوان با وی اجرا کرد. علاوه بر دیسکهای نوری وی می توان از سرویسهای کنسول مجازی و ویویر که بخشی از خدمات برخط کانال ویشاپ می باشند برای خرید بازی به صورت آنلاین استفاده نمود.
سرویس کنسول مجازی اجازه می دهد دارندگان وی بازی هایی را که در اصل برای کنسولهای قدیمیتر نینتندو شامل انایاس - سوپر نینتندو - نینتندو ۶۴ به همراه کنسولهای قدیمی سایر شرکتها شامل سگا مستر سیستم و سگا مگا درایو از شرکت سگا. توربوگرافاکس-۱۶/پیسیانجین از شرکت انایسی به همراه کنسول نیو جیو از شرکت اسانکی و کمودور ۶۴ وهمچنین بازیهای انتخابی از دستگاههای آرکاد میباشد. بازیهای کنسول مجازی توسط اینترنت پرسرعت قابل دانلود بر روی حافظه داخلی و یا کارت SD می باشند که پس از دانلود از منوی وی یا منوی SD قابل اجرا میباشند.
سرویس ویویر سرویسی مشابه با کنسول مجازی بوده و برای بازیهایی است که فقط به صورت آنلاین منتشر میشوند و مشابه با سرویسهای ایکسباکس لایو آرکاد و پلی استیشن استور میباشد.
دستههای بازی
دستههای وی از تکنولوژی حس گر حرکات بهره مندند که به وسیلهٔ آن قطعه الکترونیکی حرکت را حس میکند. مثلاً میتوان دسته را مانند چوب بیسبال در دست گرفت و مانند ضربه زدن به توپ از آن استفاده کرد. قطعه با استفاده از سرعت و زاویه حرکت اطلاعات مشابه را در کنسول ثبت میکند و توپ فرضی به جایی میرود که اگر دسته، چوب بیسبال بود به طور واقعی میرفت. این مساله باعث برتری شدید نسبت به رقیبان شد و باعث شد فروش «وی» این چنین بالا برود وگرنه به علت سختافزار ضعیف نسبت به رقیبان نباید اصلاً در رده نسل هفتم کنسولها قرار بگیرد. نتایج نشان داده است که این ورزشها موجب لاغری و تناسب مطلوب بدن هم میشوند.
مشخصات درونی
سیپییو «وی» فقط ۷۲۹ مگاهرتز است که در مقابل پلی استیشن ۳ که دارای هفت SPEکه فرکانس هر کدام از آنها ۳.۲ گیگاهرتز است، ضعیفتر میباشدو بازیهای وی از گرافیک پایین تری برخوردارند. جیپییو «وی» هم ساخت شرکت ایتیآی است.
مصرف برق
«وی» یک یازدهم دو رقیب خود، ایکس باکس ۳۶۰ و پلی استیشن ۳، برق مصرف میکند.
قیمت
قیمت رسمی آن هم اکنون149.99 دلار است.
ایکسباکس
اکسباکس (به انگلیسی: Xbox) کنسولی از ششمین نسل کنسولهای بازی ویدئویی است که توسط شرکت مایکروسافت عرضه شد. این اولین حملهٔ مایکروسافت به بازار بازیهای رایانهای بود که با کنسولهای پلی استیشن ۲، نینتندو گیمکیوب و دریمکست به رقابت پرداخت. سرویس اکسباکس لایو به بازیبازها اجازه رقابت به صورت آنلاین را میداد. این کنسول در روز ۱۵ نوامبر ۲۰۰۱ در آمریکای شمالی؛ ۲۲ فوریه ۲۰۰۲ در ژاپن و در ۱۴ مارس ۲۰۰۲ در اروپا و استرالیا عرضه گشت و بعد از آن اکسباکس ۳۶۰ مایکروسافت وارد بازارها شد. اکسباکس اولین جسارت سازندهاش در میدان نبرد کنسولها بود. عناوین قابل ذکری که برای این کنسول منتشر شدند شامل: Halo: Combat Evolved ، Amped ، Project Gotham Racing , Oddworld و Ninja Gaiden
ایکسباکس لایو
اکسباکس لایو (به انگلیسی: Xbox Live) یک خدمت بازی چند نفرهٔ برخط و تحویل رسانههای دیجیتال است که توسط شرکت مایکروسافت ابداع شده و بهرهبرداری میشود. اکسباکس لایو هم اکنون تنها خدمت بازی برخط (روی کنسول بازی دستی) است که از کاربرانش وجهی را در قبال بازی کردن دریافت میکند. اکسباکس لایو اولین بار برای دستگاه اکسباکس در سال ۲۰۰۲ میلادی عرضه شد. نگارش به روز شدهای از این خدمت نیز در سال ۲۰۰۵ همزمان با دستگاه اکسباکس ۳۶۰ ارائه شد. برای بازیهای تحت ویندوز، این خدمت نام گیمز فور ویندوز - لایو (بازیهای ویندوز - لایو) را با خود دارد که بیشتر امکانات این خدمت را روی رایانههای تحت ویندوز ارائه میدهد. مایکروسافت اعلام کرده که به عنوان بخشی از ابتکار لایو همه جا، لایو را روی دستگاههای دیگری همچون تلفن همراه نیز گسترش میدهد.
تاریخچه
هنگامی که مایکروسافت دستگاه اکسباکس اولیه را ساخت، بازیهای برخط به عنوان یکی از اصول راهبردی اکسباکس به شمار میرفت. سگا در سال ۱۹۹۹ تلاش کرده بود تا روی روند رو به رشد بازیهای برخط، با ساخت دستگاه دریمکست سرمایهگذاری کند. اما از آنجایی که اینترنت پر سرعت هنوز رایج و در دسترس نبود، دریمکست با یک مودم آنالوگ عرضه شد که توفیق چندانی در بر نداشت.
مایکروسافت اما با وجود شکست دریمکست به پیروزی خدمات برخط امیدوار بود. این شرکت عقیده داشت برای پیروزی در بازیهای برخط بایستی به خطوط اینترنت پر سرعت و دیسک سخت داخلی برای ضبط اطلاعات توجه کرد و این امکانات را در دستگاه جدید گنجاند. این نه تنها این امکان را میدهد که امکانات جدید، مانند مراحل جدید، نقشهها، تفنگها و شخصیتهای جدیدی وارد بازی شوند، بلکه به لطف ارتباط اینترنت پرسرعت، امکاناتی نظیر ارتباط صوتی و تصویری نیز فراهم میشود. استیو بالمر و بیل گیتس هر دو عقیده داشتند که محتوای چشمگیر قابل بارگیری میتواند در جذب مشتریان جدید مؤثر باشد. با این استدلال، دستگاه بازی با یک درگاه اترنت (۱۰/۱۰۰) همراه شد تا ارتباط با شبکههای پهن باند را فراهم کند. البته دستگاه بازی تنها برای کاربران این نوع شبکهها طراحی شده بود و مودم و ارتباط آنالوگ را پشتیبانی نمیکرد.
هنگامی که اکسباکس در ۱۵ نوامبر ۲۰۰۱ عرضه شد، قرار بود اکسباکس لایو که هنوز نامی نداشت، در تابستان ۲۰۰۲ شروع به کار کند. اکسباکس لایو بالاخره در نمایشگاه ای۳ ۲۰۰۲، زمانی که به طور کامل عرضه شد صاحب نام فعلی خود شد.
بازارچهٔ اکسباکس
این بازارچه اینترنتی محصولاتی مانند بازیهای آرکید،بازیهای Indie،بازیهای ارجینال اکسباکس،بازیهای تریال و دمو،DLC بازی ها(مانند نقشهٔ اضافی برای بازیهایی مانند COD،ماشینهای اضافی برای بازیهایی مانند GTA و Mafia 2،بستههای اهنگ برای بازیهای مانند Dance Central)،تریلر بازی ها،گیمر پیکچر و تم، برنامههای تلویزیون،موزیک ویدیو،و میتوان در آن فیلم اجاره کرد و غیره.
در ۱۷ نوامبر ۲۰۰۹،مایکروسافت App جدیدی را عرضه کرد که اسم آن Zune است. با استفاده از این App میتوانیم با 100 microsoft point فیلم اجاره کنیم و نیازی به اکانت گلد هم ندارد
بازارچه ویدیو در ۶ نوامبر ۲۰۰۶ مایکروسافت چیزی به نام بازارچه ویدیو را راه اندازی کرد که بتوان با آن شبکههایی مانند Syfy,ESPN,MSNBC,Sky go و غیره را با اکسباکس و با کیفیت HD دیدو appهایی مانند نت فلیکس و هولو پلاس را بیرون داد تا با ان بتوان فیلم هاو قسمتهایی که از سریالهای مختلف از دست دادهایم را با کیفیت HD دید. و این قابلیت اول در آمریکا در۲۲ نوامبر ۲۰۰۶ به بیرون آمد.
کنسول بازی دستی
کنسول بازی دستی یک ماشین الکترونیکی قابل حمل سبک برای اجرای بازیهای ویدئویی میباشد.
2:24 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 در برنامههای تعبیه شده و سیستمهای عامل؛ و بقیه برنامهها معمولاً برای نوشتن انواع دیگر برنامهها کاربرد دارند. روشهای مختلفی برای سنجش محبوبیت زبانها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شدهاست:
شمارش تعداد تبلیغات شغلی که از آن زبان نام میبرند.
تعداد کتابهای آموزشی و شرح دهندهٔ آن زبان که فروش رفتهاست.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبانهایی را که در جستجوها کمتر پیدا میشوند دست کم گرفته شوند.
شمارش ارجاعهای زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.
طبقه بندیها هیچ برنامه غالبی برای دسته بندی زبانهای برنامه نویسی وجود ندارد. یک زبان مشخص معمولاً یک زبان اجدادی ندارد. زبانها معمولاً با ترکیب المانهای چند زبان پیشینه بوجود میآیند که هربار ایدههای جدید درگردشند. ایدههایی که در یک زبان ایجاد میشوند در یک خانواده از زبانهای مرتبط پخش میشوند، و سپس از بین خلاهای بین خانوادهها منتقل شده و در خانوادههای دیگر ظاهر میشوند.
این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر میکند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق میکند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.
در نگاه کلی، زبانهای برنامه نویسی به مثالهای برنامه نویسی و یک دسته بندی بر اساس محدوده استفاده تقسیم میشوند. مثالها شامل برنامه نویسی رویهای، برنامه نویسی شیءگرا، برنامه نویسی کاربردی، وبرنامه نویسی منطقی؛ برخی زبانها ترکیب چند مثالند. یک زبان اسمبلی مثالی از یک مدل مستقیم متضمن معماری ماشین نیست. با توجه به هدف، زبانهای برنامه نویسی ممکن است همه منظوره باشند، زبانهای برنامه نویسی سیستمی، زبانهای اسکریپتی، زبانهای محدوده مشخص، زبانهای همزمان/ گسترده(و یا ترکیب اینها). برخی زبانهای همه منظوره تا حد زیادی برای اهداف آموزشی طراحی شدهاند.
یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثالهای برنامه نویسی دسته بندی شود. برای مثال، غالب زبانهای برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده میکنند، در حالیکه تعداد کمی این کار را نمیکنند. سایر زبانها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف دادهها، و عملیات یا تبدیلهایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم میکند. یک برنامه نویس از انتزاعات آماده در زبان استفاده میکند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از سادهترین عناصر موجود بیان میشوند(مفاهیم ابتدایی نامیده میشوند).

زبانهای برنامه نویسی با غالب زبانهای انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبانهای طبیعی برای ارتباط با دیگر انسانها، نویسندگان و گویندگان میتوانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانهها "دقیقاً آنچه که به آنها گفته شده را انجام میدهند." و نمیتوانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بودهاست] البته امروزه برنامههایی برای انجام این کار تولید شدهاند و تلاشهای بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص میکند. برنامههای یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامهها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامهای استفاده میشود، زبان اسکریپت میگویند. بسیاری از زبانها کنار گذاشته شدهاند، برای رفع نیازهای جدید جایگزین شدهاند، با برنامههای دیگر ترکیب شدهاند و در نهایت استعمال آنها متوقف شدهاست. با وجود اینکه تلاشهایی برای طراحی یک زبان رایانه" کامل" شدهاست که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبانهای رایانهای گسترده از گستردگی زمینههایی که زبانها استفاده میشوند، ناشی میشود:
محدوده برنامهها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستمهای بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویسها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفهایهایی که با پیچیدگی قابل توجهی کنار میآیند.
برنامهها باید سرعت، اندازه و سادگی را بسته به سیستمها از ریزپردازندها تا ابر رایانهها متناسب نگه دارند.
برنامهها ممکن است یک بار نوشته شوند و تا نسلها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویسها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.
یک سیر رایج در گسترش زبانهای برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبانهای برنامه نویسی اولیه به سختافزار رایانه گره خورده بودند. همانطور که زبانهای برنامه نویسی جدید گسترش پیدا کردهاند، ویژگیهایی به برنامهها افزوده شده که به برنامه نویس اجازه دهد که ایدههایی که از ترجمه ساده به دستورات سختافزار دورتر هستند نیز استفاده کند. چون برنامه نویسها کمتر به پیچیدگی رایانه محدود شدهاند، برنامههای آنها میتواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را میدهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازندههای زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبانهای اختصاصی برنامه نویسی پیشنهاد شدهاند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط 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 در برنامههای تعبیه شده و سیستمهای عامل؛ و بقیه برنامهها معمولاً برای نوشتن انواع دیگر برنامهها کاربرد دارند. روشهای مختلفی برای سنجش محبوبیت زبانها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شدهاست:
شمارش تعداد تبلیغات شغلی که از آن زبان نام میبرند.
تعداد کتابهای آموزشی و شرح دهندهٔ آن زبان که فروش رفتهاست.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبانهایی را که در جستجوها کمتر پیدا میشوند دست کم گرفته شوند.
شمارش ارجاعهای زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.
طبقه بندیها هیچ برنامه غالبی برای دسته بندی زبانهای برنامه نویسی وجود ندارد. یک زبان مشخص معمولاً یک زبان اجدادی ندارد. زبانها معمولاً با ترکیب المانهای چند زبان پیشینه بوجود میآیند که هربار ایدههای جدید درگردشند. ایدههایی که در یک زبان ایجاد میشوند در یک خانواده از زبانهای مرتبط پخش میشوند، و سپس از بین خلاهای بین خانوادهها منتقل شده و در خانوادههای دیگر ظاهر میشوند.
این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر میکند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق میکند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.
در نگاه کلی، زبانهای برنامه نویسی به مثالهای برنامه نویسی و یک دسته بندی بر اساس محدوده استفاده تقسیم میشوند. مثالها شامل برنامه نویسی رویهای، برنامه نویسی شیءگرا، برنامه نویسی کاربردی، وبرنامه نویسی منطقی؛ برخی زبانها ترکیب چند مثالند. یک زبان اسمبلی مثالی از یک مدل مستقیم متضمن معماری ماشین نیست. با توجه به هدف، زبانهای برنامه نویسی ممکن است همه منظوره باشند، زبانهای برنامه نویسی سیستمی، زبانهای اسکریپتی، زبانهای محدوده مشخص، زبانهای همزمان/ گسترده(و یا ترکیب اینها). برخی زبانهای همه منظوره تا حد زیادی برای اهداف آموزشی طراحی شدهاند.
یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثالهای برنامه نویسی دسته بندی شود. برای مثال، غالب زبانهای برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده میکنند، در حالیکه تعداد کمی این کار را نمیکنند. سایر زبانها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
ساعت : 2:24 pm | نویسنده : admin
|
طراحی وب امیر |
مطلب قبلی