- Istnieją różne konwencje. Konwencje w matematyce, logice i naukach stosowanych oraz konwencje w IT. Pierwsze są znacznie starsze.
- Języki naukowe zostały stworzone, aby ułatwić życie ICH użytkownikom. Użytkownik jest postrzegany jako naukowiec, który może od czasu do czasu zrealizować jakiś algorytm lub sprawdzić teorię, bez potrzeby uczenia się czegoś naprawdę nowego. Tak więc języki dla naukowców MUSZĄ być dostosowane do standardów innych niż IT. Ponieważ nie są przeznaczone do użytku przez informatyków. Są one zgodne z INNYMI standardami i jest to dobre ze względu na docelowy słuch. Ponieważ dobry interfejs użytkownika SW, a językiem jest interfejs użytkownika SW, należy wykonać w oparciu o potrzeby użytkownika, a nie kodera.
- Nasze standardy IT są standardami branżowymi. IT to przemysł. Nauka to nie przemysł. Naukowcy są z tego dumni. I niechętnie wezmą wszystko z naszej praktyki do swojej. I wcale nie lubią standardów. I nikt nie lubi zagranicznych standardów. Tak więc, jeśli ktoś stworzy naukowy język, który będzie wyglądał zgodnie ze standardami IT, nie będzie dobrze się sprzedawał, z powodu niechęci do słuchu docelowego, nawet gdyby był obiektywnie wygodniejszy.
A nawet jeśli będziemy oceniać tylko według standardów IT ... Przepraszam, jakie masz na myśli standardy? Czy próbowałeś napisać program w APL lub SNOBOL? Te dwa języki są, IMHO, NAJBARDZIEJ potężne w odpowiednich polach (liczenie i ciągi znaków). Ale składnia jest BARDZO dziwna (i skuteczna). Czytanie wiersza kodu APL może zająć kilka dni. Z drugiej strony taka linia jest poważnym kawałkiem SW. Wrócisz do Mathlaba ze łzami ulgi.
Jeśli chodzi o „=”, wiele osób ma problemy z przyzwyczajeniem się, że nie jest to równość, ale przydział. BTW, w Pascalu jest to równość, a przypisanie to „: =”.
I naprawdę uważasz, że == dla równości jest bardziej naturalne? Przeciwnie, mieszanie = i == jest NAJBARDZIEJ powszechnym błędem w programowaniu C, zdarza się bardzo często nawet we współczesnych IDE, z ich automatycznym sterowaniem.
O indeksowaniu od 1 - jest to jedyny naturalny. Kiedy byłeś dzieckiem, nauczyłeś się wierszy i piosenek, w których się liczyłeś: jeden, dwa, trzy ... I nie 0,1,2 ... W matematyce szkolnej badaliśmy, że liczenie zaczyna się od 1, a to 0 nie należy do liczb naturalnych / zliczających. Tylko z definicją funkcji pojawiają się wskaźniki nienaturalne. W końcu 0 zostało wymyślone wiele tysięcy lat po tym, jak nasz przodek podniósł palec.
0-start był łatwiejszy do zrealizowania i natychmiast pojawił się w praktyce IT po pojawieniu się C. Ale w Fortran, pierwszym języku, stosuje się indeksowanie 1. To samo z innymi językami epoki przedindustrialnej.
I tak, przeczytałem artykuł Dyjkstry na temat naturalności liczenia opartego na 0. I całkowicie nie zgadzam się z jego argumentacją. Jest to naturalne dla wszystkich muzyków. I nawet 0 entuzjastów tworzących kompilatory C i Java, zlicza wiersze kodu Zaczynając od 1!