Group: function
Topic: function call
Topic: string and list concatenation
| |
Summary
Although a language is independent of its notation, the notation has a strong effect on the language's usefulness. Most programming language notation is borrowed from mathematics where conventions have existed for many years. Some languages copy mathematics exactly but the usually linear, typewritten program text forces major modifications. For instance precedence conventions and new operators (e.g., '**' for power) replace two-dimensional representations. New operators are used for programming, but new notation must be thoroughly learned before its use is self-documenting. In balance, a sparse notation emphasizes the data objects instead of the operators. The heaviest use of notation has been APL. Here symbolic notation allows for easy user input and abbreviated program representation. (cbb 5/80)
Subtopic: law vs. notation
QuoteRef: weinGM_1975 ;;72 "Laws should not depend on a particular choice of notation
| Subtopic: programming language as notation
Quote: programming languages are really notations [»stoyJ_1977, OK]
| Quote: J's primitives are one or two letters, e.g., $y for shape of y, #y for count of y, x,:y append itemized x to itemized y, f^:n y apply f n times to y [»huiRKW8_1991]
| Quote: the APL dialect J has 81 operators; e.g., rotate is |., gradeup is /:; display ten random integers is ]y=. ?10$100 [»mcinDB8_1991]
| QuoteRef: sammJE_1969 ;;435 Comit notation very easy to use although looks difficult
| QuoteRef: sammJE_1969 ;;438 appears difficult notation but actually straight forward
| Subtopic: verb vs. function
Quote: use verb, adverb, and conjunction instead of function, one-argument operation, and two-argument operation [»huiRKW8_1991]
| Subtopic: type as part of name
Quote: the name of a CLU operation is always 't$o' where 't' is a type name; avoids overloading and enhances program correctness and readability [»liskB_1996]
| Quote: Ruby uses a ! suffix to indicate methods that modify their object, and ? for predicates [»thomD1_2001]
| Subtopic: update vs. replace
Quote: for large operands, update is more efficient than replacement; provide notation, e.g., L1.append(L2) [»hoarCA_1974]
| Subtopic: mathematical notation
Quote: mathematical notation had a long and painful evolution [»falkAD8_1978]
| Subtopic: arithmetic notation
QuoteRef: shawCJ_1963 ;;68 absolute value by (/ /)
| QuoteRef: stepPD8_1974 ;;216 integer division by //
| QuoteRef: wirtN1_1971 ;;48 functions-- div (int division), mod, set difference -, in (membership)
| Subtopic: bit operation
QuoteRef: knowK8_1966 ;;618 lots of bit banging operations
| QuoteRef: stepPD8_1974 ;;216 left and right shifts by << and >>
| QuoteRef: stepPD8_1974 ;;216 exclusive or by !!
| Subtopic: 2-d format
QuoteRef: baueFL7_1972 ;; whole language rather neat Plankalhal, predecessor uses 2-d format
|
Related Topics
Group: function (12 topics, 232 quotes)
Topic: function call (28 items)
Topic: string and list concatenation (9 items)
|