Tôi không nghĩ có câu trả lời nào đúng cả.
Nói chung, khi một ngôn ngữ còn khá trẻ, sẽ có nhiều tự do hơn để thực hiện các thay đổi tương đối lớn tương đối nhanh chóng. Không có một cơ sở lớn các mã hiện có để phá vỡ, vì vậy mọi người thường cởi mở hơn nhiều để thử nghiệm.
Khi ngôn ngữ già đi, giả sử nó có đủ người dùng để mọi người thực sự quan tâm, cơ sở của mã hiện tại bắt đầu đặt ra các hạn chế chặt chẽ và chặt chẽ hơn về những thay đổi có thể được thực hiện. Không chỉ có nhiều mã sử dụng nhiều tính năng hơn nên khó đoán được những thay đổi nào có thể phá vỡ mã, nhưng kỳ vọng của mọi người cũng thay đổi.
Ví dụ, giả sử có cùng số lượng người viết Ruby và Fortran. Hơn nữa, giả sử có cùng một lượng mã trong cả hai. Tôi muốn nói rằng rất có thể là khá tốt rằng một sự thay đổi đó đã phá vỡ chính xác tỷ lệ tương tự của mỗi (và trong một cách mà mất khoảng cùng một công việc để đúng) sẽ là một lô chấp nhận hơn cho người dùng của Ruby hơn người dùng Fortran như một quy luật chung (ít nhất là giả sử họ thấy đó là một sự cải tiến).
Tôi nghĩ nhiều thứ cũng phụ thuộc vào nhận thức của mọi người về ngôn ngữ để bắt đầu. Những người chọn một ngôn ngữ vì nó là "tiên tiến" có nhiều khả năng đưa ra những thay đổi lớn phá vỡ nhiều mã hiện có, nếu đó là những gì cần thiết để giữ cho nó vượt trội.
Một yếu tố khác là quy mô và tuổi thọ của các dự án mà ngôn ngữ được dự định. Một ngôn ngữ phục vụ cho các dự án tương đối nhỏ hoặc những dự án mà chúng tôi biết trước có tuổi thọ ngắn (ví dụ: giao diện người dùng web) có thể thoát khỏi việc phá vỡ mọi thứ tương đối thường xuyên, vì không chắc nhiều người sẽ tiếp tục sử dụng cùng một cơ sở mã cho, nói, 10 năm bằng mọi cách. Một ngôn ngữ (ví dụ: C ++ hoặc Java) phục vụ nhiều hơn cho các dự án lớn hơn, có thời gian tồn tại lâu hơn, có thể mất 5 năm để phát hành ban đầu, có thể được sử dụng thường xuyên (và phát triển liên tục) trong ba hoặc bốn thập kỷ rõ ràng là nhu cầu một lớn ổn định thỏa thuận hơn.