пессимизму
Jun. 20th, 2016 12:07 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как я понимаю, вывести программистов на хороший уровень можно только по недосмотру менеджмента. В таких условиях реально было бы, для серьезных профи, найти или изготовить тулзу, которая бы превращала высокоуровневый код в объектно-джавно-спринговую лапшу. Пишешь это на хаскеле, а трансформер конвертирует это в обычный быдлокод, где хаскель просто в виде комментария.
(Был такой случай, когда на самом деле мы писали на форте...)
Так вот, есть такие тулзы? Или, точнее, реально ли иметь и использовать такие тулзы?
Собственно, в качестве особо интересного примера приведу всех этих гугловских хаскельщиков, вынужденных гнать на джаве с гуавой. Но дело не в гугле, дело в толпе... не то чтобы идиотов, а людей среднего уровня квалификации.
(Был такой случай, когда на самом деле мы писали на форте...)
Так вот, есть такие тулзы? Или, точнее, реально ли иметь и использовать такие тулзы?
Собственно, в качестве особо интересного примера приведу всех этих гугловских хаскельщиков, вынужденных гнать на джаве с гуавой. Но дело не в гугле, дело в толпе... не то чтобы идиотов, а людей среднего уровня квалификации.
no subject
Date: 2016-06-20 07:44 am (UTC)no subject
Date: 2016-06-20 08:52 am (UTC)Навернео, с ним что-то подобное можно замутить.
no subject
Date: 2016-06-20 08:57 am (UTC)> ghcjs
Нет.
no subject
Date: 2016-06-20 09:43 am (UTC)no subject
Date: 2016-06-20 07:18 pm (UTC)no subject
Date: 2016-06-23 11:01 am (UTC)no subject
Date: 2016-06-20 10:37 am (UTC)Но там сам код "по смыслу" такой, что работать с этим нереально.
no subject
Date: 2016-06-20 11:11 am (UTC)no subject
Date: 2016-06-20 02:20 pm (UTC)О том, как какой-то кулцкакер отказался дальше работать с жутко мудрёной "защитой от взлома", а именно, скомпилированным (при помощи ghc) хаскелём.
no subject
Date: 2016-06-20 02:56 pm (UTC)no subject
Date: 2016-06-20 03:29 pm (UTC)Хорошо помню, как возился с ассемблером z80 и потом масштабно со всякими x86...
"Язык должен быть близок к железу, иначе вы не сможете понять, что там внутри происходит, а значит, не сделаете хорошо работающую программу" ивсётакое ;-)
no subject
Date: 2016-06-20 04:56 pm (UTC)no subject
Date: 2016-06-20 05:04 pm (UTC)От этого понимания, в основном, нужно только способность оценить затрачиваемые ресурсы.
Хотя и конечно, это понимание не помешает, а может быть, где-то и поможет.
Ну и ещё, надо помнить, что железяки бывают разные, например, даже такие, которые ленивую функциональщину исполняют ;-)
no subject
Date: 2016-06-20 07:26 pm (UTC)no subject
Date: 2016-06-22 06:04 pm (UTC)no subject
Date: 2016-06-22 08:42 pm (UTC)было уже
были уже такие наступатели светлого завтра и щастя всего человечество, с Фортом на перевес
даже железки, что характерно были - ну, с Фортом сам б-г велел, впрочем
так вот: там же, где сейчас это все - будете и вы, только еще скорее, намного скорее
потому что Форт, сколь бы weirdo он ни был - штука юзабельная, и потому использованная в реальных приложениях
ну, на щасте всего чел-ва в качестве универсального струмента не потянул - бывает, а кое-где пригодился
а ваше суходрочево - только для безопасной утилизации энергии шизофреников и годится
и маркетинг, мода прочее - тут абсолютно не при чем, face it
no subject
Date: 2016-06-22 09:51 pm (UTC)no subject
Date: 2016-06-23 11:48 am (UTC)no subject
Date: 2016-06-22 08:51 pm (UTC)Вообще сам принцип изготовления железа под парадигму программирования в корне ущербен - железо надо изготавливать под математическую задачу, для решения которой с максимальной эффективностью даже не грех создать отдельную новую программистскую экосистему (как это было с CUDA и OpenCL или с векторными процессорами типа Nec SX), Никто ж не делал процессоры под си, фортран, даже эрланг, ибо бессмыслица, - такая же бессмыслица будет и с процессором под ФП.
no subject
Date: 2016-06-20 07:36 pm (UTC)no subject
Date: 2016-06-20 08:00 am (UTC)Платон с Аристотелем всё придумали до нас.
no subject
Date: 2016-06-20 08:04 am (UTC)no subject
Date: 2016-06-20 04:47 pm (UTC)no subject
Date: 2016-06-21 01:06 pm (UTC)идеологично! :)
no subject
Date: 2016-06-21 01:13 pm (UTC)Avoid success at all costs и всё такое.
no subject
Date: 2016-06-20 08:24 am (UTC)Гугл, это вообще и смех и грех... В прототипах можно использовать всякое, но production code на JVM - Java only (чтобы если что сломается, то чтобы любой сотрудник "известной квалификации" мог разобраться и починить)... Так что там это очень актуальный вопрос, с учётом того, что прототипы можно писать на современных языках ;-)
no subject
Date: 2016-06-20 08:49 am (UTC)Как минимум, в одном случае можно иметь что-то близкое.
Если какая-то большая область описывается DSL'ем, и в таком случае, вполне можно представить код в виде таких вот "макросов" —
нагенерённый код чего угодно и DSL в комментарии.
> (Был такой случай, когда на самом деле мы писали на форте...)
А расскажи подробнее, интересно!
no subject
Date: 2016-06-20 10:06 am (UTC)no subject
Date: 2016-06-20 07:51 pm (UTC)Ну и нас затрахало это все; мы написали форт для паскального механизма virtual call; ну и там какой-то скелет. После чего остальное писали уже на форте. Но! Заказ-то был на паскале. Поэтому на форте был написан ini-file. Ну вот вам программа на паскале. Она читает свой .ini. Каковой является (довольно красивой) форт-программой.
no subject
Date: 2016-06-20 07:57 pm (UTC)Молодцы ващеттаа!
Ну не то, чтоб форт прям это наше всё, но его вполне так можно правильно пользовать.
no subject
Date: 2016-06-20 09:30 am (UTC)Не понимаю. Было подобных тулзов в количестве и будет еще, и результат их работы всегда один - файлы у которых в заголовке крупными буквами написано "ЭТО СГЕНЕРИРОВАННЫЙ ФАЙЛ, РУКАМИ НЕ ПРАВИТЬ". Ну и зачем такое надо?
no subject
Date: 2016-06-20 11:31 am (UTC)no subject
Date: 2016-06-21 01:03 pm (UTC)no subject
Date: 2016-06-20 01:40 pm (UTC)no subject
Date: 2016-06-20 01:45 pm (UTC)Если умеет, всё просто - результат декомпилируем, можно подавать.
no subject
Date: 2016-06-20 02:22 pm (UTC)Но есть Frege, он довольно сильно похож на хаскель (нуу, аффтар этого и добивался by design).
no subject
Date: 2016-06-20 04:25 pm (UTC)no subject
Date: 2016-06-20 04:31 pm (UTC)http://67.media.tumblr.com/393d852bf9be9b339e76e4bc393aad34/tumblr_o56sc7ASY31ugyavxo1_1280.jpg
The left panel shows the functional features,
the main one describes the type system,
and the right the object oriented parts
no subject
Date: 2016-06-20 05:21 pm (UTC)Да не, справа просто обычный продакшен.
no subject
Date: 2016-06-20 05:27 pm (UTC)Но в целом, наверное, получше будет ;-)
no subject
Date: 2016-06-20 06:30 pm (UTC)no subject
Date: 2016-06-20 06:52 pm (UTC)А уж когда сталкивается с чем-то, так и совсем вах!
Но бывает, что и не сталкивается, а активно сотрудничает
выдавая товарищей!no subject
Date: 2016-06-20 08:28 pm (UTC)no subject
Date: 2016-06-20 04:06 pm (UTC)Все работодатели хотят Java-style OOP со спрингом ?
no subject
Date: 2016-06-20 04:49 pm (UTC)скоты приземленные!
no subject
Date: 2016-06-20 05:30 pm (UTC)no subject
Date: 2016-06-20 06:16 pm (UTC)no subject
Date: 2016-06-21 01:32 pm (UTC)и что же, чиновник способен осмысленно что нибудь проверить?
no subject
Date: 2016-06-21 01:35 pm (UTC)no subject
Date: 2016-06-20 08:33 pm (UTC)no subject
Date: 2016-06-21 07:32 am (UTC)no subject
Date: 2016-06-21 08:10 am (UTC)Джава это Кобол нашего времени.
no subject
Date: 2016-06-20 04:31 pm (UTC)no subject
Date: 2016-06-20 07:53 pm (UTC)no subject
Date: 2016-06-20 04:46 pm (UTC)ггг, а можно вот отсюда поподробнее
...вынужденных гнать на джаве с гуавой.
ох!
бедные! бедные!
no subject
Date: 2016-06-20 07:53 pm (UTC)no subject
Date: 2016-06-21 12:00 am (UTC)Та ладно!
Насколько я помню, там вообще ничего не запрещено, пиши на чем хочешь, на здоровье (да там и местами зоопарк тот еще, особенно в acquired projects)
Вот код ревью пройти обязательный - это проблема будет, да, ггг.
Да и кто этот шит ревьюить будет, это же известное дело: на этих ваших хацкелях только
выражопыватьсяписать легко, а читать - это ад адовый.Ну доказать придется серьезные преимущества в проде + безопасность.
И что характерно, хацкель ведь еще на самом первом разделе первого вопроса засыпется же - на производительности, ггг
Но если кишка не тонка таки это сделать - так и хацкель будет токо в путь.
И те хаскельщики, которых я знаю, вынуждены валять на джаве.
говорю же - бедные! бедные!
Зачем они там - не знаю.
они там затем, чтобы служить иллюстрацией тому, как бабло побеждает зло
а вот почему они там - это вопрос
не знаю... ну, например: все эти роботы, мафынки-самоезды, интернет через воздушные шарики - это прикрытие
а истЕная цель проекта Google X - это разработка
one ring to rule them allкарательного девайса с дистанционным управлением, в который замыкаются яйца криптохаскеллистов и членов их семей, невзирая на пол и возрастno subject
Date: 2016-06-20 06:14 pm (UTC)no subject
Date: 2016-06-20 07:52 pm (UTC)no subject
Date: 2016-06-20 11:04 pm (UTC)И, вообще, начинается всё с того, что демонстрируется Очень Крутое решение. (не затрагивающее основную область компетенции ответственного барана). А потом уже идут предложения.
no subject
Date: 2016-06-21 05:13 pm (UTC)Слова тут не работают; надо было с ним ласково разговаривать, искательно смотреть в глаза и кивать на всю херню, что он несет. Не мой бизнес.
no subject
Date: 2016-06-21 06:38 pm (UTC)no subject
Date: 2016-06-21 07:17 pm (UTC)no subject
Date: 2016-06-21 04:00 am (UTC)https://code.google.com/archive/p/inv/
no subject
Date: 2016-06-21 06:26 am (UTC)Сами знаете от кого ;)
Date: 2016-06-21 09:16 am (UTC)no subject
Date: 2016-06-21 06:37 am (UTC)no subject
Date: 2016-06-21 05:23 pm (UTC)no subject
Date: 2016-06-21 12:54 pm (UTC)Точнее и не скажешь.
no subject
Date: 2016-06-21 07:16 pm (UTC)no subject
Date: 2016-06-22 01:44 am (UTC)на все аргументы что смысла в этом абсолютный ноль а то и отрицательная бесконечность разводят руками - типа это всё они так сказали делать.
все равно этот джар меняться никогда не будет а если и будет то вместе со всем остальным (которое его типа должно грузить черте знает откуда - на деле всё всегда компилится вместе)
жду когда секюрити аудит самого же заказчика зарубит это творчество конфигураций душевнобольных
no subject
Date: 2016-06-22 05:14 am (UTC)no subject
Date: 2016-06-22 09:43 pm (UTC)однако там (в классах из джара) инициализируются определенные тяжелые и глобальные ресурсы (связанные с сокетами и потоками например и не только с ними) и еще много чего интересного начинает происходить при взаимодействии этого борделя поэтому обращаться с этим карточным домиком необходимо весьма аккуратно - мы (в частности я) решили конечно эти проблемы так или иначе (ценой определенных достаточно грязных хаков) но всего этого безобразия можно было бы не делать вообще если бы какому то менеджеру этого бы не захотелось вдруг (смысла в этом в данных конкретных условиях практически нет)