Content deleted Content added
m Open access bot: url-access updated in citation with #oabot. |
Citation bot (talk | contribs) Altered title. | Use this bot. Report bugs. | Suggested by Лисан аль-Гаиб | Linked from User:WikiDan61 | #UCB_webform_linked 25/32 |
||
(29 intermediate revisions by 17 users not shown) | |||
Line 6:
{{original research|date=January 2022}}
{{cite check|date=September 2020}}
{{llm|date=July 2025}}
}}
{{Use dmy dates|date=September 2018}}
Line 37 ⟶ 38:
plus broader responsibilities of [[software engineering]] including architecting and designing new features and applications, targeting new platforms, managing the [[Software development process|software development lifecycle]] (design, implementation, testing, and deployment), leading a team of programmers, communicating with customers, managers and other engineers, considering system stability and quality, and exploring software development methodologies.
Sometimes, a software engineer is required to have a degree in software engineering, [[computer engineering]], or computer science. Some countries legally require an engineering degree to be called ''engineer''.<ref name="UA210729">{{cite web|url=https://bootcamp.ce.arizona.edu/blog/programmer-vs-software-engineer-whats-the-difference|title=Programmer vs. Software Engineer: What's the Difference?|author=<!--Not stated-->|date=11 December 2020|website=ce.arizona.edu|publisher=University of Arizona|url-status=live|archive-url=https://web.archive.org/web/20210729020138/https://bootcamp.ce.arizona.edu/blog/programmer-vs-software-engineer-whats-the-difference/|archive-date=29 July 2021|access-date=29 July 2021}}</ref><ref name="Heinz210223">{{cite web|url=https://builtin.com/recruiting/software-engineer-vs-programmer|title=Software Engineer Vs. Programmer: What's the Difference?|last=Heinz|first=Kate|date=23 February 2021|website=builtin.com|publisher=Built In|url-status=|archive-url=https://web.archive.org/web/20210729020310/https://builtin.com/recruiting/software-engineer-vs-programmer|archive-date=29 July 2021|access-date=29 July 2021}}</ref><ref name="Jacob200316">{{cite web|url=https://simpleprogrammer.com/differences-software-engineer-and-programmer/|title=6 Key Differences Between a Software Engineer and a Programmer|last=Jacob|first=Freya|date=16 March 2020|website=simpleprogrammer.com|publisher=The Simple Programmer|url-status=|archive-url=https://web.archive.org/web/20210729020139/https://simpleprogrammer.com/differences-software-engineer-and-programmer/|archive-date=29 July 2021|access-date=29 July 2021}}</ref>▼
▲<ref name="UA210729">{{cite web|url=https://bootcamp.ce.arizona.edu/blog/programmer-vs-software-engineer-whats-the-difference|title=Programmer vs. Software Engineer: What's the Difference?|author=<!--Not stated-->|date=11 December 2020|website=ce.arizona.edu|publisher=University of Arizona|url-status=live|archive-url=https://web.archive.org/web/20210729020138/https://bootcamp.ce.arizona.edu/blog/programmer-vs-software-engineer-whats-the-difference/|archive-date=29 July 2021|access-date=29 July 2021}}</ref><ref name="Heinz210223">{{cite web|url=https://builtin.com/recruiting/software-engineer-vs-programmer|title=Software Engineer Vs. Programmer: What's the Difference?|last=Heinz|first=Kate|date=23 February 2021|website=builtin.com|publisher=Built In|url-status=|archive-url=https://web.archive.org/web/20210729020310/https://builtin.com/recruiting/software-engineer-vs-programmer|archive-date=29 July 2021|access-date=29 July 2021}}</ref><ref name="Jacob200316">{{cite web|url=https://simpleprogrammer.com/differences-software-engineer-and-programmer/|title=6 Key Differences Between a Software Engineer and a Programmer|last=Jacob|first=Freya|date=16 March 2020|website=simpleprogrammer.com|publisher=The Simple Programmer|url-status=|archive-url=https://web.archive.org/web/20210729020139/https://simpleprogrammer.com/differences-software-engineer-and-programmer/|archive-date=29 July 2021|access-date=29 July 2021}}</ref>
==History==
[[File:Ada Lovelace portrait.jpg|thumb|200px|right|[[Ada Lovelace]] is considered by many to be the first computer programmer.<ref name="Fuegi-Francis-2003"/>]]
British [[count]]ess and mathematician [[Ada Lovelace]] is often considered to be the first computer programmer.
She authored an [[algorithm]], which was [[Note G|published]] in October 1842, for calculating [[Bernoulli number]]s on the [[Charles Babbage]] [[analytical engine]].<ref name="Fuegi-Francis-2003">{{Cite journal|last1=Fuegi|first1=J.|last2=Francis|first2=J.|date=October–December 2003|title=Lovelace & Babbage and the creation of the 1843 'notes'|journal=IEEE Annals of the History of Computing|volume=25|issue=4|pages=16–26|doi=10.1109/MAHC.2003.1253887 |bibcode=2003IAHC...25d..16F }}</ref>
Because the machine was not completed in her lifetime, she never experienced the algorithm in action.
Line 77:
===Market changes in Japan===
As of 2024 in [[Japan]], the demand for programmers is increasing rapidly due mainly to the [[Aging of Japan|aging demographics]] of their workforce and their low birth rate not being sufficient for replacement has led to more use of [[AI]] to help fill the gap.<ref>{{cite web | url=https://japan-dev.com/blog/programming-in-japan | title=Programming in Japan: What's It Really Like? }}</ref><ref>{{cite web | url=https://www.jetro.go.jp/en/invest/insights/japan-insight/ai-utilization.html | title="AI Utilization": Japan′s Unique Position to Become a World Leader | Japan Insight - Insights - Investing in Japan - Japan External Trade Organization | date=2025 }}</ref> On the other hand, despite the fact that there are more than 1.2 million programmers in Japan as of 2020, more than 40% of Japanese companies say they do not have enough skilled and qualified IT personnel, including programmers; by 2030, the number of programmers will exceed 1.6 million, but about 800
== Programming education ==
{{See also|List of educational software#Computer science|l1=Programming educational software|List of free and open-source software packages#Programming language support|l2=List of open-source programming resources|List of free and open-source software packages#Cypherpunk software|l3=List of open-source cryptography and hacking tools|List of programming languages|Comparison of integrated development environments|List of open source code libraries|List of mathematical art software|Comparison of source-code-hosting facilities|Stack Overflow|List of computer books|List of computer magazines|List of software programming journals|List of programmers|Hackathon|Hackathon#Datathon|l15=Datathon|Competitive programming|Game jam}}
[[File:GitHub Codespaces side by side terminal.webp|thumb|[[GitHub Codespaces]] is an [[online integrated development environment]] that requires minimal setup to get started programming.]]
Programming education involves the teaching and learning of [[computer programming]] concepts, [[Programming language|languages]], and [[Coding best practices|practices]]. It is offered through various formats, including formal [[Bachelor of Computer Science|computer science degree programs]], [[Vocational education|vocational training]], [[Career and technical education|career and technical education centers]], [[coding bootcamp]]s, [[libraries]],<ref>{{cite web | title=Hour of Code: How We Did It, What We Learned | Programming Librarian | url=https://programminglibrarian.org/articles/hour-code-how-we-did-it-what-we-learned }}</ref> [[List of online educational resources|online courses]], and [[Autodidacticism|self-directed learning]]. Educational initiatives often focus on [[Problem solving#Computer science|problem-solving]], [[computational thinking]], [[logical thinking]], and the development of [[Algorithm|algorithms]]. In [[Primary education|primary]] and [[secondary education]], programming is increasingly integrated into [[computer literacy]] curricula through initiatives such as [[Hour of Code]], [[Code Club]], [[Learn to Code]], and by getting [[computers in the classroom]].<ref>{{Cite web | title=Computer Science Club leads 'Hour of Code' activities {{!}} Fredonia.edu | url=https://www.fredonia.edu/news/articles/computer-science-club-leads-%E2%80%98hour-code%E2%80%99-activities | access-date=2025-08-11 | website=www.fredonia.edu}}</ref><ref>{{cite web | title=Computers in the Classroom | EBSCO Research Starters | url=https://www.ebsco.com/research-starters/computer-science/computers-classroom }}</ref> At the [[higher education]] level, programming instruction may include coursework in [[software engineering]], [[data structures]], [[debugging]], [[software design]], and specialized domains such as [[game development]], [[artificial intelligence]], [[cryptography]], or [[data science]]. Numerous platforms and resources like [[List of chatbots|AI chat bots]], [[List of educational software#Computer science|educational programming software]], and [[online integrated development environment]]s have expanded access to programming education.<ref>{{cite journal | last1=Ou | first1=Q. | last2=Liang | first2=W. | last3=He | first3=Z. | last4=Liu | first4=X. | last5=Yang | first5=R. | last6=Wu | first6=X. | title=Investigation and analysis of the current situation of programming education in primary and secondary schools | journal=Heliyon | date=2023 | volume=9 | issue=4 | pages=e15530 | doi=10.1016/j.heliyon.2023.e15530 | doi-access=free | pmid=37151627 | pmc=10161691 | bibcode=2023Heliy...915530O }}</ref><ref>{{cite web | title=GitHub educator: Our biggest mistake, and our opportunity | website=[[ZDNet]] | url=https://www.zdnet.com/education/github-educator-mistakes-opportunities/ }}</ref><ref>{{cite web | title=The best AI for coding in 2025 (Including a new winner - and what not to use) | website=[[ZDNet]] | url=https://www.zdnet.com/article/the-best-ai-for-coding-in-2025-including-a-new-winner-and-what-not-to-use/ }}</ref>
==See also==
Line 87 ⟶ 94:
* [[Systems architect]]
* [[Video game programmer]]
* [[996 working hour system]]
{{Clear}}
|