Проблема checked exception в том, что не совсем понятно их назначение.
Если они нужны для того, чтобы декларировать какие вообще исключения могут выбрасываться методом — то их будут сотни в любом методе, пользоваться этим будет невозможно (даже с автоматическим выводом).
Если их использовать для того, чтобы декларировать, какие исключения может выбрасывать конкретный метод — тоже сомнительная полезность. Почему одни исключения мы декларируем, а другие игнорируем? Разделяем опять же исключения на "бизнес-логику" и "ошибки платформы" — а почему они разные, они же не всегда должны по-разному обрабатываться?
Как быть с интерфейсами? Checked Exceptions — это свойство интерфейса или реализации?
Много вопросов, и мало пользы. Они реально нужны только в том случае, если исключениями описывается бизнес-логика, но для этого не стоит использовать исключения.
Проблема в шарпе — это не исключения, а отсутствие хорошего способа выразить ошибочный, но ожидаемый, результат операции. В других языках для этого применяются алгебраические типы, в сишарпе для этого применяется либо null (плохо, т.к. легко игнорируется и не несет информации об ошибке), либо самописный класс (который работает плохо, т.к. нет способа принудить к проверке правильности), либо исключения, которые не для этого предназначены.
Сами исключения как механизм обработки ошибочных ситуаций, при которых невозможно штатное продолжение выполнения кода, работает, на мой взгляд, хорошо.
Исключения хороши тем, что а) их невозможно случайно проигнорировать и б) если их не нужно обрабатывать в каком-то месте — то их можно не обрабатывать, а обработать выше по стеку. Все способы с возвратом ошибки раздувают код, так как вынуждают обрабатывать ошибки сразу после вызова.
Небольшая поправка: буддизм не говорит, что сознание первично. Он говорит, что сознание придает форму "пустоте" — в повторяющихся взаимодействиях простых вещей сознание выделяет объекты, события и наделяет из свойствами.
Как по мне, многословность redux существенна только в маленьких проектах. В примере, где логики две строки — да, многословно, в реальном коде — терпимо.
Мне нравится редакс именно за разделение на экшены, редьюсеры и сайд-эффекты. Код значительно медленнее превращается в бардак.
МобХ опять сводит все это в одно место.
Самое неприятное место для меня был connect. Сейчас его заменили хуками — и это совсем другое дело, наконец-то можно пользоваться без боли и проблем с типизацией.
Если есть задача генерации валидаторов по типам — в некоторых случаях можно решить обратную задачу — написать валидаторы и вывести по ним типы. Тем более, что обычно в типах недостаточно информации для валидации (типа длин строк, ограничения на значения, enum и тп).
Еще один вариант, если есть возможность использовать JSON-схемы для валидации — использовать инструменты для генерации типов из схемы.
Пишу на обеих платформах.
Node JS с Typescript — неплохо для бека, за счет мощной системы типов Тайпскрипта. Реально не хватает ее в C#.
В остальном, особенно что касается бизнес-логики, сравнивать нечего — в ноде нету и близко чего-то подобного LINQ, менее удобный dependency injections и много чего другого.
А ничего, что рыночная цена как раз и формируется капиталистом — именно он может её повышать и понижать, увеличивая или сокращая число нанимаемых рабочих?
Как отдельный "капиталист" может понизить зарплату ниже определенного предела? И почему "рабочие" не уйдут к другому "капиталисту"? Как увольнение 100 рабочих повлияет на зарплату оставшихся 100?
Это все верно только в случае, если "капиталист" является монополистом, но при чем тут это?
Впрочем, ваш уровень познаний в этой области понятен. Можете не отвечать. А вот почитать на тему вполне можете.
Хм, ну эти два утверджения заставляют сомневаться в уровне именно ваших познаний. Вам лично зарплату назначили? То есть вы пришли на работу, прошли собеседование, и потом вам сообщили, сколько вы будете получать и что делать?
Или вы говорите о моих познаниях трудов Маркса?
Тогда было бы честно продавать творог микропорциями.
Если бы люди были честыми — тогда весь спор "коммунизм" vs "капитализм" был бы бессмысленным. Но факт состоит в том, что люди — "плохие": нечестные, ленивые, готовые нарушать закон, если за это не наказывать.
Поэтому всегда будут, образно говоря, бодяжить творог. Просто в какой-то момент его перестанут покупать (или нет). Важно, чтобы четко было понятно, что творог бодяженный. Вот это и есть суть рынка.
В этом и есть сильная сторона капитализма — в нем понятно, что делать с нечестностью людей, и он ее не отрицает.
Альтруизм — это, конечно, эволюционно выгодно для общества, но невыгодно для каждого отдельного индивида. Поэтому к альтруизму всегда (насколько я понимаю) принуждают. Законы, мораль, кодекс, традиция, общественное мнение.
Это прекрасный, и в чем-то философский вопрос. Неравенство — это основа общества с ограниченными ресурсами. Любое благополучное сообщество увеличивает свою численность, и рано или поздно сталкивается с ограничениями ресурсов. Каким образом должны в этом случае распределяться ресурсы?
Есть два, по сути варианта: распределяем более-менее равномерно, и распределяем кто сколько сумел себе взять. В первом случае имеем коммунизм: все должны иметь мало, но одинаково. Во втором — "дикий" капитализм: лучшие имеют все, худшие или менее удачливые — минимум, чтобы не помереть и послужить лучшим.
В случае с идеальными людьми, обладающими идеальной моралью, у нас был бы коммунизм на всей Земле. Но люди не идеальны, и поэтому даже в коммунизме есть люди, которые не хотят довольствоваться малым, и абъюзят систему. В "капитализме" — аналогично, только абъюз другой, когда наиболее удачливые накапливают такое количество ресурсов, что конкурировать с ними становится все сложнее, и, в конце-концов, невозможно.
Какой вариант лучше — берем хорошее от обоих: поддержку слабых от социализма, возможность заработать — от капитализма.
Почему нельзя просто "построить коммунизм" — потому что неравенство — это лучший мотиватор, возможность жить лучше и заработать больше — мотивирует в среднем намного лучше, чем сказки о благе общества и всеобщем счастье. Потому что люди, не видя перспектив, не будут стараться и вкладывать силы в развитие себя и общества. В результате будет нечто вроде племени аборигенов, которые, с одной стороны, могут жить на подножном корме, но с другой стороны, отсталость медицины и общая неустроенность не дают им разможаться бесконтрольно. В этом обществе не к чему стремиться, да и незачем.
Но сама суть цивилизации, на данный момент — это постоянное развитие и оптимизация. Возможно, когда-то технологии достигнут точки, при которой они будут поддерживать себя и людей без дополнительных усилий — и то будет конец цивилизации, скорее всего.
В реальности же всё ровно наоборот: капиталист старается платить минимум, постоянно сокращая персонал
В том что кто-то "старается" платить минимум, нет ничего плохого.
Важно то, что платит не столько, сколько он хочет, а рыночную цену.
А вот эти все вещи про "капиталиста, который старается разорить рабочих" оставьте для газеты "Правда".
Классический пример был описан в одной умной книжке на примере лондонских хлебопёков конца XIX века — из-за высокой конкуренции они, чтобы не потерять своих потребителей и продолжать снижать цену, дошли до того, что начали экономить на муке, добавляя в хлеб до 20% примесей, включая отруби и иногда просто обычный песок.
Этот пример иллюстрирует много чего из экономики (например, вред картельного сговора (если он был) и демпинга), но никак не вредность конкуренции.
Ровно то же самое происходит и сегодня, в XXI веке, когда в продуктовых магазинах в том же твороге иногда нет ни процента молочных продуктов — сплошь дешёвые заменители.
Во всем твороге, или только в дешевом твороге? Взгляните на это с другой стороны — это дает возможность есть творог (пусть самого творога там малая часть) даже самым бедным людям.
Из личного опыта, под алкоголем (но только слегка выпившим) легче исполнять выученные произведения — больше раскрепощаешься и расслабляешься. Чуть больше выпил — в ноты становится сложно попадать, еще чуть больше — уже и не слышишь, что не попадаешь.
Допускаю, что под другими веществами все по-другому, но алкоголь нарушает мелкую и сложную моторику, и это очень влияет. Плюс, истощает физически, поэтому не представляю, как можно бухать каждый день, например, на гастролях.
Проблема checked exception в том, что не совсем понятно их назначение.
Если они нужны для того, чтобы декларировать какие вообще исключения могут выбрасываться методом — то их будут сотни в любом методе, пользоваться этим будет невозможно (даже с автоматическим выводом).
Если их использовать для того, чтобы декларировать, какие исключения может выбрасывать конкретный метод — тоже сомнительная полезность. Почему одни исключения мы декларируем, а другие игнорируем? Разделяем опять же исключения на "бизнес-логику" и "ошибки платформы" — а почему они разные, они же не всегда должны по-разному обрабатываться?
Как быть с интерфейсами? Checked Exceptions — это свойство интерфейса или реализации?
Много вопросов, и мало пользы. Они реально нужны только в том случае, если исключениями описывается бизнес-логика, но для этого не стоит использовать исключения.
Проблема в шарпе — это не исключения, а отсутствие хорошего способа выразить ошибочный, но ожидаемый, результат операции. В других языках для этого применяются алгебраические типы, в сишарпе для этого применяется либо null (плохо, т.к. легко игнорируется и не несет информации об ошибке), либо самописный класс (который работает плохо, т.к. нет способа принудить к проверке правильности), либо исключения, которые не для этого предназначены.
Сами исключения как механизм обработки ошибочных ситуаций, при которых невозможно штатное продолжение выполнения кода, работает, на мой взгляд, хорошо.
Исключения хороши тем, что а) их невозможно случайно проигнорировать и б) если их не нужно обрабатывать в каком-то месте — то их можно не обрабатывать, а обработать выше по стеку. Все способы с возвратом ошибки раздувают код, так как вынуждают обрабатывать ошибки сразу после вызова.
Небольшая поправка: буддизм не говорит, что сознание первично. Он говорит, что сознание придает форму "пустоте" — в повторяющихся взаимодействиях простых вещей сознание выделяет объекты, события и наделяет из свойствами.
Как по мне, многословность redux существенна только в маленьких проектах. В примере, где логики две строки — да, многословно, в реальном коде — терпимо.
Мне нравится редакс именно за разделение на экшены, редьюсеры и сайд-эффекты. Код значительно медленнее превращается в бардак.
МобХ опять сводит все это в одно место.
Самое неприятное место для меня был connect. Сейчас его заменили хуками — и это совсем другое дело, наконец-то можно пользоваться без боли и проблем с типизацией.
Если есть задача генерации валидаторов по типам — в некоторых случаях можно решить обратную задачу — написать валидаторы и вывести по ним типы. Тем более, что обычно в типах недостаточно информации для валидации (типа длин строк, ограничения на значения, enum и тп).
Еще один вариант, если есть возможность использовать JSON-схемы для валидации — использовать инструменты для генерации типов из схемы.
Пишу на обеих платформах.
Node JS с Typescript — неплохо для бека, за счет мощной системы типов Тайпскрипта. Реально не хватает ее в C#.
В остальном, особенно что касается бизнес-логики, сравнивать нечего — в ноде нету и близко чего-то подобного LINQ, менее удобный dependency injections и много чего другого.
Так вам зарплату монополист назначил или нет?
Изначально речь шла о неравенстве, а "разобщенность и индивидуализм" это уже вы сами придумали.
Дружность и коллективизм не отменяет неравенство.
Нет.
Как отдельный "капиталист" может понизить зарплату ниже определенного предела? И почему "рабочие" не уйдут к другому "капиталисту"? Как увольнение 100 рабочих повлияет на зарплату оставшихся 100?
Это все верно только в случае, если "капиталист" является монополистом, но при чем тут это?
Хм, ну эти два утверджения заставляют сомневаться в уровне именно ваших познаний. Вам лично зарплату назначили? То есть вы пришли на работу, прошли собеседование, и потом вам сообщили, сколько вы будете получать и что делать?
Или вы говорите о моих познаниях трудов Маркса?
Если бы люди были честыми — тогда весь спор "коммунизм" vs "капитализм" был бы бессмысленным. Но факт состоит в том, что люди — "плохие": нечестные, ленивые, готовые нарушать закон, если за это не наказывать.
Поэтому всегда будут, образно говоря, бодяжить творог. Просто в какой-то момент его перестанут покупать (или нет). Важно, чтобы четко было понятно, что творог бодяженный. Вот это и есть суть рынка.
В этом и есть сильная сторона капитализма — в нем понятно, что делать с нечестностью людей, и он ее не отрицает.
Альтруизм — это, конечно, эволюционно выгодно для общества, но невыгодно для каждого отдельного индивида. Поэтому к альтруизму всегда (насколько я понимаю) принуждают. Законы, мораль, кодекс, традиция, общественное мнение.
Это прекрасный, и в чем-то философский вопрос. Неравенство — это основа общества с ограниченными ресурсами. Любое благополучное сообщество увеличивает свою численность, и рано или поздно сталкивается с ограничениями ресурсов. Каким образом должны в этом случае распределяться ресурсы?
Есть два, по сути варианта: распределяем более-менее равномерно, и распределяем кто сколько сумел себе взять. В первом случае имеем коммунизм: все должны иметь мало, но одинаково. Во втором — "дикий" капитализм: лучшие имеют все, худшие или менее удачливые — минимум, чтобы не помереть и послужить лучшим.
В случае с идеальными людьми, обладающими идеальной моралью, у нас был бы коммунизм на всей Земле. Но люди не идеальны, и поэтому даже в коммунизме есть люди, которые не хотят довольствоваться малым, и абъюзят систему. В "капитализме" — аналогично, только абъюз другой, когда наиболее удачливые накапливают такое количество ресурсов, что конкурировать с ними становится все сложнее, и, в конце-концов, невозможно.
Какой вариант лучше — берем хорошее от обоих: поддержку слабых от социализма, возможность заработать — от капитализма.
Почему нельзя просто "построить коммунизм" — потому что неравенство — это лучший мотиватор, возможность жить лучше и заработать больше — мотивирует в среднем намного лучше, чем сказки о благе общества и всеобщем счастье. Потому что люди, не видя перспектив, не будут стараться и вкладывать силы в развитие себя и общества. В результате будет нечто вроде племени аборигенов, которые, с одной стороны, могут жить на подножном корме, но с другой стороны, отсталость медицины и общая неустроенность не дают им разможаться бесконтрольно. В этом обществе не к чему стремиться, да и незачем.
Но сама суть цивилизации, на данный момент — это постоянное развитие и оптимизация. Возможно, когда-то технологии достигнут точки, при которой они будут поддерживать себя и людей без дополнительных усилий — и то будет конец цивилизации, скорее всего.
В том что кто-то "старается" платить минимум, нет ничего плохого.
Важно то, что платит не столько, сколько он хочет, а рыночную цену.
А вот эти все вещи про "капиталиста, который старается разорить рабочих" оставьте для газеты "Правда".
Этот пример иллюстрирует много чего из экономики (например, вред картельного сговора (если он был) и демпинга), но никак не вредность конкуренции.
Во всем твороге, или только в дешевом твороге? Взгляните на это с другой стороны — это дает возможность есть творог (пусть самого творога там малая часть) даже самым бедным людям.
Ваши нет, а вот соседские…
Эх, быстрее бы
У меня не получилось в Хроме записать формат, отличный от webm (Я находил ссылку на исходники, где, вроде бы, только вебм формат проходит тест https://cs.chromium.org/chromium/src/third_party/blink/web_tests/fast/mediarecorder/MediaRecorder-isTypeSupported.html?q=MediaRecorder-isTypeSupported&dr)
Это была простая часть. А сложная — это записать звук в Хроме, и воспроизвести на Сафари.
Из личного опыта, под алкоголем (но только слегка выпившим) легче исполнять выученные произведения — больше раскрепощаешься и расслабляешься. Чуть больше выпил — в ноты становится сложно попадать, еще чуть больше — уже и не слышишь, что не попадаешь.
Допускаю, что под другими веществами все по-другому, но алкоголь нарушает мелкую и сложную моторику, и это очень влияет. Плюс, истощает физически, поэтому не представляю, как можно бухать каждый день, например, на гастролях.
Думаю, имеется ввиду, что нет компилятора jsx