Компьютерный программист , иногда называемый разработчиком программного обеспечения , программист или более недавно кодировщик (особенно в более неформальном контексте), это человек , который создает программное обеспечение . Термин компьютерный программист может относиться к специалисту в одной области компьютеров или к специалисту широкого профиля, который пишет код для многих типов программного обеспечения.
Занятие | |
---|---|
Имена | Компьютерный программист |
Тип занятия | Профессия |
Сферы деятельности | Информационные технологии , Программное обеспечение |
Описание | |
Компетенции | Написание и отладка компьютерного кода, задачи по документации. Часто выполняются некоторые проектные и опытно-конструкторские работы. |
Требуется образование | Зависит от ученичества до степени бакалавра в смежной области |
Наиболее часто используемый программиста, язык программирования (например, Ассамблея , COBOL , C , C ++ , C # , JavaScript , Lisp , Python , Java ) может быть приставкой к термину программатора . Некоторые, кто работает с языками веб-программирования, также добавляют в свои заголовки префикс web .
История
Британский Графиня и математик Ада Лавлейс часто считается первым программистом, так как она была первой , чтобы опубликовать часть программы ( в частности , алгоритма ) , предназначенной для реализации на Чарльза Бэббиджа «s аналитической машины , в октябре 1842. Алгоритм был используется для вычисления чисел Бернулли . [1] Поскольку машина Бэббиджа так и не была завершена как действующий стандарт во времена Лавлейса, у нее никогда не было возможности увидеть алгоритм в действии.
Первым, кто выполнил программу на работающем современном электронном компьютере, был ученый-компьютерщик Конрад Цузе в 1941 году.
Команда программирования ENIAC , состоящая из Кей МакНалти , Бетти Дженнингс , Бетти Снайдер , Марлин Вескоф , Фрэн Билас и Рут Лихтерман, была первыми программистами, которые регулярно работали. [2] [3]
Софтверная индустрия
Первой компанией, основанной специально для предоставления программных продуктов и услуг, была компания Computer Usage Company в 1955 году. До этого времени компьютеры программировали либо заказчики, либо несколько производителей коммерческих компьютеров того времени, такие как Sperry Rand и IBM . [4]
Индустрии программного обеспечения расширена в начале 1960 - х годов, почти сразу же после того, как компьютеры были впервые проданы в серийных количествах. Университеты, правительства и предприятия создали спрос на программное обеспечение. Многие из этих программ были написаны штатными программистами, работающими на полную ставку; некоторые из них распределялись между пользователями конкретной машины бесплатно, а другие продавались на коммерческой основе. Другие фирмы, такие как Computer Sciences Corporation (основанная в 1959 г.), также начали расти. Производители компьютеров вскоре начали объединять операционные системы , системное программное обеспечение и среды программирования со своими машинами; IBM 1620 пришел с 1620 Символическим системным программированием и FORTRAN . [5]
Отрасль значительно расширилась с появлением персональных компьютеров (ПК) в середине 1970-х годов, которые предоставили вычисления для среднего офисного работника. В последующие годы ПК также помог создать постоянно растущий рынок игр, приложений и служебных программ. Это привело к увеличению спроса на разработчиков программного обеспечения на тот период времени. [6]
В первые годы 21 века возникла еще одна успешная бизнес-модель для размещенного программного обеспечения, которая получила название « программное обеспечение как услуга» или SaaS. С точки зрения производителей некоторых проприетарных программ , SaaS снижает опасения по поводу несанкционированного копирования , поскольку доступ к нему возможен только через Интернет, и по определению никакое клиентское программное обеспечение не загружается на ПК конечного пользователя. SaaS обычно работает из облака . [ необходима цитата ]
Характер работы
Компьютерные программисты пишут, тестируют, отлаживают и поддерживают подробные инструкции, называемые компьютерными программами , которым компьютеры должны следовать для выполнения своих функций. Программисты также придумывают, проектируют и тестируют логические структуры для решения задач с помощью компьютера. Многие технические новшества в программировании - передовые вычислительные технологии и новые сложные языки и инструменты программирования - изменили роль программиста и повысили уровень выполняемой сегодня работы по программированию. Названия должностей и описания могут отличаться в зависимости от организации. [7]
Программисты работают во многих сферах, включая корпоративные отделы информационных технологий (ИТ), крупные компании-разработчики программного обеспечения , небольшие сервисные компании и государственные учреждения любого размера. Многие профессиональные программисты также работают в консалтинговых компаниях на сайтах клиентов в качестве подрядчиков . Лицензирование обычно не требуется для работы программистом, хотя профессиональные сертификаты обычно имеют программисты. Программирование широко считается профессией (хотя некоторые [ кто? ] Авторитеты не согласны с этим на том основании, что профессией считается только карьера с юридическими требованиями к лицензированию). [7]
Работа программистов сильно различается в зависимости от типа бизнеса, для которого они пишут программы. Например, инструкции, связанные с обновлением финансовых отчетов, сильно отличаются от инструкций, необходимых для дублирования условий на самолете для обучения пилотов на имитаторе полета. Простые программы могут быть написаны за несколько часов, более сложные могут потребовать более года работы, в то время как другие никогда не считаются «завершенными», а, скорее, постоянно улучшаются, пока они используются. В большинстве случаев несколько программистов работают вместе как команда под руководством старшего программиста. [ необходима цитата ]
Программисты пишут программы в соответствии со спецификациями, определяемыми в первую очередь более старшими программистами и системными аналитиками . После завершения процесса проектирования работа программиста состоит в том, чтобы преобразовать этот проект в логическую серию инструкций, которым может следовать компьютер. Программист кодирует эти инструкции на одном из многих языков программирования. В зависимости от цели программы используются разные языки программирования. COBOL , например, обычно используется для бизнес-приложений, которые обычно работают на мэйнфреймах и компьютерах среднего уровня , тогда как Fortran используется в науке и технике. C ++ и Python широко используются как для научных, так и для бизнес-приложений. Java , C # , JS и PHP - популярные языки программирования для веб-приложений и бизнес-приложений. Программисты обычно знают более одного языка программирования, и, поскольку многие языки похожи, они часто могут относительно легко изучать новые языки. На практике, программист часто называют языком , они знают, например , как Java - программисты , или по типу функции , которую они выполняют , или среды , в которой они работают, например, базы данных программистов , мэйнфреймы программистов или веб - разработчики . [ необходима цитата ]
When making changes to the source code that programs are made up of, programmers need to make other programmers aware of the task that the routine is to perform. They do this by inserting comments in the source code so that others can understand the program more easily and by documenting their code. To save work, programmers often use libraries of basic code that can be modified or customized for a specific application. This approach yields more reliable and consistent programs and increases programmers' productivity by eliminating some routine steps.[citation needed]
Testing and debugging
Programmers test a program by running it and looking for bugs (errors). As they are identified, the programmer usually makes the appropriate corrections, then rechecks the program until an acceptably low level and severity of bugs remain. This process is called testing and debugging. These are important parts of every programmer's job. Programmers may continue to fix these problems throughout the life of a program. Updating, repairing, modifying, and expanding existing programs is sometimes called maintenance programming. Programmers may contribute to user guides and online help, or they may work with technical writers to do such work.
Application versus system programming
Computer programmers often are grouped into two broad types: application programmers and systems programmers. Application programmers write programs to handle a specific job, such as a program to track inventory within an organization. They also may revise existing packaged software or customize generic applications which are frequently purchased from independent software vendors. Systems programmers, in contrast, write programs to maintain and control computer systems software, such as operating systems and database management systems. These workers make changes in the instructions that determine how the network, workstations, and CPU of the system handle the various jobs they have been given and how they communicate with peripheral equipment such as printers and disk drives.
Qualifications and skills
A programmer needs to have technical expertise with certain aspects of computing. Some positions will require a degree in a relevant field such as computer science, information technology, engineering, programming, or other related studies.
Types of software
Programmers may work directly with experts from different fields to create software – either programs designed for specific clients or packaged software for general use – ranging from video games to educational software to programs for desktop publishing or financial applications. Programming of packaged software constitutes one of the most rapidly growing segments of the computer services industry. Some companies or organizations – even small ones – have set up their own IT team to ensure the design and development of in-house software to answer to very specific needs from their internal end-users, especially when existing software are not suitable or too expensive. This is, for example, the case in research laboratories.[citation needed]
In some organizations, particularly small ones, people commonly known as programmer analysts are responsible for both the systems analysis and the actual programming work. The transition from a mainframe environment to one that is based primarily on personal computers (PCs) has blurred the once rigid distinction between the programmer and the user. Increasingly, adept end-users are taking over many of the tasks previously performed by programmers. For example, the growing use of packaged software, such as spreadsheet and database management software packages, allows users to write simple programs to access data and perform calculations.[citation needed]
In addition, the rise of the Internet has made web development a huge part of the programming field. Currently, more software applications are web applications that can be used by anyone with a web browser.[citation needed] Examples of such applications include the Google search service, the Outlook.com e-mail service, and the Flickr photo-sharing service.
Programming editors, also known as source code editors, are text editors that are specifically designed for programmers or developers for writing the source code of an application or a program. Most of these editors include features useful for programmers, which may include color syntax highlighting, auto indentation, auto-complete, bracket matching, syntax check, and allows plug-ins. These features aid the users during coding, debugging and testing.[8]
Глобализация
Market changes in the UK
According to BBC News, 17% of computer science students could not find work in their field 6 months after graduation in 2009 which was the highest rate of the university subjects surveyed while 0% of medical students were unemployed in the same survey.[9]
Market changes in the US
After the crash of the dot-com bubble (1999–2001) and the Great Recession (2008), many U.S. programmers were left without work or with lower wages.[10] In addition, enrollment in computer-related degrees and other STEM degrees (STEM attrition)[11] in the US has been dropping for years, especially for women,[12] which, according to Beaubouef and Mason,[13] could be attributed to a lack of general interest in science and mathematics and also out of an apparent fear that programming will be subject to the same pressures as manufacturing and agriculture careers. The U.S. Bureau of Labor Statistics Occupational Outlook 2014-24 predicts a decline for Computer Programmers of -8 percent, then for 2016-26 predicts a decline of -7 percent, and finally predicts a decline of -9 percent from 2019 to 2029.[7]
Смотрите также
- Game programmer
- List of programmers
- List of programming languages
- Software development process
- Software engineering
- System administrator
Рекомендации
- ^ a b Fuegi, J.; Francis, J. (October–December 2003). "Lovelace & Babbage and the creation of the 1843 'notes'". IEEE Annals of the History of Computing. 25 (4): 16–26. doi:10.1109/MAHC.2003.1253887.
- ^ "Memorials". Eniacprogrammers.org. Retrieved 13 March 2021.
- ^ "ABC News: First Computer Programmers Inspire Documentary". Abcnews.go.com. 4 December 2007. Retrieved 13 March 2021.
- ^ Elmer C. Kubie (Summer 1994). "Recollections of the first software company". Annals of the History of Computing. 16 (2): 65–71. doi:10.1109/85.279238. S2CID 5733812.
- ^ "IBM Archives: 1620 Data Processing System". www.ibm.com. 23 January 2003. Retrieved 17 March 2021.
- ^ Bureau, US Census. "Occupations in Information Technology". The United States Census Bureau. Retrieved 21 March 2021.
- ^ a b c "Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics". www.bls.gov. Retrieved 13 March 2021.
- ^ "BBC Bitesize - GCSE Computer Science - Programming software and the IDE - Revision 4". www.bbc.co.uk. Retrieved 13 March 2021.
- ^ Shankleman, Martin (1 July 2010). "'One in 10' UK graduates jobless". Retrieved 13 March 2021 – via www.bbc.co.uk.
- ^ Mann, Amar; Nunes, Tony (August 2009). "After the Dot-Com Bubble: Silicon Valley High-Tech Employment and Wages in 2001 and 2008" (PDF). Regional Report, U.S. Bureau of Labor Statistics: 1–8. Retrieved 13 March 2021.
- ^ "STEM Attrition: College Students' Paths Into and Out of STEM Fields". nces.ed.gov. 26 November 2013. Retrieved 13 March 2021.
- ^ "hp's Developer Portal | HP International Women's Week: Women in Computer Science dropping since 1980s". developers.hp.com. Retrieved 13 March 2021.
- ^ Beaubouef, Theresa; Mason, John (June 2005). "Why the high attrition rate for computer science students: some thoughts and observations". ACM SIGCSE Bulletin. 37 (2): 103–106. doi:10.1145/1083431.1083474.
дальнейшее чтение
- Weinberg, Gerald M., The Psychology of Computer Programming, New York: Van Nostrand Reinhold, 1971
- An experiential study of the nature of programming work: Lucas, Rob. "Dreaming in Code" New Left Review 62, March–April 2010, pp. 125–132.
- Thompson, Clive (2019). Coders: The Making of a New Tribe and the Remaking of the World. Penguin Press. ISBN 978-0735220560.
Внешние ссылки
- The US Department of Labor description of:
- Computer programmers
- Software developers