Bài viết được dịch từ trang web Makeuseof

Lập trình viên đầu tiên trên thế giới là ai
Nữ bá tước Ada Lovelace là lập trình viên đầu tiên trên thế giới.

Tôi biết nhìn nó trông có vẻ không giống lắm, nhưng đây là chương trình máy tính đầu tiên đã từng được công bố.

Học lập trình trực tuyến
Chương trình máy tính đầu tiên

Tác giả của nó là Augusta Ada King, bá tước Lovelace, thường được gọi là Ada Lovelace, và chương trình này là một phần của một bài báo khoa học xuất bản vào những năm 1840. Vâng, cách đây gần 200 năm.

Mặc dù Ada là một nhà văn và toán học tài năng, bà được biết đến nhiều hơn nhờ những đóng góp của mình vào lĩnh vực máy tính. Nếu bạn đã từng duyệt web, mua một cái gì đó trực tuyến, hoặc thậm chí sử dụng một chiếc điện thoại thông minh, thì bạn mang ơn bà ấy rất nhiều. Mỗi năm vào ngày 13 tháng 10, chúng ta tổ chức ngày Ada Lovelace, để công nhận những đóng góp to lớn của phụ nữ trong các lĩnh vực khoa học, công nghệ và toán học.

Ngày nay, những đóng góp của Ada Lovelace vẫn tiếp tục còn ảnh hưởng có ý nghĩa và quan trọng đối với cuộc sống của chúng ta.

Ada Lovelace là ai?

Lovelace được sinh ra vào năm 1815 trong một gia đình thuộc tầng lớp quý tộc Anh. Cha cô là nhà thơ lãng mạn Lord George Byron, và mẹ cô là Anne Isabella Byron - một người phụ nữ có học vấn cao và sùng đạo, người có nhiều kiến thức về văn học, toán học, khoa học và triết học.

Một tháng sau khi sinh cô, cha mẹ cô chia lìa trong một cuộc ly hôn gay gắt, và Lord Byron rời nước Anh, để lại Ada được nuôi dạy bởi mẹ và bà ngoại.

Học lập trình online chất lượng nhất

Lady Anne Byron có tính nghi ngờ sâu sắc về nghệ thuật, đó là kết quả của mối quan hệ đầy bi kịch của bà với Lord Byron. Bởi vậy, bà đẩy Ada vào học tập thật nhiều các môn khoa học và toán học, và cô cũng rất xuất sắc các môn học đó.

Như một kết quả của môi trường giáo dục đặc quyền mà Ada nhận được, cô đã được dạy bởi một số bộ óc vĩ đại nhất của thời đại, bao gồm cả Augustus de MorganMary Somerville. Đó là người mà sau này, vào tháng 6 năm 1833, đã giới thiệu Lovelace (lúc đó mới 18 tuổi) với nhà bác học Charles Babbage - người thường được xem là "cha đẻ của máy tính".

Tại cuộc gặp mặt đầu tiên đó, cô gái trẻ Ada đã rất ấn tượng về nhà bác học Babbage, sau đó một tháng ông mời cô tới London để xem cỗ máy tính toán Difference Engine của mình.

Thời kỳ đầu của máy tính

Ban đầu, từ "computer" không phải dùng để đề cập đến một cái máy, mà đúng hơn là để nói về con người.

Nếu một người nào đó là một human computer, thì công việc của họ sẽ liên quan đến việc tính toán các thứ. Vấn đề là con người không thể không mắc lỗi trong công việc của mình.

Chính điều này là cảm hứng để Babbage tạo ra một chiếc máy tính có thể thực hiện các phép tính một cách có hệ thống, chính xác và tự động. Máy này sẽ cho phép người dùng nhập vào một số thông số, sau đó máy sẽ trả lại kết quả chính xác. Ở một cấp độ hoàn toàn khái niệm, nó cũng không phải là quá khác xa so với các chương trình máy tính làm việc trên phần cứng hiện đại ngày nay.

Học lập trình trực tuyến tốt nhất Việt Nam
Máy tính Difference Engine

Lúc đó Babbage mới tạo ra được một cái máy gọi là "Difference Engine". Đây là một cỗ máy cơ khí được thiết kế với mục đích duy nhất để chia loại phương trình đa thức.

Babbage đã nhận được một khoản tài trợ đáng kể từ chính phủ để hoàn thành thiết kế của mình. Mặc dù ông đã không thể xây dựng nó thành một mô hình làm việc được, nhưng Ada đã bị cuốn hút với nguyên mẫu (prototype) về chiếc máy này của ông, và cô thường xuyên ghé thăm Babbage. Cô nhanh chóng phát triển một mối quan hệ làm việc gần gũi với ông ta, và Babbage cũng rất ấn tượng về các kỹ năng toán học và phân tích đầy ấn tượng của cô.

Mặc dù Babbage sau đó không còn quan tâm đến cỗ máy Difference Engine, nhưng mối quan hệ của họ vẫn tiếp tục vào dự án tiếp theo của ông: đó là chiếc máy Analytical Engine.

Chương trình đầu tiên

Đây là một dự án đầy tham vọng hơn nhiều so với chiếc máy Difference Engine trước đó.

Trong khi máy Difference Engine chỉ có một mục đích duy nhất, thì chiếc máy Analytical Engine được dự định sử dụng đa mục đích, và là chiếc máy tính có thể lập trình được. Chưa có bất cứ điều gì giống như vậy tại thời điểm đó.

Ở nhiều mặt thì điều này có rất nhiều điểm chung với các máy tính ngày nay. Mặc dù Babbage đã không thể hoàn thành nó, nhưng chiếc máy Analytical Engine cho phép các lập trình viên có thể viết các vòng lặp và câu lệnh điều kiện. Nó thậm chí được đặc trưng bởi một bộ tính toán số học nguyên thủy Unit Arithmetic Logic (ALU). Chúng được tìm thấy trong các CPU và GPU hiện đại ngày, được sử dụng để thực hiện các phép tính số học và bitwise.

Học lập trình trực tuyến cơ bản đến nâng cao
Máy tính Analytical Engine

Cỗ máy Analytical Engine đó, mặc dù chẳng bao giờ thành sản phẩm thực tế, nhưng đã thu hút rất nhiều sự chú ý và tò mò từ cộng đồng khoa học. Các trường đại học thường mời Babbage giảng bài về nó, và vào năm 1840 Babbage có một buổi nói chuyện tại Đại học Turin ở Ý. Trong những người tham dự có nhà toán học người Ý nổi tiếng là Luigi Menabrea, người đã viết một bài viết ngắn về những gì ông đã nghe được.

Menabrea sau đó đề nghị Lovelace dịch nó sang tiếng Anh là ngôn ngữ được sử dụng phổ biến hơn. Bởi vì Ada có một sự hiểu biết gần như tường tận về cái máy đó, đó là kết quả của tình bạn thân thiết giữa cô với Babbage, cô cũng được yêu cầu mở rộng nội dung của bài viết đó.

Bài viết cuối cùng của cô cần hơn một năm để hoàn thành, và nó có độ dài gấp 3 lần độ dài của bài viết gốc. Ngoài việc mở rộng nội dung bài viết đó, cô cũng đưa vào một số thiết kế về thuật toán.

Một trong số đó là một thuật toán cho máy Analytic Engine để tính toán các số Bernoulli. Đây thường được ca ngợi là chương trình máy tính đầu tiên từng được xuất bản rộng rãi, và là lý do tại sao Lovelace thường được xem là lập trình viên đầu tiên cho máy tính.

Những Ada Lovelace trong thế giới hiện đại

Lovelace qua đời năm 1852 ở tuổi 36. Bà không chỉ đã đóng một vai trò quan trọng trong sự phát triển của lĩnh vực khoa học máy tính, mà bà cũng là người khởi đầu cho một truyền thống lâu dài và tốt đẹp về việc phụ nữ tham gia vào lĩnh vực máy tính và công nghệ.

Có rất nhiều ví dụ về những người phụ nữ thành công trong ngành công nghệ. Từ Marissa Mayer, đến Kathy Sierra, và Sheryl Sandberg, phụ nữ đóng một vai trò quan trọng trong ngành công nghiệp công nghệ cao. Nhưng một người, đặc biệt nổi bật lên là có vai trò quan trọng vào sự phát triển của khoa học máy tính.

Tên bà là Grace Hopper. Sinh năm 1906, bà nhanh chóng phát hiện ra mình có năng khiếu về toán học, và sau đó đã nhận được bằng tiến sĩ từ đại học Yale trong lĩnh vực này. Năm 1943, khi Chiến tranh thế giới thứ hai đang xảy ra ác liệt nhất, bà gia nhập lực lượng Hải quân Mỹ, nơi bà được phân công nhiệm vụ làm việc trên máy tính Harvard Mark 1.

Học lập trình online xin việc làm
Grace Hopper

Mặc dù nó khá lạc hậu theo tiêu chuẩn của chúng ta ngày nay, nhưng dòng máy tính này đóng một vai trò quan trọng trong các hoạt động phục vụ chiến tranh. Chúng thậm chí còn được sử dụng bởi nhà bác học John Von Neumann để mô phỏng các vụ nổ bom nguyên tử, rất lâu trước khi bom nguyên tử được mang đến dội xuống Đế quốc Nhật.

Một vài năm sau đó, Hopper đã xây dựng nên trình biên dịch đầu tiên trên thế giới. Được gọi là A-0 (Arithmetic Language Version 0), nó chạy trên máy UNIVAC 1, và có thể dịch một loại mã toán học thành mã máy.

Học lập trình online hiệu quả nhất
Máy tính UNIVAC 1

Hopper tin rằng con người nên có khả năng đọc được mã máy tính. Triết lý này đã truyền cảm hứng để tạo ra COBOL (một ngôn ngữ lập trình vẫn được sử dụng rộng rãi cho đến ngày nay, đặc biệt là trên các hệ thống di sản). Và nhiều ngôn ngữ lập trình mà chúng ta đang sử dụng hiện nay cũng được lấy cảm hứng từ COBOL.

Trong suốt thời gian này, Hopper vẫn ở trong Hải quân Mỹ, cuối cùng bà lên đến cấp bậc Chuẩn Đô đốc, cho đến khi được xuất ngũ vào năm 1986, ở tuổi 79. Bà thậm chí còn xuất hiện trên show truyền hình nổi tiếng The Letterman.

Chúc mừng ngày Ada Lovelace

Tất cả chúng ta mang ơn lớn đối với những người như Ada Lovelace, Grace Hopper, và vô số các khoa học nữ trong các lĩnh vực toán học, khoa học máy tính, lập trình, và điện. Nếu không có họ, tôi ngờ rằng liệu bạn có sở hữu một chiếc máy tính mà ngồi đọc bài viết này hay không.

Có những phụ nữ nào khác trong lĩnh vực công nghệ đã truyền cảm hứng cho bạn? Hãy chia sẻ với chúng tôi trong phần bình luận phía dưới nhé!