1 điểm bởi GN⁺ 2024-10-02 | 1 bình luận | Chia sẻ qua WhatsApp

Người ta đã nói Cobol "đã chết" từ rất lâu, nhưng ông tôi đã viết về điều đó

  • Vào tháng 6 năm 1992, ông tôi đã đăng một bài trên tạp chí Technical Support tuyên bố về cái chết của Cobol
  • Ông dùng những thuật ngữ thịnh hành thời đó như ngôn ngữ lập trình thế hệ thứ tư (4GL)
  • Cobol đã sống sót lâu hơn phần lớn các ngôn ngữ 4GL
  • Có thể xem bản văn bản của bài viết đó trong kho lưu trữ NaSPA: http://www.naspa.net/magazine/1992/t9206003.txt

Từ chết có thể mang nhiều nghĩa. Cobol có thể không chết; có thể nó là zombie. Vậy nên một thứ có thể đã chết nhưng vẫn không biến mất sao? Đúng vậy! Cobol là một ví dụ tuyệt vời cho hiện tượng đó. COBOL có lẽ không phải là trường hợp duy nhất; dấu vết của Autocoder có lẽ vẫn còn tồn tại. Autocoder là tiền thân của COBOL, và những người dưới 45 tuổi có lẽ chưa từng nghe đến nó. Sẽ không có nhiều người mạnh mẽ khẳng định rằng Autocoder chưa chết, nhưng dấu vết của nó có lẽ vẫn còn.

  • Ông tôi có khiếu hài hước khô khan

  • Có lần tôi đã có thể đáp trả sự dí dỏm của ông, và bà tôi rất tự hào; học trò đã trở thành thầy

  • Vấn đề Y2K là thứ đã giữ cho zombie Cobol tiếp tục cử động

  • Y2K là một vấn đề khổng lồ, và cần phải đào tạo một thế hệ lập trình viên Cobol mới

  • Điều đó đã góp phần giúp Cobol tồn tại thêm một thời gian nữa

  • Ngày nay người ta không còn dùng từ "đã chết" cho các ngôn ngữ lập trình nữa

  • Một ngôn ngữ từng có lượng cài đặt rất lớn sẽ không bao giờ thực sự chết

  • Ngay cả khi lập trình viên mới không còn học nó, ngôn ngữ đó vẫn sẽ mờ dần đi trong một thời gian rất dài

  • Ông tôi qua đời ngày 1 tháng 9 năm 2024, hưởng thọ 91 tuổi

  • Chính thức thì nguyên nhân qua đời là viêm phổi

  • Bà tôi mất vào tháng 4 cùng năm, và ông tôi đã yêu cầu không điều trị

Tóm tắt của GN⁺

  • Bài viết này mang lại những góc nhìn thú vị về lịch sử và sức sống bền bỉ của Cobol
  • Bài viết đề cập đến giai đoạn Cobol trở lại tâm điểm chú ý vì vấn đề Y2K
  • Bài viết cho cơ hội suy ngẫm về lý do các ngôn ngữ lập trình không "chết" và vì sao chúng tiếp tục tồn tại
  • Những ngôn ngữ có vai trò tương tự Cobol có thể kể đến như Java và C++

1 bình luận

 
GN⁺ 2024-10-02
Ý kiến Hacker News
  • Lời hứa của COBOL là dùng văn bản gần với ngôn ngữ con người để không còn cần lập trình viên

    • Tuy nhiên, việc mô tả đầy đủ vấn đề và giải quyết nó vẫn là điều khó khăn
    • Cuối cùng, khi chia nhỏ vấn đề ra thì vẫn cần lập trình viên
    • Bài học chính từ COBOL là không phải giao diện máy tính hay ngôn ngữ tự nó đòi hỏi phải có lập trình viên
  • Scala hiện gần như đã "chết" giống như COBOL

    • Nhiều doanh nghiệp và dịch vụ vẫn còn các thành phần quan trọng được viết bằng Scala
    • Nhưng trong các dự án mới thì hầu như không còn được dùng
    • Scala từng vượt trội hơn các ngôn ngữ chủ lưu khác ở một vài điểm quan trọng
  • Muốn thử dùng một lần các ngôn ngữ "legacy" như Fortran, COBOL, Ada, APL

    • Java đang được dùng rộng rãi trong môi trường doanh nghiệp
    • Sau 30-40 năm nữa, Java cũng có thể trở thành ngôn ngữ do những người đã nghỉ hưu bảo trì
  • Khảo sát nhà phát triển của Stack Overflow cung cấp thông tin về mức lương trung bình và kinh nghiệm làm việc với COBOL

    • Năm 2023 có 222 người trả lời với trung bình 19 năm kinh nghiệm và mức lương $75,500
    • Năm 2024 số người trả lời tương tự nhưng kinh nghiệm trung bình giảm xuống 17 năm
    • Swift mới chỉ được công bố 10 năm nhưng đã có người trả lời với trung bình 11 năm kinh nghiệm
  • Đám mây là mainframe mới, nhưng tệ hơn

    • Có thể dùng CICS để tạo ra các dịch vụ rất đáng tin cậy và có hiệu năng tốt
    • Dùng AWS Lambdas để các dịch vụ gọi lẫn nhau trong cùng một giao dịch là điều khó khăn
  • Khi làm việc với hệ thống mainframe cách đây 20 năm, đã nghe câu "chỉ còn 18 tháng nữa"

    • Hiện giờ hệ thống đó còn vững chắc hơn và vẫn nghe câu "chỉ còn 18 tháng nữa"
    • Có vẻ hệ thống này sẽ tồn tại lâu hơn cả tôi
  • Đang tìm diễn giả về COBOL cho Carolina Code Conference 2025

    • Muốn có một bài nói về COBOL nhờ các cập nhật gần đây của GnuCOBOL
  • COBOL đang thay đổi theo thời gian

    • COBOL hiện đại rất khác COBOL của thập niên 1950
    • Nếu Java được gọi là Algol-94 thì có lẽ chúng ta vẫn đang lập trình bằng Algol
  • COBOL từng là một ngôn ngữ an toàn bộ nhớ, ổn định, và dễ đọc dễ hiểu hơn Rust

    • Nhưng vì không ai dùng nên bị xem là ngôn ngữ "đã chết"
    • So sánh ví dụ mã giữa Rust và COBOL
  • Cách tranh luận sẽ khác nhau tùy định nghĩa của một công nghệ là "đã chết" hay "còn sống"

    • Nếu không còn được dùng để xây dựng doanh nghiệp mới thì có thể xem là đã chết
    • Nếu vẫn còn được dùng trong môi trường production thì có thể xem là còn sống
    • Điều này không được xem là một điểm tích cực đối với COBOL hay hệ sinh thái mainframe
    • Các tổ chức có xu hướng bám vào thứ đầu tiên hoạt động được