برنامه نویسان رایانه دستورالعملهائی باجزئیات کامل نوشته و آزمایش وپشتیبانی میکنند. به این دستورالعملها که رایانه برای کار کردن باید از آنها پیروی کند ، برنامه گفته میشود. کار دیگر آنها طراحی و آزمایش کردن ساختارهای منطقی برای حل کردن مسائل توسط رایانه میباشد. بسیاری از نوآوریها در زمینه برنامه نویسی مانند فن آوریهای پیشرفته محاسبه وزبانها و ابزارهای پیچیده برنامه نویسی به برنامه نویسان نقشی جدید داده و بسیاری از کارهای برنامه نویسی دنیای امروز را بوجود آورده اند. عنوان و توصیف کار آنها بسته به نوع سازمانی که درآن کار میکنند متفاوت میباشد. بنابراین ، برنامه نویس رایانه به کسی اطلاق میشود که کار اصلی وی برنامه نویسی است ، اگرچه تفاوتها درمسؤولیتها و سوابق تحصیلی بسیار گسترده است.
این برنامه نویسان هستند که به رایانه ها میگویند که چه باید بکنند. به عنوان مثال از کجا اطلاعات لازم را بگیرند ، چگونه فرایندی بر روی این اطلاعات انجام دهند و از چه تجهیزاتی استفاده کنند. برنامه ها برحسب نوع اطلاعاتی که باید استفاده یا تولید کنند متفاوت میباشند. مثلا برنامه هائی که برای به روز درآوردن اطلاعات مالی به کار میروند از آنهائی که برای شبیه سازی شرایط پرواز دریک شبیه ساز رایانه ای برای تعلیم دادن به خلبانان به کار میروند کاملا متفاوت میباشند. اگرچه برنامه های ساده را میتوان در مدت چند ساعت نوشت ، برنامه هائی که از فرمولهای پیچیده ریاضی استفاده میکنند ویا داده های خود را از سیستمهای مختلف دریافت میکنند ممکن است به یک سال کار نیاز داشته باشند. در بیشتر موارد ، چندین برنامه نویس در قالب یک تیم زیر نظر یک سرپرست برنامه نویسی کار میکنند.
برنامه نویسان برنامه ها را با توجه به خصوصیاتی که به صورت اولیه توسط مهندسین نرم افزار رایانه ویا تحلیل گران سیستم تعیین شده اند مینویسند. پس از اینکه فرایند طراحی پایان میابد ، برنامه نویسان وارد عمل شده و طرح آماده شده را به یک سری از دستورالعملهای منطقی که توسط رایانه قابل پیگیریست تبدیل میکننند. آنان سپس این دستورالعملها را به رمزهای یکی از زبانهای برنامه نویسی رایانه مانند جاوا یا سی تبدیل میکنند. بسته به هدفی که برنامه دنبال میکند ، از زبانهای برنامه نویسی متفاوتی استفاده میشود. مثلا از کوبول بیشتر برای کارهای تجاری ، از فرترن در کارهای علمی و مهندسی و از سی پلاس پلاس در هر دو مورد به شکل وسیعی استفاده میشود. برنامه نویسان عموما به بیش از یک زبان برنامه نویسی تسلط دارند و از آنجائیکه بسیاری از این زبانها به هم شبیه هستند ، آنها نسبتا به سادگی میتوانند زبانهای دیگر را نیز بیاموزند. در عمل برنامه نویسان عنوان خود را یا از برنامه ای که به آن مسلط هستند میگیرند ، مانند برنامه نویس جاوا ، ویا از نوع کار یا محیطی که درآن کار میکنند مانند برنامه نویس بانک داده ها ، برنامه نویس پردازنده مرکزی ویا برنامه نویس اینترنت.
بسیاری از برنامه نویسان ، برنامه های موجود را به روزرسانی و ترمیم میکنند ویا تغییر و گسترش میدهند. آنها وقتی در قسمتی از یک کد که به آن روتین گفته میشود تغییری میدهند ، باید کاربرها را از عملکرد جدید آن روتین آگاه کنند. این کار بوسیله گنجاندن توضیحات لازم در بین کدها انجام میشود ، بدین ترتیب دیگران میتوانند عملکرد برنامه را درک کنند. بسیاری از برنامه نویسان از ابزاهای کمک مهندسی نرم افزاررایانه ای برای خودکار سازی بسیاری از عملیات کد نویسی استفاده میکنند . این ابزارها برنامه نویس را قادر میسازند تا بر روی نوشتن قطعات منحصر به فرد برنامه متمرکز شود ، چرا که این ابزارها قطعات مختلف برنامه در حال ساخت را خودکارسازی کرده وبه جای نوشتن خط به خط ، بخشهای کاملی از کدها را خود به خود بوجود میاورند. این روش باعث بوجود آمدن برنامه هائی یکدست تر و قابل اعتمادتر نیز شده و باحذف مراحل تکراری ، توان بهره وری برنامه نویسان را بالا میبرد.
برنامه نویسان برای آزمایش برنامه ، آنرا پس از نوشتن ، اجرامیکنند تا از عملکرد صحیح آن اطمینان حاصل کنند. اگر اشتباهی دراجرای برنامه وجود داشته باشد ، برنامه نویس باید آن قسمت را تغییر داده و دوباره امتحان کند تا زمانیکه برنامه درست عمل کند. به این کار اشکال زدائی دیباگ ) گویند. برنامه نویسان ممکن است این عملیات اشکال زدائی را تا زمانی که از برنامه استفاده میشود ادامه دهند.)
برنامه نویسان اغلب به دو دسته اصلی تقسیم میشوند. برنامه نویسان برنامه های اجرائی و برنامه نویسان سیستم. برنامه نویسان برنامه های اجرائی، برنامه هایی برای اجرای یک کار خاص ، مثلا صورت برداری از کالاها در یک شرکت ، مینویسند. آنها ممکن است بازنگری یک نرم افزار را به عهده بگیرند. برنامه نویسان سیستم برنامه هائی برای کنترل نرم افزاری سیستمهای رایانه ای مینویسند که دراین زمینه میتوان از سیستمهای عامل ، سیستمهای شبکه و سیستمها ی بانک داده ها نام برد. گروه اخیر ، در مجموعه دستورالعملهائی که نحوه عملکرد شبکه ، ایستگاه کاری و پردازنده مرکزی سیستم را برای اجرای دستورات وارده و نحوه دسترسی به تجهیزات جانبی مانند پایانه ها ، چاپگرها و دیسک خوانها را تعیین میکنند ، تغییرات لازم را میدهند. به دلیل داشتن دانش گسترده از تمامی سیستم رایانه ، برنامه نویسان سیستم ، به برنامه نویسان برنامه های اجرائی دریافتن ریشه مشکلاتی که دربرنامه های آنها پیش میآید کمک میکنند. برنامه نویسان شرکتهای تولید کننده نرم افزاربرای تولید نرم افزارهای سفارشی یا عمومی ، از بازیهای رایانه ای و برنامه های آموزشی گرفته تا برنامه هائی برای نشر رومیزی ، برنامه ریزی مالی ، برنامه ها ی صفحه گسترده ، با متخصصین رشته های دیگر همکاری میکنند. در بسیاری از موارد این نحوه همکاری در ایجاد بسته های نرم افزاری ، یکی از بخشهای صنعت رایانه که از بیشترین میزان رشد برخوردار است ، کاربرد دارد. در بعضی شرکتها ، بخصوص شرکتهای کوچک ، افرادی به عنوان برنامه نویس ـ تحلیل گر هم مسؤولیت برنامه نویسی و هم تحلیل سیستم را به عهده دارند. زبانهای برنامه نویسی پیشرفته و امکانات برنامه نویسی شیء گرای جدید ، بازده کاری برنامه نویسان و کاربران را افزایش داده است. امکانات رایانه های شخصی و نرم افزارهای جدید تا حدودی مرز بین کار بر و برنامه نویس را از بین برده است. به عنوان مثال بسته های نرم افزاری جدید مانند برنامه های مدیرت صفحه گسترده و بانکهای اطلاعاتی به کاربران امکان نوشتن برنامه های ساده ای را برای دسترسی به داده ها و انجام محاسبات داده است.
برنامهنویسی رایانه در فرهنگ واژه غیر متخصصین ممکن است به تمام پروژه ساخت نرمافزار یا برنامهٔ رایانهای گفته شود. با این همه برنامهنویسی تنها بخشی از فرآیند توسعه نرمافزار یا برنامه رایانهای است. اهمیت، توجه و منابع اختصاص داده شده به برنامهنویسی، بسته به ویژگیهای مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرمافزار متغیر است.
برنامهنویسی کامپیوتر (که اغلب در انگلیسی programming یا coding گفته میشود) فرآیند نوشتن، اشکال زدایی(debug) و نگهداری کد منبع (source code) برنامه کامپیوتر میباشد. این کد منبع با یک زبان برنامه نویسی نوشته شده است. این کد منبع ممکن است تغییر داده شده یک کد قبلی و یا یک کد کاملا جدید باشد. هدف برنامه نویسی ساختن یک برنامه میباشد که یک رفتار خواسته شده را به نمایش بگذارد.
نقش آنها به این صورت است که مسیول تبدیل جزییات و گزارش تمام مسایل و رویه ها به نمودارهای جریان منطقی میباشند،به این منظور که آنها را به زبان کامپیوتر تبدیل کنند.آنها همچنین برنامه های کامپیوتری را توسعه می دهند و مسیولیت نوشتن برنامه ها را هم به عهده دارند.اما برنامه نویسان کامپیوتر چه وظایفی به عهده دارند؟
وظایف:
۱-تصحیح خطاها با ایجاد تغییرات مناسب و بعد،چک کردن مجدد برنامه برای اطمینان از عدم وجود خطا.
۲-کار کردن با نسخه های آزمایشی برنامه ها برای اطمینان از اینکه درست طراحی شدند و ساختار صحیح دارند.
۳-نوشتن نسخه های اولیه و مستندسازی اولیه ی برنامه ها و بررسی های پی در پی به منظور اینکه برای همه قابل فهم باشد.
۴-نوشتن،به روز رسانی و نگهداری برنامه های کامپیوتری یا بسته های نرم افزاری برای به عهده گرفتن مشاغل خاص نظیر:ردیابی موجودی ها،ذخیره سازی داده ها و یا کنترل کردن هر نوع تجهیزات دیگری.
۵-ملاقات با مدیرعامل،مهندسین و پرسنل فنی برای توضیح دادن هدف برنامه،تشخیص مسایل و مشکلات و پیشنهادهایی برای تغییرات در صورت لزوم به آنها.
۶-گسترش دادن برنامه های موجود برای هرچه بیشتر کارا کار کردن.
۷-نوشتن،تجزیه و تحلیل،بازبینی و بازنویسی برنامه ها،استفاده از جدول جریان کار، و نمودارها و به کارگیری دانش کامپیوتری و استفاده از منطق نمادی و موضوعات گوناگون.
۸-نوشتن راهنما و دستورالعمل برای کاربران نهایی.
۹-تحقیق در مورد اینکه آیا شبکه ها،ایستگاه های کاری،واحد پردازش مرکزی سیستم و یا تجهیزات جانبی با دستورالعمل های برنامه ها هماهنگ هستند یا نه؟
۱۰-آماده کردن نمودارهای جریان کار که ورودی ها و خروجی ها و عملیات منطقی را توصیف کند و آنها را به مجموعه ای از دستورالعمل ها که به زبان کامپیوتری نوشته شدند تبدیل نماید.
۱۱-تجزیه و تحلیل سیستم ها برای نگه داری و کنترل نرم افزارهای سیستم کامپیوتری.
۱۲-با مشورت و کمک به اپراتورهای کامپیوتری یا تحلیل گران سیستم به رفع مشکلات در نرم افزارهای کامپیوتری کمک می کند.
۱۳-انتساب،هماهنگی و بررسی کار و فعالیت های کارکنان.
۱۴-همکاری با تولیدکنندگان کامپیوتر و سایر کاربرها برای توسعه و ارتقای نرم افزارهای جدید.
۱۵-آموزش زیردستان در مواردی مانند برنامه نویسی و کد کردن برنامه ها.
زبانهای برنامه نویسی:
زبانهای برنامهنویسی ساختارهای زبانی دستورمداری در رایانهها هستند که بهوسیلهٔ آنها میتوان یک الگوریتم را بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرمافزارهای جدید بوجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند.
یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، و یا روشی برای ارتباط انسانند.
اولین زبان برنامه نویسی به قبل از اختراع رایانه باز میگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامه نویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.
تعدادی از زبانهای برنامهنویسی به شمار زیر هستند :
• اسمبلی (Assembly)
• لیسپ (LISP)
• بی (B)
• بی سی پی ال (BCPL)
• سی (C)
• سیپلاسپلاس (++C)
• سی پلاس پلاس/سی ال آی(C++/CLI)
• پاسکال (Pascal)
• جاوا (Java)
• سیشارپ (#C)
• جی شارپ (#j)
• جی پلاس پلاس (++j)
• اف شارپ (#f)
• بیسیک (Basic)
• پایتون (Python)
• پرل (Perl)
• پیاچپی (PHP)
• ای اس پی (ASP)
• ای اس پی دات نت (ASP.Net)
• Matlab
• وی بی دات نت (VB .Net)
• دلفی (Delphi)
• ویژوال بیسیک (visual basic)
• لینگو (Lingo)
محیط کار
محیط کاری برنامه نویسان معمولا دفاتر کار راحت میباشد. بسیاری از برنامه نویسان برای تحویل به موقع پروژه ها وحل کردن مسائل مهم کاری ، مجبور به کار برای ساعتهای طولانی و اضافه کاری هستند. باتوجه به فن آوریهای روز ، ارتباط از راه دور برای بسیاری از متخصصین رایانه از جمله برنامه نویسان به صورت یک امر عادی در آمده است. با گسترش شبکه های رایانه ای ، برنامه نویسان بیشتری توانائی ارتباط با رایانه ی مشتری از راه دور را برای برطرف کردن ایرادها و مشکلات پیش آمده بدست آورده اند.
همانند بسیاری مشاغل دیگر ، برنامه نویسان نیز باید ساعتهای زیادی را جلو رایانه به تایپ کردن مشغول باشند که این کار آنها را مستعد خستگی چشم ، کمردرد و مشکلات دست و مچ دست مانند سندروم تونل کارپال میکند.
دروس مهارتی این رشته عبارتند از
برنامه نویسی با زبان Visual Basic – رایانه کار درجه ۱ – رایانه کار درجه ۲
دروس تکمیلی این رشته عبارتند از:
کار آفرینی –کارورزی –قانون کار – بهداشت وایمنی کار
توضیح:
برنامه نویس مستقل به فردی گفته میشود که بصورت انفرادی اقدام به انجام پروژههای کامپیوتری و نرم افزاری بصورت قرار دادهای کوتاه مدت انجام میدهد. با توجه به رشد روز افزون صنعت نرم افزار و تکنولوژیهای مربوطه، نیاز به برنامه نویسان، طراحان و مشاغل مربوط به این صنعت و تکنولوژی هر روز بیشتر میشود. این تقاضا به قدری است که امروزه هر فردی برای انجام کارهای روزمره خود نیاز به کامپیوتر را احساس میکند. دیگر اجرا و انجام پروژهها و برنامهها مختص به سازمانها و ارگانهای بزرگ نیست! امروزه حتی یک فرد عادی نیز، برای انجام محاسبات کاری روزمره احتیاج به کامپیوتر و برنامه نویسی دارد. بطور مثال ممکن است مهندسی نیاز به برنامه مخصوصی داشته باشد که مقادیری را محسابه و تجزیه تحلیل نماید و این برنامه را در بین برنامههای تجاری ارائه شده در بازار پیدا نکند و یا مثال بسیار ساده تر پروژههای دانشجویی میباشد که یک دانشجو برای موفقیت در دروس خود باید انجام دهد اما در اکثر مواقع بخاطر کم تجربگی نیاز به کمک در انجام پروژه دارد… با توجه به این رشد و تقاضا، نیاز به ساختار جدیدی حس میشود که پاسخگوی درخواست برنامه نویسی بصورت تخصصی یا مستقل باشد.