زبان برنامه نویسی سی/پیش درآمدی بر برنامه نویسی: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۱:
{{سرص|زبان برنامه نویسی سی|زبان برنامه نویسی سی/آشنایی با زبان های برنامه نویسی}}
امروزه بیشتر امور ، به صورت خودکار انجام میشوند . بعد از انقلاب رنسانس و صنعتی در اروپا ، جهان به سمت ماشینی و روتین شدن پیش رفت . اما علم الکترونیک باعث شد تا کارها با دقت و کلیت و سرعت بیشتری انجام پذیرند . اختراع
برخلاف یک دستگاه دیویدی که تنها میتواند کارهایی را که از پیش برای آن در نظر گرفته شده انجام دهد ؛ یک رایانه که امروز شامل تبلتها و گوشیهای همراه هوشمند و بسیاری دیگر از دستگاههای الکترونیکی دیگر میشود میتواند مدام برنامههای مختلفی را دریافت کند و بر اساس آنها عمل کند . همان طور که گفته شد در ابتدای امر ، کار برنامه دادن به رایانه ، بسیار مشکل بود ، گرچه کارهایی که در آن زمان انجام میشدند آنقدر ساده بودند که به هیچ وجه قابل مقایسه با پردازشهایی که رایانهها و برنامههای امروزی انجام میدهند نیستند . اما این حفره ها به مثابه 0 و 1 بودند !
خط ۶:
رایانه ، یک دستگاه دیجیتالی است ؛ بر خلاف دستگاههای الکترونیکیِ قدیمی که آنالوگ بودند و سیگنالها از طریق موجهایی که بر روی جریان الکتریکی ایجاد میشدند ، رفت و آمد میکردند ؛ در دستگاههای الکترونیکی دیجیتالی ، سیگنالها با قطع و وصلِ جریان ، رفت و آمد میکنند . وجود جریان نماینده عدد ۱ و عدم وجود جریان نماینده عدد ۰ میباشند و بدینترتیب با جریان الکتریکی که مرتب قطع-و-وصل میشود که تحت استانداردها و پروتکلهای الکترونیکی است ، سیگنالها رفت و آمد میکنند ( سیگنال به معنی پیام است که در علوم برق و الکترونیک به جریان الکتریکی یا امواج الکترومغناطیسیای گفته میشود که دارای معنای خاصی باشد ). بنابراین زبان واقعی ماشین و از جمله رایانه یا کامپیوتر ، زبان 0 و 1 می باشد که جهت سهولت در کار ، سیگنال ها را که همان 0 و 1 می باشند و در مبنای ۲ هستند ( دودویی ) به مبناهای دیگری همچون ۴ ، ۸ ، ۱۰ و ۱۶ تبدیل می نمایند . اما این کار باز هم باعث سهولت مطلوبی نمی گردد . برنامه نویسی به زبان ماشین فوقالعاده امری دشوار و وقتگیر است . اما فراموش نکنید که برای نوشتن هسته ( کرنل ) یک سیستم عامل ( که مجموعه ای از نرم افزارها و میان افزارها جهت مدیریت سختافزار و از طرفی فراهم نمودن محیطی برای ایجاد برنامه می باشد ) یا درایور یک دستگاه الکترونیکی ، مطمئناً باید از زبانهای سطح پائین استفاده نمائید و با سختافزار ارتباط برقرار نمائید
در دهه های دور ، زبانی برای تلفیق با زبان ماشین و سهولت در برنامهنویسی ابداع شد که زبان اسمبلی ( Assembly ) نام دارد و هنوز هم به کار میرود و این زبان دارای کدهایی می باشد که که هر کد ، نماینده یک عمل پردازنده رایانه ( واحد پردازشگر مرکزی Central Processing Unit - CPU ) می باشد و بدین ترتیب کار تا حدی آسان شد . بعد از گذشت زمان ، مهندسین دانش رایانه زبان های بسیار زیادی را ارائه کردند که همگی جزء زبان های سطح بالا ( زبانهای نزدیک به زبان و فهم انسان ) به شمار میروند و کار نوشتن برنامه و برنامه دادن به رایانه را تا حد زیادی آسان مینمایند
این نکته را فراموش نکنید که زبان ماشین برای هر پردازنده مجزا می باشد . به دنبال آن نیز زبان اسمبلی سیپییو ( و نه اسمبلیِ سطح بالا ) نیز برای هر پردازنده جدا می باشد . به غیر از این دو زبان ، تمامی زبانها ، سطح بالا به شمار می روند . مزیت زبانهای سطح پائین این است که شما هیچ گونه محدودیتی در نوشتن برنامه ندارید و از کرنل سیستم عامل گرفته تا برنامه های جانبی ، خدماتی ، کاربردی و ... همه را می توانید بنویسید . اما این نکته مهم ، همچنان وجود دارد که اگر برنامه ای را بخواهید برای ماشین های مختلف بنویسید باید برای هر کدام از نو برنامه را نوشته و سپس اجرا کنید . از طرفی اگر اشتباهی مرتکب شوید ممکن است به سیستم آسیب وارد کنید . از زبانهای سطح پائین ، معمولاً فقط در نوشتن میانافزار و کرنل سیستم عامل استفاده میشود و البته تمام کرنل یا سیستم عامل را به زبان اسمبلی نمینویسند ؛ بلکه از زبانی نزدیک به اسمبلی مثل سی استفاده میکنند و در داخل کدهای C از کدهای اسمبلی کمک میگیرند ( هرگاه زبان سی پاسخگوی نیاز ما برای ارتباط با سختافزار نباشد )
ربان برنامهنویسی ، زبانی برای نوشتن کدهایی است که در چارچوب خاصی نوشته میشوند تا ترجمه آن به زبان ماشین امکانپذیر باشد و سپس توسط به کارگیرنده زبان ( مثلاً کامپایلر Compiler ) به زبان ماشین یا زبان سیستم عامل ترجمه میشوند و یا توسط مفسر ( interpreter ) بدون ترجمه به زبان ماشین ، تفسیر شده و به اجرا در میآیند . هر چه زبان ، سطح پائینتری داشته باشد ، در نوشتن برنامه وظیفه بیشتری به شما واگذار میشود و حتی برای نوشتن برنامههای ساده نیز باید مدتهای طولانیتری نسبت به زبانهای سطح بالا کدنویسی کنید
|