13.06.2017 11:44, Victor Wagner пишет: > On Sat, 10 Jun 2017 05:32:38 +0300 > Dmitri Ivanov <d...@intex.spb.ru> wrote: > >> 09.06.2017 18:37, artiom пишет: >> >>> А udev, cron, syslog (ok, его аналог), sysvinit, baseutils вы могли >>> бы выпилить "без ощутимой потери функциональности"? >>> Это вообще не мерка. >>> Я за то, чтобы система инициализации была одна, пусть не системд, но >>> одна, а не пять и не десять. >> >> Она и так одна. Та, которую вы поставили. Но перед тем все хотят >> разного (у кого есть способность хотеть вообще, конечно). >> > > Ну если человек поставил себе линукс на побраузить веб, то одна. > А если он разработчик софта, то, увы не одна, а столько, сколько есть у > клиентов. > +1.
> Но лично я бы разработчика, который хочет чтобы что-то - язык > программирования, GUI, ядро ОС, архитектура процессора, порядок байтов в > слове, система инициализации, была бы одна, а не пять, порол бы розгами > на конюшне, приговаривая "пиши портабельно! пиши портабельно". > Ага, и стандартов C++ должно быть минимум три, параллельно действующих конечно же (не продолжающих один другой, а именно разных). И SQL, и Python, ну и шеллы тоже разные нужно применять для системных скриптов. А Posix, так вообще твари, навязывают здесь свою идеологию. Надо демократию и свободу принести. Розгами не получится - тогда беспилотниками. > Потому что единственный способ написать качественный код - это добиться > того чтобы он работал на разных процессорах, с разными системами > инициализации, разными шедулерами и так далее. Сферически гуд-бай-ворлд в вакууме. Только ему всё это не нужно. На практике, даже система из 30-50 тысяч строк кода уже тяжело подъёмна для человека. > Только тогда, понагибав > его в разные позы ты сможешь понять, что действительно важно, а что > внешнее, наносное, легкозаменяемое. Действительно. Вместо того, чтобы тратить ограниченное время на написание прикладного функционала, надо тратить время на обеспечение портируемости под 100500 комбинаций систем: systemd на Linux, sysvinit на Linux, Windows, upstart на юбунту, systemd на cygwin, sysvinit на cygwin и т.д.. Действительно, это поможет избавить ваш код от тонны ифдефов через каждые три строчки, выделит основной функционал и не внесёт дополнительную сложность, которую не придётся проверять.