Bước tới nội dung

Khác biệt giữa bản sửa đổi của “Nhà phát triển phần mềm”

(Tính chất công việc)
'''Nhà phát triển phần mềm''' là một cá nhân hay một tổ chức có liên quan đến các vấn đề trong [[công nghệ phần mềm|quá trình phát triển phần mềm]] ở mức cao hơn việc chỉ thiết kế và viết mã, là khái niệm rộng hơn phạm vi [[lập trình máy tính]] hay [[quản lý dự án]], bao gồm cả nhiều vấn đề [[quản lý sản phẩm phần mềm]]. Đối tượng này có thể tác động bao quát cả dự án ở mức ứng dụng thay vì mức thành phần hay những tác vụ lập trình riêng lẻ. Các nhà phát triển phần mềm thường được chỉ đạo bởi những [[lập trình viên lãnh đạo]] cũng như bao gồm cả những nhà phát triển [[phần mềm tự do]].
 
[[NgônNhà ngữphát máytriển tính]]phần mềm thường được sử dụng nhất[[ngôn củangữ mộtmáy nhà phát triển phần mềmtính]] (ví dụ:[[Hợp ngữ| Assembly]], [[C (ngôn ngữ lập trình)|C]], [[C ++]], [[C Sharp (ngôn ngữ lập trình)|C #]], [[JavaScript]], [[Lisp (ngôn ngữ lập trình)|Lisp]], [[Ngôn ngữ lập trình Python|Python]], [[Java (ngôn ngữ lập trình)|Java]]) có thể đượcđể đặt trước thuật ngữ ''nhà phát triển phần mềm''. Một số người làm việc với các ngôn ngữ [[lập trình web]] cũng đặt thêm tiền tố cho tiêu đề của họ bằng ''web''.
 
== Thuật ngữ ==
Trên thị trường hiện nay có thể bắt gặp sự phân biệt giữa [[lập trình viên]] và nhà phát triển, với một bên là người tác động thực sự khác với một bên là người thiết kế [[lớp (khoa học máy tính)|lớp]] cấu trúc và phân cấp. Hơn nữa, các nhà phát triển còn là những [[kiến trúc sư hệ thống]], thiết kế kiến trúc đa cấp độ hay những thành phần tương tác của một hệ thống phần mềm lớn.<ref name="Sourcegear_2005">{{chú thích web|url=http://software.ericsink.com/No_Programmers.html|title=Small ISVs: Bạn cần những nhà phát triển, chứ không phải những lập trình|author=[[Eric Sink]]|publisher=Sourcegear|url-status=live|access-date=ngày 6 tháng 6 năm 2008|quote=Một lập trình viên là người không làm gì khác ngoài việc viết mã cho những tính năng mới và (nếu bạn may mắn) sửa lỗi. Họ không viết ra sự kinh doanh. Họ không viết ra những tính huống phân tích tự động hóa. Họ không giúp khách hàng xử lý các vấn đề. Họ không viết tài liệu hướng dẫn. Họ không kiểm lỗi. Họ thậm chí không đọc mã (code). Tất cả những gì họ làm là viết những đoạn mã mới.}}</ref>
 
== Lịch sử ==
[[Tập_tin:Ada_Lovelace_portrait.jpg|phải|nhỏ|287x287px|[[Ada Lovelace]] được nhiều người coi là nhà phát triển phần mềm máy tính đầu tiên .<ref name="Fuegi-Francis-2003" />]]
Nhà toán học và tiểu luận người Anh [[Ada Lovelace]] thường được coi là nhà phát triển phần mềm máy tính đầu tiên, vì bà là người đầu tiên xuất bản một phần của chương trình (cụ thể là [[thuật toán]]) dự định triển khai trên công cụ phân tích của [[Charles Babbage]] vào tháng 10 năm 1842. Thuật toán được sử dụng để tính toán [[số Bernoulli]].<ref name="Fuegi-Francis-200322003">{{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}}</ref> Vì máy của Babbage chưa bao giờ được hoàn thiện như một tiêu chuẩn hoạt động vào thời Lovelace, nên bà không bao giờ có cơ hội để xem thuật toán hoạt động.
 
Người đầu tiên thực hiện một chương trình trên một máy tính điện tử hiện đại, đang hoạt động là [[nhà khoa học máy tính]] [[Konrad Zuse]] vào năm 1941.
 
Nhóm lập trình [[ENIAC]], bao gồm [[Kathleen Antonelli|Kay McNulty]], [[Jean Bartik|Betty Jennings]], [[Betty Holberton|Betty Snyder]], [[Marlyn Meltzer|Marlyn Wescoff]] , [[Frances Spence|Fran Bilas]] và [[Ruth Teitelbaum| Ruth Lichterman]], đã được ghi nhận là những nhà phát triển phần mềm thông thường đầu tiên.<ref>{{cite web|url=http://eniacprogrammers.org/eniac-programmers-project/memorials/|title=Memorials|publisher=Eniacprogrammers.org|access-date=13 March 2021}}</ref><ref>{{cite web|url=https://abcnews.go.com/Technology/story?id=3951187&page=1|title=ABC News: First Computer Programmers Inspire Documentary|date=2007-12-04|publisher=Abcnews.go.com|access-date=13 March 2021}}</ref>
== Tính chất công việc ==
Một '[[lập trình viên]]' có thể chỉ làm công việc viết mã,<ref name="Sourcegear_2005" /> nhưng một 'nhà phát triển' có thể làm những việc liên quan nhiều hơn tới quá trình phát triển phần mềm như viết, kiểm tra, [[gỡ lỗi]] và duy trì các hướng dẫn chi tiết, được gọi là [[chương trình máy tính]], mà máy tính phải tuân theo để thực hiện các chức năng của chúng. Các nhà phát triển phần mềm cũng hình thành, thiết kế và kiểm tra các cấu trúc logic để giải quyết vấn đề bằng máy tính. Nhiều cải tiến kỹ thuật trong lập trình - công nghệ tính toán tiên tiến và các ngôn ngữ và công cụ lập trình mới tinh vi, đã xác định lại vai trò của một nhà phát triển phần mềm và nâng cao phần lớn công việc lập trình được thực hiện ngày nay. Chức danh và mô tả công việc có thể khác nhau, tùy thuộc vào tổ chức.<ref name="bls-ooh">{{cite web|url=https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm|title=Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics|website=www.bls.gov|access-date=13 March 2021}}</ref>
Công việc của các nhà phát triển phần mềm rất khác nhau tùy thuộc vào loại hình kinh doanh mà họ đang viết chương trình. Ví dụ: các hướng dẫn liên quan đến việc cập nhật hồ sơ tài chính rất khác với các hướng dẫn bắt buộc để sao chép các điều kiện trên máy bay cho [[Máy bay huấn luyện|huấn luyện phi công]] trong [[trình mô phỏng bay]]. Các chương trình đơn giản có thể viết trong vài giờ. Những cái phức tạp hơn có thể yêu cầu hơn một năm làm việc, trong khi những cái khác không bao giờ được coi là 'hoàn thành' mà là liên tục cải tiến miễn là chúng vẫn được sử dụng. Trong hầu hết các trường hợp, một số nhà phát triển phần mềm làm việc cùng nhau như một nhóm dưới sự giám sát của nhà phát triển phần mềm cấp cao.<ref>{{Cite web|url=https://www.computerscience.org/careers/computer-programmer/|title=Computer Programmer {{!}} ComputerScience.org|date=2020-10-13|website=Get an Education the World Needs {{!}} ComputerScience.org|language=en-US|access-date=2021-09-20}}</ref>
 
=== LịchCác sửloại phần mềm ===
Trình chỉnh sửa lập trình, còn được gọi là trình biên tập mã nguồn, là trình soạn thảo văn bản được thiết kế đặc biệt cho các lập trình viên hoặc nhà phát triển để viết mã nguồn của một ứng dụng hoặc một chương trình. Hầu hết các trình chỉnh sửa này bao gồm các tính năng hữu ích cho người lập trình, có thể bao gồm màu tô sáng cú pháp, tự động thụt lề, tự động hoàn thành, đối sánh dấu ngoặc vuông, kiểm tra cú pháp và cho phép [[Plugin (điện toán)|plug-in]] hoạt động. Các tính năng này hỗ trợ người dùng trong quá trình viết mã, [[gỡ lỗi]] và thử nghiệm.
[[Tập_tin:Ada_Lovelace_portrait.jpg|phải|nhỏ|287x287px|[[Ada Lovelace]] được nhiều người coi là nhà phát triển phần mềm máy tính đầu tiên .<ref name="Fuegi-Francis-2003" />]]
Nhà toán học và tiểu luận người Anh [[Ada Lovelace]] thường được coi là nhà phát triển phần mềm máy tính đầu tiên, vì bà là người đầu tiên xuất bản một phần của chương trình (cụ thể là [[thuật toán]]) dự định triển khai trên công cụ phân tích của [[Charles Babbage]] vào tháng 10 năm 1842. Thuật toán được sử dụng để tính toán [[số Bernoulli]].<ref name="Fuegi-Francis-20032">{{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}}</ref> Vì máy của Babbage chưa bao giờ được hoàn thiện như một tiêu chuẩn hoạt động vào thời Lovelace, nên bà không bao giờ có cơ hội để xem thuật toán hoạt động.
 
Người đầu tiên thực hiện một chương trình trên một máy tính điện tử hiện đại, đang hoạt động là [[nhà khoa học máy tính]] [[Konrad Zuse]] vào năm 1941.
 
Nhóm lập trình [[ENIAC]], bao gồm [[Kathleen Antonelli|Kay McNulty]], [[Jean Bartik|Betty Jennings]], [[Betty Holberton|Betty Snyder]], [[Marlyn Meltzer|Marlyn Wescoff]] , [[Frances Spence|Fran Bilas]] và [[Ruth Teitelbaum| Ruth Lichterman]], đã được ghi nhận là những nhà phát triển phần mềm thông thường đầu tiên.<ref>{{cite web|url=http://eniacprogrammers.org/eniac-programmers-project/memorials/|title=Memorials|publisher=Eniacprogrammers.org|access-date=13 March 2021}}</ref><ref>{{cite web|url=https://abcnews.go.com/Technology/story?id=3951187&page=1|title=ABC News: First Computer Programmers Inspire Documentary|date=2007-12-04|publisher=Abcnews.go.com|access-date=13 March 2021}}</ref>
 
== Xem thêm ==