برنامه‌نویس

برنامه‌نویس‌های دانشجو در موسسه فناوری در آلمان سال ۱۹۷۰
یک برنامه‌نویس ، برنامه‌نویس رایانه ، توسعه دهنده ، کد نویس ، یا مهندس نرم‌افزار کسی است که نرم‌افزار رایانه می‌نویسد. عبارت برنامه‌نویس رایانه می‌تواند به یک متخصص در زمینه‌ای از برنامه‌نویسی یا یک شخص دارای سررشته که برای بسیاری از گونه‌های نرم‌افزار کد می‌نویسد اشاره کند. شخصی که یک روش رسمی برای برنامه‌نویسی تمرین یا تدریس می‌کند همچنین می‌تواند به عنوان یک تحلیل‌گر برنامه‌نویس شناخته شود. زبان برنامه‌نویسی اصلی یک برنامه‌نویس (کوبول، سی، سی++، سی شارپ، جاوا، لیسپ، پایتون، غیره) اغلب دارای پیشوندی به این نام‌ها است، و کسانی که در محیط وب کار می‌کنند اغلب عنوان‌هایشان را با پیشوند وب می‌نویسند. عبارت برنامه‌نویس می‌تواند برای اشاره به یک توسعه دهنده نرم‌افزار، توسعه دهنده وب، توسعه‌دهنده اپلیکیشن‌های تلفن همراه، توسعه دهنده سفت‌افزار تعبیه‌شده، مهندس نرم‌افزار، دانشمند رایانه یا تحلیل‌گر نرم‌افزار به کار برده شود. هرچند، اعضای این حرفه‌ها دارای دیگر مهارت‌های مهندسی نرم‌افزار، جدا از برنامه‌نویسی هستند؛ به همین دلیل، عبارت برنامه‌نویس یا کد مانکی بعضی وقت‌ها توهین یا ساده‌گیری تحقیرآمیز این دیگر حرفه‌ها در نظر گرفته‌می‌شود. این مسئله بحث‌های زیادی میان توسعه دهنده‌ها، تحلیل‌گرها، دانشمندان رایانه، برنامه‌نویس‌ها و کسانی که همچنان سردرگم در تفاوت‌های ظریف در معانی این حرفه‌ها هستند برانگیخته است.
ایدا لاولیس، نخستین برنامه‌نویس رایانه در نظر گرفته می‌شود.
ایدا لاولیس، ریاضی‌دان و کنتس انگلیسی نخستین برنامه‌نویس رایانه در نظر گرفته می‌شود، زیرا او نخستین شخصی بود یک الگوریتم را به قصد پیاده‌سازی روی موتور تحلیلی چارلز ببیج، در اکتبر ۱۸۴۲، به قصد محاسبه عدد برنولی نوشت و منتشر کرد. چون که ماشین ببیج هرگز برای عملکرد استاندارد در زمان لاویس کامل نشد، او هرگز اجرای الگوریتم خود را ندید.
نخستین شخصی که یک برنامه را روی یک عملکرد الکترونیکی مدرن مبتنی بر رایانه اجرا کرد دانشمند رایانه کنراد تسوزه در سال ۱۹۴۱ بود.
تیم برنامه‌نویسی انیاک، شامل کاتلین انتونلی، ژان بارتیک، بتی هالبرتن، مارلین ملتزر، فرانسیس اسپنس و روث تیتلبام نخستین اشخاصی بودند که به‌طور منظم برنامه‌نویسی کار می‌کردند.
روز بین‌المللی برنامه‌نویس‌ها هر سال در ۷ ژانویه جشن گرفته‌می‌شود. در سال ۲۰۰۹، دولت روسیه فرمان داد تا هر سال یک روز تعطیل حرفه‌ای که با نام روز برنامه‌نویسان شناخته می‌شود در ۱۳ سپتامبر (۱۲ سپتامبر در سال‌های کبیسه) جشن گرفته شود. این روز همچنین پیش از آن یک روز تعطیل بین‌المللی غیررسمی بوده‌است.
ماهیت کار
بعضی قسمت‌های این بخش از ، ویرایش ۲۰۰۶–۲۰۰۷، آمده‌است که در مالکیت عمومی به عنوان اثری از دولت ایالات متحده آمریکا است.
جاوا.
برنامه‌نویس‌های رایانه می‌نویسند، آزمایش می‌کنند، اشکال‌زدایی می‌کنند و از دستورالعمل‌های دقیق، که برنامه‌های رایانه‌ای گفته می‌شوند و رایانه باید از آن‌ها برای اجرا توابع‌شان پیروی کنند، نگهداری می‌کنند. برنامه‌نویس‌ها همچنین تصور می‌کنند، طراحی می‌کنند و ساختارهای منطقی را برای برطرف کردن اشکال‌ها توسط رایانه آزمایش می‌کنند. بسیاری از نوآوری‌های فنی در برنامه‌نویسی — فناوری‌های رایانش پیشرفته، زبان‌های تازه پیچیده و ابزارهای برنامه‌نویسی — نقش برنامه‌نویس را دوباره تعریف کرده‌اند و بسیاری از کارهای برنامه‌نویسی که امروزه انجام می‌شوند را بسیار بهتر کرده‌اند. عنوان‌های شغلی و توصیف‌ها با توجه به آن سازمان ممکن است متفاوت باشند.
برنامه‌نویس‌ها در بسیاری از محیط‌ها، از جمله بخش‌های سازمان فناوری اطلاعات، شرکت‌های نرم‌افزاری بزرگ، شرکت‌های خدمت‌رسانی کوچک و نهادهای دولتی کار می‌کنند. بسیاری از برنامه‌نویس‌های حرفه‌ای همچنین برای شرکت‌های مشاوره‌ای در محل‌های خدمت گیرنده به عنوان پیمانکار کار می‌کنند. اجازه‌نامه به‌طور معمول برای کار کردن به عنوان یک برنامه‌نویس نیاز نیست، اگرچه گواهی‌نامه‌های حرفه‌ای به‌طور معمول توسط برنامه‌نویس گرفته می‌شوند. برنامه‌نویسی به‌طور گسترده یک حرفه در نظر گرفته‌می‌شود (هرچند بعضی از مقامات بر این اساس که فقط شغل‌هایی که پروانه قانونی نیاز دارند به عنوان یک حرفه به حساب آیند اختلاف نظر دارند).
کار برنامه‌نویس‌ها به‌طور گسترده‌ای بسته به نوع کسب و کاری که آن‌ها برای آن برنامه می‌نویسند متفاوت است. برای نمونه، دستورالعمل‌های درگیر در به‌روزرسانی سوابق مالی بسیار متفاوت از تکثیر کردن شرایط در یک هواپیما برای آموزش خلبانان در یک شبیه‌ساز پرواز هستند. برنامه‌های ساده می‌توانند در چند ساعت نوشته شوند، آنهایی که پیچیدگی بیشتری دارند ممکن است بیش از یک سال کار نیاز داشته‌باشند، این در حالی است که دیگر برنامه‌ها هرگز کامل در نظر گرفته نمی‌شوند بلکه به‌طور مداوم تا زمانی که از آن‌ها استفاده می‌شود بهبود می‌یابند. در بیشتر موارد، چندین برنامه‌نویس با یکدیگر زیر نظر یک برنامه‌نویس ارشد به عنوان یک تیم کار می‌کنند.
برنامه‌نویس‌ها مطابق مشخصات فنی که در درجه اول توسط برنامه‌نویس‌های ارشد و تحلیل‌گرهای سیستم بیشتر تعیین شده‌اند برنامه می‌نویسند. پس از تکمیل فرایند طراحی، کار برنامه‌نویس است که آن طراحی را به دنباله‌های منطقی از دستورالعمل‌هایی که رایانه بتواند پیروی کند تبدیل کند. برنامه‌نویس کد این دستورالعمل‌ها را به یکی از بسیار زبان برنامه‌نویسی می‌نویسد. زبان‌های برنامه‌نویسی گوناگون بسته به هدف برنامه استفاده می‌شوند. کوبول، برای نمونه، به‌طور معمول برای اپلیکیشن‌های تجاری که معمولا روی بزرگ‌رایانه و رایانه کوچک اجرا می‌شوند استفاده می‌شود؛ در حالی که، فورترن در علم و مهندسی استفاده می‌شود. سی++ به‌طور گسترده برای هر دو اپلیکیشن‌های علمی و تجاری کاربرد دارد. جاوا، سی شارپ، ویژوال بیسیک و پی‌اچ‌پی زبان‌های برنامه‌نویسی محبوبی برای وب و نرم‌افزارهای کاربردی تجاری هستند. برنامه‌نویس‌ها عموما بیش از یک زبان برنامه‌نویسی می‌دانند، و چون بیشتر زبان‌ها مشابه یکدیگر هستند، اغلب نسبتا به آسانی زبان‌های تازه را فرا می‌گیرند. در عمل، برنامه‌نویس‌ها اغلب با زبانی که می‌دانند نسبت داده‌می‌شوند، برای نمونه برنامه‌نویس‌های جاوا، یا با نوع وظیفه‌ای که انجام می‌دهند یا محیطی که در آن کار می‌کنند، برای نمونه، برنامه‌نویس‌های پایگاه داده‌ها، برنامه‌نویس‌های بزرگ‌رایانه یا توسعه‌دهنده‌های وب.
زمانی که در کد منبع، چیزی که برنامه‌ها از آن ساخته شده‌اند تغییر ایجاد شود، برنامه‌نویس‌ها باید دیگر برنامه‌نویس‌ها را از وظیفه‌ای که روزمره انجام می‌شود آگاه کنند. آن‌ها این کار را با نوشتن توضیحات در کد منبع و مستندسازی کدشان انجام می‌دهند؛ بنابراین، دیگر برنامه‌نویس‌ها برنامه را با آسانی بیشتر درک می‌کنند. برای صرفه‌جویی در کار، برنامه‌نویس‌ها اغلب از کتابخانه‌های کد پایه که می‌توانند تغییر یابند یا برای نرم‌افزار کاربردی مشخص سفارشی شوند استفاده می‌کنند. نتیجه این روش برنامه‌های قابل اطمینان‌تر و سازگارتر است و همین‌طور سودمندی برنامه را با حذف برخی از مرحله‌های روزمره افزایش می‌دهد.
آزمون و اشکال‌زدایی
برنامه‌نویس‌ها برنامه را با اجرای آن و دنبال اشکال‌ها (خطاها) گشتن می‌آزمایند. زمانی که اشکال‌ها مشخص شدند، برنامه‌نویس معمولا اصلاحات مناسب را ایجاد می‌کند، سپس برنامه را دوباره تا وقتی که یک سطح پایین و شدت قابل قبول از اشکال‌ها باقی بماند بررسی می‌کند. این فرایند را آزمودن و اشکال‌زدایی می‌گویند. اینها بخش‌های مهم از وظیفه هر برنامه‌نویس است. برنامه‌نویس‌ها می‌توانند به برطرف کردن این اشکال‌ها سراسر زندگی یک برنامه ادامه دهند. به‌روزرسانی، تعمیر، ویرایش و گسترش برنامه‌های موجود بعضی وقت‌ها برنامه‌نویسی تعمیر و نگهداری نامیده می‌شود. برنامه‌نویس‌ها می‌توانند در راهنماهای کاربر و راهنمای برخط همکاری کنند، یا می‌توانند با نویسنده فنی برای انجام چنین کاری کار کنند.
برنامه‌نویسی نرم‌افزار کاربردی در مقابل برنامه‌نویسی سیستم
برنامه‌نویس‌های رایانه اغلب به دو گروه گسترده تقسیم می‌شوند: برنامه‌نویس‌های نرم‌افزار کاربردی و برنامه‌نویس‌های سیستم. برنامه‌نویس‌های نرم‌افزار کاربردی برنامه‌هایی می‌نویسند تا به وظیفه مشخصی رسیدگی کنند، مانند برنامه‌ای برای پی‌گیری سیاهه در یک سازمان. این گروه از برنامه‌نویس‌ها همچنین می‌توانند نرم‌افزار بسته‌بندی‌شده را اصلاح کنند یا نرم‌افزارهای کاربردی عمومی را که مکررا از فروشنده‌های نرم‌افزار مستقل خریداری می‌شوند سفارشی کنند. در حالی که، برنامه‌نویس‌های سیستم، برنامه‌هایی برای نگهداری و بررسی نرم‌افزار سیستم‌های رایانه‌ای می‌نویسند، مانند سیستم‌های عامل و سامانه‌های مدیریت پایگاه داده‌ها. این گروه از برنامه‌نویس‌ها در دستورالعمل‌هایی که مشخص می‌کنند چگونه شبکه، پایانه‌های رایانه رومیزی (معمولا شبکه شده و قدرتمندتر از رایانه شخصی هستند) و واحد پردازش مرکزی سیستم وظیفه‌های گوناگونی که به آن‌ها داده شده‌اند را رسیدگی می‌کنند و چگونه با تجهیزات جانبی مانند چاپگرها و دیسک‌گردان ارتباط برقرار می‌کنند تغییر ایجاد می‌کنند.
برنامه‌نویس بازی
فرایند توسعه نرم‌افزار
مهندسی نرم‌افزار
مدیر سیستم
برنامه‌نویس وب
برنامه‌نویس بانک اطلاعاتی