پیشرفتهای بزرگ
پیشرفتهای بزرگ
|
|
در متن این بخش از هیچ نام برده نشدهاست. شما میتوانید با افزودن منابع برطبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
با وجود عمر کم این شاخه از علوم، به عنوان یک رشتهٔ دانشگاهی، علم رایانه کمکهای اساسی به دانش و اجتماع نمودهاست که شامل موارد زیر است:
- یک تعریف رسمی برای محاسبات و محاسبه پذیری و اثبات اینکه مسائلی غیر قابل حل و یا حل آنها طاقت فرساست، ارائه داد.
- مفهوم زبان برنامه نویسی، به معنی ابزاری برای بیان دقیق اطلاعات تحلیل پذیر در سطوح مختلف انتزاع، را ارائه داد.
- موجب بوجود آمدن انقلاب دیجیتال شد که به عصر اطلاعات فعلی منجر شد.
- در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متفقین در جنگ جهانی دوم شد.
- محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت. پروژههای محاسبات توزیعی مانند Folding@home، امکان بررسی پروتئینها را فراهم ساخت.
زبانهای برنامه سازی
ارتباط با سایر رشتهها
|
|
در متن این بخش از هیچ نام برده نشدهاست. شما میتوانید با افزودن منابع برطبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
علیرغم نام آن علم رایانه بیشتر در زمینههایی غیر از علم رایانه به بررسی میپردازد. بدین دلیل نامهای جایگزین دیگری برای آن پیشنهاد شدهاست. دانشمند دانمارکی پیتر ناور عبارت دادهشناسی (Datalogy) را پیشنهاد نمود تا این حقیقت را که این رشته علمی بیشتر به دادهها و پردازش آنها توجه دارد نه لزوما رایانهها، روشن سازد. اولین موسسهٔ علمی که عبارت دادهشناسی را بکار برد DIKU گروه دادهشناسی در دانشگاه کپنهاگ بودهاست که توسط پیتر ناور در سال ۱۹۶۹ به عنوان اولین گروه دادهشناسی بنا گذاشته شد. این عبارت بیشتر در کشور اسکاندیناوی مورد استفاده قرار گرفتهاست. در اولین روزهای این علم در ارتباطات ACM نامهای دیگری نیز برای دانشمندان این زمینه پیشنهاد شده بود مانند Turingineer و Turologist و Flowcharts-Man و Applied-Metamathematition و Applied Epistomologist. سه ماه بعد در این مجله عبارت Comptologist پیشنهاد شد و سال بعد عبارت Hypologist . اخیرا عبارت Computics نیز پیشنهاد شدهاست.
در حقیقت عبارت زیر از دانشمند معروف علم رایانه ادگار دایجکسترا نقل قول شدهاست: "علم رایانه به همان اندازه در مورد رایانهاست که نجوم در مورد تلسکوپ." طراحی و بکارگیری رایانه و سیستمهای رایانهای معمولاً در محل بکارگیری رشتههای دیگر است. برای مثال سختافزار رایانه توسط مهندسین رایانه مورد بررسی قرار میگیرد و مطالعهٔ سیستمهای رایانهای تجاری و بکارگیری آنها در رشته فنآوری اطلاعات و سیستمهای اطلاعاتی است. گاهی علوم رایانه را به دلیل این که به اندازه کافی علمی نیست مورد انتقاد قرار میدهند که در این عبارت بیان شدهاست: "دانش به علم رایانه مانند هیدرودینامیک است به لولهکشی". این عبارت توسط استن کلی بوتل و دیگران بیان شدهاست. مطالعات در علم رایانه به سایر رشتهها نیز وارد شدهاست مانند هوش مصنوعی.
معنای واژهٔ فارسی رایانه
واژهٔ از مصدر رایانیدن ساخته شده که در فارسی میانه به شکلِ 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به معنایِ «حسابگر» یا «مقایسه گر» است، حال آنکه کارِ این دستگاه براستی فراتر از "حساب کردن" است.
حافظه
در این سامانه، حافظه بصورت متوالی شماره گذاری شده در خانهها است، هرکدام محتوی بخش کوچکی از دادهها میباشند. دادهها ممکن است دستورالعملهایی باشند که به رایانه میگویند که چه کاری را انجام دهد باشد. خانه ممکن است حاوی اطلاعات مورد نیاز یک دستورالعمل باشد. اندازه هر خانه، وتعداد خانهها، در رایانهٔ مختلف متفاوت است، همچنین فناوریهای بکاررفته برای اجرای حافظه نیز از رایانهای به رایانه دیگر در تغییر است(از بازپخشکنندههای الکترومکانیکی تا تیوپها و فنرهای پر شده از جیوه و یا ماتریسهای ثابت مغناطیسی و در آخر ترانزیستورهای واقعی و مدار مجتمعها با میلیونها فیوز نیمه هادی یا MOSFET هایی با عملکردی شبیه ظرفیت خازنی روی یک تراشه تنها).
معماریها
در رایانههای معاصر واحد محاسبه و منطق را به همراه واحد کنترل در یک مدار مجتمع که واحد پردازشی مرکزی (CPU) نامیده میشود، جمع نمودهاند. عموما، حافظه رایانه روی یک مدار مجتمع کوچک نزدیک CPU قرار گرفته. اکثریت قاطع بخشهای رایانه تشکیل شدهاند از سامانههای فرعی (به عنوان نمونه، منبع تغذیه) و یا دستگاههای ورودی/خروجی.
برخی رایانههای بزرگتر چندین CPU و واحد کنترل دارند که بصورت همزمان با یکدیگر درحال کارند. اینگونه رایانهها بیشتر برای کاربردهای پژوهشی و محاسبات علمی بکار میروند.
کارایی رایانهها بنا به تئوری کاملاً درست است. رایانه دادهها و دستورالعملها را از حافظهاش واکشی (fetch) میکند. دستورالعملها اجرا میشوند، نتایج ذخیره میشوند، دستورالعمل بعدی واکشی میشود. این رویه تا زمانی که رایانه خاموش شود ادامه پیدا میکند. واحد پردازنده مرکزی در رایانههای شخصی امروزی مانند پردازندههای شرکت ای-ام-دی و شرکت اینتل از معماری موسوم به Pipeline استفاده میشود و در زمانی که پردازنده در حال ذخیره نتیجه یک دستور است مرحله اجرای دستور قبلی و مرحله واکشی دستور قبل از آن را آغاز میکند. همچنین این رایانهها از سطوح مختلف حافظه نهانگاهی استفاده میکنند که در زمان دسترسی به حافظه اصلی صرفهجویی کنند.
رایانههای شخصی
اشخاصی که با انواع دیگری از رایانهها ناآشنا هستند از عبارت رایانه برای رجوع به نوع خاصی که رایانه شخصی (PC) نامیده میشوند استفاده میکنند.
زبانهای برنامه نویسی
تعدادی از زبانهای برنامهنویسی به شمار زیر هستند :
- اسمبلی (Assembly)
- لیسپ (LISP)
- بی سی پی ال (BCPL)
- سی (C)
- سیپلاسپلاس (++C)
- سی پلاس پلاس/سی ال آی(C++/CLI)
- پاسکال (Pascal)
- جاوا (Java)
- سیشارپ (#C)
- جی شارپ (#j)
- جی پلاس پلاس (++j)
- بیسیک (Basic)
- پایتون (Python)
- پرل (Perl)
- پیاچپی (PHP)
- ای اس پی (ASP)
- ای اس پی دات نت (ASP.Net)
- Matlab
- وی بی دات نت (VB .Net)
- دلفی (Delphi)
- ویژوال بیسیک (visual basic)
- لینگو (Lingo)
- توسعه دهندههای وب
لیسپ
|
|
این مقاله نیازمند است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. |
لیسپ یک زبان برنامهنویسی رایانه است که در سال ۱۹۵۸ به وسیلهٔ جان مککارتی ابداع شدهاست. این زبان، مانند زبان برنامهنویسی پرولوگ، بیشتر برای برنامهنویسی هوش مصنوعی مورد استفاده قرار میگیرد. با توجه به اینکه زبان لیسپ از نحو سادهای برخوردار است، تجزیه و پیادهسازی آن نسبتاً با سهولت انجام میشود.