vit_r: default (Default)
vit_r ([personal profile] vit_r) wrote2018-03-11 08:31 pm
Entry tags:

Про ёжика в тумане, зазнайство, языки программирования и вериги

Я долго сдерживался, но всё-таки напишу.

Разговоры с IT-специалистами всё больше и больше напоминают мне беседу с папуасами, которые утверждают, что небоскрёбов не бывает, потому что солома постройку выше трёх этажей не выдержит.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2018-03-11 09:43 pm (UTC)(link)
Ну вот вы там - https://juan-gandhi.dreamwidth.org/4166488.html?thread=115086936#cmt115086936

пишете "И, если рабочий код ещё есть смысл переписывать руками по моделям, чтобы он был чистый и полностью прозрачный, для тестирования модели гоняют только так. ".

Ну вот ваша модель ведь написана на каком-то языке/майндкартах. Если она достаточно формализована, то перевод в маш.код - вещь автоматическая => это дело компилятора. Да, компиляторы несовершенны, runtime'ы тяжёлые, поэтому часто приходится ручками что-то подправлять, уточнять.

И вот только если ваша модель недостаточно формализована, остаётся какой-то простор для творчества. А иначе это просто исправление недоработок компилятора.

==============
Тем не менее, тот же Хаскель можно вполне использовать для набросок псевдокода ручкой на бумажке (в отличие от С++). Т.е. вполне себе язык для моделей. И поэтому вообще непонятно, зачем заниматься кодогенерацией из моделей, как отдельным родом деятельности - это же компиляция.

Кроме того, как показывает здравый смысл и практика, лучше не смешивать автогенерированный код и написанный вручную. Т.е. человек в 99% случаев не должен заниматься ручной правкой автогенерированного кода. Иначе возникнут проблемы при исправлении ошибок модели.
ext_646638: (Default)

[identity profile] rdia.livejournal.com 2018-03-11 10:33 pm (UTC)(link)
> К чему это и зачем здесь?

К тому, что я вас не понимаю. Поскольку я вас давно читаю, мысели часто умные, есть смысл уточнить, разобраться.

> Модель может быть чисто графической как в детских приложениях для создания программ из блоков.

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

> Какого творчества? Мозги надо применять для решения задачи.

В програзме, если задача формализована, человек для её решения не нужен, а даже вреден.

> Сама модель может быть неполной в смысле описания решения задачи.

В Хаскеле для этого есть даже специальное слово undefined (не везде, конечно, можно поставить). На других языках обходятся исключениями типа failwith "Unimplemented"/throw "Unimplemented" или assert'ами и другими костылями.

> На уровне модели находится решение задачи. Дальше можно генерировать код для какой-то платформы.

Можно интерпретировать, да.

> Можно реализовать код вручную для модели

Ну можно. Это как написать модель на бумажке на Хаскеле, а потом её вручную перевести на C. Как правило, это делать не нужно, т.к. есть компилятор.

> или только заменить какие-то сгенерированные модули

Это называется foreign function interface/FFI.

=================
Вы отделяете графические языки программирования от текстовых, а остальные - нет. Поэтому вы называете написанием кода задачу, по-сути, компилятора, а остальные написание кода не отделяют от создания модели.

[personal profile] bowhill 2018-03-11 09:57 pm (UTC)(link)
Вы начали разговор, даже не с того, что написали функцию в 700 строк, а с того, что попробовали высмеять разными эпитетами вполне объективно оцениваемый принцип модульности и декомпозиции в инженерной деятельности и вообще в области операций с абстракциями.

Ну что заварили — то и получили, нечего на дикарей пенять. Беседа прошла в традиционном стиле «есть два мнения, моё и неправильное», народ хвалил своё болото (уровень абстракции, на котором располагался). Попытки из этого вылезти были, но делали их не Вы.

[personal profile] bowhill 2018-03-11 10:50 pm (UTC)(link)
Конечно, Вам виднее про заголовок, но последняя, обсуждаемая дискуссия imho началась именно с 700 строк, гуру и зазнаек.

Проблема вполне оценима объективно (не в этом разговоре), и не только с точки зрения разделения сущностей, не только с точки зрения математики и семантики (представьте себе иероглифы на 700 слов и их количество в языке), не только в инженерии (агрегат, в котором все соединения заварены), не говоря уже о программировании. Но дело не только и не столько в этом: бывают разные экзотические условия, но в данном случае способность или даже полезность отдельного примера программы сами принципы ещё не опровергает.

Аудитория Левенчука мне непонятна. Если же говорить о технике agile, то это, конечно, обман населения, но imho это всё же не повод бить в доме всю посуду, и тем более, отказываться от определяющих условий. В какой-то области, для какой-то пары и agile может работать. При этом я могу считать её для себя неприемлемой.

[personal profile] bowhill 2018-03-12 05:43 pm (UTC)(link)
Элементарно что, что декомпозиция и нормализация не просто не нужны, а являются придумками папуасов? То, что тема может быть долгой — это я понимаю, она вполне далеко забрела.

О Левенчуке — я просто не знаю кому и что он объясняет, Денису Попову с Болгеносом его работа может быть и полезна, Нуралиеву с 1с бесполезна во всех смыслах. Он вообще может «маркетингом» заниматься или сколково, я просто увидел у него очевидную лапшу и отложил в сторону зарядки воды по телевизору. А теория от него, собственно, не зависит, он от неё — да.

Набор трюков вполне может овладевать массами, на долгие годы, популярность не делает его чем-то большим. Это уже проблемы индустрии, куда и как бежать.

(Anonymous) 2018-03-18 02:36 pm (UTC)(link)
\\О Левенчуке — я просто не знаю кому и что он объясняет

По сути, он пробует предлагать философию (ну, скажем в том смысле что Альтшулер в своем ТРИЗе),
при этом наотрез открещиваясь от того что это именно философия,
в чем есть отдельная проблема...
так вот, философию подхода к построению, организации и сопровождения БОЛЬШИХ систем.
Ну, в том смысле боьших, что это системы, для работы которых обычной соображалки уже недостаточно.

Хороошо это или плохо?
А вот ХЗ.
Я не могу как автор так огульно его обвинять в "консультанстве",
которое для иже с ним, чуть ли не самый смертный грех (ак будь-то других грехов, более насущных, мало)

Лично у меня к нему, тот же вопрос что и например к оппозиции в РФ -- каким образом он собирается брать власть -- то есть, обеспечивать торжество его подходов в массах?
На что он отвечать очень-ма не люит

(Anonymous) 2018-03-18 03:18 pm (UTC)(link)
Это вы про АРИЗ.

А ТРИЗ -- вполне себе философия,
с захоом на "теорию", но поелику теория особо не вытанцовалась,
так и осталась -- философия. (на всякий случай, я не употребляю здесь "философия" как ругательство, а только как плейсхолер "некоторого набора практик и представлений, похожего на научный", но научным не являющийся... потому что не доросло или еще почему.)

Вы, похоже, становитесь коллекционером каких-то непоня

(Anonymous) 2018-03-12 12:57 am (UTC)(link)
Нет, ну серьезно, зачем Вы тратите силы на таких собеседников?

Ну да, при нынешнем хайпе в IT набежали толпы, выражаясь по-украински, "заробитчан". После пары лет "карьеры" на очередной оутсорс-галере их менеджеры, стремясь сэкономить на зарплате, навешали лычек Senior что-то-обо-что-то (слыхали, небось, грустные шутки про "двадцатитрехлетних сениоров" - они об этом). Теперь эти гурЫ (ой-вей, я велИк, ибо прочитал про двадцать три Gang-of-Four темплейта и работаю погонщиком Team Lead'ом!) снисходительно учат "замшелых стариков" жизни. Так ведь не первый это хайп, и не последний. Вы ж наверняка помните крах доткомов в начале нулевых, кода смыло подобную шушеру без всякой жалости, и поделом - что ж Вы так душой переживаете за "папуасов"?

Не тратьте время и усилия на идиотов, право: для двадцатилетнего сениор сопляка _действительно_ не требуется ничего круче Джава-ынтерпрайза (или что там на этой неделе модно в оутсорсе). Ну, так пусть себе и гниют, оставьте их в покое.

Re: Вы, похоже, становитесь коллекционером каких-то непо

(Anonymous) 2018-03-12 08:36 am (UTC)(link)
При всем уважении - а в чем принципиальное отличие такого вот "профессионала, так углубившегося в недра какой-то хитромудрой технологии, что видящего окружающий мир только через маленькое отверстие со дна колодца" и Senior Papuas, утверждающего, что вне его соломенного ынтерпрайза мир не существует?

ИМХО и те, и другие заслуживают одного и того же - после пары итераций пожать плечами и сказать "ну, не выдержит солома трех этажей - значит, не выдержит. Кому охота помечтать про другие стройматериалы - айда на <ссылка на ресурс с вменяемыми людьми>, а остальным спасибо за содержательный разговор".

Или Вас задевает, что папуасы будут считать себе победителями этой конкретной дискуссии?

PS Да, от имени молодых папуасов ОЧЕНЬ прошу предоставлять ссылку, т.к. за разговором иногда следят очень неожиданные люди, и для них информация о не-соломе будет очень полезной.

[personal profile] anonim_legion 2018-03-13 03:38 pm (UTC)(link)
>Большинство вставляет монокль и из глубины колодца своих заблуждений начинает поучать. При этом умудряясь изображать взгляд сверху вниз.

Какой замечательный, красочный образ.

Вам надо как Александру Павленко - завести несколько разных юзерпиков для разных реплик, и обязательно один особый - но не с моноклем, а с лорнетом.
Edited 2018-03-13 15:43 (UTC)
juan_gandhi: (Default)

[personal profile] juan_gandhi 2018-03-12 04:10 am (UTC)(link)
Мне тоже.