(no subject)
Sep. 13th, 2015 02:21 pmЧитая обсуждение http://ivan-gandhi.livejournal.com/3329246.html и ответы на мой коммент, я вдруг понял почему так тяжело идет. У меня нет никаких проблем барабанить на Erlang'е например, а Purescript, Elm или их идейный отэц Haskell (ну или ML) идет с гораздо большим трудом.
Потому что я пришел в программирование из программирования микропроцессоров. Для меня долгое время компьютер был просто гибкой логической микросхемой, которую можно было запрограммировать на последовательность действий вместо долгого и унылого паяния и протягивания проводов, а потом отладки пробником и паяльником же.
Потом как-то программирование на ассемблере превратилось в программирование на С, но компиляторы для этих микропроцессоров были таковы, что регулярно генерировали последовательности типа
Потому что так у него оптимизатор работает, видите ли. Ну или еще почему. И надо было компилировать в ассемблерный листинг, читать его и руками чистить от этого мусора, потому что иначе в ПЗУ не лезло.
А в универе учили как на Фортране ряды Тейлора вычислять, что тоже не прибавляло.
В результате я всегда когда программирую или читаю программу, симулирую в голове стековую-регистровую машину и "исполняю" на ней программу. И какие-нибудь list comprehensions, лямбды или хвостовые рекурсии отлично на такой голове исполняются. А вот стрелки и монады - почему-то нет.
Нужна книжка или статья "Функциональное программирование для недохардверных недоинженеров". Реквестирую у мироздания.
Потому что я пришел в программирование из программирования микропроцессоров. Для меня долгое время компьютер был просто гибкой логической микросхемой, которую можно было запрограммировать на последовательность действий вместо долгого и унылого паяния и протягивания проводов, а потом отладки пробником и паяльником же.
Потом как-то программирование на ассемблере превратилось в программирование на С, но компиляторы для этих микропроцессоров были таковы, что регулярно генерировали последовательности типа
mov bx, ax
mov dx, ax
mov bx, dx
mov ax, bx
Потому что так у него оптимизатор работает, видите ли. Ну или еще почему. И надо было компилировать в ассемблерный листинг, читать его и руками чистить от этого мусора, потому что иначе в ПЗУ не лезло.
А в универе учили как на Фортране ряды Тейлора вычислять, что тоже не прибавляло.
В результате я всегда когда программирую или читаю программу, симулирую в голове стековую-регистровую машину и "исполняю" на ней программу. И какие-нибудь list comprehensions, лямбды или хвостовые рекурсии отлично на такой голове исполняются. А вот стрелки и монады - почему-то нет.
Нужна книжка или статья "Функциональное программирование для недохардверных недоинженеров". Реквестирую у мироздания.
no subject
Date: 2015-09-14 08:25 am (UTC)Счастливый вы человек. Я тут налетел на ситуацию, когда у юзеров есть сепулькарии, а у сепулькариев - сепульки. Сепулькарии и сепульки мы юзерам раздавали сами и решили, что каждому юзеру навечно свой сепулькарий, а каждому сепулькарию - навечно свои, индивидуальные сепульки. Долго ли, коротко ли, но пришлось добавлять сторонних юзеров с сепулькариями, про которых нас уверили в соблюдении того же принципа.
Только после месячной половой еппли с финотчетами выяснилось, что в выданных данных иные сепулькарии могли побывать в руках нескольких юзеров; ну и с сепульками была та же херня.
Я вот смотрю на вас со стрелками и думаю - блаженны мужи, питающиеся радугой; блаженны эльфы, росы лун полночных вкушающие,
блаженны нищие духом, ибо их есть царствие небесное.no subject
Date: 2015-09-14 10:08 am (UTC)А зомбировать меня незнанием жизни и тяжелым кровавым энтерпрайзом бесполезно. Я сейчас работаю в компании, производящей софт (причем основной боевой софт) для крупнейших страховых компаний мира. Такого калибра энтерпрайза в РФ практически нет. Сбербанк наверное.
no subject
Date: 2015-09-14 11:05 am (UTC)Ну так расскажите, как алгебра типов помогает прозревать грядущее. Мне правда интересно.
А зомбировать меня незнанием жизни и тяжелым кровавым энтерпрайзом бесполезно.
Я не зомбирую, я пытаюсь показать, что источник ощибок - не неиспользование правильных инструментов, а несовершенное понимание бытия человеческим разумом.
К сожалению, все в таких пояснениях видят или заумь, или "зомбирование".
no subject
Date: 2015-09-14 08:20 pm (UTC)В языке С я могу привести void* к указателю на структуру данных и модицифицировать эту структуру. И если я ошибся, и этот указатель был на другую структуру данных, то это можно назвать несовершенным пониманием бытия человеческим разумом. И более того, это так и есть. Просто я считаю что мой разум создан немного для другого.
> все в таких пояснениях видят или заумь, или "зомбирование".
Если на самом деле ВСЕ видят, то ровно два варианта:
1. Вы непонятый гений и до современников скорее всего дойдет уже после вашей смерти.
2. Вы несете какую-то заумную херню.
no subject
Date: 2015-09-14 08:24 pm (UTC)no subject
Date: 2015-09-14 09:40 pm (UTC)Да и не за этим он сюда пришел. Крокодилу надо показать что только он познал мудрость.
no subject
Date: 2015-09-14 08:31 pm (UTC)Ах это.
Ладно, пошел дальше нести херню. Извините если что.