All streams
Search
Write a publication
Pull to refresh
48
0
Анна Удовиченко @AnutaU

Инженер-короед

Send message
Имеет. Когда меня засосало в прошлый раз, я его решила.
В детстве развлекалась тем, что разглядывала карту области и выписывала оттуда всякие загадочные топонимы. Интересно, какой процент сгенерированных названий совпадает с реально существующими в итоге…
О, тоже бывало. Но всё же лучше комментарии на корейском, чем вообще никаких, и код, кхм, нетривиальный.
А так больше документация на корейском попадается, либо переписка.
Почему бы тогда, приходя на собеседование, не просить показать репозитории? А вдруг у них там код страшный, а мне потом разгребай? Не только компании выбирают сотрудников, но и наоборот.
«Язык — это диалект, у которого есть армия и флот» ©
Данный язык является тьюринг-полным, потому может использоваться наравне с Java или Pascal, например.

Ну что вы, разве полнота по Тьюрингу означает, что можно использовать такой язык «наравне»?
Кортежи — это типы-произведения, а не суммы.
Что-то прямо вспомнилось, как в универе подсети считали методом квадратов на бумажке.
Не знаю, будет ли для вас это определение достаточно классическим, но я его не сама придумала, а взяла из книжки Б. Пирса «Типы в языках программирования» (перевод на русский, с. 354):

Термин полиморфизм (polymorphism) обозначает семейство различных механизмов, позволяющих использовать один и тот же фрагмент программы с различными типами в различных контекстах.

У вас же та же самая ошибка, что и у дяди Боба в статье: вы считаете только один из видов полиморфизма «настоящим». То, какой именно полиморфизм дядя Боб имеет в виду, понятно из контекста, так что это больше занудство. Но то, что он это не уточнил, глаз сразу режет.

Там вообще типов нет, есть что-то типа свича на паттерн матчинге.

Звучит примерно как «да у них денег нет, они карточкой заплатят». Есть в Clojure типы, просто они не проверяются статически.
Гуманитарии — это классные ребята, которые хорошо понимают в лингвистике, философии, истории, литературе и других соответствующих областях. Не понимаю, за что вы их так.
Так-то понятно, что он имел в виду. Но зря не уточнил, как мне кажется. Особенно странно выглядит на фоне сравнения с динамически-типизированными языками, где полиморфизм (в смысле применения одного и того же кода к объектам разного типа) получается сам.
Можно, я ещё разок оставлю эту ссылку?

Кстати, почему автор говорит так, будто в ФП нет полиморфизма?
Он тривиальный, но я бы не сказала, что его вообще нет.
Вот ещё неплохой пример недостатка ресурсов на фоне растущих требований заказчика.

image
Самый простой синтаксис у Лиспа. И его же постоянно обвиняют в плохой читаемости.
Карринг (каррирование) — это когда мы делаем новую функцию из старой с одним или несколькими аргументами.
Какое-то не очень понятное определение. Каррированная функция — это функция, которая принимает один аргумент, и возвращает другую функцию, которая принимает остальные.

Во многих функциональных языках вообще не существует функций нескольких аргументов, они эмулируются либо с помощью каррирования, либо с помощью кортежей.
Давно не писал на F#, пример из головы: взяли, поменяли что-то в теле функции, тип int поменялся на string и получили ошибки во всех местах вызова, хотя хотелось бы получить одну ошибку, что возвращаемое значение не соответствует декларируемому типу.

А если это не ошибка, а какой-нибудь глобальный рефакторинг? Тогда как раз удобно будет во всех местах вызова исправлять.
Вы часом не путаете слабую типизацию и динамическую? Все лиспы строго типизированные.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity