دوستان قبل از اينکه به سراغ اصل مطلب برويم بهتر است که کمي تخصصي تر ابتدا با مفاهيم کامپيوتر آشنا شويم :
کامپيوتر چيست ؟
وسيله اي که توانايي انجام محاسبات و تصميم گيري هاي منطقي با سرعت ميليونها و حتي بيليونها برابر سريعتر از يک انسان را دارد . براي مثال امروزه بيشتر کامپيوترهاي شخصي ميتوانند صدها ميليون دستور را در هر ثانيه انجام دهند .
قطعات فيزيکي تشکيل دهنده يک رايانه را سخت افزار و به برنامه هاي کاربردي که کامپيوترها را ميتوان از طريق انسان يا هر نوع کاربري کنترل کرد مانند انواع سيستم عامل ها را نرم افزار گويند .
سازمان دهي کامپيوتر به شش قسمت تقسيم مي شود :
1- واحدهاي ورودي ( INPUT unit )
2- واحدهاي خروجي ( OUTPUT unit )
3- واحد حافظه ( Memory unit )
4- واحد محاسبه و منطق ( ALU )
5- واحد پردازش مرکزي ( Central Processing )
6- واحد ذخيره سازي ثانويه
تکامل سيستم عاملها ( به صورت عمده )
- سيستم ها ابتدا به صورت تک کاربره ( SINGLE USER ) بودند ، يعني زماني کامپيوترها فقط ميتوانستند يک عمل يا يک وظيفه را در زماني مشخص انجام دهند و داده ها ابتدا بر روي کارتهاي پانچ قرار داشتند .
- سيستم هاي Multi Programming که اين سيستم عامها به همراه کامپيترهايي که قابليت چند وظيفه اي دارند ، ميتوانند چند وظيفه يا دستور در طول زمان را انجام دهند . اين امر با به اشتراک گذاشتن منابع توسط کامپيوترها صورت ميگرفت .
محاسبات شخصي ، محاسبات توزيع شده و سرويس دهنده ها / سرويس گيرنده ها
در سال 1997 ، کامپيوتر هاي اپل ( Apple ) نماد محاسبات شخصي بودند . کامپيوترهابه تدريج ارزان شدند تا اينکه مردم آنها را خريدند و تا در کارهاي شخصي خود قرار دهند .
در سال 1981 ، IBM که بزرگترين فروشند کامپيوتر در جهان است ، کامپيوتر هاي شخصي IBM را به بازار معرفي کرد . جالب اينجاست که در مدت يک شب محاسبات شخصي در تجارت ، صنايع و مراکز دولتي وارد شد . به طوري که امروزه در کمتر خانه اي کامپيوتر وجود ندارد .
اما درمورد سرويس دهنده ها و سرويس گيرنده ها اين را بايد گفت که امروزه اطلاعات با سرعت باور نکردني در بين شبکه هاي کامپيوتري در حال انتقال هستند ، به طوري که اطلاعات در يک کامپيوتر قوي به اشتراک گذاشته ميشوند و ديگر کامپيوترها که سرويس گيرنده هستند از اطلاعات به اشتراک گذاشته شده در سرور استفاده ميکنند .
برنامه نويسي
براي درک بهتر از برنامه نويسي ميتوان مثالي از نياز به برنامه نويسي را مطرح کرد :
مثلا " ، اگر شما با برنامه هاي کاربردي زيادي کار کنيد بعد از يک مدت کنجکاو ميشويد که اين برنامه هاي کاربردي چگونه به وجود آمده اند يا شايد نيازتان به يک برنامه آنقدر زياد باشد و اصلا نتوانيد آن برنامه مورد نياز خود را پيدا کنيد ، مجبور ميشويد به يک برنامه نويس مراجعه کرده و نياز خور را به آن ارائه ميکنيد تا با پرداخت مبلغ هنگفتي آن برنامه را براي شما بنويسد .
مثالي ديگر اينکه ، مثلا " شما کتابخانه مدرسه اي را در نظر بگيريد . خب در آن مسلما " در آن کتابخانه تعدادي کتاب وجود دارد که اين کتابها در موضوعات مختلفي طبقه بندي هستند . حالا فکر کنيد مسئول اين کتابخاه خواهد برنامه اي را براي مديريت بهتر کتابخانه تهيه کند . آيا در بازار نرم افزاري است که ليست اعضا ، کتابها و .... مخصوص آن کتابخانه را داشته باشد ؟؟؟ پس مسئول کتابخانه بايد چکار کند ؟؟؟
اينجا است که مفهوم برنامه نويس بهتر و روشنتر بيان مي شود .
اما مسئله مهمي که در بحث برنامه نويسي ( مبتدي ) وجود دارد اين است که برنامه را چطور بايد نوشت ؟؟؟
زبان هاي برنامه نويسي
مطالب قبلي مقدمه اي بسيار خلاصه بود از کامپيوتر و نحوه سازماندهي کامپيوترها و درک بحث برنامه نويسي . اما براي نوشتن برنامه به چه چيزهايي نياز است ؟
ما براي برنامه نويسي نياز به يک نرم افزار برنامه نويسي داريم ( زبانهاي برنامه نويسي ) .
زبانهاي برنامه نويسي توسط کمپاني هاي بزرگ و مختلفي مانند مايکروسافت ، سان ميکروسيستم و ... ارائه ميشوند .
انواع زبانهاي برنامه نويسي:
1- زبان ماشين ( Machine Languages ) " در برخي کتب بنام زبان سطح پايين نيز وجود دارد "
2- زبان اسمبلي ( Assembly Languages ) " در برخي کتب بنام زبان سطح مياني وجود دارد "
3- زبان هاي سطح بالا ( High-Level Languages )
زبان ماشين يا زبان سطح پايين :
هر کامپيوتري فقط ميتواند به طور مستقيم فقط زبان ماشين خود را درک کند . زبان ماشين ، زبان ذاتي " natural " و منحصر به فرد يک کامپيوتر ميباشد . براي مثال اينو بگم که زبان ماشين هر وسيله الکترونيکي فقط براي آن وسيله قابل استفاده است . لازم به ذکر است که درک زبان ماشين براي انسان سخت و يسار مشکل است . مثلا کد زير اضافه کار را برمبناي حقوق محاسبه کرده و نتيجه بدست آمده را در grosspay ذخيره مي کند .
+1300042774
+1400593419
+1200274027
زبان اسمبلي يا زبانهاي سطح مياني :
زماني که کامپيوترها مورد استفاده عموم قرار گرفتند برنامه نويسي براي کساني که با زبان ماشين برنامه نويسي ميکردند بسيار خسته کننده و ملالت آور بود . اين بود که برنامه نويسان برنامه اي را طراحي کردند که به جاي برنامه نويسي با زبان ماشين ( کار با اعداد ) ، بتوان برنامه نويسي را به صورت رشته ها ( حروف ) ادامه داد . اينگونه که براي برنامه نويسي از حروف مخفف کلمات براي درک کامپيوتر از دستورات استفاده ميشد . اين حروف مبناي زبان اسمبلي هستند . اما بايد اين برنامه ها براي درک کامپيوتر به زبان ماشين تبديل ميشد که براي اين کار برنامه اي به نام اسمبلر طراحي شد ، که کدهاي نوشته شده ا زبان اسمبلي را به زبان ماشين تبديل ميکرد . کدي که در پايين مشاهده ميکنيد همان عمليت بالا را انجام ميدهد .
Load basepay
Add overpay
Store grosspay
زبان هاي سطح بالا
درست است که زبان اسمبلي کار را براي برنامه نويسان که ميخواستند با زبان ماشين برنامه نويسي کنند ، راحت تر ميکرد اما دو عيب بزرگ هم داشت :
1- تبديل کدها از زبان اسمبلي به زبان ماشين توسط اسمبلر به کندي صورت ميگرفت . 2- عيب دوم اين بود که برنامه نويس براي نوشتن برنامه اي که قرار است عمليات بسيار ساده اي را انجام دهد ، بايد کدهاي زيادي را مي نوشت که باز هم اين بسيار خسته کننده به نظر مي آيد . براي افزايش برنامه نويسي زبانهاي سطح بالا توسعه پيدا کردند ، که با نوشتن يک خط کد مي شد يک عمليت بسيار وسيعتري را نسبت به اسمبلي انجام داد . برنامه هاي مترجم که وظيفه ترجمه زبانهاي سطح بالا به زبان ماشين را برعهده دارند کامپايلر ناميده ميشوند . براي اين است که زبان برنامه نويسي سطح بالا محبوبيت دارند و امروزه مورد استفاده قرار ميگيرند ، نوشتن کد برنامه نويسي در آنها به زبان انگليسي نزديک است و در آن اعمال رياضي به سادگي به کار ميرود . مثلا کد بالا با زيان سطح بالا نوشه شده است :
Grosspay = basepay + overtimepay
پيشنهاد ما به شما اين است که برنامه نويسي را از پايه شروع کنيد . يعني از مفاهيم تئوري مانند روشهاي حل مسئله ، الگوريتم ها و ... آغاز کنيد. براي برنامه نويسي هم بهتر است که نوشتن برنامه را با زبان ويژوال بيسيک يا بگيريد.
* ارسال مقاله توسط عضو محترم سايت با نام کاربري : reza1371 /ج