Ngôn ngữ lập trình Fortran. Tại sao các nhà vật lý vẫn sử dụng Fortran

Năm 2017, ngôn ngữ Fortran tròn 60 tuổi. Trong thời gian này, ngôn ngữ đã được tinh chỉnh nhiều lần. Các phiên bản "hiện đại" được coi là Fortran 90, 95, 2003 và 2008. Nếu ban đầu nó là ngôn ngữ lập trình cấp độ cao với mô hình cấu trúc thuần túy thì ở các phiên bản sau này đã có các công cụ hỗ trợ OOP và lập trình song song. Ngày nay, Fortran đã được triển khai trên hầu hết các nền tảng.

Trước khi Fortran ra đời, các nhà phát triển đã lập trình bằng mã máy và hợp ngữ. Ngôn ngữ cấp cao nhanh chóng trở nên phổ biến vì nó dễ học và tạo ra mã thực thi hiệu quả. Điều này làm cho cuộc sống của các lập trình viên trở nên dễ dàng hơn nhiều.

Năm 1950, khi John Backus 25 tuổi, ông nhận bằng thạc sĩ toán học tại Đại học Columbia và nhận được công việc lập trình viên tại IBM. Chẳng bao lâu sau, ông đã đứng đầu một nhóm phát triển một trình thông dịch có tên là “Bộ mã hóa nhanh” cho máy tính IBM-701. Sau đó, anh làm việc trong nhóm để tạo ra sản phẩm kế thừa mạnh mẽ hơn cho 701, IBM-704.

Năm 1953, Backus đưa ra sáng kiến ​​hợp lý hóa. Ông đề xuất tạo ra một ngôn ngữ và một trình biên dịch cho nó, điều này sẽ đơn giản hóa việc lập trình mô hình IBM-704. Hệ thống này cho phép các chương trình được viết ở dạng đại số và trình biên dịch có nhiệm vụ tự động dịch nó sang mã máy.

Với đề xuất này, John Backus, như người ta nói, đã đến đúng chỗ, trong đúng thời điểm. Gia nhập thị trường muộn, IBM gặp khó khăn trong việc tăng doanh số bán máy tính của mình. Vì lý do này, cô đã hỗ trợ nghiên cứu khoa học máy tính tại Columbia, Harvard và một số trường đại học khác. Ngoài ra, bản thân IBM cũng đang tìm mọi cách để giảm chi phí lập trình, đồng thời cũng cố gắng đơn giản hóa công việc với máy tính để chúng trở nên hấp dẫn và “thân thiện” hơn với người dùng.

Thực tế là vào thời điểm đó chủ yếu là các nhà khoa học, kỹ sư và giáo viên làm việc với máy tính. Máy tính đã được sử dụng để tính toán khoa học. Tuy nhiên, những người này gặp khó khăn lớn vì phải sử dụng mã máy và hợp ngữ. Và điều này đòi hỏi kiến ​​​​thức khá sâu về cấu trúc và hoạt động của chính máy tính.

Vì vậy, họ có thể sẽ đồng ý học một ngôn ngữ cấp cao, đặc biệt nếu nó giống với các công thức đại số mà họ quen thuộc. Những cân nhắc như vậy đã thúc đẩy IBM phát triển Fortran.


IBM-704

Các nhà nghiên cứu của IBM đã tạo ra Fortran không biết làm thế nào tầm quan trọng lớn sẽ học được ngôn ngữ này. Khi họ bắt đầu công việc vào đầu năm 1954, khoa học máy tính đang phát triển một cách tự nhiên và mọi người đều làm việc theo ý thích. Điều này dẫn đến sự xuất hiện của các lập trình viên chuyên nghiệp và các nhà khoa học máy tính.

Một trong những nhà quản lý của IBM quyết định rằng những người chơi cờ sẽ lập trình viên giỏi, vì vậy anh ấy bắt đầu trò chuyện với các ứng viên lập trình viên tiềm năng trong các ván cờ với một trong những nhân viên của IBM (nhân tiện, người này là nhà vô địch cờ vua Hoa Kỳ).

Rất ít người trong số tám người tham gia phát triển Fortran có kiến ​​thức nghiêm túc về máy tính. Họ đến từ các trường đại học và hãng hàng không cũng như các nhóm lập trình của IBM.

Ngay cả người đứng đầu nhóm phát triển Fortran, John Backus, cũng chỉ có vài năm kinh nghiệm về máy tính khi bắt đầu tạo ra một ngôn ngữ lập trình mới.
Trước khi học đại học, Backus là một sinh viên tầm thường (“Tôi đã học nhiều trường hơn mức tôi có thể nhớ”). Sau khi phục vụ trong Quân đội trong Thế chiến thứ hai, anh đến Thành phố New York, nơi anh theo học trường kỹ thuật vô tuyến. Beckus sau này thừa nhận: “Giới hạn trong khát vọng của tôi là tạo ra một thiết bị tái tạo âm thanh chất lượng cao”.

Tuy nhiên, một giáo viên sửa chữa tivi và radio đã khơi dậy niềm yêu thích toán học của Backus và thuyết phục anh tiếp tục học tại Đại học Columbia. Đây là sự khởi đầu khiêm tốn của một trong những sự nghiệp xứng đáng nhất trong lịch sử máy tính.

Vì vậy, các nhà phát triển, dẫn đầu bởi Backus, đã định cư tại trụ sở chính của IBM trên Đại lộ Madison ở New York.

Họ đã xác định các khái niệm cơ bản của ngôn ngữ mới, đặc biệt là toán tử gán (ví dụ: N = 100), toán tử này đã gán các biến những giá trị nhất định, đã giới thiệu các biến có thể lập chỉ mục để cho máy tính biết phần tử nào trong danh sách các biến là cần thiết (ví dụ: X(3) có nghĩa là phần tử thứ ba của danh sách có tên là X), đã giới thiệu toán tử DO rất quan trọng, cho phép trình tự các câu lệnh mong muốn được lặp lại số đã cho một lần.

Như Backus đã nói, hầu hết mọi người tin rằng đóng góp chính của Fortran là khả năng viết chương trình dưới dạng công thức đại số hơn là dưới dạng ngôn ngữ máy. Nhưng thực tế thì không phải vậy. Theo ý kiến ​​của ông, Fortran chủ yếu tự động hóa việc tổ chức các vòng lặp. Tầm quan trọng của nhiệm vụ này khi phát triển các ứng dụng khoa học rất khó để đánh giá quá cao. Công việc về ngôn ngữ diễn ra nhanh chóng.

Tuy nhiên, việc phát triển một trình biên dịch lại là một vấn đề hoàn toàn khác. Backus hiểu rằng không dễ để xóa tan những nghi ngờ về khả năng lập trình “tự động”, tức là viết chương trình bằng ngôn ngữ cấp cao. Điều này sẽ xảy ra khi các chương trình được tạo bằng Fortran nhanh và đáng tin cậy như các chương trình được viết bằng mã máy hoặc bằng hợp ngữ, anh nghĩ.

Theo kế hoạch, sáu tháng được dành cho việc phát triển trình biên dịch, nhưng công việc thực hiện nó phải mất hơn hai năm.

Vào cuối năm 1956 và năm 1957, cường độ tinh chỉnh và gỡ lỗi trình biên dịch tăng mạnh. Trong thời gian này, các thành viên trong nhóm thường thuê phòng ở một khách sạn gần đó, nơi họ ngủ vào ban ngày và làm việc với máy vào ban đêm, để có thời gian sử dụng máy không bị gián đoạn nhiều nhất có thể. Các lỗi lần lượt được loại bỏ và vào tháng 4 năm 1957, trình biên dịch đã sẵn sàng để chủ sở hữu máy IBM-704 sử dụng.

"Thật xấu hổ"

Trong một sai lầm mà Backus gọi là “một sự bối rối lớn”, trình biên dịch đã được gửi đến phòng thí nghiệm Westinghouse-Bettis dưới dạng một bộ bài đục lỗ và không có bất kỳ hướng dẫn nào; cho phép Herb Bright của phòng thí nghiệm Westinghouse-Bettis điều hành Fortran một cách mù quáng. Những người dùng khác nhận được hệ thống trên băng từ cùng với sách hướng dẫn vận hành.

Một ngày thứ sáu tháng 4 năm 1957, một người đưa thư chuyển một gói hàng bí ẩn đến trung tâm máy tính của phòng thí nghiệm nguyên tử Westinghouse-Bettis gần Pittsburgh. Lập trình viên Herb Bright và hai đồng nghiệp mở một chiếc hộp không đánh dấu và tìm thấy một chồng thẻ khoảng 2.000 thẻ đục lỗ mà không có một hướng dẫn nào.

Nhìn vào những tấm thẻ đục lỗ, Bright nhớ ra rằng IBM đang trong quá trình hoàn thiện ngôn ngữ cấp cao để sử dụng trên IBM-704. Có lẽ người đưa thư đã mang chính xác trình biên dịch được chờ đợi từ lâu này? Bright và những người bạn quyết định nạp những tấm thẻ bí ẩn vào máy tính và xem điều gì sẽ xảy ra.

Bright đưa nó vào đầu đọc máy tính chương trình kiểm tra, được viết bằng Fortran và nhấn nút bắt đầu. Trình biên dịch mới đã gửi một thông báo đến máy in: “Đã phát hiện thấy lỗi trong toán tử trên thẻ số 25 - thiếu dấu phẩy”.

Các lập trình viên vốn quen với việc nhầm lẫn các thông báo dưới dạng mã số đã rất ngạc nhiên trước sự rõ ràng của thông tin này. Toán tử không chính xác đã được sửa và nút bắt đầu được nhấn lại. Các cuộn băng bắt đầu quay và máy tính xuất ra một chồng thẻ chương trình được đục lỗ. Sau khi thẻ được nạp vào đầu đọc, máy in bắt đầu hoạt động và in 28 trang không ngừng. Máy tính chỉ mắc một lỗi nhỏ ở định dạng đầu ra. “Nhưng những con số đã đúng! Những con số đã đúng!” - Bright lên tiếng sau đó.

Trên thực tế, cùng thời điểm với Fortran, hai ngôn ngữ cấp cao hơn đã xuất hiện - Cobol và Algol. Kể từ cuối những năm 50, chúng đã xuất hiện. trong một khoảng thời gian dàiđã dẫn đầu trong thế giới máy tính. Số đông chương trình hiện đạiđược viết bằng các ngôn ngữ là hậu duệ của ba ngôn ngữ này.

Phân phối và thích ứng

Nhưng lúc đầu Fortran không được đón nhận nồng nhiệt. Các lập trình viên, như Backus nhớ lại, “rất nghi ngờ về tất cả các ứng dụng của chúng tôi”. Tuy nhiên, so với những người tiền nhiệm, Fortran tương đối dễ học và sử dụng.

Ngoài ra, IBM còn cung cấp miễn phí tất cả các mẫu 704 với Fortran. Kết quả là đến năm 1958, hơn một nửa số lệnh máy trên 60 máy tính của công ty được lấy không phải theo cách thủ công mà “tự động” bằng cách sử dụng ngôn ngữ cấp cao mới.

Backus hiểu rằng các nhà sản xuất cạnh tranh cũng sẽ phát triển các ngôn ngữ cấp cao cho máy tính. Tuy nhiên, Fortran nhanh chóng trở thành chuẩn mực và được điều chỉnh cho nhiều mẫu máy tính khác nhau. Việc điều chỉnh đầu tiên được thực hiện bởi chính IBM. Năm năm sau, Fortran được sử dụng trên sáu mô hình khác nhau máy tính của IBM, cũng như trên máy tính của Sperry Rand, Philco và các hãng khác.

Một nhóm nhỏ, trong đó có David Hemmis, một khoảng thời gian ngắnđã điều chỉnh Fortran cho phù hợp với IBM-650, một máy nhỏ hơn IBM-704. Khemmis và các cộng sự đã phát triển hệ thống FORTRANSIT (FOR TRANSIT - dành cho quá trình chuyển đổi); sau này hai từ này hợp nhất thành một. Do đó, hệ thống FORTRANSIT đã trở thành trình dịch bản gốc đầu tiên, hoạt động trên các máy tính thuộc một số kiểu máy.


David Hemmis - một trong những nhà phát triển đầu tiên ngôn ngữ máy tính, lái chiếc xe đời 1928 của mình. Ảnh chụp ở Westhampton, New York trong cuộc đua ô tô năm 1957.

Quyết toán

Tuy nhiên, công việc nghiên cứu ngôn ngữ mới phải tiếp tục trong một thời gian khá dài: điều này trở nên rõ ràng vào đầu năm 1957, khi quá trình gỡ lỗi tiếp tục. Backus và các nhà phát triển khác nhận ra rằng ngôn ngữ cần nhiều hơn nữa hệ thống chính xác chẩn đoán lỗi phần mềm. Ngoài ra, cần phải triển khai khả năng viết các chương trình con và chương trình con một cách riêng biệt và độc lập. module phần mềm. Vì vậy, ngôn ngữ sẽ đạt được một lợi thế khác - tái sử dụng mã số.

Nhờ nỗ lực của các nhà phát triển, Fortran II đã xuất hiện chỉ một năm sau khi tạo ra bản gốc. Một trong những ưu điểm của ngôn ngữ mới là nó cho phép chèn các đoạn mã biên dịch mã vào chương trình. Hơn phiên bản sau, Fortran III, được thành lập vào năm 1958. Fortran IV, giúp mở rộng hơn nữa khả năng của ngôn ngữ, được biết đến vào năm 1962.

Cốt lõi của ngôn ngữ, các toán tử và cách diễn đạt cơ bản của nó hầu như không thay đổi qua nhiều năm. Nhưng khi Fortran liên tục được điều chỉnh cho phù hợp với các hệ thống máy móc mới ngoài mục đích sử dụng, sự khác biệt dần dần tích tụ. Một số cơ hội bị mất đi, những cơ hội mới lại xuất hiện. Điều này chắc chắn dẫn đến sự nhầm lẫn.

Ví dụ: không phải tất cả các trình biên dịch đều diễn giải giống nhau toán tử quan trọng nhất NÊN: một số luôn thực hiện vòng lặp ít nhất một lần mà không kiểm tra xem nó có nên được thực thi hay không, một số khác đã thực hiện kiểm tra như vậy. Để giải quyết những vấn đề như vậy, các nhà sản xuất máy tính và người dùng đã đồng ý tiêu chuẩn hóa ngôn ngữ.

Năm 1966, tiêu chuẩn đầu tiên được đặt tên là Fortran 66. Năm 1977, tiêu chuẩn Fortran 77 được phát hành. Năm 1991, Fortran 90 được tạo ra vào năm 1997.

Fortran ở Liên Xô

Ở Liên Xô, Algol-60 phổ biến hơn. Vì vậy, Fortran xuất hiện ở đất nước này muộn hơn. Tuy nhiên, nó dần dần trở nên phổ biến. Trình biên dịch (dịch thuật) đã được phát triển cho hầu hết máy tính nội địa– “Minsk-32”, BESM-4, BESM-6, AS-6, ES EVM, SM EVM, MVK “Elbrus”, v.v.

Trong IPM im. Keldysh ở thời điểm khác nhau Một số dịch giả đã được phát triển. Hai trong số đó - Fortran-Almo và Forshag (Fortran từng bước) được viết bằng ngôn ngữ Almo và mã được tạo bằng cùng một ngôn ngữ. Điều này giúp có thể cài đặt trình dịch trên nhiều loại máy tính khác nhau. Cả hai dịch giả đều thực hiện tiêu chuẩn Fortran 66.

Foreshag cũng bao gồm một ngôn ngữ đàm thoại cho phép tạo, chỉnh sửa và dịch mã một cách tương tác. Ngoài ra, một khu phức hợp đã được phát triển chương trình đồ họa cho Fortran - Graphor, được sử dụng tích cực trên nhiều máy tính khác nhau.

Fortran vẫn còn phổ biến trong giới khoa học cho đến ngày nay. Đây là ngôn ngữ lập trình cấp cao đầu tiên có trình dịch đã nhận được công dụng thực tếphát triển hơn nữa. Như đã nêu trong sổ tay IBM phát hành năm 1957, “Fortran cung cấp phương pháp hiệu quả tạo chương trình cho mô hình 704, dễ học và không yêu cầu kiến ​​thức sâu về máy tính.”

Kể từ đó, các nhà khoa học, kỹ sư và sinh viên đã có thể giao tiếp với máy tính mà không cần sự trợ giúp của các lập trình viên chuyên nghiệp viết bằng hợp ngữ.

Tuy nhiên, thế hệ lập trình viên tiếp theo bắt đầu coi Fortran như một “hóa thạch”. Edsger Dijkstra đã châm biếm rằng việc dạy học sinh ngôn ngữ này nên được coi là một tội ác nghiêm trọng.

* "PC Magic" 2000 Số 6(28), trang 49–50.

Năm 1955, ngôn ngữ thuật toán cấp cao đầu tiên được phát hành. FORTRAN(FORmula TRANSlator – dịch công thức). Nó được sử dụng chủ yếu để giải quyết các vấn đề khoa học, kỹ thuật và kỹ thuật và được phát triển bởi các nhân viên của IBM dưới sự chỉ đạo của John Backus. Một thời gian sau, vào năm 1957, John Backus và các nhân viên của ông đã cài đặt trình biên dịch Fortran đầu tiên tại IBM (Bestinghouse). Các lập trình viên trước đây làm việc độc quyền trong Assembly tỏ ra nghi ngờ về khả năng của một ngôn ngữ cấp cao, hiệu suất cao, vì vậy tiêu chí chính khi phát triển các tiêu chuẩn Fortran và tạo trình biên dịch từ ngôn ngữ này là hiệu quả của mã thực thi. Nhân tiện, thuật ngữ “trình biên dịch” vẫn chưa được sử dụng rộng rãi, mặc dù nó đã được giới thiệu bởi Grace Hopper, nữ đô đốc duy nhất ở Hoa Kỳ, người còn được gọi là “đệ nhất phu nhân lập trình và là bà nội của Cobol”. ”
Hầu hết các câu lệnh Fortran được dịch trực tiếp thành một hoặc hai lệnh máy, các cấu trúc cú pháp đơn giản và sử dụng tích cực nhãn và goto đã làm cho nó có thể có được rất nhiều mã nhanh và kết quả là các chương trình Fortran đôi khi chạy nhanh hơn các chương trình biên dịch mã. Bản thân cấu trúc bên trong của chương trình được dịch cũng rất đơn giản - tất cả mã, tất cả chương trình con và tất cả dữ liệu, cùng với một khối chung, đều được đặt riêng trong bộ nhớ tĩnh Tuy nhiên, do đó không thể sử dụng đệ quy.
Vì Fortran là ngôn ngữ cấp cao đầu tiên đáp ứng nhu cầu của hầu hết người dùng thời đó và cũng dễ học nên nó lan truyền rất nhanh.
Do việc sử dụng rộng rãi ngôn ngữ này và sự xuất hiện của nhiều chương trình Fortran (chủ yếu mang tính chất tính toán), vấn đề tiêu chuẩn hóa nó đã trở nên cấp bách. Lúc đầu là chuẩn Fortran IV 1964, sau đó, khi những ý tưởng mới xuất hiện, nó đã được thông qua vào năm 1978 tiêu chuẩn mới Pháo đài 77(f77) s một số lượng lớn hiện đại và linh hoạt hơn phần mở rộng cú pháp. Ngày nay biến thể phổ biến nhất của Fortran là Pháo đài 90(f90) và Pháo đài 95. Một nhóm những người đam mê đang hoàn thiện công việc trên một phiên bản siêu việt của ngôn ngữ F2k, phiên bản này sẽ được xuất bản trong năm nay.
Mặc dù các phiên bản mới của ngôn ngữ đôi khi bao gồm cả những bổ sung không cần thiết (ví dụ: các tiện ích mở rộng liên quan đến cấp phát bộ nhớ động) và những tiện ích hữu ích, chẳng hạn như tổ chức chương trình theo mô-đun, làm việc với các phần của mảng, v.v., ngày nay ngôn ngữ này không thể được gọi là đầy hứa hẹn. cho việc học vì cú pháp của nó đã lỗi thời đáng kể.
Tuy nhiên, những người thường xuyên phải quyết định nhiều nhiệm vụ tính toán, Không nhất thiết lúc nào cũng phải lấy sách giáo khoa toán ra và “bắt đầu lại từ đầu”. Trong 90% trường hợp tương tự những gì bạn đang tìm kiếm đã được triển khai và gỡ lỗi từ lâu ở Fortran. Vì vậy, rất có thể cuộc sống của Fortran sẽ được đảm bảo lâu dài.
Có một thị trường ngách khác tương đối trẻ dành cho Fortran - tính toán song song, trong đó ngữ nghĩa nghiêm ngặt của ngôn ngữ cho phép các chương trình có hiệu suất cao. Thông thường, tiêu chuẩn f90 được sử dụng, được mở rộng một chút với một tập hợp các toán tử để chỉ ra các phần của chương trình phù hợp cho việc song song hóa. Parallel Fortran có tiêu chuẩn riêng HPF(Fortran hiệu suất cao). Tuy nhiên, những người hâm mộ Fortran, người có phương châm là cụm từ huyền thoại “Tại sao tôi phải học các ngôn ngữ khác khi tôi có thể viết mọi thứ bằng Fortran,” cảm thấy rõ ràng nó không phù hợp với các dự án quy mô lớn do gắn bó với cú pháp của những năm 50 và đã thử để giới thiệu những ý tưởng OOP thời thượng, nhưng đối tượng Fortran chưa bao giờ nổi lên như một tiêu chuẩn.
Trong số các phiên bản được phân phối miễn phí của Fortran, phiên bản nổi tiếng nhất là f2c, được triển khai cho tất cả các hệ thống UNIX và chuyển đổi văn bản của chương trình Fortran thành mã C. Đối với DOS có phiên bản bcf77, được phân phối miễn phí. Trong số các phiên bản thương mại, phiên bản đầu tiên cần lưu ý là Microsoft Fortran, cho phép bạn tạo thư viện dll và Watcom Fortran, tạo mã hiệu quả cao. Đối với những công việc đòi hỏi độ chính xác cao tính toán, một trình biên dịch từ MicroWay được thiết kế. Nhìn chung, các trình biên dịch Fortran với chất lượng khác nhau hoàn toàn có sẵn trên tất cả các nền tảng máy tính.
Tuy nhiên, công lao chính của Fortran nằm ở chỗ khác. Khi có nhu cầu phát triển một dự án chính, những thiếu sót của Fortran, chủ yếu liên quan đến việc gỡ lỗi “nặng nề”, đã trở nên nặng nề một cách không cần thiết. Vì vậy, Fortran đóng vai trò là động lực mạnh mẽ cho sự phát triển lý thuyết về các chương trình gỡ lỗi và thử nghiệm. Hàng trăm trình xác minh cú pháp cho văn bản Fortran đã xuất hiện, phát hiện các lỗi logic tiềm ẩn. Sau đó, các lĩnh vực lý thuyết về lập trình như chuyển đổi chương trình tối ưu hóa tương đương, biên dịch cấp cao, kiểm tra tự động, v.v. đã phát triển theo hướng này. Vì vậy bạn không thể quên Fortran. Có lẽ không có ý nghĩa gì khi sử dụng nó làm bộ công cụ cho các nhiệm vụ tích hợp hệ thống, nhưng những gì đã được phát triển những lập trình viên giỏi nhất trong 30–40 năm nữa, có thể đẩy nhanh quá trình phát triển. Ít nhất, hiện nay có nhiều “khối xây dựng” phần mềm dành cho Fortran hơn các ngôn ngữ lập trình khác. ■

* * *
John Backus sinh ngày 3 tháng 12 năm 1924 tại Philadelphia, Pennsylvania, trong một gia đình giàu có, trải qua thời thơ ấu ở Wilmington. Sau khi tốt nghiệp ra trường năm 1942, ông vào Đại học Virginia để học ngành hóa học (theo sự nài nỉ của cha ông, một nhà hóa học), nhưng sau một thời gian ông nghỉ học và đến năm 1943, ông được gọi đi làm. nghĩa vụ quân sự.
Backus bắt đầu phục vụ trong lữ đoàn phòng không tại Fort Stewart, Georgia, nhưng sau đó được gửi đến trường đại học để học y khoa.
Có một thời gian, ông làm việc nhiệt tình tại bệnh viện thành phố, nhưng đến năm 1946, ông không còn hứng thú với công việc này, rời quân ngũ và chuyển đến New York, mặc dù ông không biết phải làm gì và sống như thế nào.
Sau một thời gian, Backus vào trường đào tạo kỹ thuật vô tuyến. "Tôi có một giáo viên rất giỏi, ông ấy yêu cầu tôi tính toán đặc tính của một số mạch điện. Việc đó cực kỳ tẻ nhạt nhưng cực kỳ thú vị."
Backus sớm vào Đại học Columbia (New York) để học toán, nơi anh nhận được bằng tốt nghiệp. giáo dục đại học(1949). Không lâu trước khi tốt nghiệp, anh ấy đã đến thăm một trung tâm máy tính IBM trên đại lộ Madison. Và tại đây may mắn đã mỉm cười với ông lần thứ hai - năm 1950, Backus trở thành lập trình viên cho IBM.
Sự thống trị của IBM trong ngành công nghiệp máy tính lần đầu tiên được thảo luận vào năm 1952. Tất cả bắt đầu với 701, còn được gọi là Máy tính phòng thủ. Ngay sau khi Model 701 ra mắt, các chuyên gia của Phòng Nghiên cứu Ứng dụng đã bắt đầu cải tiến nó (1955–1956).

Những thay đổi nghiêm trọng nhất được đề xuất bởi John Backus, người sau này đã tham gia tích cực vào việc tạo ra máy tính 704. Đặc biệt, nhờ có ông, cái gọi là công nghệ “mã hóa tốc độ” đã xuất hiện, giúp đơn giản hóa đáng kể. viết chương trình cho 701. “Khả năng tạo mã tăng tốc cho máy 701, vốn là một máy tính điểm cố định đơn địa chỉ không có thanh ghi chỉ mục, đã biến nó thành một hệ thống đánh địa chỉ ngẫu nhiên, dấu phẩy động với các thanh ghi chỉ mục,” Backus nhớ lại. “Vì vậy, người dùng không còn phải vật lộn với nó nữa. mã nhị phân".
Ngay cả sau đó, các thành phần đầu tiên của công nghệ viết chương trình nhanh đã xuất hiện và được sử dụng cho đến ngày nay. Thực ra hệ thống này trở thành tiền thân của các tổ hợp tương tự được phát hành vào những năm 50 và 60 và sau đó được thay thế bằng các ngôn ngữ cấp cao.
Và vào năm 1955, Backus “phát minh ra” Fortran, ngôn ngữ máy cấp cao đầu tiên. Sau đó, nhớ lại thời kỳ này, Backus sẽ nói: “Chúng tôi không biết phải phấn đấu vì điều gì và cũng không biết phải làm như thế nào”. Ban đầu, mọi công việc được lên kế hoạch hoàn thành vào đầu năm 1954, nhưng việc phát triển ngôn ngữ đã hoàn thành gần hai năm sau đó.
Phiên bản đầu tiên của trình biên dịch bao gồm 25.000 dòng mã máy được viết trên băng từ. Mỗi IBM 704 được cung cấp một bản sao của chương trình cùng với sách hướng dẫn lập trình dài 51 trang.
Năm 1959 Backus đã phát triển quy tắc ngữ phápđể mô tả cú pháp của ngôn ngữ cấp cao ( dạng bình thường Backus-Naur, viết tắt là BNF).
Năm 1976, John Backus được trao Huân chương Quốc gia vì những đóng góp cho khoa học và năm 1991 ông ngừng làm việc trong lĩnh vực khoa học máy tính.

Vladimir Buslaev

OCR: lần đầu tiên, 2016

Giữa thập niên 50 đặc trưng bởi sự tiến bộ nhanh chóng trong lĩnh vực lập trình. Vai trò của lập trình trong mã máy bắt đầu giảm dần và các loại ngôn ngữ lập trình mới bắt đầu xuất hiện, đóng vai trò trung gian giữa máy móc và người lập trình. Đã đến lúc cho thế hệ ngôn ngữ lập trình thứ hai và thứ ba

Từ giữa những năm 50. Thế kỷ XX bắt đầu tạo ra các ngôn ngữ lập trình cấp cao đầu tiên. Các ngôn ngữ này độc lập với Máy (không bị ràng buộc với một loại máy tính cụ thể).

Nhưng mỗi ngôn ngữ đã phát triển trình biên dịch riêng - một chương trình thực hiện việc biên dịch.

Biên dịch là bản dịch chương trình được viết bằng ngôn ngữ nguồn cấp cao sang chương trình tương đương bằng ngôn ngữ cấp thấp gần với mã máy (mã tuyệt đối, mô-đun đối tượng, đôi khi là hợp ngữ)

Ngôn ngữ lập trình FORTRAN

Ngôn ngữ cấp cao đầu tiên được tạo ra từ năm 1954 đến năm 1957 bởi một nhóm lập trình viên do John Backus đứng đầu tại Tập đoàn IBM và đây trở thành giai đoạn tiếp theo trong quá trình phát triển ngôn ngữ lập trình. Đó là ngôn ngữ Lập trình FORTRAN. Nó được thiết kế để tính toán khoa học và kỹ thuật. Tên Fortran là viết tắt của FORmulaTRANslator (trình dịch công thức).

Lịch sử của ngôn ngữ

Vào cuối năm 1953, John Backus đề xuất bắt đầu phát triển một giải pháp thay thế hiệu quả cho trình biên dịch chương trình trên PC IBM 704. Đến giữa năm 1954, bản đặc tả dự thảo của ngôn ngữ Fortran đã được hoàn thành. Hướng dẫn sử dụng đầu tiên dành cho Fortran xuất hiện vào tháng 10 năm 1956, cùng với trình biên dịch đầu tiên được xuất xưởng vào tháng 4 năm 1957. Trình biên dịch này là một trình biên dịch tối ưu hóa vì khách hàng không muốn sử dụng ngôn ngữ lập trình cấp cao không thể tạo mã với hiệu suất thấp hơn ngôn ngữ lắp ráp ngôn ngữ.

Vào thời điểm đó, cộng đồng còn hoài nghi về cách lập trình mới và không tin rằng Fortran sẽ cho phép lập trình nhanh hơn và hiệu quả hơn. Theo chính John Backus, phần lớn công việc của ông đều nhằm mục đích “lười biếng”. Anh ấy thực sự không thích viết chương trình cho IBM 701 bằng trình biên dịch chương trình.

Ngôn ngữ này đã được các nhà khoa học áp dụng rộng rãi để viết các chương trình tính toán chuyên sâu. Bao gồm kiểu phức tạp dữ liệu đã làm cho nó đặc biệt phù hợp cho các ứng dụng kỹ thuật.

Đến năm 1960, phiên bản Fortran đã tồn tại máy tính IBM 709, 650, 1620, 7090. Sự phổ biến rộng rãi của nó đã khuyến khích các nhà sản xuất máy tính cạnh tranh tạo ra trình biên dịch Fortran cho máy tính của họ. Như vậy, đến năm 1963 đã có hơn 40 trình biên dịch cho nền tảng khác nhau. Đây là lý do tại sao Fortran được coi là ngôn ngữ lập trình được sử dụng rộng rãi đầu tiên.

Fortran ở Liên Xô

Fortran xuất hiện ở Liên Xô muộn hơn ở phương Tây, vì lúc đầu Algol được coi là ngôn ngữ có triển vọng hơn. Sự trao đổi thông tin giữa các nhà vật lý Liên Xô và các đồng nghiệp của họ tại CERN đóng một vai trò quan trọng trong việc giới thiệu Fortran, nơi vào những năm 1960 hầu hết mọi phép tính đều được thực hiện bằng chương trình Fortran.

Trình biên dịch Fortran đầu tiên của Liên Xô được tạo ra vào năm 1967 cho máy Minsk-2, nhưng nó không được phổ biến nhiều. Triển khai rộng rãi Fortran bắt đầu sau khi tạo ra trình biên dịch FORTRAN-DUBNA cho máy BESM-6 vào năm 1968. Máy tính ES, xuất hiện vào năm 1972, ban đầu đã có trình dịch Fortran (“mượn” từ IBM/360 cùng với phần mềm khác)

Fortran hiện đại Đức hạnh của ngôn ngữ

Fortran được sử dụng rộng rãi chủ yếu cho tính toán khoa học và kỹ thuật. Nó hoàn hảo để giải các bài toán số, vì nhiều thư viện đã được viết trong hơn 50 năm, vì vậy ngôn ngữ này hiện được sử dụng và không có nguy cơ bị lãng quên trong tương lai gần. Tuy nhiên, nó vẫn được sử dụng cho đến ngày nay không phải vì thiết kế thành công mà vì số lượng lớn các chương trình được viết trên đó, thay đổi và đặc biệt là viết lại, điều này vô nghĩa.

Có lẽ, nếu bạn muốn tính toán nhanh một điều gì đó thì Fortran sẽ là một trong những lựa chọn tốt nhất. Đây chính xác là lý do tại sao ngôn ngữ được phát minh.

Cấu trúc của nó cho phép trình biên dịch tối ưu hóa các phép tính rất tốt.

Ví dụ, trong số các nhà khoa học, có một câu nói rằng bất kỳ bài toánđã có giải pháp trong Fortran, và thực sự, bạn có thể tìm thấy trong số hàng nghìn gói Fortran một gói nhân ma trận, một gói để giải các phương trình tích phân phức tạp và nhiều gói khác.

  • Trình biên dịch
  • Năm 2017, ngôn ngữ Fortran tròn 60 tuổi. Trong thời gian này, ngôn ngữ đã được tinh chỉnh nhiều lần. Fortran 90, 95, 2003 và 2008 được coi là phiên bản “hiện đại”. Nếu ban đầu nó là ngôn ngữ lập trình cấp cao với mô hình cấu trúc thuần túy, thì ở các phiên bản sau này đã xuất hiện hỗ trợ OOP và lập trình song song. Ngày nay, Fortran đã được triển khai trên hầu hết các nền tảng.

    Trước khi Fortran ra đời, các nhà phát triển đã lập trình bằng mã máy và hợp ngữ. Ngôn ngữ cấp cao nhanh chóng trở nên phổ biến vì nó dễ học và tạo ra mã thực thi hiệu quả. Điều này làm cho cuộc sống của các lập trình viên trở nên dễ dàng hơn nhiều.

    Năm 1950, khi John Backus 25 tuổi, ông nhận bằng thạc sĩ toán học tại Đại học Columbia và nhận được công việc lập trình viên tại IBM. Chẳng bao lâu sau, ông đã đứng đầu một nhóm phát triển một trình thông dịch có tên là “Bộ mã hóa nhanh” cho máy tính IBM-701. Sau đó, anh làm việc trong nhóm để tạo ra sản phẩm kế thừa mạnh mẽ hơn cho 701, IBM-704.

    Năm 1953, Backus đưa ra sáng kiến ​​hợp lý hóa. Ông đề xuất tạo ra một ngôn ngữ và một trình biên dịch cho nó, điều này sẽ đơn giản hóa việc lập trình mô hình IBM-704. Hệ thống này cho phép các chương trình được viết ở dạng đại số và trình biên dịch có nhiệm vụ tự động dịch nó sang mã máy.

    Với đề xuất này, John Backus, như người ta nói, đã đến đúng nơi, đúng thời điểm. Gia nhập thị trường muộn, IBM gặp khó khăn trong việc tăng doanh số bán máy tính của mình. Vì lý do này, cô đã hỗ trợ nghiên cứu khoa học máy tính tại Columbia, Harvard và một số trường đại học khác. Ngoài ra, bản thân IBM cũng đang tìm mọi cách để giảm chi phí lập trình, đồng thời cũng cố gắng đơn giản hóa công việc với máy tính để chúng trở nên hấp dẫn và “thân thiện” hơn với người dùng.

    Thực tế là vào thời điểm đó chủ yếu là các nhà khoa học, kỹ sư và giáo viên làm việc với máy tính. Máy tính được sử dụng để tính toán khoa học. Tuy nhiên, những người này gặp khó khăn lớn vì phải sử dụng mã máy và hợp ngữ. Và điều này đòi hỏi kiến ​​​​thức khá sâu về cấu trúc và hoạt động của chính máy tính.

    Vì vậy, họ có thể sẽ đồng ý học một ngôn ngữ cấp cao, đặc biệt nếu nó giống với các công thức đại số mà họ quen thuộc. Những cân nhắc như vậy đã thúc đẩy IBM phát triển Fortran.


    IBM-704

    Các nhà nghiên cứu của IBM, người tạo ra Fortran, không biết ngôn ngữ này sẽ trở nên quan trọng như thế nào. Khi họ bắt đầu công việc vào đầu năm 1954, khoa học máy tính đang phát triển một cách tự nhiên và mọi người đều làm việc theo ý thích. Điều này dẫn đến sự xuất hiện của các lập trình viên chuyên nghiệp và các nhà khoa học máy tính.

    Một trong những nhà quản lý của IBM quyết định rằng những người chơi cờ vua là những lập trình viên giỏi, vì vậy anh ta bắt đầu trò chuyện với những ứng viên có thể trở thành lập trình viên trong các ván cờ với một trong những nhân viên của IBM (nhân tiện, người này là nhà vô địch cờ vua Hoa Kỳ).

    Rất ít người trong số tám người tham gia phát triển Fortran có kiến ​​thức nghiêm túc về máy tính. Họ đến từ các trường đại học và hãng hàng không cũng như các nhóm lập trình của IBM.

    Ngay cả người đứng đầu nhóm phát triển Fortran, John Backus, cũng chỉ có vài năm kinh nghiệm về máy tính khi bắt đầu tạo ra một ngôn ngữ lập trình mới.
    Trước khi học đại học, Backus là một sinh viên tầm thường (“Tôi đã học nhiều trường hơn mức tôi có thể nhớ”). Sau khi phục vụ trong Quân đội trong Thế chiến thứ hai, anh đến Thành phố New York, nơi anh theo học trường kỹ thuật vô tuyến. Beckus sau này thừa nhận: “Giới hạn trong khát vọng của tôi là tạo ra một thiết bị tái tạo âm thanh chất lượng cao”.

    Tuy nhiên, một giáo viên sửa chữa tivi và radio đã khơi dậy niềm yêu thích toán học của Backus và thuyết phục anh tiếp tục học tại Đại học Columbia. Đây là sự khởi đầu khiêm tốn của một trong những sự nghiệp xứng đáng nhất trong lịch sử máy tính.

    Vì vậy, các nhà phát triển, dẫn đầu bởi Backus, đã định cư tại trụ sở chính của IBM trên Đại lộ Madison ở New York.

    Họ đã xác định các khái niệm cơ bản của ngôn ngữ mới, đặc biệt là toán tử gán (ví dụ: N = 100), đặt các biến thành các giá trị cụ thể, giới thiệu các biến được lập chỉ mục để cho máy tính biết phần tử nào trong danh sách các biến là cần thiết (ví dụ: , X(3) có nghĩa là phần tử thứ ba của danh sách, được gọi là X), đề xuất một toán tử DO rất quan trọng, cho phép bạn lặp lại chuỗi toán tử mong muốn với một số lần nhất định.

    Như Backus đã nêu, hầu hết mọi người tin rằng đóng góp chính của Fortran là khả năng viết chương trình dưới dạng công thức đại số hơn là bằng ngôn ngữ máy. Nhưng thực tế thì không phải vậy. Theo ý kiến ​​của ông, Fortran chủ yếu tự động hóa việc tổ chức các vòng lặp. Tầm quan trọng của nhiệm vụ này khi phát triển các ứng dụng khoa học rất khó để đánh giá quá cao. Công việc về ngôn ngữ diễn ra nhanh chóng.

    Tuy nhiên, việc phát triển một trình biên dịch lại là một vấn đề hoàn toàn khác. Backus hiểu rằng không dễ để xóa tan những nghi ngờ về khả năng lập trình “tự động”, tức là viết chương trình bằng ngôn ngữ cấp cao. Ông nghĩ rằng điều này sẽ xảy ra khi các chương trình được tạo ra bằng Fortran nhanh và đáng tin cậy như những chương trình được viết bằng mã máy hoặc hợp ngữ.

    Theo kế hoạch, sáu tháng được dành cho việc phát triển trình biên dịch, nhưng công việc thực hiện nó phải mất hơn hai năm.

    Vào cuối năm 1956 và năm 1957, cường độ tinh chỉnh và gỡ lỗi trình biên dịch tăng mạnh. Trong thời gian này, các thành viên trong nhóm thường thuê phòng ở một khách sạn gần đó, nơi họ ngủ vào ban ngày và làm việc với máy vào ban đêm, để có thời gian sử dụng máy không bị gián đoạn nhiều nhất có thể. Các lỗi lần lượt được loại bỏ và vào tháng 4 năm 1957, trình biên dịch đã sẵn sàng để chủ sở hữu máy IBM-704 sử dụng.

    "Thật xấu hổ"

    Trong một sai lầm mà Backus gọi là “một sự bối rối lớn”, trình biên dịch đã được gửi đến phòng thí nghiệm Westinghouse-Bettis dưới dạng một bộ bài đục lỗ và không có bất kỳ hướng dẫn nào; cho phép Herb Bright của phòng thí nghiệm Westinghouse-Bettis điều hành Fortran một cách mù quáng. Những người dùng khác nhận được hệ thống trên băng từ cùng với sách hướng dẫn vận hành.

    Một ngày thứ sáu tháng 4 năm 1957, một người đưa thư chuyển một gói hàng bí ẩn đến trung tâm máy tính của phòng thí nghiệm nguyên tử Westinghouse-Bettis gần Pittsburgh. Lập trình viên Herb Bright và hai đồng nghiệp mở một chiếc hộp không đánh dấu và tìm thấy một chồng thẻ khoảng 2.000 thẻ đục lỗ mà không có một hướng dẫn nào.

    Nhìn vào những tấm thẻ đục lỗ, Bright nhớ ra rằng IBM đang trong quá trình hoàn thiện ngôn ngữ cấp cao để sử dụng trên IBM-704. Có lẽ người đưa thư đã mang chính xác trình biên dịch được chờ đợi từ lâu này? Bright và những người bạn quyết định nạp những tấm thẻ bí ẩn vào máy tính và xem điều gì sẽ xảy ra.

    Bright chèn một chương trình thử nghiệm viết bằng Fortran vào đầu đọc của máy tính và nhấn nút khởi động. Trình biên dịch mới đã gửi một thông báo đến máy in: “Đã phát hiện thấy lỗi trong toán tử trên thẻ số 25 - thiếu dấu phẩy”.

    Các lập trình viên vốn quen với việc nhầm lẫn các thông báo dưới dạng mã số đã rất ngạc nhiên trước sự rõ ràng của thông tin này. Toán tử không chính xác đã được sửa và nút bắt đầu được nhấn lại. Các cuộn băng bắt đầu quay và máy tính xuất ra một chồng thẻ chương trình được đục lỗ. Sau khi thẻ được nạp vào đầu đọc, máy in bắt đầu hoạt động và in 28 trang không ngừng. Máy tính chỉ mắc một lỗi nhỏ ở định dạng đầu ra. “Nhưng những con số đã đúng! Những con số đã đúng!” - Bright lên tiếng sau đó.

    Trên thực tế, cùng thời điểm với Fortran, hai ngôn ngữ cấp cao hơn đã xuất hiện - Cobol và Algol. Kể từ cuối những năm 50, chúng đã dẫn đầu trong thế giới máy tính trong một thời gian dài. Hầu hết các chương trình hiện đại đều được viết bằng ngôn ngữ. ​​đại diện là hậu duệ của ba ngôn ngữ này.

    Phân phối và thích ứng

    Nhưng lúc đầu Fortran không được đón nhận nồng nhiệt. Các lập trình viên, như Backus nhớ lại, “rất nghi ngờ về tất cả các ứng dụng của chúng tôi”. Tuy nhiên, so với những người tiền nhiệm, Fortran tương đối dễ học và sử dụng.

    Ngoài ra, IBM còn cung cấp miễn phí tất cả các mẫu 704 với Fortran. Kết quả là đến năm 1958, hơn một nửa số lệnh máy trên 60 máy tính của công ty được lấy không phải theo cách thủ công mà “tự động” bằng cách sử dụng ngôn ngữ cấp cao mới.

    Backus hiểu rằng các nhà sản xuất cạnh tranh cũng sẽ phát triển ngôn ngữ cấp cao cho máy tính của họ. Tuy nhiên, Fortran nhanh chóng trở thành chuẩn mực và được điều chỉnh cho nhiều mẫu máy tính khác nhau. Việc điều chỉnh đầu tiên được thực hiện bởi chính IBM. Năm năm sau, Fortran được sử dụng trên sáu mẫu máy tính IBM khác nhau, cũng như trên các máy tính của Sperry Rand, Philco và các hãng khác.

    Một nhóm nhỏ, bao gồm David Hemmis, đã nhanh chóng điều chỉnh Fortran cho phù hợp với IBM-650, một chiếc máy nhỏ hơn IBM-704. Khemmis và các cộng sự đã phát triển hệ thống FORTRANSIT (FOR TRANSIT - dành cho quá trình chuyển đổi); sau này hai từ này hợp nhất thành một. Do đó, hệ thống FORTRANSIT đã trở thành trình dịch bản gốc đầu tiên, hoạt động trên các máy tính thuộc một số kiểu máy.


    David Hemmis, một nhà phát triển ngôn ngữ máy tính thời kỳ đầu, lái chiếc ô tô đời 1928 của mình. Ảnh chụp ở Westhampton, New York trong cuộc đua ô tô năm 1957.

    Quyết toán

    Tuy nhiên, công việc nghiên cứu ngôn ngữ mới phải tiếp tục trong một thời gian khá dài: điều này trở nên rõ ràng vào đầu năm 1957, khi quá trình gỡ lỗi tiếp tục. Backus và các nhà phát triển khác nhận ra rằng ngôn ngữ này cần một hệ thống chẩn đoán lỗi phần mềm chính xác hơn. Ngoài ra, cần phải triển khai khả năng viết các chương trình con và mô-đun chương trình riêng biệt và độc lập. Điều này sẽ mang lại cho ngôn ngữ một lợi ích khác: tái sử dụng mã.

    Nhờ nỗ lực của các nhà phát triển, Fortran II đã xuất hiện chỉ một năm sau khi tạo ra bản gốc. Một trong những ưu điểm của ngôn ngữ mới là nó cho phép chèn các đoạn mã biên dịch mã vào chương trình. Phiên bản mới hơn, Fortran III, được tạo ra vào năm 1958. Fortran IV, giúp mở rộng hơn nữa khả năng của ngôn ngữ, được biết đến vào năm 1962.

    Cốt lõi của ngôn ngữ, các toán tử và cách diễn đạt cơ bản của nó hầu như không thay đổi qua nhiều năm. Nhưng khi Fortran liên tục được điều chỉnh cho phù hợp với các hệ thống máy móc mới ngoài mục đích sử dụng, sự khác biệt dần dần tích tụ. Một số cơ hội bị mất đi, những cơ hội mới lại xuất hiện. Điều này chắc chắn dẫn đến sự nhầm lẫn.

    Ví dụ: không phải tất cả các trình biên dịch đều diễn giải câu lệnh DO cực kỳ quan trọng theo cùng một cách: một số luôn thực thi vòng lặp ít nhất một lần mà không kiểm tra xem nó có nên được thực thi hay không, trong khi một số khác lại làm như vậy. Để giải quyết những vấn đề như vậy, các nhà sản xuất máy tính và người dùng đã đồng ý tiêu chuẩn hóa ngôn ngữ.

    Năm 1966, tiêu chuẩn đầu tiên được đặt tên là Fortran 66. Năm 1977, tiêu chuẩn Fortran 77 được phát hành. Năm 1991, Fortran 90 được tạo ra vào năm 1997.

    Fortran ở Liên Xô

    Ở Liên Xô, Algol-60 phổ biến hơn. Vì vậy, Fortran xuất hiện ở đất nước này muộn hơn. Tuy nhiên, nó dần dần trở nên phổ biến. Trình biên dịch (trình dịch) đã được phát triển cho hầu hết các máy tính gia đình - “Minsk-32”, BESM-4, BESM-6, AS-6, ES Computer, SM Computer, MVK “Elbrus”, v.v.

    Trong IPM im. Keldysh, một số dịch giả đã được phát triển vào những thời điểm khác nhau. Hai trong số đó - Fortran-Almo và Forshag (Fortran từng bước) được viết bằng ngôn ngữ Almo và mã được tạo bằng cùng một ngôn ngữ. Điều này giúp có thể cài đặt trình dịch trên nhiều loại máy tính khác nhau. Cả hai dịch giả đều thực hiện tiêu chuẩn Fortran 66.

    Foreshag cũng bao gồm một ngôn ngữ đàm thoại cho phép tạo, chỉnh sửa và dịch mã một cách tương tác. Ngoài ra, một bộ chương trình đồ họa cho Fortran đã được phát triển - Graphor, được sử dụng tích cực trên nhiều máy tính khác nhau.

    Fortran vẫn còn phổ biến trong giới khoa học cho đến ngày nay. Đây là ngôn ngữ lập trình cấp cao đầu tiên có trình dịch, đã được ứng dụng thực tế và phát triển hơn nữa. Như đã nêu trong sách hướng dẫn IBM năm 1957, "Fortran cung cấp một cách hiệu quả để viết chương trình 704, dễ học và không yêu cầu kiến ​​thức máy tính sâu rộng."

    Kể từ đó, các nhà khoa học, kỹ sư và sinh viên đã có thể giao tiếp với máy tính mà không cần sự trợ giúp của các lập trình viên chuyên nghiệp viết bằng hợp ngữ.

    Tuy nhiên, thế hệ lập trình viên tiếp theo bắt đầu coi Fortran như một “hóa thạch”. Edsger Dijkstra đã châm biếm rằng việc dạy học sinh ngôn ngữ này nên được coi là một tội ác nghiêm trọng.

    Lần đầu tiên tôi nghe nói về Fortran là vào thời thơ ấu từ cha. Ông kể rằng vào những năm 70, ông đã phải xếp hàng hàng giờ trước chiếc máy tính duy nhất ở trường đại học để chạy một đoạn mã thô sơ bằng thẻ đục lỗ. Tôi thành thật thừa nhận, từ đó đến nay (mặc dù tôi đã được đào tạo về kỹ thuật) tôi hoàn toàn tin tưởng rằng Fortran vẫn ở đâu đó xa xôi ngoài kia, trong một thế giới mà vật chứa thông tin là những hộp bìa cứng kỳ lạ có lỗ, và máy tính quá đắt tiền, đến mức được coi là một điểm thu hút thực sự.

    Hãy tưởng tượng sự ngạc nhiên của tôi khi tôi biết rằng Fortran không chỉ vẫn được sử dụng ở đâu đó mà nó đang được phát triển, có nhu cầu và vẫn còn phù hợp. Nếu cho đến thời điểm này bạn vẫn tin rằng Fortran đã chết từ lâu, thì đây là một số điều dành cho bạn: sự thật thú vị tại sao anh ấy vẫn đi bộ?

    Sống sót sau ít nhất 10 bản cập nhật

    Trên thực tế, chiếc Fortran mà bạn nghe nói từ các giáo viên ở trường phổ thông hoặc đại học đã được tạo ra từ năm 1954 đến năm 1957. Nó đã đi vào lịch sử với tư cách là ngôn ngữ cấp cao được triển khai đầy đủ đầu tiên, tạo nên một bước đột phá nhỏ trong thế giới CNTT, nhưng về bản chất thì nó không mấy tiện lợi và chức năng. IBM bắt đầu “hoàn thiện” nó gần như ngay lập tức; vào năm 1958, FORTRAN II xuất hiện và song song đó là FORTRAN III. Nhưng nó ít nhiều có được vẻ ngoài tươm tất chỉ vào những năm 70, khi những chiếc máy khá di động xuất hiện, khi tiêu chuẩn IBM FORTRAN IV chính thức được phát triển và FORTRAN 66 xuất hiện với các chu kỳ, nhãn, câu điều kiện, các lệnh đầu vào/đầu ra và các khả năng cơ bản khác theo tiêu chuẩn hiện đại.

    Phiên bản mới nhất xuất hiện vào năm 2010, tên của nó là Fortran 2008 (như bạn có thể thấy, theo dòng lịch sử, cái tên này đã không còn được viết riêng bằng chữ in hoa), tính năng đặc biệtđó là tất cả các loại tính toán song song, có tác động tích cực cả đến tốc độ xử lý dữ liệu và kích thước của mảng được xử lý. Ngoài ra, việc phát hành Fortran 2015 được lên kế hoạch cho năm 2018. Từ thông báo, nó sẽ cải thiện khả năng tích hợp với C và cũng loại bỏ những thiếu sót hiện tại.

    Trong số 30 ngôn ngữ lập trình phổ biến nhất

    Đến nay, 0,743% yêu cầu ở công cụ tìm kiếm Về ngôn ngữ lập trình, nó được dành riêng cho Fortran. Để bạn biết điều này thú vị như thế nào, hãy tưởng tượng rằng các ngôn ngữ như Lisp, Scala, Clojure, LabVIEW, Haskell, Rust và VHDL được xếp hạng thấp hơn.

    Có thể hoạt động trên Android (và hơn thế nữa)

    Trải qua lịch sử lâu dài, các trình biên dịch cho Fortana đã được phát triển bởi các công ty như IBM, Microsoft, Compaq, HP, Oracle, nhờ đó ngôn ngữ này ngày nay tương thích với Windows, Mac OS và Linux. Hơn thế nữa, ứng dụng tiện lợi với trình biên dịch giờ đây bạn có thể mang theo bên mình nhờ ứng dụng CCTools dành cho Android. Bạn có thể chạy trình biên dịch trên iPhone của mình, nhưng trong trường hợp này bạn cần thực hiện một chút phép thuật.

    Cạnh tranh với MATLAB

    Cho đến nay, văn bản này vẫn chưa nói lên điều chính, đó là phạm vi của Fortran. Vì vậy, đây là ngôn ngữ được yêu cầu trong khoa học và kỹ thuật, được sử dụng toàn bộ hoặc một phần để dự báo thời tiết, hải dương học, động lực phân tử và phân tích địa chấn. Nhìn chung, đây là ngôn ngữ “Khoa học dữ liệu” thực sự kể từ thời điểm máy tính lần đầu tiên được bán đại trà.

    Cần phải thừa nhận rằng Fortran nổi tiếng một phần nhờ di sản của nó. Qua nhiều năm, hầu như không có sự cạnh tranh, ngôn ngữ này đã phát triển căn cứ khổng lồ khách hàng, thư viện và tiện ích bổ sung. Ngoài ra, mỗi phiên bản tiếp theo Fortran chắc chắn sẽ hỗ trợ những cái trước. Vì vậy, đã nảy sinh một tình huống không có yếu tố quan trọng nào để các nhà khoa học, kỹ sư từ bỏ liên minh này.

    Trên thực tế, đối thủ cạnh tranh chính của Fortran ngày nay là MATLAB, phổ biến hơn, nhiều chức năng hơn và tiện lợi hơn. Tuy nhiên, MATLAB có những hạn chế nghiêm ngặt đối với phần mềm được sử dụng, khá tốn kém và trong hầu hết các trường hợp đơn giản là không cần thiết.

    Có một tương lai tương đối tươi sáng

    Tất nhiên, chúng ta không thể dự đoán được điều gì sẽ xảy ra trong 10-20 năm tới và thế giới CNTT sẽ thay đổi như thế nào trong thời gian này. Tuy nhiên, nếu bạn xem xét các đối thủ cạnh tranh mới có thể có của Fortran (chẳng hạn như cờ vây), nhược điểm chính- phổ cập hóa. Nghĩa là, những người tạo ra Fortran đã nhanh chóng vạch ra khán giả mục tiêu dưới hình thức các nhà khoa học, ý kiến ​​và mong muốn của họ được ưu tiên. Vì vậy, thật khó để tưởng tượng rằng ngày mai họ sẽ từ bỏ “đơn hàng đặc biệt” của mình vì một xu hướng thời trang nào đó. Trên cơ sở đó, chúng ta có thể nói rằng một thế hệ Fortran khác đang mạnh dạn ra đi.

    Và sau đó họ sẽ phát hành một phiên bản mới.