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