✨Lịch sử phần mềm

Lịch sử phần mềm

Phần mềm là các lệnh được lập trình mà được lưu trữ trong bộ nhớ được lưu trữ của các máy tính kỹ thuật số để bộ xử lý thực hiện. Phần mềm là một sự phát triển gần đây trong lịch sử loài người và nó là nền tảng của Thời đại Thông tin.

Các chương trình của Charles Babbage cho Công cụ phân tích của ông vào thế kỷ 19 thường được coi là người sáng lập ra ngành này, mặc dù những nỗ lực của cả hai nhà toán học vẫn chỉ là lý thuyết, vì công nghệ của thời đại Babbage sống là không đủ để chế tạo máy tính. Alan Turing được ghi nhận là người đầu tiên đưa ra lý thuyết cho phần mềm vào năm 1935, dẫn đến hai lĩnh vực học thuật về khoa học máy tính và công nghệ phần mềm.

Thế hệ phần mềm đầu tiên cho các máy tính kỹ thuật số được lưu trữ sớm vào cuối những năm 1940 có các hướng dẫn được viết trực tiếp bằng mã nhị phân, thường được viết cho các máy tính lớn. Sau đó, sự phát triển của các ngôn ngữ lập trình hiện đại cùng với sự tiến bộ của máy tính gia đình sẽ giúp mở rộng đáng kể phạm vi và chiều rộng của phần mềm có sẵn, bắt đầu với ngôn ngữ lắp ráp và tiếp tục thông qua lập trình chức năng và mô hình lập trình hướng đối tượng.

Trước khi máy tính kỹ thuật số với chương trình được lưu trữ

Nguồn gốc của khoa học máy tính

Tính toán đã có từ thời cổ đại, với các thiết bị như bàn tính, cơ chế Antikythera và đồng hồ lâu đài lập trình của Al-Jazari. Tuy nhiên, các thiết bị này là phần cứng thuần túy và không có phần mềm - sức mạnh tính toán của chúng được gắn trực tiếp với hình thức và kỹ thuật cụ thể của chúng.

Phần mềm yêu cầu khái niệm về bộ xử lý đa năng - hiện được mô tả là máy Turing - cũng như bộ nhớ máy tính trong đó các bộ thói quen và chức năng toán học có thể sử dụng bao gồm các chương trình có thể được lưu trữ, khởi động và dừng riêng lẻ và chỉ xuất hiện gần đây trong lịch sử loài người.

Thuật toán máy tính được biết đến đầu tiên được Charles Babbage viết vào thế kỷ 19 cho Công cụ phân tích theo kế hoạch của ông, để dịch tác phẩm của Luigi Menabrea về các số Bernoulli thành các lệnh máy. Tuy nhiên, điều này vẫn chỉ là lý thuyết - tình trạng kỹ thuật thô sơ thời đó trong cả cuộc của hai nhà toán học này tỏ ra không đủ để xây dựng Công cụ phân tích.

Lý thuyết hiện đại đầu tiên về phần mềm được Alan Turing đề xuất trong bài luận năm 1935 Các số có thể tính toán với một ứng dụng cho Entscheidungsproblem (bài toán quyết định).

Điều này cuối cùng đã dẫn đến việc tạo ra hai lĩnh vực học thuật là khoa học máy tính và kỹ thuật phần mềm, cả hai đều nghiên cứu phần mềm và việc tạo ra nó. Khoa học máy tính thiên về lý thuyết (bài luận của Turing là một ví dụ về khoa học máy tính), trong khi kỹ thuật phần mềm tập trung vào các mối quan tâm thực tế hơn.

Tuy nhiên, trước năm 1946, khái niệm phần mềm chương trình được lưu trữ trong bộ nhớ của máy tính kỹ thuật số chương trình được lưu trữvẫn chưa tồn tại. Thay vào đó, các thiết bị máy tính điện tử đầu tiên đã được tua lại để "lập trình lại" chúng. ENIAC, một trong những máy tính điện tử đầu tiên, được lập trình phần lớn bởi những phụ nữ đã từng làm việc như máy tính của con người. kỹ sư sẽ cung cấp cho các lập trình viên bản thiết kế hệ thống dây điện ENIAC và mong họ tìm ra cách lập trình máy. Những phụ nữ làm công việc lập trình đã chuẩn bị cho ENIAC lần đầu tiên công khai, kết nối các bảng vá với nhau cho các cuộc biểu tình. Kathleen Booth đã phát triển hợp ngữ vào năm 1950 để giúp việc lập trình các máy tính mà cô đang làm việc với tại Birkbeck College trở nên dễ dàng hơn. liên_kết=https://vi.wikipedia.org/wiki/T%E1%BA%ADp tin:Grace_Hopper_and_UNIVAC.jpg|nhỏ|Grace Hopper và UNIVAC Grace Hopper là một trong những lập trình viên đầu tiên của Harvard Mark I. Sau đó, cô ấy đã tạo ra một hướng dẫn sử dụng 500 trang cho máy tính. Hopper thường bị cho là sai khi đặt ra các thuật ngữ "lỗi" và " gỡ lỗi ", khi cô tìm thấy một con bướm đêm trong Mark II, gây ra sự cố; tuy nhiên, thuật ngữ này trên thực tế đã được sử dụng khi cô tìm thấy con bướm đêm. Hopper đã phát triển trình biên dịch đầu tiên và đưa ý tưởng của cô ấy từ việc làm việc trên máy tính Mark sang làm việc trên UNIVAC vào những năm 1950. Hopper cũng phát triển ngôn ngữ lập trình FLOW-MATIC để lập trình UNIVAC. Frances E. Holberton, cũng làm việc tại UNIVAC, đã phát triển một mã, C-10, cho phép các lập trình viên sử dụng đầu vào bàn phím và tạo ra Trình tạo Sắp xếp-Hợp nhất vào năm 1951. Adele Mildred Koss và Hopper cũng tạo ra tiền thân của trình tạo báo cáo.

Những ngày đầu của phần mềm máy tính (1948–1979)

Trong bản thảo của mình "Lý thuyết toán học về giao tiếp", Claude Shannon (1916–2001) đã đưa ra một phác thảo về cách logic nhị phân có thể được triển khai để lập trình máy tính. Sau đó, các lập trình viên máy tính đầu tiên sử dụng mã nhị phân để hướng dẫn máy tính thực hiện các tác vụ khác nhau. Tuy nhiên, quá trình này rất gian khổ. Các nhà lập trình máy tính phải cung cấp các chuỗi mã nhị phân dài để cho máy tính biết dữ liệu nào cần lưu trữ. Mã và dữ liệu phải được tải vào máy tính bằng nhiều cơ chế tẻ nhạt khác nhau, bao gồm thao tác vặn công tắc hoặc đục lỗ tại các vị trí xác định trước trong thẻ và tải những thẻ đục lỗ này vào máy tính. Với những phương pháp như vậy, nếu sai sót, toàn bộ chương trình có thể phải được tải lại từ đầu.

Lần đầu tiên một máy tính chương trình lưu trữ giữ một phần mềm trong bộ nhớ điện tử và thực thi nó thành công, là 11 giờ sáng ngày 21 tháng 6 năm 1948, tại Đại học Manchester, trên máy tính Manchester Baby. Nó được viết bởi Tom Kilburn và tính hệ số cao nhất của số nguyên 2^18 = 262,144. Bắt đầu với một số chia thử lớn, nó thực hiện phép chia với số bị chia 262,144 bằng phép trừ lặp đi lặp lại, sau đó kiểm tra xem phần dư có bằng không hay không. Nếu không, nó giảm ước số thử nghiệm đi một và lặp lại quá trình. Google đã tôn vinh Manchester Baby, kỷ niệm nó là "sự ra đời của phần mềm". Vào cuối những năm 1950 và đầu những năm 1960, một sự đổi mới phổ biến là sự phát triển của các ngôn ngữ máy tính như Fortran, COBOL và BASIC. Những ngôn ngữ này cho phép các chương trình được chỉ định một cách trừu tượng, không phụ thuộc vào các chi tiết chính xác của kiến trúc phần cứng của máy tính. Các ngôn ngữ này chủ yếu chỉ nhằm mục đích xác định các phép tính số.

COBOL được hình thành lần đầu tiên khi Mary K. Hawes triệu tập một cuộc họp (bao gồm cả Grace Hopper) vào năm 1959 để thảo luận về cách tạo ra một ngôn ngữ máy tính để chia sẻ giữa các doanh nghiệp. Sự đổi mới của Hopper với COBOL đang phát triển một cách biểu tượng mới để viết chương trình. Chương trình của cô là tài liệu tự ghi lại. Betty Holberton đã giúp chỉnh sửa ngôn ngữ được nộp cho Văn phòng In ấn Chính phủ vào năm 1960. FORMAC được phát triển bởi Jean E. Sammet vào những năm 1960. Cuốn sách của cô, Programming Languages: History and Fundamentals (1969), đã trở thành một văn bản gây ảnh hưởng lớn.

Chương trình Apollo

liên_kết=https://vi.wikipedia.org/wiki/T%E1%BA%ADp tin:MargaretHamilton-_restoration.jpg|nhỏ|Margaret Hamilton bên cạnh một chồng mã nguồn mà cô và nhóm của mình đã viết cho các máy tính của Sứ mệnh Apollo. Chương trình Apollo lên Mặt Trăng phụ thuộc vào phần mềm để lập trình máy tính trong các mô-đun hạ cánh. Các máy tính được lập trình bằng một ngôn ngữ gọi là "Basic" (không có quan hệ gì với ngôn ngữ lập trình BASIC được phát triển tại Dartmouth cùng thời điểm). Phần mềm cũng có một trình thông dịch được tạo thành từ một loạt các quy trình và một trình điều hành (giống như một hệ điều hành hiện đại), chỉ định chương trình nào sẽ chạy và khi nào. Cả hai đều được thiết kế bởi Hal Laning. Margaret Hamilton, người trước đây đã liên quan đến các vấn đề về độ tin cậy của phần mềm khi làm việc trên hệ thống phòng không SAGE của Hoa Kỳ, cũng là một phần của nhóm phần mềm Apollo. Hamilton phụ trách phần mềm bay trên máy bay cho các máy tính Apollo.

"Phần mềm" thực tế cho các máy tính trong chương trình Apollo được tạo thành từ các sợi dây được luồn qua các lõi từ tính. Việc dây đi qua lõi từ, đại diện cho "1" và việc dây đi quanh lõi, đại diện cho "0." Mỗi lõi lưu trữ 64 bit thông tin. Hamilton và những người khác sẽ tạo ra phần mềm này bằng cách đục lỗ trên thẻ đục lỗ, sau đó được xử lý trên máy tính lớn Honeywell nơi phần mềm có thể được mô phỏng.

Data General cũng gặp phải các vấn đề pháp lý liên quan đến việc đóng góimặc dù trong trường hợp này, đó là do một vụ kiện dân sự từ một đối thủ sẽ là đối thủ. Khi Data General giới thiệu Data General Nova, một công ty tên là Digidyne muốn sử dụng hệ điều hành RDOS trên bản sao phần cứng của riêng mình. Data General từ chối cấp phép phần mềm của họ và yêu cầu "quyền đóng gói" của họ. Tòa án Tối cao Hoa Kỳ đặt ra một tiền lệ có tên là Digidyne v. Data General vào năm 1985 bằng cách để phán quyết của tòa án kháng cáo vòng 9 về vụ kiện, và Data General cuối cùng đã bị buộc phải cấp phép cho hệ điều hành vì người ta phán quyết rằng việc hạn chế giấy phép chỉ cho phần cứng DG là một thỏa thuận ràng buộc bất hợp pháp. Mặc dù Tòa án quận lưu ý rằng "không có hội thẩm hợp lý nào có thể nhận thấy rằng trong thị trường rộng lớn và năng động với nhiều đối thủ cạnh tranh lớn hơn", Data General "có sức mạnh thị trường để hạn chế thương mại thông qua một thỏa thuận ràng buộc bất hợp pháp", ràng buộc hoạt động hệ thống phần cứng được cai trị như là bất hợp pháp sau khi kháng cáo.

Vào năm 2008, Psystar Corporation đã bị Apple Inc. kiện vì đã phân phối các bản sao Macintosh trái phép có cài sẵn OS X và bị phản đối. Một trong những lập luận trong bộ phản đối - trích dẫn trường hợp Data General - là Apple thống trị thị trường máy tính tương thích OS X bằng cách gắn hệ điều hành này vào máy tính Apple một cách bất hợp pháp. Thẩm phán Tòa án quận William Alsup đã bác bỏ lập luận này, nói rằng, như Tòa án quận đã phán quyết trong vụ Data General hơn 20 năm trước, rằng thị trường liên quan không chỉ đơn giản là một hệ điều hành (Mac OS) mà là tất cả các hệ điều hành PC, bao gồm cả Mac OS và lưu ý rằng Mac OS không có vị trí thống trị trong thị trường rộng lớn hơn đó. Phán quyết của Alsup cũng lưu ý rằng tiền lệ Data General đáng ngạc nhiên rằng việc buộc các sản phẩm có bản quyền luôn là bất hợp pháp kể từ đó đã bị phán quyết trong vụ kiện Illinois Tool Works Inc. v. Independent Ink, Inc.

Phần mềm đóng gói (Cuối những năm 1960 đến nay)

Một ngành công nghiệp sản xuất phần mềm đóng gói độc lập - phần mềm không được sản xuất "dùng một lần" cho một khách hàng cá nhân, cũng không "đi kèm" với phần cứng máy tính - bắt đầu phát triển vào cuối những năm 1960.

Unix (những năm 1970 – nay)

Unix là một hệ điều hành ban đầu đã trở nên phổ biến và có ảnh hưởng rất lớn, và vẫn tồn tại cho đến ngày nay. Biến thể phổ biến nhất của Unix ngày nay là macOS (trước đây được gọi là OS X và Mac OS X), trong khi Linux có liên quan chặt chẽ với Unix.

Sự phát triển của máy vi tính

Vào tháng 1 năm 1975, Micro Instrumentation and Telemetry Systems bắt đầu bán bộ vi máy tính Altair 8800 của mình theo đơn đặt hàng qua thư. Microsoft đã phát hành sản phẩm đầu tiên của mình là Altair BASIC vào cuối năm đó và những người có sở thích bắt đầu phát triển các chương trình để chạy trên những bộ dụng cụ này. Tiny BASIC đã được xuất bản dưới dạng một chương trình nhập liệu trên Tạp chí của Tiến sĩ Dobb, và được hợp tác phát triển.

Ví dụ, vào năm 1976, Peter R. Jennings đã tạo ra chương trình Microchess của mình cho bộ công cụ KIM-1 của MOS Technology, nhưng vì nó không đi kèm với ổ băng, ông sẽ gửi mã nguồn trong một tập sách nhỏ cho khách hàng đặt hàng qua thư của mình., và họ sẽ phải gõ toàn bộ chương trình bằng tay. Năm 1978, Kathe và Dan Spracklen phát hành nguồn chương trình Sargon (cờ vua) của họ trên một tạp chí máy tính. Jennings sau đó chuyển sang bán băng giấy, và cuối cùng là băng cassette nhỏ gọn với chương trình trên đó.

Việc nhập mã nguồn từ tạp chí máy tính là một quá trình bất tiện và chậm chạp, và một lần gõ saihoặc tệ hơn, in saiký tự có thể làm cho chương trình không hoạt động được, nhưng mọi người vẫn làm như vậy. (Công nghệ nhận dạng ký tự quang học, về mặt lý thuyết có thể được sử dụng để quét trong danh sách thay vì sao chép chúng bằng tay, vẫn chưa được sử dụng rộng rãi.)

Ngay cả với sự phổ biến của catridge và băng cassette trong những năm 1980 để phân phối phần mềm thương mại, các chương trình miễn phí (chẳng hạn như các chương trình giáo dục đơn giản nhằm mục đích dạy kỹ thuật lập trình) vẫn thường được in ra, vì nó rẻ hơn việc làm và gắn băng cassette vào tạp chí thời sự.

Tuy nhiên, cuối cùng sự kết hợp của bốn yếu tố đã đưa việc in danh sách mã nguồn hoàn chỉnh của toàn bộ các chương trình trên tạp chí máy tính đến hồi kết thúc:

  • các chương trình bắt đầu trở nên rất lớn
  • đĩa mềm bắt đầu được sử dụng để phân phối phần mềm, và sau đó đã giảm giá
  • những người bình thường bắt đầu sử dụng máy tínhvà muốn một cách đơn giản để chạy một chương trình
  • tạp chí máy tính bắt đầu bao gồm băng cassette hoặc đĩa mềm với các phiên bản phần mềm miễn phí hoặc dùng thử trên đó

Rất nhanh chóng, phần mềm thương mại bắt đầu bị vi phạm bản quyền, và các nhà sản xuất phần mềm thương mại rất không hài lòng về điều này. Bill Gates, người đồng sáng lập Microsoft, là người sớm có đạo đức chống vi phạm bản quyền phần mềm với Thư ngỏ gửi những người dùng máy tính nghiệp du, nổi tiếng vào năm 1976.

Những năm 1980 – nay

Trước khi có máy vi tính, một chương trình phần mềm thành công thường bán được tới 1.000 bản với giá 50.000–60.000 USD mỗi bản. Vào giữa những năm 1980, phần mềm máy tính cá nhân đã bán được hàng nghìn bản với giá 50–700 đô la mỗi bản. Các công ty như Microsoft, MicroPro và Lotus Development có doanh thu hàng năm hàng chục triệu đô la. Tương tự, họ thống trị thị trường châu Âu với các phiên bản nội địa hóa của các sản phẩm đã thành công ở quốc gia khác.

Một thời điểm quan trọng trong lịch sử máy tính là việc công bố các thông số kỹ thuật của máy tính cá nhân IBM vào những năm 1980 do Philip Don Estridge, nhân viên của IBM thực hiện, đã nhanh chóng dẫn đến sự thống trị của PC trên thị trường máy tính để bàn và máy tính xách tay sau này trên toàn thế giới, một sự thống trị vẫn tiếp tục cho đến ngày nay. Microsoft, bằng cách đàm phán thành công với IBM để phát triển hệ điều hành đầu tiên cho PC (MS-DOS), được hưởng lợi rất nhiều từ thành công của PC trong những thập kỷ tiếp theo, nhờ sự thành công của MS-DOS và phần mềm hỗ trợ kiêm sản phẩm kế nhiệm của nó, Microsoft Windows. Chiến thắng trong cuộc đàm phán này là một thời điểm quan trọng trong lịch sử của Microsoft.

Phần mềm nguồn mở và miễn phí

Những phát triển gần đây

Cửa hàng ứng dụng

Các ứng dụng dành cho thiết bị di động (điện thoại di động và máy tính bảng) đã được gọi là "ứng dụng" trong những năm gần đây. Apple đã chọn bán ứng dụng iPhone và iPad thông qua App Store của họ, và do đó, cả hai ứng dụng bác sĩ thú y và cắt giảm mọi ứng dụng trả phí được bán. Apple không cho phép các ứng dụng có thể được sử dụng để đi vào kho ứng dụng của họ (ví dụ: các máy ảo như máy ảo Java hoặc Flash).

Ngược lại, nền tảng Android có nhiều cửa hàng ứng dụng có sẵn và người dùng thường có thể chọn cái nào để sử dụng (mặc dù Google Play yêu cầu thiết bị tương thích hoặc đã được root).

Động thái này đã được nhân rộng cho các hệ điều hành máy tính để bàn với Phần mềm GNOME (dành cho Linux), Mac App Store (dành cho macOS) và Windows Store (dành cho Windows). Tất cả các nền tảng này vẫn như mọi khi, không độc quyền: chúng cho phép các ứng dụng được cài đặt từ bên ngoài cửa hàng ứng dụng và thực sự từ các cửa hàng ứng dụng khác.

Sự gia tăng bùng nổ về mức độ phổ biến của các ứng dụng, đối với iPhone nói riêng mà còn đối với Android, đã dẫn đến một loại "cơn sốt vàng", với một số lập trình viên hy vọng dành một lượng thời gian đáng kể để tạo ra các ứng dụng với hy vọng làm cho nó trở nên phổ biến và kiếm được nhiều tiền từ đó. Giống như trong những cuộc đổ xô đi tìm vàng thật, không phải tất cả những doanh nhân đầy hy vọng này đều thành công.

Chuẩn hóa phát triển phần mềm

Sự phát triển của các chương trình giảng dạy trong khoa học máy tính đã dẫn đến những cải tiến trong phát triển phần mềm. Các thành phần của các chương trình giảng dạy này bao gồm:

Lập trình cấu trúc và hướng đối tượng

Cấu trúc dữ liệu

Phân tích các thuật toán

Ngôn ngữ hình thức và cấu trúc trình biên dịch

Thuật toán đồ họa máy tính

Sắp xếp và Tìm kiếm

Phương pháp số, Tối ưu hóa và thống kê

Trí tuệ nhân tạo và Máy học

Cách thức phần mềm đã ảnh hưởng đến phần cứng

Khi ngày càng có nhiều chương trình đi vào lĩnh vực phần sụn, và bản thân phần cứng trở nên nhỏ hơn, rẻ hơn và nhanh hơn theo dự đoán của định luật Moore, thì ngày càng nhiều loại chức năng của máy tính được thực hiện bởi phần mềm, đã gia nhập hàng ngũ phần cứng, như ví dụ với các đơn vị xử lý đồ họa. (Tuy nhiên, thay đổi đôi khi đi theo hướng khác vì chi phí hoặc các lý do khác, chẳng hạn như với softmodem và microcode.)

Hầu hết các công ty phần cứng ngày nay có nhiều lập trình viên phần mềm trong biên chế hơn các nhà thiết kế phần cứng, vì các công cụ phần mềm đã tự động hóa nhiều nhiệm vụ của các kỹ sư bảng mạch in (PCB).

👁️ 2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Phần mềm là các lệnh được lập trình mà được lưu trữ trong bộ nhớ được lưu trữ của các máy tính kỹ thuật số để bộ xử lý thực hiện. Phần mềm là một
[[Phần cứng|Phần cứng máy tính là nền tảng cho xử lý thông tin (sơ đồ khối). ]] **Lịch sử phần cứng máy tính** bao quát lịch sử của phần cứng máy tính, kiến trúc của
Các hệ điều hành máy tính cung cấp một tập chức năng cần thiết và được dùng ở hầu hết các chương trình trên máy tính, và các liên kết cần để kiểm soát và
**Lịch sử của Linux** bắt đầu vào năm 1991 với sự bắt đầu của một dự án cá nhân của sinh viên Phần Lan Linus Torvalds để tạo ra một hạt nhân hệ điều hành
**Master** là một phiên bản của phần mềm cờ vây AlphaGo của Google DeepMind, được đặt tên theo tên tài khoản (tên ban đầu là **Magister**/**Magist**) được sử dụng trực tuyến, đã thắng tuyệt đối
**Lịch sử của Microsoft SQL Server** bắt đầu bằng Microsoft SQL Server SQL Server 1.0, phiên bản 16-bit dành cho OS/2 ## Bộ xử lý hỗ trợ
**Mật mã học** là một ngành có lịch sử từ hàng nghìn năm nay. Trong phần lớn thời gian phát triển của mình (ngoại trừ vài thập kỷ trở lại đây), **lịch sử mật mã
**Kiểm thử phần mềm** (tiếng Anh: **Software testing**) là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ
nhỏ| Một sơ đồ cho thấy cách người dùng tương tác với [[phần mềm ứng dụng trên một máy tính để bàn thông thường. Lớp phần mềm ứng dụng giao tiếp với hệ điều hành,
**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 quá trình phát triển phần mềm ở mức cao hơn việc chỉ thiết kế
Dịch máy nói chung bắt đầu từ thập niên 50, mặc dù một số công việc có thể tìm thấy ở thời kỳ trước đó. Thí nghiệm Georgetown-IBM năm 1954 liên quan hoàn toàn đến
**Quản lý dự án phần mềm** việc lên kế hoạch có tính khoa học và nghệ thuật trong quá trình quản lý các dự án phần mềm. Nó chính là quy trình quản lý dự
**Lịch sử Iran** hay còn được gọi là **lịch sử Ba Tư**, là lịch sử bao gồm nhiều đế quốc khác nhau trong suốt nhiều thiên niên kỷ qua tại Cao nguyên Iran và các
nhỏ|Ảnh chụp màn hình trò chơi giáo dục Chinese Tap trên Android để dạy học tiếng Trung. **Phần mềm giáo dục** là phần mềm máy tính có nhiệm vụ chính là hỗ trợ dạy học
Đây là bài con của **Trí tuệ nhân tạo**, nội dung chú trọng vào sự phát triển và **lịch sử ngành trí tuệ nhân tạo**. ## Sự phát triển của lý thuyết trí tuệ nhân
**Phần mềm gián điệp**, còn được dùng nguyên dạng Anh ngữ là **spyware**, là loại phần mềm chuyên thu thập các thông tin từ các máy chủ (thông thường vì mục đích thương mại) qua
Dự án **Mozilla Firefox** được khởi tạo bởi Dave Hyatt và Blake Ross như là một nhánh thử nghiệm của dự án Mozilla. Firefox 1.0 được phát hành vào 9 tháng 11 năm 2004. Firefox
thumb|alt=Màn hình máy tính của hệ điều hành, màn hình hiển thị các ứng dụng phần mềm tự do khác nhau.|Ví dụ về một hệ điều hành phần mềm tự do hiện đại chạy một
liên_kết=https://en.wikipedia.org/wiki/File:ClamTk_5.27.png|nhỏ|300x300px|[[ClamTk, một phần mềm diệt vi-rút mã nguồn mở dựa trên công cụ diệt virus ClamAV, ban đầu được Tomasz Kojm phát triển vào năm 2001.]] nhỏ|255x255px|Ảnh chụp giao diện phần mềm diệt virus có
Nguồn gốc của video game nằm trong quá trình phát triển với ống phóng tia âm cực -dựa trên hệ thống phòng thủ tên lửa vào cuối những năm 1940. Các chương trình này sau
**Phần mềm tự do nguồn mở** (Tiếng Anh: _Free and open-source software_ (Viết tắt là F/OSS, FOSS) hoặc _Free/Libre/open-source software_ (Viết tắt là FLOSS)) là loại phần mềm được bao gồm Phần mềm tự do
Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với việc phát hành công khai phiên bản beta đầu tiên vào ngày 5 tháng 11 năm 2007. Phiên bản thương mại
nhỏ|400x400px|Giấy phép phần mềm trong bối cảnh bản quyền theo Mark Webbink. Từ trái sang phải ít quyền cho người được cấp phép/user của một phần mềm và nhiều hơn nữa quyền giữ lại bởi
**_Sự trỗi dậy và suy tàn của Đế chế thứ ba – Lịch sử Đức Quốc Xã_** (nguyên tác tiếng Anh: _The Rise and Fall of the Third Reich: A History of Nazi Germany_) là
nhỏ|phải|Hình ảnh Trái Đất chụp năm 1972. Biểu đồ thời gian lịch sử Trái Đất **Lịch sử Trái Đất** trải dài khoảng 4,55 tỷ năm, từ khi Trái Đất hình thành từ Tinh vân Mặt
**Git** (, đọc là "Ghít") là phần mềm quản lý mã nguồn phân tán được phát triển bởi Linus Torvalds vào năm 2005, ban đầu dành cho việc phát triển nhân Linux. Hiện nay, Git
**Lịch sử giáo dục Nhật Bản** được bắt đầu từ khoảng thế kỉ thứ 6, khi mà chế độ giáo dục Trung Hoa được giới thiệu dưới triều đại Yamato. Những nền văn hoá du
**Phần mềm xử lý bảng tính** hay **Bảng tính** (tiếng Anh**: Spreadsheet**) là một phần mềm ứng dụng dùng để tổ chức, phân tích và lưu trữ dữ liệu thông qua các bảng tính (gọi
nhỏ|phải|Một cô bé đang ăn Pizza **Lịch sử của pizza** bắt nguồn từ thời cổ đại, khi nhiều nền văn hóa cổ đại làm ra bánh mì dẹt với một lớp phủ bên trên. Họ
**Zoom** là phần mềm gọi video phát triển bởi Zoom Video Communications. Phiên bản miễn phí cung cấp gọi video với tối đa 100 thiết bị cùng lúc, và giới hạn thời gian là 40
Đây là danh sách **Phần mềm mã nguồn mở**: là phần mềm máy tính được cấp phép giấy phép mã nguồn mở. Bài viết này không có tham vọng liệt kê tất cả những phần
**Lịch sử Ấn Độ độc lập** bắt đầu khi Ấn Độ trở thành quốc gia độc lập trong Khối Thịnh vượng chung Anh vào ngày 15 tháng 8 năm 1947. Kể từ năm 1858, người
nhỏ|Bìa quyển _Kimiya-yi sa'ādat_ (bản 1308) của nhà giả thuật Hồi giáo Ba Tư Al-Ghazali được trưng bày tại Bibliothèque nationale de France. **Lịch sử ngành hóa học** có lẽ được hình thành cách đây
**Kiến trúc phần mềm** của một chương trình máy tính hay một hệ thống tính toán là cấu trúc của các thành phần trong hệ thống đó. _Kiến trúc phần mềm_ bao gồm các phần
**Phần mềm dạng dịch vụ** (**SaaS** ) là mô hình cấp phép và phân phối phần mềm trong đó phần mềm được cấp phép trên cơ sở đăng ký và được lưu trữ tập trung.
**Phần mềm quảng cáo** hay **nhu liệu quảng cáo** thường đính kèm với những mẩu quảng cáo nhỏ, chúng thường được phân phát dưới hình thức phần mềm miễn phí hay phiên bản dùng thử.
**Phát triển phần mềm linh hoạt** hoặc **lập trình linh hoạt** (tiếng Anh: **_Agile software development_** hay **_Agile programming_**) là một phương thức thực hiện các dự án công nghệ phần mềm, phương thức này
**Wine** là một lớp tương thích tự do nguồn mở dùng để chạy các phần mềm viết cho Windows trên các hệ điều hành tương tự Unix (Linux, FreeBSD,...). Wine cũng cung cấp một thư
**Phần mềm miễn phí** (tiếng Anh: _freeware_) là phần mềm mà người sử dụng không phải trả bất kỳ chi phí nào, không hạn chế thời gian sử dụng, có thể tải tự do về
**Quỹ Phần mềm Tự do** hay **Tổ chức Phần mềm Tự do** (tiếng Anh: _Free Software Foundation_, viết tắt **FSF**) là một tổ chức phi lợi nhuận do Richard Stallman thành lập ngày 4 tháng
**RPM Package Manager** (**RPM**) (ban đầu là **Red Hat Package Manager**; bây giờ là một từ viết tắt đệ quy) là một trình quản lý gói. Tên gọi RPM đề cập đến: định dạng file.rpm,
**Phần mềm giỏ hàng** (Tiếng Anh: _Shopping cart software_) là một phần mềm thương mại điện tử (e-commerce software) cho phép khách hàng truy cập vào một trang web, chọn lựa và mua sắm các
**Origin** là một nền tảng phân phối kỹ thuật số được phát triển bởi Electronic Arts để mua và chơi các trò chơi điện tử. Phần mềm này có sẵn cho máy tính và
Trong công nghệ phần mềm, một **mẫu thiết kế** (tiếng Anh: design pattern) là một giải pháp tổng thể cho các vấn đề chung trong thiết kế phần mềm. Một mẫu thiết kế không phải
**Blender** là một phần mềm đồ họa 3D miễn phí và nguồn mở, được sử dụng để làm phim hoạt hình, kỹ xảo, ảnh nghệ thuật, mẫu in 3D, phần mềm tương tác 3D và
**Thể loại phần mềm** là các nhóm phần mềm. Chúng cho phép phần mềm được hiểu theo các loại này thay vì đặc thù của mỗi gói phần mềm. Các kiểu phân loại khác nhau
**Jenkins** là một phần mềm tự động hóa, mã nguồn mở và viết bằng Java. Dự án được tách ra từ dự án ban đầu là Hudson, sau khi xảy ra sự tranh chấp với
**Công** **nghiệp phần mềm** bao gồm các doanh nghiệp phát triển, bảo trì và xuất bản phần mềm đang sử dụng các mô hình kinh doanh khác nhau, chủ yếu là "dựa trên giấy phép
**Nessus** là một công cụ quét lỗ hổng bảo mật độc quyền được phát triển bởi Công ty An ninh mạng Tenable, được phát hành miễn phí cho việc sử dụng phi thương mại. Theo
**Line** (cách điệu: **LINE**) là một ứng dụng và dịch vụ miễn phí của Nhật Bản dành cho nhắn tin tức thời và mạng xã hội, được điều hành bởi công ty Nhật Bản LY