metaclass: (Default)
[personal profile] metaclass
http://nekhill.livejournal.com/162101.html
Непонятно, что делать в случае, когда готовый код или софт вызывает приступы ненависти к его авторам, а пользователи платят за то, что софт работает, а не за то, чтобы вы копались в дебрях чужого бреда.

Все, кто против велосипедов, почему-то считают, что "специализирующиеся" авторы напишут код лучше, а это не совсем так. Часто "готовый" код вырос из такого же велосипеда и очень сильно повезет, если автор был нормальный, у него было время и он все сделал по человечески. А еще бывает код настолько сука проприетарный и патентованный, что авторам просто не нужно его делать хорошо - у них деньги текут рекой и так. А еще иногда нужного "готового" кода просто нет.

Кстати, еще один вариант, где велосипеды нужны без вариантов - это когда в языке физически нет нормальных способов реализовать функциональность, не сойдя с ума. Например, вкрутить еDSL в дельфи или C#. Или вариантные типы с паттерн-матчингом туда же.
На данный момент, единственно читабельные варианты делать такое мне попадались только на clojure и ruby. В F# метапрограмминга толком нет вообще, на скале - уже начинается жесть с имплиситами и вычислениями на типах, в хаскеле SYB, Template Haskell и аппликативные функторы в качестве замены функциями с переменным числом аргументов.

Date: 2013-08-18 09:55 am (UTC)
From: [identity profile] nekhill.livejournal.com
Во всем должен быть разумный подход. Меня больше всего напрягают велосипеды вместо использования отличного чужого коробочного документированного насквозь изделия, на которое у компании лицензий жопой жуй, "потому что не подумали и есть же своё!"

Date: 2013-08-18 01:09 pm (UTC)
From: [identity profile] w00dy.livejournal.com
а если нужно больше функционала чем чужое коробочное решение может предоставить?

Date: 2013-08-18 04:40 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
искать другую коробку

а этой надо отписать: хотел то и то, а вы не сделали
очень вероятно, что в ответ придёт ссылка на доки, где описано больше функций

Date: 2013-08-18 09:58 am (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
там местами написана хуйня, которая сводит в ноль все аргументы

Date: 2013-08-18 12:33 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
Можете развернуть вашу мысль? То есть указать на хуйню и ее последствия.

Date: 2013-08-18 12:40 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
> икому, в сущности, не важно, какая ОС и какие библиотеки стоят на ваших серверах в датацентре и насколько они лицензионные.

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

Date: 2013-08-18 12:46 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
Вы вообще первый, кто хоть что-то сказал на эту тему. Я давно хотел узнать, как обстоят дела с варезом на серверах.

Date: 2013-08-18 12:55 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
а причем тут варез?
вот например есть ESXi. нет, я даже не про бесплатную версию.
пусть мы купим платную. все почесноку.

но! лицензия не разрешает оказывать на ней услуги. т.е. нельзя резать виртуалки и продавать. на это надо покупать отдельную лицензию, заключать отдельный договор, ежемесячные отчеты и ежемесячные платежи.

точно также нельзя купить пул лицензий на винду и ставить их на хостинге (см. выше).

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

Date: 2013-08-18 01:09 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
Варез здесь при том, что:

Если у нас компания программистов, которые оказывают услуги другим программистам, чтобы те программисты писали стартапы и продавали их инвесторам, а те перепродавали другим инвесторам, потому что хрень эта нужна только для перепродажи... (хостинг)

Или если мы сами пишем стартап для перепродажи... (инстаграм)

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

А если у нас классическая компания, которая зарабатывает деньги классическими способами, а не на IT, то почему бы и не взять бесплатно Оракл и не делать разработку на нем, чем ковыряться с MySql. Программистов можно попросить просто не болтать и хорошо им платить, и то это будет дешевле, чем покупать Оракл.

А вдруг компания еще и полугосударственная, и на нее завязана какая-то инфраструктура - ну например возьмем МВД. Ну-ка, давайте предъявите им иск, чтобы кому-то стало больно. Ага щас, скорее местный представитель правообладателя огребет.

Весь хваленый Фейсбук по стоимости - это половина торгового центра "Аура", г. Новосибирск. Там есть не один такой торговый центр.

Date: 2013-08-18 01:11 pm (UTC)
From: [identity profile] w00dy.livejournal.com
продавать vds на базе esxi - это та ещё проблема, а вот засетапить линупс какой-то и продавать php shared hosting не мешает абсолютно никто.

Date: 2013-08-18 04:42 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
никому из ПОЛЬЗОВАТЕЛЕЙ
там по контексту понятно

проблемы с лицензиями БИБЛИОТЕК -- ну-ну, попробуйте выяснить про ДЦ гугля

Date: 2013-08-18 04:45 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
это будут выяснять лоера, по суду.

Date: 2013-08-18 08:29 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
:)
представляю глаза, как лоер будет смотреть на инструкцию по сборке


по контексту также понятно, что речь не про нарушение лицензий ака тыринг, а про использование проприетарных вс опенсорсных


юзеру пофиг

Date: 2013-08-18 08:31 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
сам ты тыринг.
в пропиретарной лицензия может быть такой, что для себя использовать можешь, а для извлечения прибыли нужна другая лицензия

Date: 2013-08-18 09:59 am (UTC)
From: [identity profile] aamonster.livejournal.com
Ребе, а давно вы работали с кодом, в котором вместо stl задействованы самописные либы?

Date: 2013-08-18 10:06 am (UTC)
From: [identity profile] metaclass.livejournal.com
Я сам такой пишу иногда. Например, в 7 дельфи нету генериков списков-словарей и тому подобного.
Поэтому я сделал на clojure генератор подобных классов, чтобы, во-первых, не писать их руками, во-вторых, не заниматься приведениями типов, используя какие-нибудь TObjectList.

Date: 2013-08-18 10:24 am (UTC)
From: [identity profile] aamonster.livejournal.com
"Нету" - другая тема. Я про "есть, но не используется, NIH".
И говорю про либы типа stl и boost - где можно рассчитывать, что либа хорошо оттестирована.
(deleted comment)

Date: 2013-08-18 12:50 pm (UTC)
From: [identity profile] aamonster.livejournal.com
Вы с чем-то спорите в моём комменте или нет? (не нашёл ни оспаривания каких-то моих утверждений, ни их подтверждения - просто приведён факт).

Кстати, интересно, QT менее известен, чем boost, или более?
(deleted comment)

Date: 2013-08-18 01:25 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Позволю себе, как автор изначального поста, уточнить, что у нас используется полностью свой набор библиотек, несовместимый (или не очень очевидным образом совместимый) с STL. STL и (тем более!) boost преданы анафеме как порождение Сатаны. Стеки и очереди, ессессно, свои. Строки тоже свои. Доступ к СУБД - через COM-компоненты тысячелетней давности. Надеюсь, тов. [livejournal.com profile] aamonster тоже увидит этот коммент.

Date: 2013-08-18 01:28 pm (UTC)
From: [identity profile] w00dy.livejournal.com
У вас там вообще какой-то ад и содомия. Я, к счастью, так низко ещё не пал.

Date: 2013-08-18 02:29 pm (UTC)
From: [identity profile] fas-tm.livejournal.com
"Стеки и очереди, ессессно, свои. Строки тоже свои. Доступ к СУБД - через COM-компоненты тысячелетней давности."

от входа расстреливать. сразу же.

Date: 2013-08-18 02:35 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Промблема в том, что есть миллионы строк кода, которые написаны на этих библиотеках за последние примерно 22 года и работают у пользователей на где-то так 50 000 000 компьютеров в мире. Поэтому речь о выкидывании вести тяжело.
Edited Date: 2013-08-18 02:35 pm (UTC)

(no subject)

From: [identity profile] fas-tm.livejournal.com - Date: 2013-08-18 02:38 pm (UTC) - Expand
(deleted comment)

Date: 2013-08-18 03:10 pm (UTC)

Date: 2013-08-18 03:11 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Интересно. Почитаем-с.

Date: 2013-08-18 12:44 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
если в каком-то продукте используется boost -- то с этим продуктом обычно боль.
уж больно boost версия-специфичный

Date: 2013-08-18 12:47 pm (UTC)
From: [identity profile] aamonster.livejournal.com
В смысле, боль при использовании чужого буст-зависимого проекта как модуля для своего?

Date: 2013-08-18 12:59 pm (UTC)
From: [identity profile] http://users.livejournal.com/_slw/
нет, даже при просто использовании.
падает.
не работает
глючит.

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

Date: 2013-08-18 04:35 pm (UTC)
From: [identity profile] zelanton.livejournal.com
Вот кстати нахрена, когда всё делается контекстной заменой поверх файла с generic-like шаблоном?

Date: 2013-08-18 04:53 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Изначально это был кусок более сложного кодогенератора, который json-able объекты делает.

Date: 2013-08-18 05:00 pm (UTC)
From: [identity profile] zelanton.livejournal.com
Ясно. У меня тоже этого говна хватало, но где оно возможно предпочитал обходиться без кодогенераторов.

Protocol Buffers не пробовал? Под делфю чего-то уже сделали зачем-то. У меня помнится много проблем было со скоростью работы XML и JSON.

Date: 2013-08-18 05:07 pm (UTC)
From: [identity profile] metaclass.livejournal.com
У меня принципиально везде json - для совместимости с хипстерами.

А вообще протокол буфферс это идея хорошая, его можно использовать там, где надо побыстрее.

Date: 2013-08-18 05:10 pm (UTC)
From: [identity profile] zelanton.livejournal.com
под хипстеров там реализация тоже есть. Даже на скриптах. Не знаю правда насколько оно юзабельное, просто в todo давно стоит покурить это, а руки не доходят.

Date: 2013-08-18 01:21 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Вообще я понял, что мы живём в параллельных реальностях. В моей реальности народ чуть что начинает писать велосипеды для чего угодно на C++. Я тут с удивлением узнал, что библиотеку для регэкспов они не написали с нуля, а таки спортировали с какого-то другого языка. Надо же!

Date: 2013-08-18 01:28 pm (UTC)
From: [identity profile] w00dy.livejournal.com
А где ваша реальность находится, если не секрет.

Date: 2013-08-18 01:33 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Даю на водку. В профиле указана ссылка на профиль в фейсбуке. В фейсбуке указано место работы. Явно тут светить не хочу лишний раз, но кто ищет - тот найдёт)

Date: 2013-08-18 01:37 pm (UTC)
From: [identity profile] w00dy.livejournal.com
Это что в xxxxx такая жопа? Впрочем меня это почему-то не удивляет.

Date: 2013-08-18 01:48 pm (UTC)
From: [identity profile] metaclass.livejournal.com
"C++ dev team lead" :)

Date: 2013-08-18 01:29 pm (UTC)
From: [identity profile] metaclass.livejournal.com
В С++, судя по всему, это модно.
Потому что, во-первых, можно удолбаться подключать чужие либы, а во-вторых, огрести по самое не могу, когда окажется что в тех чужих либах покопались функциональщики на веществах и разобраться, то ли это у нас ошибки, то ли автор сошел с ума - нереально.

Впрочем, у меня за год работы на С++ получилось пользоваться (и понять внутренности и кое-где даже доработать) с тремя сторонними либами.

Date: 2013-08-18 01:35 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Вполне может быть.
За время общения с программистами на C# выяснил, что там совсем другая культура.
NuGet - и вперёд. Да и сам фреймворк изначально очень много даёт, ещё и развиваясь по ходу.
Со сторонними либами работал, вроде ок. Проблема как раз прицепить их к нашим, ибо у нас не STL. Одна из главных проблем, я бы сказал.

Date: 2013-08-18 04:10 pm (UTC)
From: [identity profile] anonim-legion.livejournal.com
А уж что будет, когда вы увидите яву и мавен...

Date: 2013-08-18 04:39 pm (UTC)
From: [identity profile] nekhill.livejournal.com
Яву и мавен видел. C# нравится больше.

Date: 2013-08-18 04:24 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
"аппликативные функторы в качестве замены функциями с переменным числом аргументов" - понравилось.

Автор пишет чушь. Конечно, если хорошего решения в публичном домене нету, ичеловек не в состоянии сам написать хорошее решение, он берёт из числа имеющихся.

Но, что характерно, почти никто же не пишет свой новый язык программирования - языки есть. И шеллы есть. Много чего есть. Но много чего нет, и если контора создаёт свой, более правильный, скелет, то и мясо на нём скорее нарастает.

Один маленький пример у меня - надо было генераторы документов делать, на паскале, для заказчика; мы посчитали это глупым, имплементировали форт на паскале, и генераторы выглядели в виде таблиц конфигов. Производительность, деньги, удовольствие.

Date: 2013-08-18 06:24 pm (UTC)
From: [identity profile] anton-arhipov.livejournal.com
"мы посчитали это глупым, имплементировали форт на паскале"

классическое инженерное решение :) лолчто

Date: 2013-08-18 06:25 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Кстати, нормальное решение. Если заказчик сумасшедший и не хочет использовать нормальные языки - то на его любимом косоязычном языке делается DSL и дальше все делается на нем :)

Date: 2013-08-18 06:37 pm (UTC)
From: [identity profile] anton-arhipov.livejournal.com
Впринципе, заказщику должно быть параллельно до технологий, если ему нужен проект на раз.

А с DSLями обычно есть такой "косяк", что ими пользоваться умеют только авторы, поэтому поддерживаемость таких систем весьма сомнительна. Но впринципе это может относиться и к обычному коду на плюсах.

Мне, как заказщику, обычно плевать, в каком стиле, языке и с какими библиотеками программист написал мне ту или иную фичу, если она работает и зарабатывает деньги... ну и если пользователи тоже не жалуются.

Date: 2013-08-18 07:21 pm (UTC)
From: [identity profile] anton-arhipov.livejournal.com
я конечно переборщил с категоричностью в плане "наплевать". Таки не наплевать если на его платформе запускаться не будет, или для этого придётся железо закупать, или некому поддерживать будет.

Date: 2013-08-18 07:29 pm (UTC)
From: [identity profile] guamoka.livejournal.com
На Cpp по-моему это давняя традиция написать свой класс строки, свои контенеры. Owl имела свои коллекции, MFC. Не помню вот, в ATL\WTL было это или нет. На одной конторе COM "переписали". Ибо реализация от MS- не комильфо-- а вдруг баг, и не пофиксишь? И еще Гуиды чуть ли не вручную выделялись:-)))

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 25th, 2025 03:51 pm
Powered by Dreamwidth Studios