مطالعات راسانه ای
مطالعات رسانه‌ای

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





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

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




رشته دانشگاهی

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

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

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

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

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



رایانه
رایانه یا کامپیوتر (به انگلیسی: computer) ماشینی است که از آن برای پردازش اطلاعات استفاده می‌شود.



نام

در زبان انگلیسی «کامپیوتر» به دستگاه خودکاری می‌گفتند که محاسبات ریاضی را انجام می‌داد. بر پایهٔ «واژه‌نامه ریشه‌یابی Barnhart Concise» واژهٔ کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه می‌کند» بوده‌است و سپس از سال ۱۸۹۷ به ماشین‌های محاسبه مکانیکی گفته می‌شد. در هنگام جنگ جهانی دوم «کامپیوتر» به زنان نظامی انگلیسی و آمریکایی که کارشان محاسبه مسیرهای شلیک توپ‌های بزرگ جنگی به وسیله ابزار مشابهی بود، اشاره می‌کرد.

البته در اوایل دهه ۵۰ میلادی هنوز اصطلاح ماشین حساب (computing machines) برای معرفی این ماشین‌ها به‌کار می‌رفت. پس از آن عبارت کوتاه‌تر کامپیوتر (computer) به‌جای آن به‌کار گرفته شد. ورود این ماشین به ایران در اوائل دهه ۱۳۴۰ بود و در فارسی از آن زمان به آن «کامپیوتر» می‌گفتند. واژه رایانه در دو دهه اخیر در فارسی رایج شده است.

برابر این واژه در زبان‌های دیگر حتماً همان واژه زبان انگلیسی نیست. در زبان فرانسوی واژه "ordinateur"، که به معنی «سازمان‌ده» یا «ماشین مرتب‌ساز» است، به‌کار می‌رود. در اسپانیایی "ordenador" با معنایی مشابه استفاده می‌شود، همچنین در دیگر کشورهای اسپانیایی زبان computadora بصورت انگلیسی‌مآبانه‌ای ادا می‌شود. در پرتغالی واژه computador به‌کار می‌رود که از واژه computar گرفته شده و به معنای «محاسبه کردن» می‌باشد. در ایتالیایی واژه "calcolatore" که معنای ماشین حساب بکار می‌رود که بیشتر روی ویژگی حسابگری منطقی آن تاکید دارد. در سوئدی رایانه "dator" خوانده می‌شود که از "data" (داده‌ها) برگرفته شده‌است. به فنلاندی "tietokone" خوانده می‌شود که به معنی «ماشین اطلاعات» می‌باشد. اما در زبان ایسلندی توصیف شاعرانه‌تری بکار می‌رود، «tölva» که واژه‌ایست مرکب و به معنای «زن پیشگوی شمارشگر» می‌باشد. در چینی رایانه «dian nao» یا «مغز برقی» خوانده می‌شود. در انگلیسی واژه‌ها و تعابیر گوناگونی استفاده می‌شود، به‌عنوان مثال دستگاه داده‌پرداز («data processing machine»).




معنای واژهٔ فارسی رایانه

واژهٔ رایانه از مصدر رایانیدن ساخته شده که در فارسی میانه به شکلِ rāyēnīdan و به معنای «سنجیدن، سبک و سنگین کردن، مقایسه کردن» یا «مرتّب کردن، نظم بخشیدن و سامان دادن» بوده‌است. این مصدر در زبان فارسی میانه یا همان پهلوی کاربرد فراوانی داشته و مشتق‌های زیادی نیز از آن گرفته شده بوده. برایِ مصدر رایانیدن/ رایاندن در فرهنگ واژهً دهخدا چنین آمده:




رایاندن
[ دَ ] (مص) رهنمائی نمودن به بیرون. هدایت کردن. (ناظم الاطباء).

شکلِ فارسی میانهٔ این واژه rāyēnīdan بوده و اگر می‌خواسته به فارسی نو برسد به شکل رایانیدن/ رایاندن درمی‌آمده. (بسنجید با واژه‌یِ فارسیِ میانه‌یِ āgāhēnīdan که در فارسیِ نو آگاهانیدن/ آگاهاندن شده‌است).

این واژه از ریشه‌یِ فرضیِ ایرانیِ باستانِ –radz* است که به معنایِ «مرتّب کردن» بوده. این ریشه به‌صورتِ –rad به فارسیِ باستان رسیده و به شکلِ rāy در فارسیِ میانه (پهلوی) به‌کار رفته. از این ریشه ستاک‌هایِ حالِ و واژه‌هایِ زیر در فارسیِ میانه و نو به‌کار رفته‌اند:

-ā-rādz-a*یِ ایرانیِ باستان> -ā-rāy ِ فارسی میانه که در واژه‌یِ آرایشِ فارسیِ نو دیده می‌شود.
-pati-rādz-a*یِ ایرانیِ باستان> -pē-rāy ِ فارسی میانه که در واژه‌یِ پیرایشِ فارسیِ نو دیده می‌شود؛ و
-rādz-ta*یِ ایرانیِ باستان> rāst ِ فارسی میانه که در واژه‌یِ راستِ فارسیِ نو دیده می‌شود.

این ریشه‌یِ ایرانی از ریشه‌یِ هندواروپاییِ -reĝ* به معنایِ «مرتّب کردن و نظم دادن» آمده‌است. از این ریشه در

هندی rāj-a به معنیِ «هدایت‌کننده، شاه» (یعنی کسی که نظم می‌دهد)؛
لاتینی rect-us به معنیِ «راست، مستقیم»،
فرانسه di-rect به معنیِ «راست، مستقیم»،
آلمانی richt به معنیِ «راست، مستقیم کردن» و
انگلیسی right به معنیِ «راست، مستقیم، درست»

برجای مانده‌است.

در فارسیِ نو پسوندِ -ـه (= /e/ در فارسی رسمی ایران و /a/ در فارسی رسمی افغانستان و تاجیکستان) را به ستاکِ حالِ فعل‌ها می‌چسبانند تا نامِ ابزارِ آن فعل‌ها به‌دست آید (البته با این فرمول مشتق‌های دیگری نیز ساخته می‌شود، امّا در اینجا تنها نامِ ابزار مدِّ نظر است)؛ برای نمونه از

مالـ- (یعنی ستاکِ حالِ مالیدن) + -ـه، ماله «ابزار مالیدنِ سیمان و گچِ خیس»
گیر- (یعنی ستاکِ حالِ گرفتن) + -ـه، گیره «ابزار گرفتن»
پوشـ- (یعنی ستاکِ حالِ پوشیدن) + -ـه، پوشه «ابزار پوشیدن» (خود را جایِ کاغذهایی بگذارید که پوشه را می‌پوشند!)
رسانـ- (یعنی ستاکِ حالِ رساندن) + -ـه، رسانه «ابزار رساندنِ اطّلاعات و برنامه‌هایِ دیداری و شنیداری»

حاصل می‌گردد.

در فارسیِ نو پسوندِ -ـه (= e- یا همان a-) را به ستاکِ حالِ "رایانیدن" یعنی رایانـ- چسبانده‌اند تا نامِ ابزارِ این فعل ساخته شود؛ یعنی "رایانه" به معنایِ «ابزارِ نظم بخشیدن و سازماندهی (ِ داده‌ها)» است.

سازندگان این واژه به واژه‌یِ فرانسویِ این مفهوم، یعنی ordinateurتوجّه داشته‌اند که در فرانسه از مصدرِ ordre«ترتیب و نظم دادن و سازمان بخشیدن» ساخته شده. به هرحال، معنادهیِ واژه‌یِ رایانه برایِ این دستگاه جامع‌تر و رساتر از کامپیوتر است. یادآور می‌شود که computerبه معنایِ «حسابگر» یا «مقایسه‌گر» است، حال آن‌که کارِ این دستگاه براستی فراتر از "حساب کردن" است.




تاریخچه

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

به تصریح دانشنامه انگلیسی ویکی‌پدیا، بدیع‌الزمان ابوالعز بن اسماعیل بن رزاز جَزَری (درگذشتهٔ ۶۰۲ ق.) یکی از نخستین ماشین‌های اتوماتا را که جد رایانه‌های امروزین است، ساخته بوده‌است. این مهندس مکانیک مسلمان از دیاربکر در شرق آناتولی بوده‌است. رایانه یکی از دو چیز برجسته‌ای است که بشر در سدهٔ بیستم اختراع کرد. دستگاهی که بلز پاسکال در سال ۱۶۴۲ ساخت اولین تلاش در راه ساخت دستگاه‌های محاسب خودکار بود. پاسکال آن دستگاه را که پس از چرتکه دومیت ابزار ساخت بشر بود، برای یاری رساندن به پدرش ساخت. پدر وی حسابدار دولتی بود و با کمک این دستگاه می‌توانست همه اعدادشش رقمی را با هم جمع و تفریق کند.

لایبنیتز ریاضی‌دان آلمانی نیز از نخستین کسانی بود که در راه ساختن یک دستگاه خودکار محاسبه کوشش کرد. او در سال ۱۶۷۱ دستگاهی برای محاسبه ساخت که کامل شدن آن تا ۱۹۶۴ به درازا کشید. همزمان در انگلستان ساموئل مورلند در سال ۱۶۷۳ دستگاهی ساخت که جمع و تفریق و ضرب می‌کرد.

در سدهٔ هجدهم میلادی هم تلاش‌های فراوانی برای ساخت دستگاه‌های محاسب خودکار انجام شد که بیشترشان نافرجام بود. سرانجام در سال ۱۸۷۵ میلادی استیفن بالدوین نخستین دستگاه محاسب را که هر چهار عمل اصلی را انجام می‌داد، به نام خود ثبت کرد.

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

کارهای بابیچ به فراموشی سپرده شد تا این که در سال ۱۹۴۳ و در بحبوحه جنگ جهانی دوم دولت آمریکا طرحی سری برای ساخت دستگاهی را آغاز کرد که بتواند مکالمات رمزنگاری‌شدهٔ آلمانی‌ها را رمزبرداری کند. این مسئولیت را شرکت آی‌بی‌ام و دانشگاه هاروارد به عهده گرفتند که سرانجام به ساخت دستگاهی به نام ASCC در سال ۱۹۴۴ انجامید. این دستگاه پنج تنی که ۱۵ متر درازا و ۲٫۵ متر بلندی داشت، می‌توانست تا ۷۲ عدد ۲۴ رقمی را در خود نگاه دارد و با آن‌ها کار کند. دستگاه با نوارهای سوراخدار برنامه‌ریزی می‌شد و همهٔ بخش‌های آن مکانیکی یا الکترومکانیکی بود.




تعریف داده و اطلاعات

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

اطّلاعات به داده‌های پردازش شده می‌گویند.


رایانه‌ها چگونه کار می‌کنند؟

از زمان رایانه‌های اولیه که در سال ۱۹۴۱ ساخته شده بودند تا کنون فناوری‌های دیجیتالی رشد نموده‌است، معماری فون نوِیمن یک رایانه را به چهار بخش اصلی توصیف می‌کند: واحد محاسبه و منطق (Arithmetic and Logic Unit یا ALU)، واحد کنترل یا حافظه، و ابزارهای ورودی و خروجی (که جمعا I/O نامیده می‌شود). این بخش‌ها توسط اتصالات داخلی سیمی به نام گذرگاه (bus) با یکدیگر در پیوند هستند.




حافظه

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




پردازش

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

البته CPUها به دو دسته کلی RISC و CISC تقسیم بندی می‌شوند. نوع اول پردازش‌گرهای مبتنی بر اعمال ساده هستند و نوع دوم پردازشگرهای مبتنی بر اعمال پیچیده می‌باشند. پردازشگرهای مبتنی بر اعمال پیچیده در واحد محاسبه و منطق خود دارای اعمال و دستوراتی بسیار فراتر از چهار عمل اصلی یا منطقی می‌باشند. تنوع دستورات این دسته از پردازنده‌ها تا حدی است که توضیحات آن‌ها خود می‌تواند یک کتاب با قطر متوسط ایجاد کند. پردازنده‌های مبتنی بر اعمال ساده اعمال بسیار کمی را پوشش می‌دهند و در حقیقت برای برنامه‌نویسی برای این پردازنده‌ها بار نسبتاً سنگینی بر دوش برنامه‌نویس است. این پردازنده‌ها تنها حاوی ۴ عمل اصلی و اعمال منطقی ریاضی و مقایسه‌ای به علاوه چند دستور بی‌اهمیت دیگر می‌باشند. هرچند ذکر این نکته ضروری است که دستورات پیچیده نیز از ترکیب تعدادی دستور ساده تشکیل شده‌اند و برای پیاده‌سازی این دستورات در معماری‌های مختلف از پیاده‌سازی سخت‌افزاری (معماری CISC) و پیاده‌سازی نرم‌افزاری (معماری RISC) استفاده می‌شود.

(قابل ذکر است پردازنده‌های اینتل از نوع پردازنده مبتنی بر اعمال پیچیده می‌باشند.)

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





ورودی/خروجی

بخش ورودی/خروجی (I/O) این امکان را به رایانه می‌دهد تا اطلاعات را از جهان بیرون تهیه و نتایج آن‌ها را به همان جا برگرداند. محدوده فوق العاده وسیعی از دستگاه‌های ورودی/خروجی وجود دارد، از خانواده آشنای صفحه‌کلیدها، نمایشگرها، نَرم‌دیسک گرفته تا دستگاه‌های کمی غریب مانند رایابین‌ها (webcams). (از سایر ورودی/خروجی‌ها می‌توان موشواره mouse، قلم نوری، چاپگرها (printer)، اسکنرها، انواع لوح‌های فشرده(CD, DVD) را نام برد).

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




دستورالعمل‌ها

هر رایانه تنها دارای یک مجموعه کم تعداد از دستورالعمل‌های ساده و تعریف شده می‌باشد. از انواع پرکاربردشان می‌توان به دستورالعمل «محتوای خانه ۱۲۳ را در خانه ۴۵۶ کپی کن!»، «محتوای خانه ۶۶۶ را با محتوای خانه ۰۴۲ جمع کن، نتایج را در خانه ۰۱۳ کن!»، «اگر محتوای خانه ۹۹۹ برابر با صفر است، به دستورالعمل واقع در خانه ۳۴۵ رجوع کن!».

دستورالعمل‌ها در داخل رایانه بصورت اعداد مشخص شده‌اند - مثلاً کد دستور العمل (copy instruction) برابر ۰۰۱ می‌تواند باشد. مجموعه معین دستورالعمل‌های تعریف شده که توسط یک رایانه ویژه پشتیبانی می‌شود را زبان ماشین می‌نامند. در واقعیت، اشخاص معمولاً به زبان ماشین دستورالعمل نمی‌نویسند بلکه بیشتر به نوعی از انواع سطح بالای زبان‌های برنامه‌نویسی، برنامه‌نویسی می‌کنند تا سپس توسط برنامه ویژه‌ای (تفسیرگرها (interpreters) یا همگردان‌ها (compilers) به دستورالعمل ویژه ماشین تبدیل گردد. برخی زبان‌های برنامه‌نویسی از نوع بسیار شبیه و نزدیک به زبان ماشین که اسمبلر (یک زبان سطح پایین) نامیده می‌شود، استفاده می‌کنند؛ همچنین زبان‌های سطح بالای دیگری نیز مانند پرولوگ نیز از یک زبان انتزاعی و چکیده که با زبان ماشین تفاوت دارد بجای دستورالعمل‌های ویژه ماشین استفاده می‌کنند.




معماری‌ها

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

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

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




برنامه‌ها

برنامه رایانه‌ای فهرست‌های بزرگی از دستورالعمل‌ها (احتمالاً به همراه جدول‌هائی از داده) برای اجرا روی رایانه هستند. خیلی از رایانه‌ها حاوی میلیون‌ها دستورالعمل هستند، و بسیاری از این دستورها به تکرار اجرا می‌شوند. یک رایانه شخصی نوین نوعی (درسال ۲۰۰۳) می‌تواند در ثانیه میان ۲ تا ۳ میلیارد دستورالعمل را پیاده نماید. رایانه‌ها این مقدار محاسبه را صرف انجام دستورالعمل‌های پیچیده نمی‌کنند. بیشتر میلیون‌ها دستورالعمل ساده را که توسط اشخاص باهوشی «برنامه نویسان» در کنار یکدیگر چیده شده‌اند را اجرا می‌کنند. برنامه‌نویسان خوب مجموعه‌هایی از دستورالعمل‌ها را توسعه می‌دهند تا یکسری از وظایف عمومی را انجام دهند (برای نمونه، رسم یک نقطه روی صفحه) و سپس آن مجموعه دستورالعمل‌ها را برای دیگر برنامه‌نویسان در دسترس قرار می‌دهند. (اگر مایلید «یک برنامه‌نویس خوب» باشید به این مطلب مراجعه نمایید.)

رایانه‌های امروزه، قادرند چندین برنامه را در آن واحد اجرا نمایند. از این قابلیت به عنوان چندکارگی (multitasking) نام برده می‌شود. در واقع، CPU یک رشته دستورالعمل‌ها را از یک برنامه اجرا می‌کند، سپس پس از یک مقطع ویژه زمانی دستورالعمل‌هایی از یک برنامه دیگر را اجرا می‌کند. این فاصله زمانی اکثرا به‌عنوان یک برش زمانی (time slice) نام برده می‌شود. این ویژگی که CPU زمان اجرا را بین برنامه‌ها تقسیم می‌کند، این توهم را بوجود می‌آورد که رایانه هم‌زمان مشغول اجرای چند برنامه‌است. این شبیه به چگونگی نمایش فریم‌های یک فیلم است، که فریم‌ها با سرعت بالا در حال حرکت هستند و به نظر می‌رسد که صفحه ثابتی تصاویر را نمایش می‌دهد. سیستم‌عامل همان برنامه‌ای است که این اشتراک زمانی را بین برنامه‌های دیگر تعیین می‌کند.




سیستم‌عامل

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




کاربردهای رایانه

نخستین رایانه‌های رقمی، با قیمت‌های زیاد و حجم بزرگشان، در اصل محاسبات علمی را انجام می‌دادند، انیاک یک رایانهٔ قدیمی ایالات متحده اصولاً طراحی شده تا محاسبات پرتابه‌ای توپخانه و محاسبات مربوط به جدول چگالی نوترونی را انجام دهد. (این محاسبات بین دسامبر ۱۹۴۱ تا ژانویه ۱۹۴۶ روی حجمی بالغ بر یک میلیون کارت پانچ انجام پذیرفت! که این خود طراحی و سپس تصمیم نادرست بکارگرفته شده را نشان می‌دهد) بسیاری از ابررایانه‌های امروزی صرفاً برای کارهای ویژهٔ محاسبات جنگ‌افزار هسته‌ای استفاده می‌گردد.

CSIR Mk I نیز که نخستین رایانه استرالیایی بود برای ارزیابی میزان بارندگی در کوه‌های اسنوئی (Snowy)این کشور بکاررفت، این محاسبات در چارچوب یک پروژه عظیم تولید برقابی انجام گرفت.

برخی رایانه‌ها نیز برای انجام رمزگشایی بکارگرفته می‌شد، برای مثال Colossus که در جریان جنگ جهانی دوم ساخته شد، جزو اولین کامپیوترهای برنامه‌پذیر بود (البته ماشین تورینگ کامل نبود). هرچند رایانه‌های بعدی می‌توانستند برنامه‌ریزی شوند تا شطرنج بازی کنند یا تصویر نمایش دهند و سایر کاربردها را نشان دهد.

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

کاهش پیوسته قیمت‌های رایانه باعث شد تا سازمان‌های کوچک‌تر نیز بتوانند آن‌ها را در اختیار بگیرند. بازرگانان، سازمان‌ها، و سیاست‌مداران اغلب تعداد زیادی از کامپیوترهای کوچک را برای تکمیل وظایفی که قبلا برای تکمیلشان نیاز به رایانه بزرگ (mainframe) گران‌قیمت و بزرگ بود، به کار بگیرند. مجموعه‌هایی از رایانه‌های کوچک‌تر در یک محل اغلب به‌عنوان خادم سر (server farm) نام برده می‌شود.

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

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

نیز تنها ۴۹۵ دلار قیمت داشت! قیمت آن کامپیوتر نیز ۳٬۰۰۵ دلار بود و IBM در آن زمان توانست ۶۷۱٬۵۳۷ دستگاه از آن را بفروشد.




انواع رایانه

رایانه‌های توکار (جاسازی شده)

رایانه‌هایی هم وجود دارند که تنها برای کاربردهایی ویژه طراحی می‌شوند. در ۲۰ سال گذشته، هرچند برخی ابزارهای خانگی که از نمونه‌های قابل ذکر آن می‌توان جعبه‌های بازی‌های ویدئویی را که بعدها در دستگاه‌های دیگری از جمله تلفن همراه، دوربین‌های ضبط ویدئویی، و PDAها و ده‌ها هزار وسیله خانگی، صنعتی، خودروسازی و تمام ابزاری که در درون آن‌ها مدارهایی که نیازهای ماشین تورینگ را مهیا ساخته‌اند، گسترش یافت، را نام برد (اغلب این لوازم برنامه‌هایی را در خود دارند که بصورت ثابت روی ROM تراشه‌هایی که برای تغییر نیاز به تعویض دارند، نگاشته شده‌اند). این رایانه‌ها که در درون ابزارهای با کاربرد ویژه گنجانیده شده‌اند «ریزکنترل‌گرها» یا رایانه‌های توکار" (Embedded Computers) نامیده می‌شوند. بنا بر این تعریف این رایانه‌ها به عنوان ابزاری که با هدف پردازش اطّلاعات طراحی گردیده محدودیت‌هایی دارد. بیش‌تر می‌توان آن‌ها را به ماشین‌هایی تشبیه کرد که در یک مجموعه بزرگ‌تر به عنوان یک بخش حضور دارند مانند دستگاه‌های تلفن، ماکروفرها و یا هواپیما که این رایانه‌ها بدون تغییری فیزیکی به دست کاربر می‌توانند برای هدف‌های گونه‌گونی به کارگرفته شوند.




رایانه‌های شخصی

اشخاصی که با انواع دیگری از رایانه‌ها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی استفاده می‌کنند که رایانه شخصی (PC) نامیده می‌شوند. رایانه‌ای است که از اجزای الکترونیکی میکرو (ریز) تشکیل شده که جزو کوچک‌ترین و ارزان‌ترین رایانه‌ها به شمار می‌روند و کاربردهای خانگی و اداری دارند. شرکت آی‌بی‌ام رایانه شخصی را در سال ۱۹۸۱ میلادی به جهان معرفی کرد.

نخستین رایانه‌ آی‌بی‌ام از برخی از ماشین حساب‌های امروزی نیز ضعیف‌تر است ولی در آن زمان شگفت انگیز بود. رایانه شخصی سی سال پیش دارای حافظه ROM با ظرفیت 40K و حافظه RAM با ظرفیت 64K بود. البته کاربر می‌توانست حافظه RAM را تا 256K افزایش دهد. قیمت هر ماژول 64K حافظه والانیوز




سرمایه‌گذاری

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





علوم رایانه

علوم رایانه یا علوم کامپیوتر (به انگلیسی: Computer Science) به مجموعهٔ فنون و رشته‌هایی گفته می‌شود که به زیربناهای نظری، روش‌های طرّاحی و ساخت و چگونگی استفاده از رایانه می‌پردازند. بنا به نظر پیتر جی. دنینگ، پرسش اساسی در علوم رایانه این است که: " چه چیزی می‌تواند (به نحوی کارآمد) خودکار انجام شود؟ "

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




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




پیشرفت‌های بزرگ

با وجود عمر کم این شاخه از علوم، به عنوان یک رشتهٔ دانشگاهی، علم رایانه کمک‌های اساسی به دانش و اجتماع نموده‌است که شامل موارد زیر است:




کاربردها در علم رایانه

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



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

موجب بوجود آمدن انقلاب دیجیتال شد که به عصر اطلاعات فعلی منجر شد.
در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متّفقین در جنگ جهانی دوم شد.
محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت. پروژه‌های محاسبات توزیعی مانند Folding@home، امکان بررسی پروتئین‌ها را فراهم ساخت.




بخش‌هایی از علم رایانه

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

هیأت اعتبارگذاری علم رایانه(The Computer Sciences Accreditation Board) - متشکل از انجمن محاسبات ماشینی (ACM)، جامعه علوم کامپیوتر مؤسسه مهندسین برق و الکترونیک و انجمن سیستم‌های اطلاعاتی - چهار عرصه خطیر برای علم رایانه معرفی کرده‌است: نظریه محاسبات، الگوریتمها و ساختمان داده، زبان‌های برنامه سازی و معماری رایانه. علاوه بر این‌ها، این هیأت، موضوعاتی نظیر مهندسی نرم‌افزار، هوش مصنوعی، شبکه‌های کامپیوتری، سیستم‌های پایگاه داده، پردازش موازی، ارتباط انسان و کامپیوتر، گرافیک کامپیوتری، سیستم‌های عامل و محاسبات عددی را نیز موضوعاتی مهم در این علم قلمداد کرده‌ است.




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




نظریه محاسبات

نظریه محاسبات سعی دارد به این پرسش‌ها پاسخ دهد که اساساً چه چیزی می‌تواند محاسبه شود و محاسبهٔ آن چقدر توان و منابع نیاز دارد. در تلاشی برای پاسخ گویی به پرسش اول، نظریه محاسبه‌پذیری (computability theory) بررسی می‌کند که چه مسائلی قابل حل هستند (از طریق نظریات مدل‌های پردازش ). پاسخ دومین پرسش به نظریه پیچیدگی محاسباتی مرتبط می‌شود. این نظریه به زمان و فضای مورد نیاز برای رسیدن به پاسخ مطلوب در روشهای مختلف پاسخگویی، می‌پرازد.

مسئله مشهور "P=NP?" یکی مسائل حل نشده نظریه محاسبات است.




الگوریتم‌ها و ساختمان‌های داده
ارتباط با سایر رشته‌ها

علی‌رغم نام آن علم رایانه بیشتر در زمینه‌هایی غیر از علم رایانه به بررسی می‌پردازد. بدین دلیل نام‌های جایگزین دیگری برای آن پیشنهاد شده‌است. دانشمند دانمارکی پیتر ناور عبارت داده‌شناسی (Datalogy) را پیشنهاد نمود تا این حقیقت را که این رشته علمی بیشتر به داده‌ها و پردازش آن‌ها توجه دارد نه لزوما رایانه‌ها، روشن سازد. اولین موسسهٔ علمی که عبارت داده‌شناسی را بکار برد DIKU گروه داده‌شناسی در دانشگاه کپنهاگ بوده‌است که توسط پیتر ناور در سال ۱۹۶۹ به عنوان اولین گروه داده‌شناسی بنا گذاشته شد. این عبارت بیشتر در کشور اسکاندیناوی مورد استفاده قرار گرفته‌است. در اولین روزهای این علم در ارتباطات ACM نام‌های دیگری نیز برای دانشمندان این زمینه پیشنهاد شده بود مانند Turingineer و Turologist و Flowcharts-Man و Applied-Metamathematition و Applied Epistomologist. سه ماه بعد در این مجله عبارت Comptologist پیشنهاد شد و سال بعد عبارت Hypologist. اخیرا عبارت Computics نیز پیشنهاد شده‌است.

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




آموزش علوم رایانه در ایران

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




مرجع
مرجع در علوم گوناگون در معانی مختلف به کار رفته‌است.



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





وب جهان‌گستر

جهان وب٬ وب جهان‌گستر٬ تار گیتی‌گستر٬ یا به طور ساده وب (به انگلیسی: World Wide Web) یک سامانهٔ اطلاعاتی از پرونده‌های ابرمتنی متصل‌به‌هم است که از طریق شبکهٔ جهانی اینترنت قابل دسترسی هستند. به‌کمک یک مرورگر وب می‌توان صفحات وب (که شامل متن، تصویر، ویدیو و سایر محتویات چندرسانه‌ای هستند) را مشاهده و به‌کمک ابرپیوندها در میان آن‌ها حرکت‌کرد.

تیم برنرز لی، یک پژوهشگر علوم رایانه و کارمند موسسهٔ سرن در نزدیکی ژنو، در ماه مارچ سال ۱۹۸۹ میلادی پیشنهاد اولیهٔ وب امروزی را مطرح کرد. پیشنهاد ارائه‌شده در ۱۹۸۹ قرار بود که یک سیستم ارتباطی برای موسسه سرن شود، اما برنرز لی به‌زودی متوجه‌شد که این ایده قابلیت جهانی‌شدن را دارد. برنرز لی به همراه رابرت کایلیائو در سال ۱۹۹۰ میلادی این پیشنهاد را به‌عنوان «پیوند و دسترسی به اطلاعات مختلف به‌صورت تارنمایی از گره‌هایی که کاربران به دل‌خواه در میان آن‌ها حرکت می‌کنند» ارائه دادند. برنرز لی در ماه دسامبر همان سال اولین وب‌گاه را به‌وجودآورد و در ۷ اوت سال ۱۹۹۱ میلادی آن‌را به‌عنوان یک پروژه بر روی گروه خبری alt.hypertext منتشر کرد.




واژهٔ وب

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

همچنین، وب مخفف کلمه وب‌سایت (website) است. سایت یعنی مکان و منظور از وب‌سایت صفحات مرتبط است. در پارسی واژهٔ تارنما جایگزین وب‌سایت شده است.




تاریخچه

ایده اولیه در مورد تارِ گیتی‌گستر به سال ۱۹۸۰ (میلادی) برمی‌گردد. زمانی که در شهر سرن سوئیس، تیم برنرز لی شبکه ENQUIRE را ساخت (که به "Enquire Within Upon Everqthing CSS" اشاره داشت و همنام کتابی بود که وی از جوانی خود به یاد داشت. اگرچه آنچه وی ساخت با وب امروزی تفاوت‌های زیادی دارد اما ایده اصلی در آن گنجانده شده است (و حتی برخی از این ایده‌ها در پروژه بعدی برنرزلی پس از WWW یعنی وب معنایی به کار گرفته شد).

در مارس 1989، برنرزلی یک پیشنهاد را نوشت که به ENQUIRE اشاره داشت و یک سیستم اطلاعاتی پیشرفته را توصیف می‌کرد. وی با کمک رابرت کایلا، پیشنهاد طراحی تور جهان گستر را در 12 نوامبر 1990 ارائه کرد. اولین مرور وب جهان توسط برنرزلی با عنوانNEXTcube مورد استفاده قرار گرفت و وی اولین مرورگر وب و تور جهان گستر را در سال 1990 طراحی کرد.

در کریسمس 1990، برنرز لی همه ابزارهای لازم برای کار با وب را فراهم کرد

در 6 آگوست 1991 وی خلاصه‌ای از پروژه تور جهان گستر را در گروه خبری alt.hypertext پست کرد. در همین روز وب به عنوان یک خدمات عمومی روی اینترنت ارائه شد. مفهوم مهم ابر متن در پروژه‌های قدیمی‌تر مربوط به دهه 1960 مانند Project Xanadu مربوط به تد نلسون و NLS (سیستم آنلاین) مربوط به داگلاس انگلبارت مطرح شد.

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

تور جهان گستر با بقیه سیستم‌های ابر متنی موجود تفاوت‌هایی داشت:

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

در 30 آوریل سال ۱۹۹۳ (میلادی)، CERN اعلام کرد که تور جهان گستر به صورت رایگان برای همه افراد قابل دسترسی است. این موضوع دو ماه پس از اعلام رایگان نبودن پروتکل گوفر مطرح می‌شد و در نتیجه تمایل به وب به شدت افزایش یافت. قبل از آن مرورگر وب معروفی به نامViolaWWW وجود داشت که بر اساس ابر کارت کار می‌کرد. نسخه گرافیکی تور جهان گستر با نام مرورگر وب موزائیک در سال 1993 توسط مرکز ملی برنامه‌های سوپرکامپیوتر که توسط مارک اندرسن راه اندازی شده بود مورد انتقاد شدید قرار گرفت. قبل از عرضه موزائیک، گرافیک و متن در صفحات وب از یکدیگر جدا بودند و در پروتکل‌های اینترنتی قبلی مانند پروتکل گوفر و مرور اطلاعات ناحیه وسیع گرافیک کاربرد زیادی نداشت. واسط کاربر گرافیکی موزائیک وب را به مشهورترین پروتکل اینترنتی تبدیل کرد.





اجزاء وب

تار گیتی‌گستر ترکیبی از چهار عنصر اصلی است:

hypertext یا بسامتن: فرمتی از اطلاعات که به افراد اجازه می دهد تا در محیط کامپیوتر با استفاده از ارتباط داخلی موجود میان دو متن از بخشی از سند به بخش دیگری از آن یا حتی سند دیگری مراجعه کنند و به اطلاعات جدیدی دسترسی پیدا کند.
URL: شناسه‌های منحصر به فردی که برای مشخص کردن محل حضور اطلاعات موجود روی شبکه (فایل کامپیوتری، سند یا منابع دیگر) به کار می روند.
مدل Client-Server یا مشتری-خدمت‌گزار: سیستمی که در آن نرم‌افزار یا کامپیوتر مشتری از نرم‌افزار یا کامپیوتر خدمت‌گزار تقاضای دریافت منابع اطلاعاتی مانند داده یا فایل می کند.
markup language یازبان علامتگذاری: کاراکترها یا کدهای موجود در متن که ساختار متن وب معنایی را مشخص می کنند.




معماری سیستم وب

کلاً از دیدگاه فنی سیستم وب در دو بخش سازماندهی می شود:

برنامه سمت سرویس دهنده ی وب و برنامه سمت مشتری وب
پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و بطور کل هر منبع

صفحه وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML ، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان مشتری وب انجام می دهد آن است که تقاضای دریافت یکی از صفحات یا فایل ها را در قالب قراردادی استاندارد (به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده ی وب این تقاضا را پردازش کرده و در صورت امکان، فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پپس از دریافت فایل ابرمتنی ، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آن ها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.





وب چگونه عمل می‌کند

برای مشاهده یک صفحه وب یا دیگر منابع اطلاعاتی روی تور جهان گستر معمولاً URL صفحه را در یک مرورگر وب وارد می‌کنیم و یا لینک ابر متن مربوط با آن صفحه یا منبع را انتخاب می‌کنیم. اولین گام که در پشت پرده انجام می‌شود اختصاص یک آدرس IP به بخش سرور URL است که توسط پایگاه داده توزیع شده اینترنت صورت می‌گیرد که به آن DNS می‌گویند.

در مرحله بعد یک درخواست HTTP به مرور وب در آن آدرس IP ارسال می‌شود و درخواست مشاهده صفحه ارائه می‌گردد. در صورتی که یک صفحه معمولی در خواست شده باشد متن HTML، تصاویر گرافیکی یا هر فایل دیگری که مربوط به آن صفحه است در اختیار مشتری (مرورگر وب) قرار می‌گیرد. سپس مرورگر وب صفحه HTML، و دیگر فایل‌های دریافت شده را ترجمه می‌کند. در نهایت "صفحه" مورد نظر مشتری در اختیار وی قرار می‌گیرد.

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

اصطلاح "گشت و گذار در اینترنت" اولین بار توسط جین آرمور پولی که یک کتابدار بود در مقاله یا به نام "Surfing the INTERNET" مطرح شد که ژوئن سال 1992 در "بولتن کتابخانه ویلسن" در دانشگاه مینوستا چاپ شد. اگر چه پولی مستقلاً از این کلمه استفاده کرد اما در یوزنت‌های مربوط به سال‌های 1991 و 1992 این کلمه دیده می‌شود و حتی عده‌ای می‌گویند که این کلمه در مجمع هکرها در دو سال قبل از آن به صورت شفاهی عنوان شده بود. پولی در تاریخ اینترنت به مادر اینترنت معروف است.

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




عملکرد برنامه ی سرویس دهنده و مشتری وب

در سمت سرویس دهنده ی وب، پروسه ای وجود دارد که دائماً به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان می ماند. دقت کنید که برنامه ی سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است. فرامین و داده هایی که بین سرویس دهنده و مرورگر وب مبادله می شوند تماماً متنی هستند.(همانند سیستم پست الکترونیکی) پس از آنکه ،ژ\ بین برنامه ی سویس دهنده و مشتری برقرار شد برنامه ی مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضا ها باید در قالب استاندارد HTTP باشد. سرویس دهنده، یکایک تقاضا ها را دریافت و پردازش و در صورت امکان آن ها را اجرا می کند.





کش (cache)

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

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

همچنین بخش‌های دیگری از اینترنت می‌توانند محتوای وب را کش (مخفی) کنند. یکی از بهترین این اجزاء دیوارهای آتش است که در شرکت‌ها و محیط‌های دانشگاهی کاربرد دارد و منابع وب درخواست شده توسط یک کاربر را برای همه کاربران کش می‌کند. با وجود آن که این قابلیت‌ها در اغلب مرورگرهای وب دیده می‌شود طراحان صفحات وب می‌توانند عناوین HTTP که توسط کاربر درخواست شده را کنترل کنند تا صفحات در مواردی که لازم نیست در کش ذخیره نشوند؛ مثلاً صفحات خبری و بانک‌ها.

بدین ترتیب می‌توانیم بین اعمال "دریافت" و "ارسال" HTTP تفاوت قائل شویم. در صورتی که همه شرایط محقق شود، داده‌هایی که توسط فرمان دریافت (GET) درخواست شده‌اند می‌توانند در کش ذخیره شوند در حالی که داده‌های به دست آمده پس از ارسال (posting) اطلاعات به سرور در کش ذخیره نمی‌شوند.
5:52 pm
جاوا (به انگلیسی: Java) یک زبان برنامه‌نویسی شئ‌گراست که برای اولین بار توسط جیمز گاسلینگ در شرکت سان مایکروسیستمز ایجاد شد و در سال ۱۹۹۵ به عنوان بخشی از سکوی جاوا منتشر شد. زبان جاوا شبیه به ++C است اما مدل شیءگرایی آسان‌تری دارد و از قابلیت‌های سطح پایین کمتری پشتیبانی می‌کند. یکی از قابلیت‌های اصلی جاوا این است که مدیریت حافظه را بطور خودکار انجام می‌دهد. ضریب اطمینان عملکرد برنامه‌های نوشته‌شده به این زبان بالا است و وابسته به سیستم‌عامل خاصی نیست، به عبارت دیگر می‌توان آن را روی هر رایانه با هر نوع سیستم‌عاملی اجرا کرد. برنامه‌های جاوا به صورت کدهای بیتی همگردانی (کامپایل) می‌شوند. که مانند کد ماشین هستند و به ویژه وابسته به سیستم‌عامل خاصی نیستند.

در مقایسه با زبان‌های دیگر، همچون ++C یا بیسیک یا فورترن، جاوا زبان نسبتاً جدیدتری است. شرکت سان مایکروسیستمز (به انگلیسی: Sun Microsystems) در سال ۱۹۹۱ یک پروژه تحقیقاتی به نام گرین (Green) را آغاز کرد. هدف این پروژه ایجاد زبانی جدید شبیه به ++C بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط (Oak) نامید. اما بعدها به دلیل برخی مشکلات حقوقیاز میان لیستی از کلمات تصادفینام آن به جاوا تغییر کرد.





پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال ۱۹۹۳ باعث نمایش توانایی‌های وافر جاوا در این عرصه گشت. اینگونه بود که شرکت سان مایکروسیستمز در مه ۱۹۹۵ جاوا را رسماً به بازار عرضه کرد.

جاوا یک زبان برنامه‌نویسی است که در آغاز توسط شرکت سان مایکروسیستمز ایجاد شده‌است و در سال ۱۹۹۵ به عنوان بخش اصلی سکوی جاوا منتشر شد. این زبان قسمت‌های بسیاری از گرامر خود را از C و ++C گرفته اما دارای مدل شی‌گرایی ساده‌ای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل به صورت بایت کد است که صرف نظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشین‌های شبیه‌سازی جاوا را داشته باشد. اجزای اصلی کامپایلرهای جاوا، ماشین‌های پیاده‌سازی و کتابخانه‌های آن توسط این شرکت از سال ۱۹۹۵ منتشر شد. در مه ۱۹۹۷ این شرکت، نرم‌افزار رایگان این زبان را فراهم کرد. دیگران هم کاربردهای دیگری از این زبان را منتشر کردند مثل کامپایلر GNU برای جاوا.

مرورگرهای اصلی وب، به هم پیوستند تا به طور مطمئن جاوا اپلت را بدون صفحات وب اجرا کنند و به این صورت جاوا خیلی زود معروف و محبوب شد. با پیدایش java2، نسخهٔ جدید توانست ترکیب‌های جدیدی را برای نوع‌های مختلف پلت فرم‌ها ایجاد کند. به عنوان مثال J2EE، باهدف کاربرد برای تشکیلات اقتصادی، و نسخهٔ سکوی جاوا، نسخه میکرو برای تلفن همراه منتشر شد. در سال ۱۹۹۶ با هدف بازاریابی، این شرکت نسخهٔ جدید J2 را با نام‌های سکوی جاوا، نسخه سازمانی، سکوی جاوا، نسخه میکرو و سکوی جاوا، نسخه استاندارد منتشر کرد. در سال ۱۹۹۷ شرکت سان میکروسیستمز، ISO/IEC JTC1 standards body و Ecma International را به فرمول جاوا تغییر داد. شرکت Sun بسیاری از کاربردهای جاوایش را بدون هیچ هزینه‌ای فراهم آورد. شرکت Sun با فروش مجوز برای بعضی از کاربردهای خاصش مثل Java Enterprise System درآمدی را بدست آورد. در ۱۳ نوامبر ۱۹۹۶ شرکت Sun نرم‌افزار جاوا را به صورت رایگان و با مجوز عمومی برای همه منتشر کرد.

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


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

برنامه‌های تحت وب
برنامه‌نویسی سیستم‌های کوچک مانند تلفن همراه، رایانه جیبی و ...
برنامه‌های کاربردی بزرگ (Enterprise)
برنامه‌های رومیزی (Desktop)


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

البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است. اپلت‌ها نظیر فناوری اکتیوایکس شرکت مایکروسافت هستند که برنامه‌نویسان را قادر می‌سازد تا امکاناتی را به مرورگر کاربر بیفزایند. البته تفاوت این دو در امنیت می‌باشد به گونه‌ای که اپلت‌ها بدلیل اینکه در محیطی به نام جعبه شنی (sandbox) اجرا می‌شوند امن هستند ولی اکتیوایکس‌ها فاقد چنین امنیتی هستند.

سیستم‌عامل: هر چقدر زبانهای net. قوی باشند تنها بر روی پلت فرم ویندوز اجرا می‌شوند و برخی ویندوز را سیستم‌عامل غیر قابل اعتمادی در برنامه نویسی Enterprise می‌دانند.

ولی جاوا از این نظر انتخاب خوبی است.
قابلیت حمل: جاوا بر روی سکوهای رایانش گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 cpu برای پردازش.
جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمن‌هایی متشکل از بزرگان صنایع و برنامه‌نویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.
ساعت : 5:52 pm | نویسنده : admin | مطلب بعدی
جاوا | next page | next page