سلول خورشیدی
تولید سلول‌های خورشیدی در جهان

بازار جهانی تولید سلول‌های PV با رشد چشمگیری در حال پیشرفت است. این رشد از سال ۲۰۰۳ در حدود ۵۰٪ در سال بوده است. در سال ۲۰۰۶ ظرفیت تولید سلول‌های فتوولتاییک در سطح جهان به ۲،۵۲۰ مگاوات رسید. در این سال سهم سلول‌های فتووولتاییک کریستالی بیش از ۹۰٪ و سهم سلول‌های PV فیلم-نازک در حدود ۸٪ بوده است. با توجه به رشد سریعتر تولید سلول‌های PV فیلم-نازک (سالانه در حدود ۸۰٪) پیش بینی می‌گردد تا سال ۲۰۱۰ رقم سهم این سلول‌ها به ۲۵٪ تا ۳۰٪ برسد.





رقم تولید سلول‌های فتوولتاییک در سال ۲۰۰۷ به بیش از ۳٫۴ گیگاوات رسیده است. در این بین شرکت‌های ژاپنی که با روند رو به کاهش سهم خود از تولید سلول‌های فتوولتاییک در جهان مواجه هستند، در حدود ۲۶٪ بازار را در اختیار داشته‌اند. شرکت‌های چینی ولی با رشد خیره کننده از سهم ۲۰٪ در سال ۲۰۰۶ به ۳۵٪ در سال ۲۰۰۷ دست یافته‌اند.




نصب سلول‌های خورشیدی در جهان

ظرفیت نصب شده فتوولتاییک در جهان به سرعت در حال رشد است. این رقم در پایان سال ۲۰۱۱ به بیش از ۶۷٫۴ گیگاوات برابر با ۰٫۵٪ تقاضای جهانی انرژی برق رسیده است. از این مقدار، رقم ۲۷٫۷ گیگاوات به تنهایی در سال ۲۰۱۱ نصب شده است که رشدی ۶۷ درصدی را نسبت به سال ۲۰۱۰ نشان می‌دهد. در این بین، کشور آلمان به تنهایی با در دست داشتن ۳۷٪ ظرفیت نصب شده جهان به رقم ۲۴٫۷ گیگاوات در پایان سال ۲۰۱۱ رسیده است.




فناوری لمسی

فناوری لَمسی یا فناوری بَساوشی به گونه‌ای از فناوری گفته می‌شود که از راه لمس و توسط حرکت، لرزش یا اِعمال فشار با کاربر تعامل می‌کند.

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

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





فناوری کمکی

فناوری یاری رسان (به انگلیسی: Assistive Technology) بخشی است که شامل دستگاه های یاری رسان، سازگار و توانبخش برای افراد ناتوان و روند انتخاب و قرار دادن و استفاده از آنها می باشد. این فناوری با قادر ساختن مردم برای به انجام رسانیدن کارهایی که قبلاً به آن قادر نبودند یا برای انجام آن سختی بسیار زیادی داشتند استقلال بیشتری فراهم می کند که این امر خود توسط پیشرفت و یا تبدیل روش های تعامل با فناوری مورد نیاز انجام این گونه کارها انجام می پذیرد.



رایانه
رایانه یا کامپیوتر (به انگلیسی: 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-mediated reality) اشاره به توانایی برای اضافه کردن، کم کردن اطلاعات و یا در غیر این صورت دست‌کاری ادراک فرد از واقعیت از طریق استفاده از رایانه‌های پوشیدنی یا دستگاه دستی دارد.به عنوان مثالی از این فناوری می‌توان به EyeTap، (دوربینی به شکل عینک که می‌تواند تصاویری مجاری را به تصاویر واقعی قابل مشاهده اضافه کند و یا فیلم‌برداری کند.) اشاره کرد که مانند یک فیلتر بین واقعیّت و ادراک کاربر از واقعیّت استفاده می‌کند.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 3:48 am
جاوااسکریپت (به انگلیسی: JavaScript) زبان برنامه نویسی اسکریپت مبتی بر اشیاء است که توسط NetScape تولید شده‌است. این زبان، یک زبان شی‌گرااست که بر اساس استاندارد ECMA-262 Edition 3 نوشته شده‌است.
علیرغم اشتباه عمومی، زبان جاوا اسکریت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C) و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همینرو دستورهای متداول مانند if, for, try..catch ,"while" و... در این زبان هم یافت می‌گردند.
این زبان می‌تواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته می‌شوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی می‌تواند به عنوان نمونه‌ای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم مناسب می‌باشد.
کاربرد گسترده این زبان در سایتها و صفحات اینترنی می‌باشد و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویا نمایی در سمت کاربر، از این زبان استفاده می‌شود.





جاوا اسکریپت را در ابتدا شخصی به نام برندان ایچ در شرکت Netscape با نام Mocha طراحی نمود. این نام بعدا به LiveScript و نهایتا به جاوا اسکریپت تغییر یافت.این تغییر نام تقریبا با افزوده شدن پشتیبانی از جاوا در مرورگر وب Netscape Navigator همزمانی دارد. اولین نسخهٔ جاوا اسکریپت در نسخه 2.0B3 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری منجر به سردرگمی‌های زیادی شده و این ابهام را ایجاد می‌کند که جاوا اسکریپت با جاوا مرتبط است در حالی که این طور نیست. عدهٔ زیادی این کار را یک ترفند تجاری برای به دست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح برای برنامه نویسی تحت وب بود می‌دانند.

به دلیل موفقیت عمدهٔ جاوا اسکریپت در نقش زبان نویسه‌ای سمت کارخواه (client side scripting language) برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را Jscript نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در آگوست ۱۹۹۶ داده شد. تفاوت‌های این دو زبان به حدی جزیی است که اغلب Jscript و جاوا اسکریپت به جای هم به کار می‌روند. هرچند که مایکروسافت در اینجا چند ده دلیل برای تفاوت Jscript با استاندارد ECMA مطرح می‌کند.

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


زبان امری و ساخت یافته
جاوا اسکریپت از تمامی نحو ساختاری زبان C پشتیبانی می‌کند. مانند گزاره (if و switch و حلقه‌های while و...) یک مورد استثنا تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوا اسکریپت وجود ندارد. هر چند جاوا اسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکان پذیر می‌سازد. مانند c در جاوا اسکریپت بین عبارت و گزاره تفاوت وجود دارد.

پویایی
؛ تایپ دهی پویا: مانند اکثر زبان‌های نویسه‌ای تایپ به مقدارها منسوب می‌گردد و نه به متغیرها. برای مثال متغیر x ممکن است به یک عدد وابسته سازی شود، و بعداً به یک رشته. جاوا اسکریپت برای تعیین تایپ شی راه‌های مختلفی از جمله تایپ دهی اردکی (duck typing) را دارد.

؛ تایپ دهی ضعیف: زبان جاوا اسکریپت از نظر تایپ دهی ضعیف به شمار می‌آید و در آن نتیجهٔ عملیاتی مانند ۵ + “۳۷”، عبارت “۵۳۷” خواهد بود. (عدد را با رشته جمع کرده‌است)

؛ اشیا به دید آرایه‌های انتسابی: جاوا اسکیرپت تقریبا تماما بر اساس اشیا است. اشیا، آرایه‌های انتسابی به همراه یک «ساختار شماتیک» هستند. نام ویژگی اشیا، کلیدهای آرایه انتسابی هستند و درواقع obj.x = ۱۰ با obj[“x”] = ۱۰ هم ارز هستند و شیوه نگارش با نقطه صرفا یک سهولت نحوی است. ویژگی‌ها و مقدارهایشان در زمان اجرا قابلیت تغییر اضافه و حذف دارند. همچنین می‌توان روی ویژگیهای یک شی با ساختار for … in پیمایش کرد.

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

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

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


ساختار شماتیک» محوری
ساختار شماتیک: جاوا اسکریپت به جای رده‌ها برای تعریف ویژگی‌های اشیا، که شامل متدها و وراثت است از «ساختار شماتیک» استفاده می‌کند (پیش‌نمونه). امکان شبیه سازی بسیاری از امکانات رده-محور با ساختارهای شماتیک جاوا اسکریپت امکان پذیر است.


توابع در نقش سازندهٔ اشیا
برای توابع علاوه بر نقش عادی، به عنوان سازنده ی اشیا هم عمل می‌کنند. آوردن یک new قبل فراخوانی تابع، آن را با کلمهٔ کلیدی this وابسته سازی شده به شی جدید اجرا می‌کند. ویژگی prototype از تابع مورد نظر، ساختار شماتیک شی جدید را مشخص می‌کند.

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


جاوا اسکریپت برای تامین اشیا و متدها که با آن‌ها تعامل کند به یک محیط اجرایی (مانند مرورگر وب) نیاز دارد تا بتواند به این ترتیب با دنیای خارج ارتباط برقرار کند. همچنین برای دسترسی به سایر نویسه‌ها (include) هم به این محیط نیازمند است (مانند تگ <script>در HTML). (البته این یک ویژگی زبانی نیست اما در عمل اغلب این طور پیاده سازی شده‌است)

؛ تعداد متغیر پارامتر (variadic): تعداد نامعینی پارامتر را می‌توان به یک تابع ارسال نمود. تابع می‌تواند هم از طریق پارامترهای رسمی و هم از طریق شی محلی arguments به آن‌ها دسترسی داشته باشد.

Literalهای آرایه و شی

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

عبارات منظم

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


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

تعریف نشده: این تایپ فقط یک مقدار با نام undefined دارد و متعلق به تمام متغییرهای مقدار دهی نشده‌است

نوع تهی: نوع تهی هم فقط یک مقدار دارد با نام null

نوع دودویی: نمایندهٔ یک مقدار منطقی است و دو مقدار true و false را می‌پذیرد.

نوع رشته: در بر گیرندهٔ تمام رشته‌های متناهی از ۰ یا بیشتر عنصر ۱۶ بیتی بدون علامت است. این عناصر با اندیس‌های نامنفی قابل دسترسی هستند. طول رشته تعداد عناصر داخل آن و طول رشتهٔ تهی برابر ۰ است.

زمانی که رشته حاوی متن واقعی باشد هر عنصر به عنوان یک واحد UTF-16 در نظر گرفته می‌شود (مستقل از این که شیوهٔ واقعی نگه داری رشته چه باشد). تمام عملیات بر روی رشته‌ها آن‌ها را به عنوان اعداد صحیح بدون علامت در نظر می‌گیرند و تضمین کنندهٔ تولید رشته به حالت normalize شده نیست و تضمین‌های خاص زمانی هم ندارد. علت این تصمیم گیری سادگی در پیاده سازی ذکر شده‌است.

نوع عدد: نوع عدد در جاوا اسکریپت مطابق با استادارد IEEE برای اعداد شناور دودویی است (با اندکی تفاوت).

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


تبدیلات خودکار

این زبان دارای تبدیلات خود کار بین این انواع داده‌ای است.

زمانی که بخواهد یک if را ارزیابی کند یا از عملگرهای منطقی ! و && و || استفاده شود، تبدیل به نوع دودویی را انجام می‌دهد. مقادیر ۰ و ۰- و NaN به false و سایر مقادیر عددی به true نگاشت می‌گردد. همچنین رشتهٔ تهی false و سایر رشته‌ها true در نظر گرفته می‌شود. انواع شی و تابع true و undefined و null هم false در نظر گرفته می‌شود.

زمانی که یکی از عملوندهای عملگر + رشته باشد، تبدیل به رشته صورت می‌گیرد، مانند ۵ + “۳۷” که می‌شود “۵۳۷”

عملگرهای دیگری عددی (جز جمع) منجر به تبدیل به عدد می‌گردد مانند ۳ – “۵۷” که مقدار عددی ۳۴- را به دست می‌دهد.
ساعت : 3:48 am | نویسنده : admin | جاوا | مطلب قبلی
جاوا | next page | next page