چگونه یک برنامه نویس کامپیوتر شویم

ساخت وبلاگ

امکانات وب

* زبان های برنامه نویسی با دامنه ویژه
* زبان های برنامه نویسی پویا
* زبان های برنامه نویسی آموزشی
* زبان های برنامه نویسی رمزی
* زبان های برنامه نویسی سریع
* زبان های برنامه نویسی تابعی
* زبان های برنامه نویسی همه منظوره
* زبان های برنامه نویسی منطقی
* زبان های برنامه نویسی شی گرا
* زبان های برنامه نویسی متنی

زبان های اصلی
زبان های زیر زبان های برنامه نویسی اصلی هستند ک حداقل توسط هزاران برنامه نویس در سراسر دنیا استفاده می شوند:
Ada ،ALGOL ، APL ،AWK BASIC ،سی C ، سی پلاس پلاسC++ ، سی شارپ C#، کوبولCOBOL ، ColdFusion ، لیسپCommon Lisp ، دلفیDelphi ، Eiffel ، Focus ، Fortran ، Haskell ، ای دی ال IDL ، جاوا Java ، جاوا اسکرپیت Java script ، Lisp ، ماژولاModula ، ابجکت سیObjective-C ، OCaml ، پاسکال Pascal ، پرل Perl ، پی اچ پیPHP ، پرولوگProlog ، فوتونPython ، Ruby ، ساسSAS ، Scheme اسمال تاک، اس کیو الSQL ، ویژوال بیسیک Visual Basic

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

عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم میكنند:
* نسل اول زبان ماشین - زبان صفرو یك
* نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
* نسل سوم زبانهایی مانند كوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به كمپایلرها
* نسل چهارم مثل زبانهای اوراكل و فاكس پرو و اس كیو الها - نزدیك به محاوره های انسانی
* نسل پنج زبانهایی مانند prolog , ops5 - تمركز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط برنامه نویس


زبان برنامه نویسی سطح پایین
در علوم رایانه زبان برنامه نویسی سطح پایین یا زبان برنامه نویسی کوتاهتراز (Low-level programming language) زبانی است که به مقدار کم یا هیچ انتزاعی نسبت به ریزپردازنده فراهم نمینماید. عبارت سطح پایین به این معنی نیست که این زبان نسبت به زبان برنامه نویسی سطح بالا ارزش کمتری دارند بلکه به معنای عدم وجود انتزاع بین این زبان و ساختار ریزپردازنده است از این جهت گاهی این زبانها را نزدیک به سخت افزار نیز مینامند. سطح بالا و سطح پایین نسبی هستند و یک برنامه نویس جاوا ممکن است زبان سی را سطح پایین بداند در حالی یک برنامه نویس سی زبان ماشین را در سطحی پایینتر از خود میداند.
زبانهای سطح پایین را گاهی به دو دسته نسل اول و نسل دوم تقسیم مینمایند.

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

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

زبان برنامه نویسی سطح بالا
زبان برنامه نویسی سطح بالا یا زبان برنامه نویسی بلندتراز (High-level programming language) زبانی است که نسبت به زبان برنامه نویسی سطح پایین راحت تر قابل استفاده و قابل حمل بین سیستمهای متفاوت و دارای انتزاع بیشتری هستند. چنین زبانهایی عموماً از عملیات CPU مانند مدلهای دسترسی به حافظه و مدیریت حوزه دور هستند.

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

معنای نسبی
توجه به این نکته ضروری است که عبارت سطح بالا و سطح پایین نسبی هستند. در ابتدا زبان اسمبلی سطح پایین و زبان کوبول و سی و غیره بدلیل استفاده از متغیر و توابع و عبارات سطح بالا محسوب میشدند. با این وجود برنامهنویسان ممکن است سی را یک زبان سطح پایین محسوب نمایند چرا که امکان دسترسی به حافظه به صورت مستقیم و امکان دسترسی به کد اسمبلی را نیز فراهم میسازد. برای اطلاع بیشتر در این مورد وب سایت C2's page about high-level languages را ببینید

مدلهای اجرا
تفسیر: زبانهای تفسیر شده مستقیماً خوانده و اجرا میگردند بدون مرحله ترجمه.
کامپایل شونده:زبانهای ترجمه شده ابتدا به فیل قابل اجرا تبدیل میشوند سپس اجرا میگردند دو نوع از این زبانها وجود دارد:

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

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

زبان نسل چهارم زبان برنامه نویسی هسکل
هسکل (HASKELL) یکی از زبانهای برنامه نویسی تابعی است. چیزی که اکثر دانش آموزان از زبان برنامه نویسی میدانند، عبارت است از مجموعهای از توابع، کلاسها، تایپها و یک محیط برای نوشتن یک برنامه. این زبان یک زبانها برنامه نویسی تنبل و بدون اثرجانبی(side-effect) است. یعنی در ذات دستور ورودی و خروجی ندارد.

سرگرمی تفریحی...
ما را در سایت سرگرمی تفریحی دنبال می کنید

برچسب : نویسنده : m-asheyan rozsheren-64 بازدید : 1610 تاريخ : شنبه 12 اسفند 1391 ساعت: 20:16