SlideShare a Scribd company logo
1 of 8
Download to read offline
Programmer
A computer programmer , sometimes called a software developer ,
programmer , or more recently coder (especially in more informal contexts), is
a person who creates computer software . The term computer programmer
can refer to a specialist in one area of ​
​
computing or to a generalist who writes
code for many types of software.
A programmer's commonly used computer language (eg, Assembly, COBOL,
C , C++ , C# , JavaScript , Lisp, Python ) may be prefixed to the term
programmer . Some who work with web programming languages ​
​
also prefix
their titles with web .
History
Many consider Ada Lovelace to be the first computer programmer. British
countess and mathematician Ada Lovelace is often considered the first
computer programmer. She was the first to publish part of a program (more
precisely, an algorithm ) intended for the implementation of Charles Babbage
's analytical engine , in October 1842. The same algorithm was used to
calculate the Bernoulli numbers. [1] But in Lovelace's time, the Babbage
machine was never completed as a working standard. So Ada Lovelace never
got the chance to see the algorithm in action.
The first scientist to program a functional, modern, electronic computer was
computer scientist Konrad Zuse , in 1941.
The ENIAC programming team , consisting of Kay McNultho, Betty Jennings,
Betty Snydet, Marlene Weskoff, Fran Bilas, and Ruth Lichterman, were the
first regular programmers to work.
Software Industry
The first company founded specifically to provide software products and
services was the Computer Use Company in 1955. Before that time,
computers were programmed either by customers or by the few commercial
computer manufacturers of the time, such as Sperry Rand and IBM . [4]
The software industry expanded in the early 1960s, almost immediately after
computers were first sold in mass-produced quantities. Universities,
governments and businesses have created a demand for software. Many of
these programs were written by in-house programmers; some were distributed
among users of a particular machine without charging for the same, while
others were sold on a commercial basis. Other firms, such as the Computer
Science Corporation (founded in 1959), also began to grow. Computer
manufacturers soon began to bundle operating systems , system software,
and programming environments with their devices. The industry expanded
with the rise of the personal computer (PC) in the mid-1970s, which brought a
computer to the average office worker. In the following years, the PC also
helped create an ever-growing market for games, applications, and software
services. In the early years of the 21st century, another successful business
model emergedfor hosted software, called software as a service or SaaS.
From the point of view of the producers of some commercial software, SaaS
reduces concerns about unauthorized copying, because it can only be
accessed over the Internet, and by definition, no client software is loaded on
the end user's computer. SaaS usually works externally, that is, on the cloud.
Nature of work
Computer programmers write, test, debug, and maintain detailed instructions,
called computer programs , that computers must follow to perform their
functions. Programmers also conceive, design, and test logical structures for
computer problem solving. Many technical innovations in
programming—advanced computer technologies and sophisticated new
languages ​
​
and programming tools—have redefined the role of the
programmer and elevated much of the programming work done today. Job
titles and descriptions may vary, depending on the organization.
Developers work in many settings, including corporate information technology
(IT) departments, large software companies, small service firms, and
government entities of all sizes. Many professional developers also work for
consulting companies on client sites as contractors. . A license is not usually
required to work as a developer, although developers usually hold
professional certifications. Programming is widely considered a profession
(although some authorities disagree on the grounds that only professions with
statutory licensing requirements are considered professions).
The work of programmers varies greatly depending on the type of business
they write programs for. For example, the instructions involved in updating
financial records are very different from those required to duplicate aircraft
conditions for pilots training in a flight simulator. Simple programs can be
written in a few hours, more complex ones can take more than a year of work,
while others are never considered "complete" but are improved continuously
as long as they remain in use. In most cases, several developers work
together as a team under the supervision of a senior and more experienced
developer.
A software engineer who writes JavaScript
Programmers write programs according to specifications determined primarily
by senior programmers and system analysts. Once the design process is
complete, the programmer's job is to turn that design into a logical series of
instructions that the computer can follow. The programmer codes these
instructions in one of many programming languages. Different programming
languages ​
​
are used depending on the purpose of the program, for example,
COBOL is commonly used for business applications that typically run on
mainframes and mid-range computers, while Fortan is used in science and
engineering. C++ and Python are widely used for both scientific and business
applications. Java , C# , JSand PHP are popular programming languages ​
​
for
web and business applications. Programmers generally know more than one
programming language and, because many languages ​
​
are similar, they can
often learn new languages ​
​
relatively easily. In practice, programmers are often
referred to by the language they know, e.g., as Java programmers , or by the
type of function they perform or the environment in which they work: for
example, database programmers , network programmers , or web developers
When making changes to the source code from which programs are compiled,
developers should inform other developers. They do this by inserting
comments into the source code so that others can understand the program
more easily, or they can inform them by documenting their code. To save
work, developers often use code-base libraries that can be modified or
customized for a particular application. This approach yields more reliable and
consistent programs and increases developer productivity by eliminating some
routine steps.
Testing and Debugging
Developers test a program by running it and looking for bugs. As they are
identified, the programmer usually makes the appropriate corrections and then
checks the program until the level and severity of the errors remain acceptably
low. This process is called testing and debugging. These are important parts
of any developer's job. Developers may continue to address these issues
throughout the life of the program. Updating, repairing, modifying, and
extending existing programs is sometimes called maintenance programming .
Developers may contribute to the creation of user guides, online help, or may
work with technical writers to perform such work.
Application vs. System Programming
Computer programmers are often grouped into two broad types: application
programmers and systems programmers. Application developers write
programs to manage a specific job, such as a program to track inventory
within an organization. They can also audit existing packaged software or
customize generic applications that are often purchased from independent
software vendors. In contrast, systems programmers write programs to
maintain and control software for computer systems, such as operating
systems and database management systems . These workers make changes
to the instructions that determine how the network, workstations, and
processorhow the system handles the various work tasks given to them and
how they interact with peripheral equipment such as printers and disk drives.
Qualifications and Skills
A programmer should have technical expertise with certain aspects of
computers. Some positions require a bachelor's degree in a related field such
as computer science, information technology, engineering, programming, or
other related studies. The ideal programmer is one who has hands-on
experience with key programming languages ​
​
such as C++ , C# , PHP , Java ,
C , JavaScript , Visual Basic , Python , and Smalltalk.
Types of software
Developers can work directly with experts in a variety of fields to create
software—either programs designed for specific customers or packaged
software for general use—ranging from video games to educational software
to desktop publishing programs or financial applications. Packaged software
programming is one of the fastest growing segments of the computer services
industry. Some companies or organizations - even small ones - form their own
IT team to provide internal software design and development to meet the very
specific needs of their internal end users, especially when the existing
software is not suitable or too expensive. This is, for example, the case in
research laboratories. In some organizations, especially small ones, people
known as programmer analysts are responsible for both systems analysis and
the actual work of programming. The shift from a mainframe environment to
one based primarily on personal computers (PCs) has blurred the once rigid
distinction between programmer and user. Increasingly, skilled end users are
taking over many of the tasks previously performed by developers. For
example, the increasing use of packaged software, such as spreadsheet and
database management software packages, allows users to write simple
programs to access data and perform calculations. In addition, the rise of the
Internet has made web development a huge part of the programming field.
Currently, most software applications are web-based applications that can be
used by anyone with abrowser. Examples of such applications
includeGooglesearch,the Outlook.com email service, and the Flickr
photo-sharing service.
Program editors, also known as source code editors, are text editors that are
specifically designed for developers or programmers to write the source code
of an application or program. Most of these editors include features useful for
developers, which may include color-coded syntax highlighting,
auto-indentation, auto-completion, bracket matching, syntax checking, and
plugin permission. These features help users during coding, debugging and
testing. [6]
Globalization
According to BBC News, 17% of computer science students were unable to
find work in their field 6 months after graduating in 2009, the highest rate of
any university subject surveyed, while 0% of medical students were
unemployed in the same survey.
Software
Programmer.pdf

More Related Content

Similar to Programmer.pdf

Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
jessiehampson
 
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate0112eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
Ankush Kumar
 
Application software
Application softwareApplication software
Application software
ALia Anuar
 
Cibm bis work shop 2 chapter five
Cibm bis   work shop 2 chapter fiveCibm bis   work shop 2 chapter five
Cibm bis work shop 2 chapter five
Shaheen Khan
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cpp
meharikiros2
 
Unit 12 section 1 - computer programming
Unit 12   section 1 - computer programmingUnit 12   section 1 - computer programming
Unit 12 section 1 - computer programming
dlwadsworth
 

Similar to Programmer.pdf (20)

Application Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdfApplication Developer vs Software Developer_ Understanding the Differences.pdf
Application Developer vs Software Developer_ Understanding the Differences.pdf
 
Computer software is defined .docx
Computer software is defined       .docxComputer software is defined       .docx
Computer software is defined .docx
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
 
Software
SoftwareSoftware
Software
 
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate0112eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
12eb50e2-6ffd-41a0-ac74-d6c77b516b5d-150409094316-conversion-gate01
 
job job
job jobjob job
job job
 
Application software
Application softwareApplication software
Application software
 
Unit1
Unit1Unit1
Unit1
 
Computer Software Ultimate History and Benefits
Computer Software Ultimate History and BenefitsComputer Software Ultimate History and Benefits
Computer Software Ultimate History and Benefits
 
Software
Software Software
Software
 
computer Unit 6
computer Unit 6computer Unit 6
computer Unit 6
 
Cibm bis work shop 2 chapter five
Cibm bis   work shop 2 chapter fiveCibm bis   work shop 2 chapter five
Cibm bis work shop 2 chapter five
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Software
SoftwareSoftware
Software
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Computer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cppComputer_Programming_Fundamentals in cpp
Computer_Programming_Fundamentals in cpp
 
main
mainmain
main
 
BCS 100: Introduction to Computer Science Lesson 2
BCS 100: Introduction to Computer Science Lesson 2BCS 100: Introduction to Computer Science Lesson 2
BCS 100: Introduction to Computer Science Lesson 2
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
 
Unit 12 section 1 - computer programming
Unit 12   section 1 - computer programmingUnit 12   section 1 - computer programming
Unit 12 section 1 - computer programming
 

More from dar i arqam

What are nutritional supplements.pdf
What are nutritional supplements.pdfWhat are nutritional supplements.pdf
What are nutritional supplements.pdf
dar i arqam
 
Weekly menu for type 2 diabetes.pdf
Weekly menu for type 2 diabetes.pdfWeekly menu for type 2 diabetes.pdf
Weekly menu for type 2 diabetes.pdf
dar i arqam
 
Proper nutrition for weight loss_ a menu for every day.pdf
Proper nutrition for weight loss_ a menu for every day.pdfProper nutrition for weight loss_ a menu for every day.pdf
Proper nutrition for weight loss_ a menu for every day.pdf
dar i arqam
 
Spiritualism (philosophy).pdf
Spiritualism (philosophy).pdfSpiritualism (philosophy).pdf
Spiritualism (philosophy).pdf
dar i arqam
 
FASHION INDUSTRY.pdf
FASHION INDUSTRY.pdfFASHION INDUSTRY.pdf
FASHION INDUSTRY.pdf
dar i arqam
 

More from dar i arqam (20)

Time Management.pdf
Time Management.pdfTime Management.pdf
Time Management.pdf
 
Healthcare.pdf
Healthcare.pdfHealthcare.pdf
Healthcare.pdf
 
What are nutritional supplements.pdf
What are nutritional supplements.pdfWhat are nutritional supplements.pdf
What are nutritional supplements.pdf
 
Dietary supplements.pdf
Dietary supplements.pdfDietary supplements.pdf
Dietary supplements.pdf
 
Service.pdf
Service.pdfService.pdf
Service.pdf
 
Seminar.pdf
Seminar.pdfSeminar.pdf
Seminar.pdf
 
Weekly menu for type 2 diabetes.pdf
Weekly menu for type 2 diabetes.pdfWeekly menu for type 2 diabetes.pdf
Weekly menu for type 2 diabetes.pdf
 
Proper nutrition for weight loss_ a menu for every day.pdf
Proper nutrition for weight loss_ a menu for every day.pdfProper nutrition for weight loss_ a menu for every day.pdf
Proper nutrition for weight loss_ a menu for every day.pdf
 
Trade.pdf
Trade.pdfTrade.pdf
Trade.pdf
 
Spiritualism (philosophy).pdf
Spiritualism (philosophy).pdfSpiritualism (philosophy).pdf
Spiritualism (philosophy).pdf
 
Spiritualism (philosophy).pdf
Spiritualism (philosophy).pdfSpiritualism (philosophy).pdf
Spiritualism (philosophy).pdf
 
Types of games and their role in the development of preschool children.pdf
Types of games and their role in the development of preschool children.pdfTypes of games and their role in the development of preschool children.pdf
Types of games and their role in the development of preschool children.pdf
 
Software Developer vs Software Engineer.pdf
Software Developer vs Software Engineer.pdfSoftware Developer vs Software Engineer.pdf
Software Developer vs Software Engineer.pdf
 
Guide to Proactivity.pdf
Guide to Proactivity.pdfGuide to Proactivity.pdf
Guide to Proactivity.pdf
 
personal development.pdf
personal development.pdfpersonal development.pdf
personal development.pdf
 
What is a Teacher.pdf
What is a Teacher.pdfWhat is a Teacher.pdf
What is a Teacher.pdf
 
Electronic business.pdf
Electronic business.pdfElectronic business.pdf
Electronic business.pdf
 
Home Gardening.pdf
Home Gardening.pdfHome Gardening.pdf
Home Gardening.pdf
 
FASHION INDUSTRY.pdf
FASHION INDUSTRY.pdfFASHION INDUSTRY.pdf
FASHION INDUSTRY.pdf
 
TYPES OF EDUCATIONAL ORGANIZATIONS.pdf
TYPES OF EDUCATIONAL ORGANIZATIONS.pdfTYPES OF EDUCATIONAL ORGANIZATIONS.pdf
TYPES OF EDUCATIONAL ORGANIZATIONS.pdf
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 

Programmer.pdf

  • 1. Programmer A computer programmer , sometimes called a software developer , programmer , or more recently coder (especially in more informal contexts), is a person who creates computer software . The term computer programmer can refer to a specialist in one area of ​ ​ computing or to a generalist who writes code for many types of software. A programmer's commonly used computer language (eg, Assembly, COBOL, C , C++ , C# , JavaScript , Lisp, Python ) may be prefixed to the term programmer . Some who work with web programming languages ​ ​ also prefix their titles with web . History Many consider Ada Lovelace to be the first computer programmer. British countess and mathematician Ada Lovelace is often considered the first computer programmer. She was the first to publish part of a program (more
  • 2. precisely, an algorithm ) intended for the implementation of Charles Babbage 's analytical engine , in October 1842. The same algorithm was used to calculate the Bernoulli numbers. [1] But in Lovelace's time, the Babbage machine was never completed as a working standard. So Ada Lovelace never got the chance to see the algorithm in action. The first scientist to program a functional, modern, electronic computer was computer scientist Konrad Zuse , in 1941. The ENIAC programming team , consisting of Kay McNultho, Betty Jennings, Betty Snydet, Marlene Weskoff, Fran Bilas, and Ruth Lichterman, were the first regular programmers to work. Software Industry The first company founded specifically to provide software products and services was the Computer Use Company in 1955. Before that time, computers were programmed either by customers or by the few commercial computer manufacturers of the time, such as Sperry Rand and IBM . [4] The software industry expanded in the early 1960s, almost immediately after computers were first sold in mass-produced quantities. Universities, governments and businesses have created a demand for software. Many of these programs were written by in-house programmers; some were distributed among users of a particular machine without charging for the same, while others were sold on a commercial basis. Other firms, such as the Computer Science Corporation (founded in 1959), also began to grow. Computer manufacturers soon began to bundle operating systems , system software, and programming environments with their devices. The industry expanded with the rise of the personal computer (PC) in the mid-1970s, which brought a computer to the average office worker. In the following years, the PC also helped create an ever-growing market for games, applications, and software services. In the early years of the 21st century, another successful business model emergedfor hosted software, called software as a service or SaaS. From the point of view of the producers of some commercial software, SaaS reduces concerns about unauthorized copying, because it can only be accessed over the Internet, and by definition, no client software is loaded on the end user's computer. SaaS usually works externally, that is, on the cloud. Nature of work
  • 3. Computer programmers write, test, debug, and maintain detailed instructions, called computer programs , that computers must follow to perform their functions. Programmers also conceive, design, and test logical structures for computer problem solving. Many technical innovations in programming—advanced computer technologies and sophisticated new languages ​ ​ and programming tools—have redefined the role of the programmer and elevated much of the programming work done today. Job titles and descriptions may vary, depending on the organization. Developers work in many settings, including corporate information technology (IT) departments, large software companies, small service firms, and government entities of all sizes. Many professional developers also work for consulting companies on client sites as contractors. . A license is not usually required to work as a developer, although developers usually hold professional certifications. Programming is widely considered a profession (although some authorities disagree on the grounds that only professions with statutory licensing requirements are considered professions). The work of programmers varies greatly depending on the type of business they write programs for. For example, the instructions involved in updating financial records are very different from those required to duplicate aircraft conditions for pilots training in a flight simulator. Simple programs can be written in a few hours, more complex ones can take more than a year of work, while others are never considered "complete" but are improved continuously as long as they remain in use. In most cases, several developers work together as a team under the supervision of a senior and more experienced developer. A software engineer who writes JavaScript Programmers write programs according to specifications determined primarily by senior programmers and system analysts. Once the design process is complete, the programmer's job is to turn that design into a logical series of instructions that the computer can follow. The programmer codes these instructions in one of many programming languages. Different programming languages ​ ​ are used depending on the purpose of the program, for example, COBOL is commonly used for business applications that typically run on mainframes and mid-range computers, while Fortan is used in science and engineering. C++ and Python are widely used for both scientific and business applications. Java , C# , JSand PHP are popular programming languages ​ ​ for web and business applications. Programmers generally know more than one programming language and, because many languages ​ ​ are similar, they can
  • 4. often learn new languages ​ ​ relatively easily. In practice, programmers are often referred to by the language they know, e.g., as Java programmers , or by the type of function they perform or the environment in which they work: for example, database programmers , network programmers , or web developers When making changes to the source code from which programs are compiled, developers should inform other developers. They do this by inserting comments into the source code so that others can understand the program more easily, or they can inform them by documenting their code. To save work, developers often use code-base libraries that can be modified or customized for a particular application. This approach yields more reliable and consistent programs and increases developer productivity by eliminating some routine steps. Testing and Debugging Developers test a program by running it and looking for bugs. As they are identified, the programmer usually makes the appropriate corrections and then checks the program until the level and severity of the errors remain acceptably low. This process is called testing and debugging. These are important parts of any developer's job. Developers may continue to address these issues throughout the life of the program. Updating, repairing, modifying, and
  • 5. extending existing programs is sometimes called maintenance programming . Developers may contribute to the creation of user guides, online help, or may work with technical writers to perform such work. Application vs. System Programming Computer programmers are often grouped into two broad types: application programmers and systems programmers. Application developers write programs to manage a specific job, such as a program to track inventory within an organization. They can also audit existing packaged software or customize generic applications that are often purchased from independent software vendors. In contrast, systems programmers write programs to maintain and control software for computer systems, such as operating systems and database management systems . These workers make changes to the instructions that determine how the network, workstations, and processorhow the system handles the various work tasks given to them and how they interact with peripheral equipment such as printers and disk drives. Qualifications and Skills A programmer should have technical expertise with certain aspects of computers. Some positions require a bachelor's degree in a related field such as computer science, information technology, engineering, programming, or other related studies. The ideal programmer is one who has hands-on experience with key programming languages ​ ​ such as C++ , C# , PHP , Java , C , JavaScript , Visual Basic , Python , and Smalltalk.
  • 6. Types of software Developers can work directly with experts in a variety of fields to create software—either programs designed for specific customers or packaged software for general use—ranging from video games to educational software to desktop publishing programs or financial applications. Packaged software programming is one of the fastest growing segments of the computer services industry. Some companies or organizations - even small ones - form their own IT team to provide internal software design and development to meet the very specific needs of their internal end users, especially when the existing software is not suitable or too expensive. This is, for example, the case in research laboratories. In some organizations, especially small ones, people known as programmer analysts are responsible for both systems analysis and the actual work of programming. The shift from a mainframe environment to one based primarily on personal computers (PCs) has blurred the once rigid distinction between programmer and user. Increasingly, skilled end users are taking over many of the tasks previously performed by developers. For example, the increasing use of packaged software, such as spreadsheet and database management software packages, allows users to write simple programs to access data and perform calculations. In addition, the rise of the
  • 7. Internet has made web development a huge part of the programming field. Currently, most software applications are web-based applications that can be used by anyone with abrowser. Examples of such applications includeGooglesearch,the Outlook.com email service, and the Flickr photo-sharing service. Program editors, also known as source code editors, are text editors that are specifically designed for developers or programmers to write the source code of an application or program. Most of these editors include features useful for developers, which may include color-coded syntax highlighting, auto-indentation, auto-completion, bracket matching, syntax checking, and plugin permission. These features help users during coding, debugging and testing. [6] Globalization According to BBC News, 17% of computer science students were unable to find work in their field 6 months after graduating in 2009, the highest rate of any university subject surveyed, while 0% of medical students were unemployed in the same survey. Software