Как ни странно, представление о Котлине и почему на него может хотеться перейти у меня есть. Примерно такое: Котлин — это то же, что и Ява, только с человеческим лицом; более лаконичное и с бóльшим количеством сахара. Соответственно, позволяет делать всё то же, что и Ява, работает с такой же скоростью, просто удобнее. Ещё более грубо — как если бы перейти с C# 1 на C# 7, а может даже 9.
Причём, в отличие от NET, мир Явы от меня далёк. F# же работает в экосистеме NET, а для меня менее понятен. Не получается думать про про него как про переделанный с нуля и улучшенный вариант C# и что всё, что делается на C#, можно так же легко или даже легче делать на F#. Это ведь не так.
В одной из попыток что-то наконец сделать на F#, пробовал переписать на него с C# кусок кода, который занимался какими-то математическими/геометрическими вычислениями. Исходные данные были в виде типа float/single и в виде структур-векторов и матриц на его основе, результат нужен был во single, всё API использовало single и почему-то это оказалось засадой. Не помню подробностей, давно было, то ли родного типа single в F# тогда не было, то ли вещественных литералов одинарной точности, то ли результаты операций постоянно норовили соскочить из single в double; помню, что постоянно требовалось что-то во что-то кастить и было жутко неудобно и длиннее, чем в исходном C#.
Со скоростью работы непонятно: какие вещи на F# работают быстрее, чем на C#? насколько быстрее, в разы или слегка? какие работают медленнее? (уверен, что такие есть) насколько медленнее, в разы или слегка?
Делал какие-то примитивные тесты для родных для F# коллекций и по времени работы получалось как-то не очень. Может быть, неправильно делал. А чтобы сделать правильно, надо сначала хорошо разобраться в языке. А чтобы разобраться хорошо, сначала надо понять, а зачем? Вдруг конкретно для меня он окажется бесполезен. Т.е. надо послушать людей, которые F# применяют на практике и по опыту расскажут, что в F# хорошо, а что плохо; что делать удобно, что неудобно; что работает быстро, а что медленно. А люди вместо этого рассказывают про какое там классное комьюнити. Да пофиг, какое там комьюнити, вы про сам язык расскажите. Комьюнити будет потом.
Не поверишь, и читал и специально перечитывал. Все языки сделаны, чтобы абстрагироваться от сложностей, F# не исключительный. Про то что F# хорошо ложится на любые задачи, извините, не верю. При этом хорошо не значит, что лучше других. А если лучше, то лучше кого и чем лучше? Xamarin поддерживает F# ― отлично, а зачем?
Статья типично пустая. Единственная какая-то конкретика только у Романа Мельникова, в небольшом абзаце галопом через запятую. Вот вычеркнуть всё и пусть лучше он расскажет подробнее о своём опыте.
С плюсами F# уже стало понятно, что ничего непонятно и объяснить на пальцах никто не может. Представляется, что должно наступить светлое будущее, но непонятно, как оно будет выглядеть практически. Например, я знаю C# и что-то там могу на нём делать, но если вспомню С++, то смогу ещё писать драйверы или что-нибудь до жути производительное. Если выучу JavaScript/TypeScript, то смогу делать сайты какие-нибудь. Ну условно. А с F# непонятен результат.
Или вот сейчас у меня есть мысль разобраться с Xamarin.Forms. Просто так, для эрудиции. Оно мне прямо сейчас не надо, но зато есть примерное представление о том, что я получу в результате. Может быть даже неправильное представление, но оно есть. А с F# его нет, поэтому в процессе выбора, на что потратить свободное время, F# опять со свистом пролетит.
Можно тогда о минусах: для каких задач F# (или ФП вообще) плохо подходит или подходит, но решения работают в 10 раз медленнее, чем в процедурщине или ООП?
Ведь за месяц-два начальный энтузиазм пропадает, а за это время результаты еще не успевают проявиться.
У меня было наоборот, когда занялся испанским. Он мне вообще ни для чего не нужен был, просто попался в интернете курс испанского и мне было любопытно посмотреть, что там как в нём устроено по сравнению с русским и английским. Потом уже захотелось понимать, что люди на форумах пишут, в новостях, сериалов нашёл несколько любопытных...
Так вот первые недели и месяцы энтузиазм зашкаливал, потому что прогресс видно невооружённым взглядом. Скажем, месяц назад ты знал только «adiós» и «hasta la vista, baby», а сейчас можешь читать по слогам и даже кое-что понимаешь, а если не понимаешь, то догадываешься. Круто! Или слушаешь обучающий подкаст среднего или высокого уровня ― непонятный набор слов и фраз. Через пару месяцев слушаешь его же ― ух ты, а я понимают, о чём они говорят!
Но вот потом через год сидишь смотришь испанский сериал и уже непонятно, прогресс прямо сейчас ещё идёт или застопорился. Ещё через год смотришь следующий сезон и снова непонятно, что-то изменилось по сравнению с прошлым годом или нет.
Еще эпичнее выглядел фикс: вместо введения таймзоны во всем коде понатыкали что-то вроде: if (Canarias) hour = hour — 1;
Возможно, придётся перетыкивать обратно. Испания думает отказаться от переходов на летнее/зимнее время и заодно вернуть Канары в тот же пояс, где остальная страна. Фраза «una hora menos en Canarias» может кануть в Лету.
У HiWatch есть клиент для Android/iOS. Может показывать живое видео и архивы через облако, может напрямую без посредников. Есть большой тяжёлый десктопный клиент.
IE — самый предсказуемый браузер, его и поддерживают в первую очередь. Вряд ли кому-то хочется периодически обновлять прошивки у кучи установленных и давно работающих ip-камер и регистраторов только из-за того, что в очередном браузере что-то изменилось и все веб-интерфейсы поломались. Поломались и хрен с ними, главное что в IE работают.
Наверняка так, но для ретрансляции видео на какой-то другой видеосервер лучше, как у автора, брать rtsp-потоки с регистратора. Иначе каждой камере придётся по вайфаю отдавать двойной поток: один регистратору, второй такой же кому-то ещё.
поддержка только Internet Explorer и больше вот вообще ничего. Это просто лютый треш!
Это нормально. Не говорю что хорошо, но так у всех. IE — фактический стандарт. В нём всё всегда показывает. Другие браузеры если поддерживают, то по остаточному принципу. Какой смысл, если они клали болт на обратную совместимость, и то что работало вчера, сегодня в новой версии браузера работать перестанет.
Именно, а потом это всё не забыть отключить назад.
Ну разрешать не для всех же узлов, а для доверенных, которые ты сам руками заносишь в список доверенных.
Кстати, один раз понадобилось поставить HiWatch'евское ПО iVMS-4200 на компьютер охране, т.к. регистратор стоял в основном здании, а охрана обитала в своём домике при въезде на территорию. Чё-то оно показалось каким-то "тугим". Компьютер конечно не сильно мощный, но новый и достаточный, чтобы показывать 16 камер с запасом по скорости. Эта VMS только запускается чуть ли не минуту и вообще не очень отзывчивая. Веб-морда открывается в разы быстрее, если не на порядок.
У меня вообще впечатление, что редко кто из производителей даже нормального железа, способен написать к нему нормальное ПО для людей, а не для галочки. Стороннее ПО видеонаблюдения от контор, которые на этом деньги зарабатывают, обычно сильно удобнее родного ПО от производителей оборудования.
Сколько видел регистраторов, скачать фрагмент из архива через веб-интерфейс можно было у всех. У кого-то красиво и удобно, у кого-то нелогично и через жопу, но всё равно можно.
С HiWatch'ей скачивал. Конечно через IE. Большей проблемой было не скачать, а найти, куда ж оно, зараза, скачалось. Можно даже клиентской программкой на телефоне, но оно что-то долго шло.
Украдут вместе с видео тех, кто украл. Это же касается ip-камер с возможностью записи на sd-карточку — пусть себе пишет на случай обрыва связи, но когда есть связь, надо писать видео куда-нибудь в более надёжное место.
IE наше всё на стройплощадке, в домене или настроенном по безопасности компе охраны-даже IE не покажет вебморду рядовой китайской камеры(ну или собранной в таможенном союзе), с безопасностью там всё швах. Поэтому предпочитаю не пользоваться веб-мордой вообще.
Покажет, никуда не денется. Ip-адрес камеры (или всю сеть) поместить в IE в список доверенных узлов + для доверенных узлов разрешить автоматическую установку и запуск ActiveX без лишних тупых вопросов и проверки всяческих подписей издателей. Иногда ещё, если заработало, но как-то криво, то включить в IE для этого ip работу в режиме совместимости со старыми версиями IE. Ещё убедиться, что IE запускается 32-битный.
IE — единственный браузер, в котором работают веб-морды всех камер и всех регистраторов. В других браузерах чаще всего нихрена не поддерживается. Слава IE! Здоровья и долгих лет жизни!
Желаемый поток с камеры и количество кадров в секунду выставляется индивидуально в настройках самих камер. Если камера не смотрит в упор на шевелящееся дерево, а картинка более-менее статичная, то она нормальная при потоке с камеры в районе 1 мбита при 25 кадрах в секунду. Если живое видео не надо, можно уменьшить количество кадров — чуть повысится качество. Если не жалко, можно выставить 2 мбита. Ставить выше, имхо, уже нет смысла, разве что камера действительно смотрит в шевелящееся дерево или, может, если камера какая-нибудь 5-мегапиксельная.
По умолчанию у этих HiWatch'ей наверняка выставлен поток 4 мбита.
Есть кто-нибудь, кто использует одновременно C# и Питон? Что вы пишете на последнем, как разделяете языки по областям применения? Я периодически порываюсь разобраться в Питоне, но за отсутствием практической необходимости через месяц забываю почти всё, что успел узнать.
Думал, попробовать использовать для автоматизации. Недавно была простая задача: взять пару десятков zip-архивов одного и того же разных версий, отсортировать по версиям, поочерёдно распаковать и закомитить в mercurial-репозиторий с соответствующим комментарием, получив в репозитории историю изменений. Вспомнил про Питон. Написал на C#. Заняло два десятка строк кода и минут 15 до получения желаемого функционала. Снова забыл про Питон.
Пользователю мотивы разработчика неинтересны, вот прям вообще. Фактически для пользователя новый вариант просмотра рекламы ― это альтернатива старому варианту просмотра рекламы.
Попадалась одна программа, в которой рекламу можно было отключить просто так галочкой в настройках. Ставишь галочку или некоторое время рекламы нет. Вроде кажется, что это ещё более хорошая альтернатива просмотру рекламы, но потом осознаёшь, что что бы ты ни делал, реклама всё равно будет вылезать и просто забиваешь на эту галочку. Хрен с ним с банером, нехай крутится.
Не видно ли в статистике всплеска просмотра полноэкранной рекламы в первый месяц и падения в следующие два?
Как ни странно, представление о Котлине и почему на него может хотеться перейти у меня есть. Примерно такое: Котлин — это то же, что и Ява, только с человеческим лицом; более лаконичное и с бóльшим количеством сахара. Соответственно, позволяет делать всё то же, что и Ява, работает с такой же скоростью, просто удобнее. Ещё более грубо — как если бы перейти с C# 1 на C# 7, а может даже 9.
Причём, в отличие от NET, мир Явы от меня далёк. F# же работает в экосистеме NET, а для меня менее понятен. Не получается думать про про него как про переделанный с нуля и улучшенный вариант C# и что всё, что делается на C#, можно так же легко или даже легче делать на F#. Это ведь не так.
В одной из попыток что-то наконец сделать на F#, пробовал переписать на него с C# кусок кода, который занимался какими-то математическими/геометрическими вычислениями. Исходные данные были в виде типа float/single и в виде структур-векторов и матриц на его основе, результат нужен был во single, всё API использовало single и почему-то это оказалось засадой. Не помню подробностей, давно было, то ли родного типа single в F# тогда не было, то ли вещественных литералов одинарной точности, то ли результаты операций постоянно норовили соскочить из single в double; помню, что постоянно требовалось что-то во что-то кастить и было жутко неудобно и длиннее, чем в исходном C#.
Со скоростью работы непонятно: какие вещи на F# работают быстрее, чем на C#? насколько быстрее, в разы или слегка? какие работают медленнее? (уверен, что такие есть) насколько медленнее, в разы или слегка?
Делал какие-то примитивные тесты для родных для F# коллекций и по времени работы получалось как-то не очень. Может быть, неправильно делал. А чтобы сделать правильно, надо сначала хорошо разобраться в языке. А чтобы разобраться хорошо, сначала надо понять, а зачем? Вдруг конкретно для меня он окажется бесполезен. Т.е. надо послушать людей, которые F# применяют на практике и по опыту расскажут, что в F# хорошо, а что плохо; что делать удобно, что неудобно; что работает быстро, а что медленно. А люди вместо этого рассказывают про какое там классное комьюнити. Да пофиг, какое там комьюнити, вы про сам язык расскажите. Комьюнити будет потом.
Не поверишь, и читал и специально перечитывал. Все языки сделаны, чтобы абстрагироваться от сложностей, F# не исключительный. Про то что F# хорошо ложится на любые задачи, извините, не верю. При этом хорошо не значит, что лучше других. А если лучше, то лучше кого и чем лучше? Xamarin поддерживает F# ― отлично, а зачем?
Статья типично пустая. Единственная какая-то конкретика только у Романа Мельникова, в небольшом абзаце галопом через запятую. Вот вычеркнуть всё и пусть лучше он расскажет подробнее о своём опыте.
С плюсами F# уже стало понятно, что ничего непонятно и объяснить на пальцах никто не может. Представляется, что должно наступить светлое будущее, но непонятно, как оно будет выглядеть практически. Например, я знаю C# и что-то там могу на нём делать, но если вспомню С++, то смогу ещё писать драйверы или что-нибудь до жути производительное. Если выучу JavaScript/TypeScript, то смогу делать сайты какие-нибудь. Ну условно. А с F# непонятен результат.
Или вот сейчас у меня есть мысль разобраться с Xamarin.Forms. Просто так, для эрудиции. Оно мне прямо сейчас не надо, но зато есть примерное представление о том, что я получу в результате. Может быть даже неправильное представление, но оно есть. А с F# его нет, поэтому в процессе выбора, на что потратить свободное время, F# опять со свистом пролетит.
Можно тогда о минусах: для каких задач F# (или ФП вообще) плохо подходит или подходит, но решения работают в 10 раз медленнее, чем в процедурщине или ООП?
У меня было наоборот, когда занялся испанским. Он мне вообще ни для чего не нужен был, просто попался в интернете курс испанского и мне было любопытно посмотреть, что там как в нём устроено по сравнению с русским и английским. Потом уже захотелось понимать, что люди на форумах пишут, в новостях, сериалов нашёл несколько любопытных...
Так вот первые недели и месяцы энтузиазм зашкаливал, потому что прогресс видно невооружённым взглядом. Скажем, месяц назад ты знал только «adiós» и «hasta la vista, baby», а сейчас можешь читать по слогам и даже кое-что понимаешь, а если не понимаешь, то догадываешься. Круто! Или слушаешь обучающий подкаст среднего или высокого уровня ― непонятный набор слов и фраз. Через пару месяцев слушаешь его же ― ух ты, а я понимают, о чём они говорят!
Но вот потом через год сидишь смотришь испанский сериал и уже непонятно, прогресс прямо сейчас ещё идёт или застопорился. Ещё через год смотришь следующий сезон и снова непонятно, что-то изменилось по сравнению с прошлым годом или нет.
Возможно, придётся перетыкивать обратно. Испания думает отказаться от переходов на летнее/зимнее время и заодно вернуть Канары в тот же пояс, где остальная страна. Фраза «una hora menos en Canarias» может кануть в Лету.
У HiWatch есть клиент для Android/iOS. Может показывать живое видео и архивы через облако, может напрямую без посредников. Есть большой тяжёлый десктопный клиент.
IE — самый предсказуемый браузер, его и поддерживают в первую очередь. Вряд ли кому-то хочется периодически обновлять прошивки у кучи установленных и давно работающих ip-камер и регистраторов только из-за того, что в очередном браузере что-то изменилось и все веб-интерфейсы поломались. Поломались и хрен с ними, главное что в IE работают.
Наверняка так, но для ретрансляции видео на какой-то другой видеосервер лучше, как у автора, брать rtsp-потоки с регистратора. Иначе каждой камере придётся по вайфаю отдавать двойной поток: один регистратору, второй такой же кому-то ещё.
Это нормально. Не говорю что хорошо, но так у всех. IE — фактический стандарт. В нём всё всегда показывает. Другие браузеры если поддерживают, то по остаточному принципу. Какой смысл, если они клали болт на обратную совместимость, и то что работало вчера, сегодня в новой версии браузера работать перестанет.
Ну разрешать не для всех же узлов, а для доверенных, которые ты сам руками заносишь в список доверенных.
Кстати, один раз понадобилось поставить HiWatch'евское ПО iVMS-4200 на компьютер охране, т.к. регистратор стоял в основном здании, а охрана обитала в своём домике при въезде на территорию. Чё-то оно показалось каким-то "тугим". Компьютер конечно не сильно мощный, но новый и достаточный, чтобы показывать 16 камер с запасом по скорости. Эта VMS только запускается чуть ли не минуту и вообще не очень отзывчивая. Веб-морда открывается в разы быстрее, если не на порядок.
У меня вообще впечатление, что редко кто из производителей даже нормального железа, способен написать к нему нормальное ПО для людей, а не для галочки. Стороннее ПО видеонаблюдения от контор, которые на этом деньги зарабатывают, обычно сильно удобнее родного ПО от производителей оборудования.
Сколько видел регистраторов, скачать фрагмент из архива через веб-интерфейс можно было у всех. У кого-то красиво и удобно, у кого-то нелогично и через жопу, но всё равно можно.
С HiWatch'ей скачивал. Конечно через IE. Большей проблемой было не скачать, а найти, куда ж оно, зараза, скачалось. Можно даже клиентской программкой на телефоне, но оно что-то долго шло.
Украдут вместе с видео тех, кто украл. Это же касается ip-камер с возможностью записи на sd-карточку — пусть себе пишет на случай обрыва связи, но когда есть связь, надо писать видео куда-нибудь в более надёжное место.
Покажет, никуда не денется. Ip-адрес камеры (или всю сеть) поместить в IE в список доверенных узлов + для доверенных узлов разрешить автоматическую установку и запуск ActiveX без лишних тупых вопросов и проверки всяческих подписей издателей. Иногда ещё, если заработало, но как-то криво, то включить в IE для этого ip работу в режиме совместимости со старыми версиями IE. Ещё убедиться, что IE запускается 32-битный.
IE — единственный браузер, в котором работают веб-морды всех камер и всех регистраторов. В других браузерах чаще всего нихрена не поддерживается. Слава IE! Здоровья и долгих лет жизни!
Желаемый поток с камеры и количество кадров в секунду выставляется индивидуально в настройках самих камер. Если камера не смотрит в упор на шевелящееся дерево, а картинка более-менее статичная, то она нормальная при потоке с камеры в районе 1 мбита при 25 кадрах в секунду. Если живое видео не надо, можно уменьшить количество кадров — чуть повысится качество. Если не жалко, можно выставить 2 мбита. Ставить выше, имхо, уже нет смысла, разве что камера действительно смотрит в шевелящееся дерево или, может, если камера какая-нибудь 5-мегапиксельная.
По умолчанию у этих HiWatch'ей наверняка выставлен поток 4 мбита.
Есть кто-нибудь, кто использует одновременно C# и Питон? Что вы пишете на последнем, как разделяете языки по областям применения? Я периодически порываюсь разобраться в Питоне, но за отсутствием практической необходимости через месяц забываю почти всё, что успел узнать.
Думал, попробовать использовать для автоматизации. Недавно была простая задача: взять пару десятков zip-архивов одного и того же разных версий, отсортировать по версиям, поочерёдно распаковать и закомитить в mercurial-репозиторий с соответствующим комментарием, получив в репозитории историю изменений. Вспомнил про Питон. Написал на C#. Заняло два десятка строк кода и минут 15 до получения желаемого функционала. Снова забыл про Питон.
Смущает эта фраза. Откуда мы знаем, что в сотни раз, а не в два раза? Мы же всё равно не можем обнаружить.
Спасибо. Мне один этот разбор понравился больше, чем весь второй сезон сериала.
Для единообразия. Если я пишу ПО на языке X#, чтобы оно работало в браузере, то мне намного удобнее всё делать на X#, не перемешивая его с JavaScript.
По-моему, Hejlsberg активно C# сейчас не занимается. Видео в этом плане показательное.
Он сейчас по TypeScript. Шарпом занимается Mads Torgersen. Тут они оба: https://channel9.msdn.com/Events/Build/2018/C9L05
Пользователю мотивы разработчика неинтересны, вот прям вообще. Фактически для пользователя новый вариант просмотра рекламы ― это альтернатива старому варианту просмотра рекламы.
Попадалась одна программа, в которой рекламу можно было отключить просто так галочкой в настройках. Ставишь галочку или некоторое время рекламы нет. Вроде кажется, что это ещё более хорошая альтернатива просмотру рекламы, но потом осознаёшь, что что бы ты ни делал, реклама всё равно будет вылезать и просто забиваешь на эту галочку. Хрен с ним с банером, нехай крутится.
Не видно ли в статистике всплеска просмотра полноэкранной рекламы в первый месяц и падения в следующие два?