W jakim języku programowania powstało użycie znaku procentu (%) w celu oznaczenia modulo / reszta?


16

W jakim języku programowania powstało użycie znaku procentu (%) w celu oznaczenia modulo / reszta?

Poprzedni post 1 wyjaśnia, że ​​symbol% ​​został prawdopodobnie wybrany, ponieważ zawiera ukośnik, sprytny dla operacji związanej z dzieleniem. Wspomina także wpływ użycia symbolu przez C. Nie jestem jednak pewien, czy pochodzi on z C. Język programowania B był prekursorem C i znalazłem przewodnik użytkownika dla B (PDF, strona 12), który stwierdza:

Operator% oznacza modulo. Jeśli oba operandy są dodatnie, wynik jest poprawny. Nie jest inaczej zdefiniowane.

Podręcznik użytkownika pochodzi jednak z 1972 r., Mniej więcej w momencie pojawienia się C. To sprawia, że ​​teoretycznie możliwe jest, aby pochodzić z C, ale następnie przeniesiono z powrotem do B. Nie byłem jeszcze w stanie znaleźć specyfikacji dla innych języków przed tym wskazaniem użycia symbolu%.


  1. Pytanie to nie jest duplikatem: pytam, dlaczego działanie modulo jest fundamentalne, pytam o to, kiedy konkretnie ten symbol wydawał się oznaczać modulo.

3
BCPL był poprzednikiem zarówno B, jak i C. Operatorem modułu w BCP był rem. eah-jena.de/~kleine/history/languages/... Podobnie Algol-W również zastosował rem.
BobDalgleish,

Odpowiedzi:


10

Najwcześniejsze wzmianki znajdę się od „B” język programowania opracowany przez Kena Thompsona Dennis Ritchie około 1969. B Reference

Ponieważ było to wdrożenie / ulepszenie BPCL, muszę założyć, że operator był częścią BPCL, ale nie mogę znaleźć konkretnego odniesienia do tego.


4
Najwyraźniej było to „rem” w BPCL (patrz komentarz BobDalgleish)
James Anderson

Na podstawie linku nie mogło być 1969 r. JEŻELI przedstawione wdrożenie było pierwsze. Honeywell kupił GE Computer Division dopiero w 1970 roku, a artykuł zdecydowanie odwoływał się do komputera H6070. Ritchie i Thompson pracowali nad Projektem MAC w latach 60-tych multicians.org/unix.html .
dbasnett,

Another Multics BCPL ref. multicians.org/mgb.html#BCPL
dbasnett
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.