Frances Elizabeth Allen (1932-2020) là nhà khoa học máy tính người Mỹ. Bà đã có những đóng góp tiên phong cả về lý thuyết và thực tiễn cho các kỹ thuật tối ưu hóa biên dịch (chuyển đổi mã nguồn sang mã máy hoặc mã trung gian), giúp phần mềm nhận được các chương trình do con người viết và chuyển chúng thành thứ mà máy tính có thể hiểu được.
Những ý tưởng của bà đã đặt nền móng cho các trình biên dịch tối ưu hóa hiện đại, giúp các lập trình viên ngày nay tạo ra phần mềm nhanh, hiệu quả cho các máy tính, điện thoại thông minh và trang web.
Allen sinh ra ở một nông trại nuôi bò sữa tại thị trấn Peru, bang New York, là chị cả trong gia đình có 6 anh, chị, em. Bà lớn lên trong cảnh thiếu nước máy và điện sinh hoạt. Đầu thập niên 1940, trang trại bò bắt đầu có điện, nhưng ngôi nhà của gia đình bà thì không. Ngôi trường của bà cũng chỉ có một phòng, cách nhà chưa đầy một dặm. Sau giờ học, bà làm công việc đồng áng, như vắt sữa bò.

Frances Elizabeth Allen. Ảnh: IBM.
Thời trung học, Allen rất ngưỡng mộ giáo viên toán của mình, nên quyết tâm nối bước. Bà theo học trường Cao đẳng Sư phạm bang New York (nay là Đại học bang New York tại Albany) trong bốn năm, lấy bằng Cử nhân Toán học, chuyên ngành phụ Vật lý kèm chứng chỉ Sư phạm. Sau đó, bà dạy toán tại trường cũ trong hai năm, từ đại số sơ cấp đến lượng giác nâng cao.
Allen sau đó ghi danh vào Đại học Michigan-Ann Arbor, lấy bằng Thạc sĩ toán năm 1957. Đây cũng là nơi bà được học những lớp đầu tiên về máy tính và cách lập trình máy 650 của IBM - tập đoàn công nghệ đa quốc gia khổng lồ của Mỹ.
Cùng năm, trong một đợt phỏng vấn tuyển dụng của IBM trong khuôn viên trường, Allen được mời vào làm một vị trí nghiên cứu. Vì muốn trả hết nợ món nợ học phí đại học, bà gật đầu, dự định kiếm đủ tiền rồi sẽ quay lại giảng dạy.
Nhưng bước ngoặt này đã níu bà ở lại IBM trong suốt 45 năm tiếp theo.
Bà gia nhập IBM vào tháng 7/1957, hai tháng sau khi ngôn ngữ lập trình cấp cao FORTRAN được phát hành. Trước đây, các kỹ sư phải lập trình máy tính bằng ngôn ngữ nhị phân mà phần cứng máy tính hiểu được. Với FORTRAN, họ có thể xây dựng phần mềm một cách trực quan hơn, không cần nắm vững các thao tác bí truyền của phần cứng.
Nhiệm vụ đầu tiên của bà là hướng dẫn các nhà nghiên cứu tại IBM sử dụng ngôn ngữ này. Để hoàn thành công việc, bà đã làm điều mà giáo viên thường phải làm: học trước tài liệu vài ngày so với sinh viên. Trong quá trình này, bà đọc mã nguồn của bộ biên dịch Fordtran do John Backus (người sau này cũng đoạt giải Turing Award) và nhóm của ông phát triển. Chính bộ tài liệu này đã khơi dậy niềm đam mê của Allen với biên dịch và định hình cách bà suy nghĩ về chúng.
Từ đó về sau, bà tập trung phát triển các bộ biên dịch ngôn ngữ lập trình tiên tiến. Nổi bật trong đó là dự án tuyệt mật chế tạo siêu máy tính STRETCH của Cơ quan An ninh quốc gia Mỹ (NSA).
Cỗ máy của NSA được thiết kế để phân tích các thông tin liên lạc bị chặn bởi các trạm nghe lén của điệp viên Mỹ trên khắp thế giới. Allen đã giúp xây dựng ngôn ngữ lập trình và trình biên dịch của cỗ máy này.
Trong những năm đầu thiết kế máy tính, các trình biên dịch cực kỳ kém hiệu quả. Lập trình viên có thể xây dựng phần mềm mà không cần tìm hiểu chi tiết về phần cứng, nhưng khi trình biên dịch chuyển đổi chương trình của họ thành ngôn ngữ nhị phân, chúng lại quá chậm, tốn rất nhiều dung lượng.
Allen đã nỗ lực để thay đổi. Bà và đồng nghiệp thiết kế một khung bộ biên dịch duy nhất để xử lý ba ngôn ngữ lập trình khác nhau: FORTRAN, Autocoder và ngôn ngữ mới Alpha. Chúng dùng chung một phần phụ trợ tối ưu hóa có thể tạo mã cho cả siêu máy tính Stretch và bộ đồng xử lý Harvest.
Sau này, họ áp dụng ý tưởng tương tự vào "parallel computing" (điện toán song song), một kỹ thuật mới hơn nhằm phân chia các tác vụ kỹ thuật số trên nhiều máy tính.
Kết quả sau vài thập kỷ chính là ngành lập trình máy tính ngày nay. Giờ đây, các lập trình viên có thể xây dựng các ứng dụng điện thoại thông minh, như Facebook, phản hồi tức thì, được cung cấp từ các trung tâm dữ liệu khổng lồ với hàng chục nghìn máy tính.
Cùng với nhà nghiên cứu John Cocke, Allen xuất bản một loạt bài báo mang tính bước ngoặt vào cuối những năm 1960 và 70, mô tả sự cân bằng giữa tính dễ tạo và tốc độ thực thi trong công trình của bà. Năm 2006, Allen trở thành người phụ nữ đầu tiên được trao Giải A.M. Turing.

Frances Elizabeth Allen. Ảnh: Tech Heroines.
Theo Graydon Hoare, người tạo ra ngôn ngữ lập trình Rust, công trình của Allen hiện diện trong hầu hết hệ thống phần mềm: ứng dụng, trang web, trò chơi điện tử, hệ thống liên lạc, máy tính của chính phủ hay ngân hàng, máy tính trên ô tô hay máy bay,...
Hoare nói thêm rằng nếu không có trình biên dịch tốt, toàn bộ thế giới phần mềm sẽ chậm, tốn kém, dễ xảy ra lỗi và kém khả năng hơn nhiều.
Bên cạnh những ảnh hưởng về mặt kỹ thuật, Allen còn thúc đẩy nhiều thay đổi trong một lĩnh vực vốn từ lâu do nam giới thống trị. Trong những năm 1970, bà đã kiên trì xây dựng đội ngũ nghiên cứu tại IBM với tỷ lệ nữ lên tới 50%.
"Bà ấy đã phá vỡ rào cản vô hình. Vào thời điểm đó, không ai nghĩ rằng một người như bà ấy có thể đạt được những gì bà ấy đã làm", Mark Wegman, một nhà nghiên cứu IBM đã làm việc với Allen trong nhiều thập kỷ, nói.
Năm 1989, bà trở thành "IBM fellow" (nhà nghiên cứu IBM) nữ đầu tiên, một vinh dự hiếm dành cho các kỹ sư, nhà khoa học và lập trình viên của công ty. Một chi tiết thú vị nhưng cũng trớ trêu: Trên chứng nhận, công ty vẫn in dòng chữ dành cho nam giới: "Ghi nhận những đóng góp kỹ thuật xuất sắc của anh...".
Frances đã treo nó trên tường cho đến khi nghỉ hưu năm 2002. Năm 2020, bà qua đời tại một viện dưỡng lão, sau nhiều năm chung sống với bệnh Alzheimer.
Khánh Linh (Theo The New York Times, ACM, IBM)




































