Computer Programming
-
ماهيت كار
برنامه نويسان رايانه دستورالعملهائي باجزئيات كامل نوشته و آزمايش وپشتيباني ميكنند. به اين دستورالعملها كه رايانه براي كار كردن بايد از آنها پيروي كند ، برنامه گفته ميشود. كار ديگر آنها طراحي و آزمايش كردن ساختارهاي منطقي براي حل كردن مسائل توسط رايانه ميباشد. بسياري از نوآوريها در زمينه برنامه نويسي مانند فن آوريهاي پيشرفته محاسبه وزبانها و ابزارهاي پيچيده برنامه نويسي به برنامه نويسان نقشي جديد داده و بسياري از كارهاي برنامه نويسي دنياي امروز را بوجود آورده اند. عنوان و توصيف كار آنها بسته به نوع سازماني كه درآن كار ميكنند متفاوت ميباشد. بنابراين ، برنامه نويس رايانه به كسي اطلاق ميشود كه كار اصلي وي برنامه نويسي است ، اگرچه تفاوتها درمسؤوليتها و سوابق تحصيلي بسيار گسترده است.
اين برنامه نويسان هستند كه به رايانه ها ميگويند كه چه بايد بكنند. به عنوان
مثال از كجا اطلاعات لازم را بگيرند ، چگونه فرايندي بر روي اين اطلاعات انجام دهند
و از چه تجهيزاتي استفاده كنند. برنامه ها برحسب نوع اطلاعاتي كه بايد استفاده يا
توليد كنند متفاوت ميباشند. مثلا برنامه هائي كه براي به روز درآوردن اطلاعات مالي
به كار ميروند از آنهائي كه براي شبيه سازي شرايط پرواز دريك شبيه ساز رايانه اي
براي تعليم دادن به خلبانان به كار ميروند كاملا متفاوت ميباشند. اگرچه برنامه هاي
ساده را ميتوان در مدت چند ساعت نوشت ، برنامه هائي كه از فرمولهاي پيچيده رياضي
استفاده ميكنند ويا داده هاي خود را از سيستمهاي مختلف دريافت ميكنند ممكن است به
يك سال كار نياز داشته باشند. در بيشتر موارد ، چندين برنامه نويس در قالب يك تيم
زير نظر يك سرپرست برنامه نويسي كار ميكنند.
برنامه نويسان برنامه ها را با توجه به خصوصياتي كه به صورت اوليه توسط مهندسين نرم
افزار رايانه ويا تحليل گران سيستم تعيين شده اند مينويسند. پس از اينكه فرايند
طراحي پايان ميابد ، برنامه نويسان وارد عمل شده و طرح آماده شده را به يك سري از
دستورالعملهاي منطقي كه توسط رايانه قابل پيگيريست تبديل ميكننند. آنان سپس اين
دستورالعملها را به رمزهاي يكي از زبانهاي برنامه نويسي رايانه مانند جاوا يا سي
تبديل ميكنند. بسته به هدفي كه برنامه دنبال ميكند ، از زبانهاي برنامه نويسي
متفاوتي استفاده ميشود. مثلا از كوبول بيشتر براي كارهاي تجاري ، از فرترن در
كارهاي علمي و مهندسي و از سي پلاس پلاس در هر دو مورد به شكل وسيعي استفاده ميشود.
برنامه نويسان عموما به بيش از يك زبان برنامه نويسي تسلط دارند و از آنجائيكه
بسياري از اين زبانها به هم شبيه هستند ، آنها نسبتا به سادگي ميتوانند زبانهاي
ديگر را نيز بياموزند. در عمل برنامه نويسان عنوان خود را يا از برنامه اي كه به آن
مسلط هستند ميگيرند ، مانند برنامه نويس جاوا ، ويا از نوع كار يا محيطي كه درآن
كار ميكنند مانند برنامه نويس بانك داده ها ، برنامه نويس پردازنده مركزي ويا
برنامه نويس اينترنت.
بسياري از برنامه نويسان ، برنامه هاي موجود را به روزرساني و ترميم ميكنند ويا
تغيير و گسترش ميدهند. آنها وقتي در قسمتي از يك كد كه به آن روتين گفته ميشود
تغييري ميدهند ، بايد كاربرها را از عملكرد جديد آن روتين آگاه كنند. اين كار
بوسيله گنجاندن توضيحات لازم در بين كدها انجام ميشود ، بدين ترتيب ديگران ميتوانند
عملكرد برنامه را درك كنند. بسياري از برنامه نويسان از ابزاهاي كمك مهندسي نرم
افزاررايانه اي براي خودكار سازي بسياري از عمليات كد نويسي استفاده ميكنند . اين
ابزارها برنامه نويس را قادر ميسازند تا بر روي نوشتن قطعات منحصر به فرد برنامه
متمركز شود ، چرا كه اين ابزارها قطعات مختلف برنامه در حال ساخت را خودكارسازي
كرده وبه جاي نوشتن خط به خط ، بخشهاي كاملي از كدها را خود به خود بوجود مياورند.
اين روش باعث بوجود آمدن برنامه هائي يكدست تر و قابل اعتمادتر نيز شده و باحذف
مراحل تكراري ، توان بهره وري برنامه نويسان را بالا ميبرد.
برنامه نويسان براي آزمايش برنامه ، آنرا پس از نوشتن ، اجراميكنند تا از عملكرد
صحيح آن اطمينان حاصل كنند. اگر اشتباهي دراجراي برنامه وجود داشته باشد ، برنامه
نويس بايد آن قسمت را تغيير داده و دوباره امتحان كند تا زمانيكه برنامه درست عمل
كند. به اين كار اشكال زدائي ( ديباگ ) گويند. برنامه نويسان ممكن است اين عمليات
اشكال زدائي را تا زماني كه از برنامه استفاده ميشود (مثلا چندين سال ) ادامه دهند.
آنهائي كه در محيط پردازشگر مركزي كار ميكنند ممكن است دستورالعملهائي براي كاربري
كه از برنامه استفاده ميكند تهيه كنند.
برنامه نويسان اغلب به دو دسته اصلي تقسيم ميشوند. برنامه نويسان برنامه هاي اجرائي
و برنامه نويسان سيستم. برنامه نويسان برنامه هاي اجرائي ، برنامه هايي براي اجراي
يك كار خاص ، مثلا صورت برداري از كالاها در يك شركت ، مينويسند. آنها ممكن است
بازنگري يك نرم افزار را به عهده بگيرند. برنامه نويسان سيستم برنامه هائي براي
كنترل نرم افزاري سيستمهاي رايانه اي مينويسند كه دراين زمينه ميتوان از سيستمهاي
عامل ، سيستمهاي شبكه و سيستمها ي بانك داده ها نام برد. گروه اخير ، در مجموعه
دستورالعملهائي كه نحوه عملكرد شبكه ، ايستگاه كاري و پردازنده مركزي سيستم را براي
اجراي دستورات وارده و نحوه دسترسي به تجهيزات جانبي مانند پايانه ها ، چاپگرها و
ديسك خوانها را تعيين ميكنند ، تغييرات لازم را ميدهند. به دليل داشتن دانش گسترده
از تمامي سيستم رايانه ، برنامه نويسان سيستم ، به برنامه نويسان برنامه هاي اجرائي
دريافتن ريشه مشكلاتي كه دربرنامه هاي آنها پيش ميآيد كمك ميكنند.
برنامه نويسان شركتهاي توليد كننده نرم افزاربراي توليد نرم افزارهاي سفارشي يا
عمومي ، از بازيهاي رايانه اي و برنامه هاي آموزشي گرفته تا برنامه هائي براي نشر
روميزي ، برنامه ريزي مالي ، برنامه ها ي صفحه گسترده ، با متخصصين رشته هاي ديگر
همكاري ميكنند. در بسياري از موارد اين نحوه همكاري در ايجاد بسته هاي نرم افزاري ،
يكي از بخشهاي صنعت رايانه كه از بيشترين ميزان رشد برخوردار است ، كاربرد دارد.
در بعضي شركتها ، بخصوص شركتهاي كوچك ، افرادي به عنوان برنامه نويس ـ تحليل گر هم
مسؤوليت برنامه نويسي و هم تحليل سيستم را به عهده دارند. زبانهاي برنامه نويسي
پيشرفته و امكانات برنامه نويسي شيء گراي جديد ، بازده كاري برنامه نويسان و
كاربران را افزايش داده است. امكانات رايانه هاي شخصي و نرم افزارهاي جديد تا حدودي
مرز بين كار بر و برنامه نويس را از بين برده است. به عنوان مثال بسته هاي نرم
افزاري جديد مانند برنامه هاي مديرت صفحه گسترده و بانكهاي اطلاعاتي به كاربران
امكان نوشتن برنامه هاي ساده اي را براي دسترسي به داده ها و انجام محاسبات داده
است .
-
محيط كار
محيط كاري برنامه نويسان معمولا دفاتر كار راحت ميباشد. بسياري از برنامه
نويسان براي تحويل به موقع پروژه ها وحل كردن مسائل مهم كاري ، مجبور به كار براي
ساعتهاي طولاني و اضافه كاري هستند. باتوجه به فن آوريهاي روز ، ارتباط از راه دور
براي بسياري از متخصصين رايانه از جمله برنامه نويسان به صورت يك امر عادي در آمده
است. با گسترش شبكه هاي رايانه اي ، برنامه نويسان بيشتري توانائي ارتباط با رايانه
ي مشتري از راه دور را براي برطرف كردن ايرادها و مشكلات پيش آمده بدست آورده اند.
همانند بسياري مشاغل ديگر ، برنامه نويسان نيز بايد ساعتهاي زيادي را جلو رايانه
به تايپ كردن مشغول باشند كه اين كار آنها را مستعد خستگي چشم ، كمردرد و مشكلات
دست و مچ دست مانند سندروم تونل كارپال ميكند.
-
فرصتهاي شغلي
برنامه نويسان در هر صنعتي ممكن است به كار گرفته شوند اما بيشترين فرصتهاي شغلي
در صنعت خدمات رايانه و تحليل داده ها كه وظيفه نوشتن و فروش نرم افزارها را به
عهده دارند ميباشد. تعداد زيادي از برنامه نويسان نيز در شركتهاي ارائه كننده خدمات
مهندسي و مديريتي ، شركتهاي مخابراتي ، توليد كننده هاي رايانه و تجهيزات دفتري ،
مؤسسات مالي ، شركتهاي بيمه ، مؤسسات آموزشي و ادارات دولتي به كار مشغولند.
بسياري از برنامه نويسان رايانه به صورت موقتي و قراردادي و يا براي ارائه خدمات
مشاوره اي به خدمت گرفته ميشوند. مثلا يك شركت خريد و فروش ممكن است براي راه
اندازي يك سيستم جديد مديريت سرويس دهي به مشتريان به كار چندين برنامه نويس به
صورت موقت نياز داشته باشد. اين نحوه كار كردن به شركتها اجازه ميدهد تا برحسب نياز
كاريشان افرادي با تخصصهاي خاص و معمولا آشنا به آخرين فن آوريها را بدون نياز به
باز آموزي كاركنان خود شركت به كار گيرند. اين قراردادها ممكن است چند هفته اي يا
حتي چند ساله باشند.
-
آموزش و ادامه تحصيل
آموزش برنامه نويسي در سطوح مختلفي از كلاسها ي آموزشي گرفته تا تحصيلا ت
دانشگاهي انجام ميشود . استخدام كنندگان معمولا به ميزان دانش فرد در زبانهاي
برنامه نويسي توجه دارند و برنامه نويسان نيز ميتوانند در يكي يا چندين زبان برنامه
نويسي مانند جاوا يا سي مدرك بگيرند. براي كار يابي در صورتي كه فرد مدرك نداشته
باشد ، بايد از تجربه كاري زيادي برخوردار باشد. حتي در مورد كساني كه مدرك برنامه
نويسي دارند ، استخدام كنندگان تاكيد اصلي را بر روي تجربه قبلي ميگذارند.
با وجود اينكه برنامه نويسان بايد با زبانهاي سنتي برنامه نويسي آشنا باشند ، اما
تاكيد اصلي امروزه بر روي زبانهاي جديد شيء گرا و نسل چهارم و پنجم زبانها كه از
رابط گرافيكي كاربر استفاده ميكنند ميباشد. استخدام كنندگان افرادي را كه با تجارت
و زمينه كاري آنها آشنا باشند را ترجيح ميدهند.
براي برنامه نويسي سيستم كه در بالا به آن اشاره شد ، دانش وسيع درباره سيستمهاي
عامل مختلف ضروري است. اين شامل توانائي طراحي سيستم عامل براي كار با انواع مختلف
سخت افزار و سازگار سازي سيستم براي برآوردن نيازهاي خاص يك شركت نيز ميباشد. اين
برنامه نويسان بايد با كار با سيستمهاي پايگاه داده ها مانند اوراكل نيز آشنائي
لازم را داشته باشند.
يك برنامه نويس بايد توانائي تفكر به روش منطقي و توجه به جزئيات را داشته باشد.
اين كار نياز به شكيبائي ، مداومت و توانائي كار تحليلي دقيق بخصوص تحت شرايط فشار
دارد. ابتكار و قدرت تخيل نيزبراي طراحي راه حلها و پيشگيري از خطاها از شروط لازم
ميباشند. برنامه نويسان سيستم بايد توانائي كار بر روي مفاهيم انتزاعي و تحليل فني
را داشته باشند. از انجائيكه در بسياري موارد برنامه نويسان به صورت تيمي كار
ميكنند و با كاربرها سروكار دارند ، بايد قادر به ارتباط برقرار كردن با كارمندان
غير فني نيز باشند.
تازه كارها ممكن است به تنهائي بر روي يك برنامه اوليه كار كنند ويا به همراه
برنامه نويسان با تجربه و به صورت تيمي به كار گرفته شوند. درهر صورت اين افراد
تازه كار بايد تحت نظارت مستقيم حرفه ايها قرارگيرند. به علت رشد سريع فن آوري ،
برنامه نويسان مجبور به شركت در دوره هاي مكرر باز آموزي ميباشند.
-
چشم انداز آينده
بيشترين رشد در زمينه برنامه نويسي سيستم و اجرائي درآينده درزمينه هاي تجزيه و
تحليل داده ها ، تهيه نرم افزار و خدمات مشاوره اي رايانه خواهد بود. اما رشد
برنامه نويسي نسبت به ديگر رشته هاي تخصصي رايانه كند تر است . با رشد سريع فن آوري
، نرم افزارهاي پيچيده رايانه اي امروزه قادر به نوشتن بسياري از كدهاي پايه اي
برنامه ميباشند واين مسئله نياز به برنامه نويسهاي بيشتر را براي انجام اينگونه
كارهاي تكراري از بين برده است . پيشرفت در توليد بسته هاي نرم افزاري ، ابزارها و
زبانهاي برنامه نويسي پيشرفته و رشد توانائي كاربرها در طراحي ، نوشتن و اجراي
برنامه هاي خاص خودشان بدين معناست كه بسياري از كارهاي عملياتي برنامه نويسي قابل
انتقال به ديگر مشاغل ميباشند. با بالا رفتن سطح نوآوري و پيچيدگي فني ، برنامه
نويسان با رقابت بيشتري در سطح بين المللي روبرو ميشوند ، چرا كه شركتها قادر به
سفارش دادن برنامه نويسي با قيمت كمتر به كشورهاي ديگر ميباشند.
با اهميتي كه امروزه شبكه ها و محيطهاي اينترنتي پيدا كرده اند ، شركتها به دنبال
برنامه نويساني هستند كه قادر به تبادل داده ها و پياده سازي تجارت الكترونيك و
استراتژيهاي اينترانت باشند. از ديگر زمينه هاي مورد توجه ، مولتي مديا و برنامه
نويسي مشتري/ سرويس دهنده ميباشند. راز موفقيت يك برنامه نويس در آينده پيش رفتن با
فن آوري روز، تبحر دربرنامه نويسي پايگاه داده ها و اينترنت و تلفيق مدرك دانشگاهي
با تجربه كاري ميباشد.
-
ميزان درآمد
ميانگين درآمد ساليانه درسال 2000 در ايالات متحده براي برنامه نويسان رايانه
57590 دلار بوده است.
تمدید اعتبار مجموعه هفتم برنامه نویسی کامپیوتر تا پایان سال 1390
قابل توجه کسانی که نگران مجموعه هفتم برنامه نویسی کامپیوتر بودند
طبق دستور سرپرست پژوهش و برنامه ریزی کل سازمان فنی و حرفه ای، مهارت های درجه یک، درجه دو، و ویژال بیسیک با کدهای زیر تا پایان سال 1390 تمدید شدند
کد مهارت هایی که تا پایان سال 1390 تمدید شدند به شرح زیر هستند
1- رایانه کار درجه یک با کد استاندارد 2/1/27/42 3 با زمان آموزش 420 ساعت 2- رایانه کار درجه دو با کد استاندارد 2/2/27/423 با زمان آموزش 450 ساعت 3- برنامه نویسی ویژال بیسیک با کد استاندارد 1/1/80/84_0 با زمان آموزش 165 ساعت
تصویری از نامه ابلاغی سرپرست پژوهش و برنامه ریزی کل سازمان فنی و حرفه ای مبنی بر تمدید اعتبار استانداردهای مورد بحث تا پایان سال 1390
http://www.eatvto.ir/up/public/photo/etebar-dorus.jpg
منبع: سایت سازمان فنی و حرفه ای استان آذربایجان شرقی-تبریز
http://www.eatvto.ir/farsi/index.php?option=com_content&task=view&id=53&Itemid=86
یک توصیه مهم: از این بابت خوشحال نشید که استانداردهای مذکور تا پایان سال 90 تمدید شدند و هنوز چند ماه وقت داریم، حتما این ترم (مهرماه) انتخاب واحد کنید منظورم انتخاب مهارت هایی هست که هنوز نگرفتید و یا صادر نشدند چون اگر انتخاب واحد رو برای زمانی نگه دارید که مهارت هاتون رو گرفتید ثبت نام و مهلت انتخاب واحد تمام خواهد شد و شما نخواهید توانست مهارت هاتون رو در مدرسه ثبت کنید چون مدرسه قبول نخواهد کرد ((چیزی که بر سر من بدبخت امد)) به دلیل اینکه لیست انتخاب واحد دانش آموزان بعد از مدتی توسط اداره پلمپ میشه و لیست از آموزش و پرورش منطقه به سازمان آموزش و پرورش کل فرستاده میشه و انوقت که دیگه هیچ کاری نمیشه کرد حتی اگر شما خودتون از سازمان فنی و حرفه ای موفق به دریافت تاییدیه مهارت هاتون هم بشید باز هم مدرسه اونها رو در پرونده و کارنامه شما ثبت نخواهد کرد و در نتیجه دیپلم هم نمی تونید بگیرید در حالی که وارد سال 91 میشید و مهارت هایی هم که در دست دارید به دلیل داشتن کد های استاندارد مجموعه هفتم باطل خواهد شد و مجبور هستید برای گرفتن دیپلم برنامه نویسی کامپیوتر 5 الی 6 مهارت جدید رو هم پاس کنید ((پس حتما حتما در این ترم انتخاب واحد کنید و مهارت هایی که در حال گرفتنشون هستید رو انتخاب کنید و بعد از اخد مهارت هاتون با برگه انتخاب واحد به مدرسه مراجعه کنید و خواستار استعلام و ثبت مهارت هاتون بشید)) شاید بپرسید من اینها رو از کجا میدونم باید بگم که یه همچین اتفاقی در ترم تابستان همین سال برای من افتاد و چندین ماه الاف شدم و تا دی ماه هم الاف دیپلمم خواهم بود پس حتما این ترم انتخاب واحد کنید و مهارت هایی که در این چند ماه خواهید گرفت و هنوز نگیرفتید رو انتخاب کنید تا به سرنوشت من دچار نشید
فکر کنم ساعت رایانه کار درجه یک هم اشتباه تایپ شده باشه چون ساعت کد استاندارد 2/1/27/42 _3 (330 ساعت) هست نه 420 ساعت
[پاسخ]
چرا برنامه نویسان ایرانی برنامه ای رو مثله زبان Cنمینویسند که دستور العمل هاش فارسی باشه؟؟
[پاسخ]
فریب این مطالب رو نخورید ایران با امریکا بسیار فرق داره تو ایران کپی رایت نیست و حقوق برنامه نویسان هم بسیار پایین هست مثلا من الان با لیسانس نرم افزار حقوق پایه کارگری 300000 تومان رو میگیرم اون کسی که این مطلب رو نشوته دقت نکرده اینجا ایران است و فقط ار یک سایت خارجی کپی برداری کرده مثلا پیاده سازی سایت برنامه نویسی هست الان در حال حاضر بعضی از جاها هست که سایت شما رو با فقط 100000 تومان طراحی می کنند فکر میکنید مگه چند سایت در سال به شما می خوره به عنوان تفریح و یا در کنار کارت خوبه و گرنه باید بری یجا 300000 تومان بگیری حال کنی !!!!
[پاسخ]
این برنامه نویسی ربطی به رشته ی نرم افزار داره
[پاسخ]
salam, khaste nabashid,ye maghale dar morede agent oriented programming mikhastam. mamnoon
[پاسخ]
متن خوب بود ولي فقط به دردنمره گرفتن ميخورد اگر مي شوديك مقدار درمورد چگونه بر نامه نوشتن توضيح دهيد
[پاسخ]
مقالات خوب است اما مقاله اي در باره طبقه بندي مشاغل در ايران مي تونه به من كمك بيشتري بكنه متشكرم
[پاسخ]
very verey nice
[پاسخ]
سلام
مقاله ها خيلي خوب و عالي هستند اگه ميشه يه مقاله دربارهaspect oriented programming يا agent oriented programmig بذارين تشكر
[پاسخ]
چطور مي شود سايتي پيدا كرد كه بتواني مقالات مورد نياز خود را در آنجا پيدا كني بعنوان مثال سايتي مي خوام كه بتوانم تاريخچه بوجود آمدن ويروس هاي رايانه اي را در آنجا پيدا كنم در ضمن مطالبتان بدرد بخور هستند D:
[پاسخ]
سلام ، اطلاعات مفیدی رو در اختیار ما گذاشتید. متشکریم.
[پاسخ]
نه تنها در رشته مهندسي كامپيوتر (نرم افزار) بلكه در تمامي رشته هاي ديگر نيز موفقيت مالي و غير مالي بستگي به تلاش ، كوشش و تسلط شما در رشته مربوطه دارد. اگه بهترين برنامه نويس باشي خيلي بيشتر از آن كه لازم داري درآمد كسب مي كني
[پاسخ]
آيا رشته برنامه نويسي كامپيوتر ما را از نظر مالي تاين مي كند؟ به عبارتي ديگر آيا در اين رشته پول هست؟ با تشكر
[پاسخ]
مطالب بسيار عالي و كافي هستند
[پاسخ]