четверг, 14 ноября 2013 г.

Коротко. Ещё о языках программирования и читабельности. Ещё

Какой код лучше?

Этот:
 stdout << X << Y << Z

Или этот:
 stdout.Append(X).Append(Y).Append(Z)


Мне лично кажется, что:
 stdout.Append(X).Append(Y).Append(Z)

Ну "без закорючек".

А какой код лучше?

Этот:
  A = B * C * D

Или этот:
  A = B.Mul(C).Mul(D)

Где A, B, C, D - это матрицы. Ну или комплексные числа.

По мне этот:
   A = B * C * D

Вот такой вот "дуализм получается"...

2 комментария:

  1. Цитата, извиняюсь, что по английски:

    Programming languages are somewhat Huffman encoded: the designers of a language give special symbols and short names to the things they expect you'll use most often. So you can get a head start in getting the gist of a language by concentrating on the short operators first.

    For example, C has * and -> for dereferencing pointers. The fact that you don't use some name such as "derefptr" gives you a hint that working with pointers is very important in C.

    Sometimes a language takes this to the extreme and gives no symbol at all for an operation because it is expected to be so common. For example, Haskell is a functional language, and requires no special symbols (i.e. no parentheses) to call a function.

    Perl has implicit variables for a similar reason. You can apply a sequence of regular expressions to a string without explicitly referring to the string every time. You can argue whether this is a good idea, but it shows what the language designers thought would be a common operation.

    ОтветитьУдалить
    Ответы
    1. А ещё вот например есть цитата - "Коммунизм это есть Советская власть плюс электрификация всей страны".

      И что?

      Что мне с ОБОИМИ цитатами делать?

      "For example, Haskell is a functional language, and requires no special symbols (i.e. no parentheses) to call a function", "Perl has implicit variables for a similar reason" - ты ПРАВДА считаешь, что это ХОРОШО?

      Удалить