- Có những quy ước khác nhau. Các quy ước trong toán học, logic, và các khoa học ứng dụng và quy ước trong CNTT. Những cái đầu tiên là cũ hơn nhiều.
- Các ngôn ngữ khoa học được tạo ra để làm cho cuộc sống của người dùng THEIR thuận tiện hơn. Người dùng được xem như một nhà khoa học, người thỉnh thoảng có thể nhận ra một số thuật toán hoặc kiểm tra một số lý thuyết, mà không cần phải học một cái gì đó thực sự mới. Vì vậy, ngôn ngữ cho các nhà khoa học PHẢI được tạo thành theo tiêu chuẩn phi CNTT. Bởi vì chúng không dành cho người sử dụng CNTT. Họ đạt tiêu chuẩn KHÁC và điều đó là tốt vì thính giác mục tiêu. Bởi vì giao diện người dùng SW tốt và ngôn ngữ là giao diện người dùng SW, phải được thực hiện dựa trên nhu cầu của người dùng, không phải của người viết mã.
- Tiêu chuẩn CNTT của chúng tôi là tiêu chuẩn công nghiệp. CNTT là công nghiệp. Khoa học không phải là ngành công nghiệp. Các nhà khoa học tự hào về nó. Và họ sẽ miễn cưỡng lấy bất cứ thứ gì từ thực tiễn của chúng tôi vào của họ. Và họ không thích tiêu chuẩn nào cả. Và không ai thích tiêu chuẩn nước ngoài. Vì vậy, nếu ai đó sẽ tạo ra một ngôn ngữ khoa học theo tiêu chuẩn CNTT, thì nó sẽ khó bán, vì không thích thính giác mục tiêu, ngay cả khi nó thuận tiện hơn về mặt khách quan.
Và ngay cả khi chúng tôi chỉ phán xét theo tiêu chuẩn CNTT ... Xin lỗi, ý bạn là tiêu chuẩn nào? Bạn đã thử viết một prog trong APL hoặc SNOBOL chưa? Hai ngôn ngữ này, IMHO, mạnh nhất trong các lĩnh vực thích hợp (đếm và chuỗi). Nhưng cú pháp là một cái gì đó RẤT lạ (và hiệu quả) Đọc một dòng mã APL có thể mất nhiều ngày. Mặt khác, dòng như vậy là một mảnh nghiêm trọng của SW. Bạn sẽ trở lại Mathlab với những giọt nước mắt nhẹ nhõm.
Đối với "=", nhiều người có vấn đề phải làm quen rằng đó không phải là sự bình đẳng, mà là sự phân công. BTW, trong Pascal, đẳng thức và phép gán của IS là ": =".
Và bạn thực sự nghĩ rằng == cho sự bình đẳng là tự nhiên hơn? Ngược lại, trộn = và == là lỗi phổ biến nhất trong lập trình C, nó xảy ra rất thường xuyên ngay cả trong các IDE hiện đại, với điều khiển tự động của chúng.
Về lập chỉ mục từ 1 - đó là điều tự nhiên duy nhất. Khi bạn còn là một đứa trẻ, bạn đã học những bài thơ và bài hát, trong đó bạn đếm: một, hai, ba ... và không phải 0,1,2 ... Trong toán học ở trường, chúng tôi đã nghiên cứu rằng việc đếm bắt đầu từ 1 và 0 không thuộc về số tự nhiên / đếm. Chỉ với định nghĩa của các chức năng chỉ số phi tự nhiên đến. Rốt cuộc, số 0 được phát minh ra từ hàng ngàn năm sau khi tổ tiên chúng ta giơ ngón tay lên.
0-start đơn giản hơn để nhận ra và ngay lập tức bắt đầu thực hành CNTT sau khi xuất hiện C. Nhưng ở Fortran, ngôn ngữ đầu tiên, chỉ mục 1 được sử dụng. Tương tự với các ngôn ngữ khác của thời đại tiền công nghiệp.
Và vâng, tôi đã đọc bài viết của Dyjkstra về tính tự nhiên của việc đếm dựa trên 0. Và hoàn toàn không đồng ý với lập luận của ông. Đó là tự nhiên cho các nhạc sĩ ony. Và thậm chí 0 người đam mê tạo ra trình biên dịch C và Java, hãy đếm các dòng mã BẮT ĐẦU TỪ 1!