juan_gandhi: (VP)
[personal profile] juan_gandhi
Как я понимаю, вывести программистов на хороший уровень можно только по недосмотру менеджмента. В таких условиях реально было бы, для серьезных профи, найти или изготовить тулзу, которая бы превращала высокоуровневый код в объектно-джавно-спринговую лапшу. Пишешь это на хаскеле, а трансформер конвертирует это в обычный быдлокод, где хаскель просто в виде комментария.

(Был такой случай, когда на самом деле мы писали на форте...)

Так вот, есть такие тулзы? Или, точнее, реально ли иметь и использовать такие тулзы?

Собственно, в качестве особо интересного примера приведу всех этих гугловских хаскельщиков, вынужденных гнать на джаве с гуавой. Но дело не в гугле, дело в толпе... не то чтобы идиотов, а людей среднего уровня квалификации.

Date: 2016-06-20 07:44 am (UTC)
From: [identity profile] huzhepidarasa.livejournal.com
ghcjs же ;)

Date: 2016-06-20 08:52 am (UTC)
From: [identity profile] nivanych.livejournal.com
Ещё бывает Frege.
Навернео, с ним что-то подобное можно замутить.

Date: 2016-06-20 08:57 am (UTC)
From: [identity profile] pbl.livejournal.com
> обычный быдлокод

> ghcjs

Нет.

Image

(no subject)

From: [identity profile] huzhepidarasa.livejournal.com - Date: 2016-06-20 09:43 am (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-06-20 07:18 pm (UTC) - Expand

(no subject)

From: [identity profile] huzhepidarasa.livejournal.com - Date: 2016-06-23 11:01 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 10:37 am (UTC) - Expand

(no subject)

From: [identity profile] pbl.livejournal.com - Date: 2016-06-20 11:11 am (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 02:20 pm (UTC) - Expand

(no subject)

From: [identity profile] pbl.livejournal.com - Date: 2016-06-20 02:56 pm (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 03:29 pm (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-06-20 04:56 pm (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 05:04 pm (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-06-20 07:26 pm (UTC) - Expand

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2016-06-22 06:04 pm (UTC) - Expand

(no subject)

From: [identity profile] yussouf.livejournal.com - Date: 2016-06-22 08:42 pm (UTC) - Expand

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-06-22 09:51 pm (UTC) - Expand

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2016-06-23 11:48 am (UTC) - Expand

(no subject)

From: [identity profile] snowps.livejournal.com - Date: 2016-06-22 08:51 pm (UTC) - Expand

(no subject)

From: [identity profile] pbl.livejournal.com - Date: 2016-06-20 07:36 pm (UTC) - Expand

Date: 2016-06-20 08:00 am (UTC)
From: [identity profile] sorhed.livejournal.com
Хороший программист (тм) может и сам написать. Все ж эти спринги и паттерны — это тени на стене пещеры (наполненные скорбью от невозможности разглядеть идеальные формы), и мудрый философ, владеющий категориями, без труда сможет сложить свои монады так, чтобы обитатели пещеры не увидели разницы.

Платон с Аристотелем всё придумали до нас.
Edited Date: 2016-06-20 08:01 am (UTC)

Date: 2016-06-20 08:04 am (UTC)
From: [identity profile] sorhed.livejournal.com
(Кроме того, хаскель не нужно внедрять в продакшн, иначе он потеряет свою небесную идеальность и там тоже появятся паттерны и быдлокод. А так, как есть, он служит светочем гармонии, отблески которой можно увидеть в самых неожиданных местах. SPJ понимает.)

Date: 2016-06-20 04:47 pm (UTC)
From: [identity profile] yussouf.livejournal.com
это было годно

Date: 2016-06-21 01:06 pm (UTC)
From: [identity profile] zeit-raffer.livejournal.com

идеологично! :)

(no subject)

From: [identity profile] sorhed.livejournal.com - Date: 2016-06-21 01:13 pm (UTC) - Expand

Date: 2016-06-20 08:24 am (UTC)
From: [identity profile] anhinga-anhinga.livejournal.com
Для Лиспов всяких точно есть, и говорят, что вроде довольно читаемая Java получается, но я сам не смотрел......

Гугл, это вообще и смех и грех... В прототипах можно использовать всякое, но production code на JVM - Java only (чтобы если что сломается, то чтобы любой сотрудник "известной квалификации" мог разобраться и починить)... Так что там это очень актуальный вопрос, с учётом того, что прототипы можно писать на современных языках ;-)

Date: 2016-06-20 08:49 am (UTC)
From: [identity profile] nivanych.livejournal.com
> Или, точнее, реально ли иметь и использовать такие тулзы?

Как минимум, в одном случае можно иметь что-то близкое.
Если какая-то большая область описывается DSL'ем, и в таком случае, вполне можно представить код в виде таких вот "макросов" —
нагенерённый код чего угодно и DSL в комментарии.

> (Был такой случай, когда на самом деле мы писали на форте...)

А расскажи подробнее, интересно!

Date: 2016-06-20 10:06 am (UTC)
From: [identity profile] ledernierheros.livejournal.com
+1 к вопросу о Форте.

Date: 2016-06-20 07:51 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Ну как. Заказчик хотел программы на паскале. Причем программа еще должна была подраспараллелена, ну или там колбак какой-то надо было, чтобы прогресс показывать, пока работает, все такое. Кстати, писалось все по Петцольду, с main window.

Ну и нас затрахало это все; мы написали форт для паскального механизма virtual call; ну и там какой-то скелет. После чего остальное писали уже на форте. Но! Заказ-то был на паскале. Поэтому на форте был написан ini-file. Ну вот вам программа на паскале. Она читает свой .ini. Каковой является (довольно красивой) форт-программой.

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 07:57 pm (UTC) - Expand

Date: 2016-06-20 09:30 am (UTC)
From: [identity profile] yorool-gui.livejournal.com

Не понимаю. Было подобных тулзов в количестве и будет еще,  и результат их работы всегда один - файлы у которых в заголовке крупными буквами написано "ЭТО СГЕНЕРИРОВАННЫЙ ФАЙЛ, РУКАМИ НЕ ПРАВИТЬ". Ну и зачем такое надо?

Date: 2016-06-20 11:31 am (UTC)
From: [identity profile] link0ff.livejournal.com
Я делал более fine-grained генератор, который сравнивал новый код со старым, и обновлял измененные кусочки кода (через diff3: 1. старый сгенерированный код + 2. старый измененный код + 3. новый сгенерированный код).

(no subject)

From: [identity profile] sorhed.livejournal.com - Date: 2016-06-21 01:03 pm (UTC) - Expand

Date: 2016-06-20 01:40 pm (UTC)
From: [identity profile] justy-tylor.livejournal.com
Тут проблема не в тулзах, а в том, что любые ручные изменения в лапше (т.е. допуск дебилов понятной квалификации) приводят к невозможности дальнейшей генерации этой лапши из адекватных представлений.

Date: 2016-06-20 01:45 pm (UTC)
From: [identity profile] alamar.livejournal.com
А ghc не умеет в байткод jvm компилировать?

Если умеет, всё просто - результат декомпилируем, можно подавать.

Date: 2016-06-20 02:22 pm (UTC)
From: [identity profile] nivanych.livejournal.com
ghc не умеет, когда-то начинали, да бросили, подробностей уже не помню (больше 10 лет прошло уже, вроде).
Но есть Frege, он довольно сильно похож на хаскель (нуу, аффтар этого и добивался by design).

(no subject)

From: [personal profile] alll - Date: 2016-06-20 04:25 pm (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 04:31 pm (UTC) - Expand

(no subject)

From: [personal profile] alll - Date: 2016-06-20 05:21 pm (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 05:27 pm (UTC) - Expand

(no subject)

From: [personal profile] alll - Date: 2016-06-20 06:30 pm (UTC) - Expand

(no subject)

From: [identity profile] nivanych.livejournal.com - Date: 2016-06-20 06:52 pm (UTC) - Expand

(no subject)

From: [personal profile] alll - Date: 2016-06-20 08:28 pm (UTC) - Expand

Date: 2016-06-20 04:06 pm (UTC)
From: [identity profile] mikkim08.livejournal.com
А откуда такой пессимизм ?
Все работодатели хотят Java-style OOP со спрингом ?
Edited Date: 2016-06-20 04:07 pm (UTC)

Date: 2016-06-20 04:49 pm (UTC)
From: [identity profile] yussouf.livejournal.com
скажите, а!

скоты приземленные!

(no subject)

From: [identity profile] mikkim08.livejournal.com - Date: 2016-06-20 05:30 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2016-06-20 06:16 pm (UTC) - Expand

(no subject)

From: [identity profile] zeit-raffer.livejournal.com - Date: 2016-06-21 01:32 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2016-06-21 01:35 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-06-20 08:33 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-06-21 07:32 am (UTC) - Expand

(no subject)

From: [identity profile] mikkim08.livejournal.com - Date: 2016-06-21 08:10 am (UTC) - Expand

Date: 2016-06-20 04:31 pm (UTC)
From: [personal profile] alll
Таки надо идти в стартапы писать прототипы и прочие пруфы концептов, пмсм. Потом конечно стартап или помрёт, или подымет много бабала и всё это выкинут, начав переписывать на кошерной яве с каким-нибудь дукатом, но к этому времени можно перебраться в следующий стартап.

Date: 2016-06-20 07:53 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Вот этот последний шаг я как раз ожидаю от нашей лавки. Надеюсь, я там не доторчу до такого времени.

Date: 2016-06-20 04:46 pm (UTC)
From: [identity profile] yussouf.livejournal.com
... всех этих гугловских хаскельщиков ...

ггг, а можно вот отсюда поподробнее

...вынужденных гнать на джаве с гуавой.

ох!
бедные! бедные!

Date: 2016-06-20 07:53 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
В Гугле хаскель запрещен. И те хаскельщики, которых я знаю, вынуждены валять на джаве. Зачем они там - не знаю.

(no subject)

From: [identity profile] yussouf.livejournal.com - Date: 2016-06-21 12:00 am (UTC) - Expand

Date: 2016-06-20 06:14 pm (UTC)
From: [identity profile] vit-r.livejournal.com
В принципе, люди, сидящие на тестировании (в смысле тестовых сред, проверок сложных систем, тестирование железа и т.п.) имеют больше свободы чем программисты, делающие что-то полезное. В этой области дофига всего интересного попадается. В том числе и код, генерирующий из компактных сценариев привычную лапшу. (Сам такое писал много раз)

Date: 2016-06-20 07:52 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Пару контор назад я спросил, а чо, Алекс, давай я уже юниттесты буду на скале писать, все равно кроме меня никто их не пишет. Тот скривил рожу и стал бороться за мое увольнение.

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2016-06-20 11:04 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-06-21 05:13 pm (UTC) - Expand

(no subject)

From: [identity profile] vit-r.livejournal.com - Date: 2016-06-21 06:38 pm (UTC) - Expand

(no subject)

From: [identity profile] juan-gandhi.livejournal.com - Date: 2016-06-21 07:17 pm (UTC) - Expand

Date: 2016-06-21 04:00 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Это ж практически то, что [livejournal.com profile] nponeccop ваяет!
https://code.google.com/archive/p/inv/
Edited Date: 2016-06-21 04:02 am (UTC)

Date: 2016-06-21 06:26 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Да, действительно ж. Думаю, его трудами и вдохновился, да.

Сами знаете от кого ;)

From: [identity profile] gineer.livejournal.com - Date: 2016-06-21 09:16 am (UTC) - Expand

Date: 2016-06-21 06:37 am (UTC)
From: [identity profile] slonopotamus.livejournal.com
Тыжпрограммист! Делайте тулзу "быдлокод -> haskell" и "haskell -> быдлокод". В середину между ними вставлять этого вашего программиста-категорщика.

(deleted comment)

Date: 2016-06-21 05:23 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
This being a rather good point, I still don't see why this specific topic invalidates the rest of my arguments.

Date: 2016-06-21 12:54 pm (UTC)
From: [identity profile] belezbar.livejournal.com
> Как я понимаю, вывести программистов на хороший уровень можно только по недосмотру менеджмента.

Точнее и не скажешь.

Date: 2016-06-21 07:16 pm (UTC)
From: [identity profile] depesha.livejournal.com
О, форт, было время

Date: 2016-06-22 01:44 am (UTC)
From: [identity profile] http://users.livejournal.com/_xacid_/
пишем вот щас тут вообще всё (включая франтенд на реакте) на чистейшей скале с предпочтениями в сторону скалазей и шейплесса - и что вы думаете? трахаемся со всяческими извращениями вокруг класслоадеров при загрузке единственного (и в каком то смысле самого важного и нужного) джара из дурацкого файла конфига - а всё почему? менеджеры заказчика так придумали зачемто

на все аргументы что смысла в этом абсолютный ноль а то и отрицательная бесконечность разводят руками - типа это всё они так сказали делать.

все равно этот джар меняться никогда не будет а если и будет то вместе со всем остальным (которое его типа должно грузить черте знает откуда - на деле всё всегда компилится вместе)

жду когда секюрити аудит самого же заказчика зарубит это творчество конфигураций душевнобольных
Edited Date: 2016-06-22 01:49 am (UTC)

Date: 2016-06-22 05:14 am (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Джар из конфига! Долго перечитывал.

(no subject)

From: [identity profile] http://users.livejournal.com/_xacid_/ - Date: 2016-06-22 09:43 pm (UTC) - Expand

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 6 7
8 9 10 11 121314
15161718 1920 21
222324252627 28
29 30     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 6th, 2025 07:07 am
Powered by Dreamwidth Studios