Pull to refresh
13
0

Пользователь

Send message

Там по-моему немножко не так делается, из-под потоков, которые нужно остановить, "выдергиваются" страницы памяти (размапливаются) и gc делает в них все что ему требуется, двигает объекты, правит адреса, и так далее, а потоки останавливаются сами по page fault exception, потом jvm мапит все обратно и потоки продолжают работать как ни в чем не бывало.

Они лежат у меня на Гитхабе (вместе с Netstate в src/contrib). Только репозиторий заархивирован, потому что разработка больше не ведется :)
Ну да, где-то середина 2000-х это была :)

Точно :) Было и приложение, которое по сети подключалось к нему и показывало карту сети, состояние объектов и alarm'ы, Netstate, его мой коллега разработал.

Лет этак 14 назад, когда я работал инженером в телекоме областного уровня, я написал свой мониторинг на Tcl :) Типа everything is serious, с многопоточным микроядром, модулями, шаблонами для одинакового оборудования, autodiscovery сущностей и связей между объектами, alarm'ами, сетевым API на основе текстовых команд с поддержкой мгновенных асинхронных уведомлений, и так далее. Где-то тысячи полторы железок это все мониторило (а если считать по item'ам — то десятки тысяч) на железе тех времен (на Solaris/SPARC) без особых проблем. Ностальгия :)

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

Ну вообще да, действительно вычисляет. Только скобочки нужны:

std::conditional_t<(fn(3) > 0), int, char> foo = 10;


Так показывает int, если ">" заменить на "<", показывает signed char. Но опять же, IDE скорее всего делает это гораздо реже, чем компилятор — например, в случае с constexpr auto IDE вряд ли будет утруждать себя лишними вычислениями. То есть скорее всего принцип «ты не платишь за то, что не используешь» все же работает и здесь.
Ну не знаю — не знаю. IDE именно с IntelliSense (типа Visual Studio) у меня сейчас под рукой нет, есть Qt Creator, он, конечно, выводит типы в случаях типа такого:

constexpr auto fn(int k)
{
    return k + 1;
}

constexpr auto var = fn(3);


то есть при наведении мышки на var показывает, что тип у него int, но нет никаких признаков, что он пытается именно вычислять значение var.
Там в комментариях к оригинальной статье уже про это написали:

I don’t see JS as a legacy technology, especially given how much it developed over the last few years. Maybe I’m misunderstanding that statement?


На что автор ответил:

Hi Filip, You make a fair point. A better description might be established technology. As you rightly point out, the JavaScript stack is constantly being worked on and evolving.


Типа то, что она появилась много лет назад, говорит по мысли автора не о ее «устарелости», а о ее «зрелости».
А где по-вашему все эти студенты размещают свои творения?

Я как раз таки сильно сомневаюсь, что "монстеризация и замедление" и "поддержка новых стандартов C++" так уж связаны. Вон новые версии Скайпа не поддерживают ни одного стандарта C++, а все равно еле ворочаются на средненьком ноутбуке пятилетней давности, потому что Электрон, вот это вот все :) Сейчас вообще тенденции в разработке ЛЮБОГО ПО направлены в сторону "монстеризации и замедления" (под лозунгом "ускорим разработку ценой скорости работы готового продукта", что, кстати, хорошо видно по некоторым комментариям к этой статье), а IDE просто следуют в общем тренде.

Никак. TIOBE считается на основе количества поисковых запросов, в которых содержится название языка, а Python — это сейчас популярный язык среди студентов. Логично, что больше всего поисковых запросов подаётся по языку студентов и начинающих.

Давайте отделять мух от котлет. Писать сколько угодно сложный код можно хоть в Notepad'е. Другое дело, что для повышения удобства этого процесса используют навороченные IDE, они действительно парсят ваш код для работы всяких IntelliSense, но они не инстанцируют шаблоны, не инлайнят код, не занимаются вычислениями всяких constexpr и не оптимизируют потом все это. Я хочу сказать, что с C99 кодом такая IDE будет работать вряд ли сильно быстрее, чем с C++20 кодом (имеется в виду сам процесс писанины, а не сборки).
Если в проекте «кто-то использовал» что-то, то, соответственно, уже нельзя сказать, что это что-то «не используется», а раз это что-то используется, то за это надо платить, в том числе временем компиляции тех модулей, где это используется. Другое дело, что нужно думать, что стоит тащить в проект, а что нет, должно быть какое-то элементарное review кода любителей тащить в проект «новые либы с новыми фичами».
Дело не в «раньше сиденья не было», а в разных уровнях абстракций. Raw pointer — это один уровень абстракции, smart pointer — другой. Нельзя сказать, что smart pointer «однозначно лучше», это зависит от задачи, которая перед тобой стоит.
C++ я тоже начал изучать довольно давно, еще с пре-C++98, и многое из того, что добавлялось после, «казалось просто крутыми плюшками, которые помогают проще писать код» — умные указатели, лямбды, range-based for, auto (в строго определенных случаях, впрочем, пихать его при любой возможности я не люблю — по моему мнению это ухудшает читабельность кода), а некоторыми вещами я пользуюсь довольно редко (всякой compile-time шаблонной магией, которой в статьях, подобных этой, пугают детей). Сейчас я бы изучал C++ примерно в таком же порядке, хронологическом, скажем так. Ну и понятное дело, что необходимость при написании любого кода думать о том, кто этот код потом будет читать и поддерживать, никто не отменял.

Идеология C++ заключается в том, что "ты не платишь за то, что не используешь". Никто не заставляет писать все в стиле C++ 20, выбирайте по месту те механизмы из наличия, которые в данном случае с вашей точки зрения будут удобнее и нагляднее. А безумный лапшеобразный код одинаково легко пишется на любом более-менее развитом языке, это просто вопрос квалификации пишущего. Если человек неграмотный, то никакой Rust тут не спасёт.

Насколько я помню, требование к serial зоны ровно одно — чтобы он увеличивался при каждом изменении ее содержимого. Да, существуют рекомендации по построению serial в виде YYYYMMDDNN, но это просто вопрос удобства в плане читабельности, и не обязательно для корректного функционирования DNS. Это скорее вопрос к сервису-проверялке, почему у него такие требования странные. Serial от reg.ru сам по себе вполне валиден.
Вопрос не в сайтах, а в DNS-зонах, точнее, в тех, кто их хостит. Если зона даже ооочень старого сайта находится на DNS-серверах какого-нибудь относительно популярного массового DNS-хостинга, который вовремя обновляет свои BINDы (или что у него там) и не балуется сверх меры с настройками файрвола, то этим сайтам абсолютно ничего не угрожает. Если же хозяин сайта хостит домен сам на домашней машине на BIND 8 родом из 90-х, то тогда проблемы само собой будут, но, я думаю, таких все же меньшинство.
Я смотрю, там у народа в комментариях Tcl прочно ассоциируется с Tk :) Ну, точнее, народ акцентирует внимание главным образом на Tk GUI и его недостатках (реальных или воображаемых). Про сам язык — а его концепция весьма изящна, лично я для быстрого написания небольших (да и больших, честно говоря, тоже) скриптов предпочитаю его Питону или Perl'у, не говоря уж о «традиционных» шеллах — мало кто пишет.

P.S. Честно говоря, именно на Tk я даже никогда ничего и не писал :)

Information

Rating
Does not participate
Registered
Activity