Aa | Aa |
![]() #haskell #приколыНашегоГородка
Этот код написан математиком, почему я так решил? Да потому, что почти все нормальные программисты при написании кода придерживаются ASCI, разве что в комментариях иногда могут быть фразы на родном языке :) а здесь мы видим такие символы как "∀", "π", "σ", "τ", "α", "β", "φ", "⇒", "→", "∷", "∘", "⊕"... Вот зачем? По поводу кодировки-то ладно, utf8 - стандарт для хаскельного файла, но это же банально неудобно набирать с клавиатуры! 23 апреля 2017
|
![]() |
|
Возможно, автор этого кода - грек. Ему набирать с клавы такое вполне удобно, alt+shift и понеслась )
Я видел код C# на русском. Проприетарный. |
![]() |
Ластро
|
BufferOverflow, я сам грешен - комментарии на русском, но я парюсь со словарём, пытаюсь подобрать говорящие имена для функций, типов, классов, в общем сделать код по максимуму самодокументирументируемым. Но писать сам код на русском. Кхм. Мне кажется слишком, это же мало читаемый набор слов! Без падежей получится. Да и подсветка редактора сломается, а без неё я код уже плохо разбираю. Привык :)
|
![]() |
|
Al Lastor
Зато ты представь - переключать раскладку нужно десять раз за строку. Разве не об этом мечтает каждый программист? Только представь код вида: Форма[] формы = this.ПолучитьСписокФорм<Форма[]>(new string[]{"Форма1"}); Хорошо, что версия 2 больше не использует русский в коде. |
![]() |
Ластро
|
Тогда уж нужно довершить дело! Нужны названия функций и классов с попеременным использованием латиницы и кирилицы и пусть функция(1) не будет равна фyнкция(1) (вторая буква латиницей!).
1 |
![]() |
|
Я не настоящий математик, но сам так пишу. Разве что ∘ и ⊕ редко использую.
Набирать на клавиатуре очень просто, надо просто хоткеи настроить правильно. |
![]() |
Ластро
|
А я вот до сих пор так и не понял, что такое "⊕", всё остальное то ясно, а вот это что за зверь...
|
![]() |
|
mappend
|
![]() |
Ластро
|
O.o зачем так извращаться, если есть (<>)? На один знак больше, но зато всем понятно!
|
![]() |
Ластро
|
Вообще, из всего этог набора я бы может использовал ∀ и ∘. Первое из-за того, что forall длинновато, а второе из-за того, что точка кроме функционального смысла ещё и в синтаксе(что как по мне очень не хорошо) применяется.
|
![]() |
Ластро
|
f . M.g $ x
f ∘ M.g $ x |
![]() |
|
если что, то вот
https://github.com/roelvandijk/base-unicode-symbols Мне не очень нравится дефолтный ∘, потому что я не любитель писать g . f $ ..., я кажется уже говорил, что больше люблю сказать что-нибудь типа (&) x f = f x и писать x & f & g & h Или даже так: x ∘ f ∘ g ∘ h |
![]() |
|
А ещё вместо
h . g . f <$> x предпочитаю x \\\\ f \\\\ g \\\\ h где (\\\\) x f = f <&> x |
![]() |
Ластро
|
Это всё хорошо, но есть один нюанс. Наш код, потом, скорее всего, будет читать кто-то ещё, а это намекает, что нужно придерживаться общепринятого стиля.
|
![]() |
|
Но вообще это довольно старая война, как лучше писать композицию - влево или вправо.
В хаскеле вот победило вправо, и это меня расстраивает. |
![]() |
Ластро
|
Mikie, а вот не нужно. Есть же такие функции как (>>=) и (>>) :)
|
![]() |
|
Чёрт. Я перепутал право и лево.
|
![]() |
Ластро
|
Стрелки Клейсли были побеждены do-нотацией :) Да и есть же ещё =<< и << :)
|
![]() |
Ластро
|
Mikie, бывает.
|
![]() |
Ластро
|
Mikie, я просто в ней не участвую :) и даже не наблюдаю :)
|
![]() |
Ластро
|
Mikie
Но я-то по возможности стараюсь оставлять совместимость! Просто потому, что пользуюсь созданной другими инфраструктурой. |
![]() |
|
А может (хотя и так маловероятно, эх) там были технические возможности, а?
|
![]() |
|
Емаксеры и вимеры смотрят с недоумением.
|
![]() |
Ластро
|
Marlagram, однако, разные бывают извращения.
|
![]() |
|
Всё есть лисп. И немножко перл. Остальное - извращения.
|