Size: a a a

2020 May 15

AV

Alexander Vershilov in fprog_spb
Проблема и плюсы типов (кто как это воспринимает) в том, что они заставляют принимать решение по вопросу, " а что делать, если что-то пошло не так"
источник

АГ

Александр Гранин... in fprog_spb
Переслано от Александр Гранин...
Поэтому хороший программист никогда не останавливается на одном языке. В идеале, каждый должен знать по одному языку из основных направлений:

- низкоуровневый язык с ручным управлением памятью (Си, С++, Rust)
- высокоуровневый язык с управляемой (managed) памятью (Java, C#, Scala)
- динамический язык (Python, JavaScript, Clojure, Ruby)
- ООП язык (Java, C#, Ruby, C++, JavaScript)
- функциональный язык (Haskell, Scala, Clojure, Erlang)
- логический (Prolog)

И вот когда программист знает хотя бы по одному из всех категорий, он может принимать действительно взвешенные решения. Его набор инструментов очень расширяется, а изучение нового языка уже не представляет проблем.
источник

AV

Alexander Vershilov in fprog_spb
А что делать если контракт не выполнен? А что делать если мне пришли совсем не такие данные, как я ожидал
источник

YS

Yan Shkurinskiy in fprog_spb
Alexander Vershilov
А что делать если контракт не выполнен? А что делать если мне пришли совсем не такие данные, как я ожидал
Вангую два варианта ответа:
1) Мне это не надо
2) Ясно, сектанты
источник

AV

Alexander Vershilov in fprog_spb
И к сожалению или к счастью типы заставляют принять решение, в том числе решение, посчитать, что там nil/null
источник

YS

Yan Shkurinskiy in fprog_spb
Причем первый абсолютно нормальный)
источник

AV

Alexander Vershilov in fprog_spb
Если я правильно помню то доступ к несуществующему полю в кложе именно такой дефолт имеет
источник

n

neFormal in fprog_spb
Кинуть ошибку - не вариант?
источник

AV

Alexander Vershilov in fprog_spb
Вариант
источник

VM

Vyacheslav Mikushev in fprog_spb
Александр Гранин
Переслано от Александр Гранин
Поэтому хороший программист никогда не останавливается на одном языке. В идеале, каждый должен знать по одному языку из основных направлений:

- низкоуровневый язык с ручным управлением памятью (Си, С++, Rust)
- высокоуровневый язык с управляемой (managed) памятью (Java, C#, Scala)
- динамический язык (Python, JavaScript, Clojure, Ruby)
- ООП язык (Java, C#, Ruby, C++, JavaScript)
- функциональный язык (Haskell, Scala, Clojure, Erlang)
- логический (Prolog)

И вот когда программист знает хотя бы по одному из всех категорий, он может принимать действительно взвешенные решения. Его набор инструментов очень расширяется, а изучение нового языка уже не представляет проблем.
Я бы включил еще пару языков: smalltalk и forth.
источник

n

neFormal in fprog_spb
Тебя тогда только возможность упустить пункт с null беспокоит?
источник

AV

Alexander Vershilov in fprog_spb
Но нужно выбрать, он не будет спрятан где-то в кодобазе, а если контракт поменяется - то это тоже везде вылезет
источник

AV

Alexander Vershilov in fprog_spb
Меня вообще ничего не беспокоит, если честно
источник

АГ

Александр Гранин... in fprog_spb
Vyacheslav Mikushev
Я бы включил еще пару языков: smalltalk и forth.
Можно и включить. Forth - стековый, тоже интересно.

А вот что я в этом списке забыл указать, так это категорию статически типизированных языков. Ну и ассемблеры, конечно
источник

AV

Alexander Vershilov in fprog_spb
Меня спросили где помогают, я сказал, а этот пункт назвал краеугольным камнем
источник

AV

Alexander Vershilov in fprog_spb
Кто-то считает его плюсом, кто-то минусом
источник

n

neFormal in fprog_spb
Alexander Vershilov
Меня спросили где помогают, я сказал, а этот пункт назвал краеугольным камнем
Когда это становится проблемой, тогда вводят валидацию
источник

АГ

Александр Гранин... in fprog_spb
У Евгения Зуева (компиляторщика, преподавателя, С++ разработчика) были лекции, где он выражает ту же мысль: надо изучать разные языки. Эту мысль многие толковые товарищи высказывают.
источник

AV

Alexander Vershilov in fprog_spb
Путь компилятор смотрит где ввести валидацию
источник

AV

Alexander Vershilov in fprog_spb
мне это удобно
источник