• Что нужно в приложениях для заметок?
    0
    Понимаю, что тот же markdown прекрасно преобразуется в html, а добавить много классных фич очень легко при наличии katex.js, highlight.js, mermaid и подобных, но пожалуйста, только не переходите на Electron. Приложения на электроне потребляют очень много ресурсов, работают неповоротливо и выглядят отвратительно из-за бледных шрифтов.
  • 3 причины бросить учить английский на уровне Intermediate
    +11
    Про индусов полностью согласен, а вот Американцев я наоборот понимаю гораздо лучше. Так что это все вопрос привычки. Для меня AmE акцент звучит «чисто», а BrE очень смазанно, как будто говорящий набил чем-то рот и пытается говорить.
  • CLion 2019.3 уже здесь! Повышенное быстродействие редактора и самые долгожданные новые возможности
    +4
    Ребята, вы молодцы, новые фичи классные, чувствуется ззначительное повышение производительности во многих местах. Одна просба: пожалуйста, исправьте уже тормоза при наборе текста в редакторе. В хоть сколько-нибудь серьезном по объему проекте достаточно зажать Enter или Backspace и начинается диафильм.
    Ссылка на групповой issue по теме: youtrack.jetbrains.com/issue/CPP-988
    Спасибо.
  • Как получить по индексу элемент из бинарного дерева за приемлемое время?
    +1
    Я точно не помню название этой структуры данных, но по сути вы переизобрели augmented binary tree, хранящее в каждом узле количество дочерних узлов (вес). Такая структура данных позволяет производить поиск/вставку/удаление узлов по индексу за O(log(N)), однако теряется возможность быстрого поиска/вставки/удаления по значению (сами данные).

    Алгоритм поиска узла в таком дереве простой:
    — Если искомый индекс меньше веса левого поддерева, переходим к левому дочернему узлу.
    — Если искомый индекс больше или равен весу левого поддерева + 1, вычитаем из нашего индекса вес левого поддерева + 1 и переходим к правому дочернему узлу.
    — Иначе мы нашли наш узел.

    Коррексия весов производится на этапе ребалансировки дерева, после операций вставки/удаления.
  • Пятничный опрос на мобильную тему
    0
    Спасибо. Совершенно неочевидно, на мой взгляд.
  • Пятничный опрос на мобильную тему
    –1
    Вот например Википедия. В мобильной версии я не осилил найти, как перейти к странице на другом языке. Поэтому приходится включать десктопную версию, делать переход, а потом отключать ее. Это к какой категории относится?
  • «Очень важное совещание» в Comedy. Разберём полёты?
    +2
    А вот от солюшена и дисижина нужно избавляться :-)

    И ещё кейсы с поинтами туда же.
  • Как выбрать язык программирования для создания Андроид — приложения
    +2
    Под Android выбора-то как такового нет. Java, Kotlin и куча костылей и подпорок для остальных компилируемых языков.
  • Германия собирается законодательно обязать Apple открыть доступ к модулю NFC для альтернативных платежных систем
    0
    Если не ошибаюсь, гугл разрешает использовать Google Pay только на сертифицированных устройствах под управлением Android. Об остальных платежных системах ничего сказать не могу.
  • Обсуждение: как стриминговые сервисы меняют музыкальную культуру и подход к написанию песен
    0

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

  • Обсуждение: как стриминговые сервисы меняют музыкальную культуру и подход к написанию песен
    +1
    Вот чего никогда не понимал, так это концепции альбомов. Бывает так, что в альбоме мне нравится всего одна песня, зачем мне тогда покупать в нагрузку то, что мне не надо?
  • Зачем избегать друзей, или как я растерял все свои плюсы
    +2
    Walter Bright завязал D на «отключаемый» сборщик мусора, мотивируя это уменьшением сложности и отсутствием сколько-либо ощутимой просадки производительности. Только заменить C++ может язык, играющий по тем же правилам. В большинстве случаев, люди используют C++ именно потому, что им необходим полный контроль над ресурсами. А языков с GC сейчас много и они имеют гораздо большую поддержку, чем D.
    Лично мне нравятся очень многие вещи в D, но он оставляет впечатление недостаточно проработанного языка.
  • Зачем избегать друзей, или как я растерял все свои плюсы
    +16
    Что-то мне порой начинает казаться, что на гипотетическую роль «убийцы» C++ может претендовать не тот язык, который предложит что-то радикально-новое в контексте системного программирования, а тот, который будет уметь примерно все тоже самое, но радикально уменьшит сложность за счет выкидывания всех исторически-сложившихся несуразностей и упрощения синтаксиса.
  • Когда Российская академия наук бессильна
    0
    В зависимости от контекста все эти заимствования могут принимать разные значения. И конечно часто бывает так, что абсолютного соответствия в русском языке не находится.
    Кейс — довольно часто это просто «случай» или «ситуация».
    Митап — встреча, собрание.
    Поинт — точка зрения, пункт.
  • Когда Российская академия наук бессильна
    +5
    Я могу понять, когда идёт заимствование слов, аналогов которых нет в русском языке. Но когда начинаются все эти кейсы, митапы, поинты и им подобные, это уже клиника.
  • Мое видение будущего D
    +3
    D себя позиционирует (или позиционировал) как улучшенный C++. При этом, C++ разработчики используют C++ потому, что он позволяет держать память под контролем. Позволяет «не платить за то, что не используешь». Да, GC в D отключаемый, но отключив его мы теряем возможность использовать классы (пока, динамический полиморфизм), а так же динамические и ассоциативные массивы. Конечно существуют библиотеки контейнеров, не использующих GC, но тут уже встает вопрос — зачем все это, если в C++ мы уже имеем тоже самое? При этом в C++ отсутствует проблема interop'а с C++ кодом по определению.
  • Книга «ВкусВилл: Как совершить революцию в ритейле, делая всё не так»
    0
    На старте у них молочка была лучше. Создается ощущение, что при текущих объемах они уже не могут найти достаточно поставщиков для обеспечения такого же качества, которое было в их «Избёнке» и теперь закупаются там же, где и остальные сетевые магазины.
  • Деревянные игрушки, часть вторая — 1986-1988
    0
    К сожалению нет, это какая-то другая игра.
  • Деревянные игрушки, часть вторая — 1986-1988
    0
    Спасибо за статью, я понастальгировал, т.к. почти все игрушки из перечисленных у меня были. Помню, была еще какая-то старая игра с видом сверху, где требовалось управлять солдатом. Действие начинается в некоем подобии тюремной камеры, выбравшись из которой, можно ходить по коридорам, собирать патроны и расстреливать вражеских солдат. У меня почему-то было ощущение, что это фашисты и действие происходит во время второй мировой. Никак не могу вспомнить название игры и почитать о ней больше. Помню только, что исполняемый файл назывался main.com или main.exe. Может кто-нибдуь сможет подсказать ее название по моему скомканному описанию?
  • C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux
    +1
    Разработка с использованием Qt сопровождается именно таким способом использования ресурсов. Я бы не сказал, что это оказывает сколь-либо заметное влияние на время сборки проекта, особенно на фоне тормозов MinGW (если сборка идет под Windows). Конечно мне не приходилось сталкиваться с проектом, содержащим тысячи файлов ресурсов. Вполне допускаю, что в этом случае будет все как вы говорите.
  • C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux
    0
    Пересобираться данный файл будет только при обновлении файлов-ресурсов — т.е довольно редко.
  • Язык программирования Ü. Введение, мотивация к созданию, цели
    0

    Учитывая ваш богатый опыт, было бы странным предположить, что вы не видели функций, принимающих несколько аргументов. Имена этих функций могут быть достаточно длинными. Аргументов может быть больше, чем 3 и вообще эти функции могут оказаться частью API сторонней библиотеки. Да, вы правы, часто можно записать все в несколько отдельных строк. Но с моим неидеальным и многословным C++, не все удается вместить в 80-90 символов и перенос на следующую строку бывает неплохим компромиссом.

  • Язык программирования Ü. Введение, мотивация к созданию, цели
    +1

    Функциональное программирование — штука интересная, но на практике, императивное программирование до сих пор доминирует.
    Я сам противник писать несколько инструкций в одной строке. Лично меня больше заботит возможность переноса длинных строк.

  • Язык программирования Ü. Введение, мотивация к созданию, цели
    +3
    Это разделители инструкций (statements). Если обходиться только концами строк, придется либо вводить ограничение «одна строка — одна инструкция», либо придумывать какой-то маркер переноса длинных инструкций на новую строку. В C перенос можно сделать где угодно, а в JavaScript и Python (языки без обязательных разделителей инструкций) уже другие правила.
  • «Прячь www»: почему разработчики мейнстрим-браузера снова отказались от отображения поддомена
    +20
    Гугл, как и все крупные компании, уже давно заболел «мы лучше знаем, что вам нужно». Именно поэтому крупные компании в принципе не способны сделать отличный продукт — им наплевать на мнение пользователей. Они будут лицемерить, объяснять все заботой или защитой (ничего не напоминает?), но по факту они просто диктуют нужные им правила, удобные для бизнеса.
  • Приятное с полезным или разработка под ASIO на C++
    0
    На моей ASUS Xonar Essence STX II можно получить задержку около 10 мс с использованием WASAPI (на ASIO в принципе так же, хотя у моей карты кривой драйвер). ASIO это все же про еще меньшие задержки. Говорят, на нормальных аудиоинтерфейсах доистижима задержка в 2-5 мс.
  • Приятное с полезным или разработка под ASIO на C++
    +4
    Читая заголовок подумал, что будет про разработку «под ASIO», оказалось, статья про работу со сторонней библиотекой, умеющей работать с ASIO. Так бы и писали, «использование библиотеки Bassasio».
    В качестве примеров работы с ASIO можно посмотреть исходники проектов rtaudio и portaudio.
  • Почему const не ускоряет код на С/C++?
    0
    Я просто оставлю это здесь: Why Const Sucks
  • Что мне не нравится в Windows 10
    0
    По поводу меню Пуск, советую попробовать альтернативный подход — keypirinha. Это такой аналог линуксовых launcher'ов из GNOME и KDE, который всплывает по комбинации клавиш и умеет кучу всего, от поиска/запуска установленных программ и диалоговых окон с настройками, до специальных команд, выполняющих самые разные действия (калькулятор, конвертация систем счисления, валют и т.п.). Все это дело написано на Python и расширяемо. Иными словами заменяет Пуск сильно больше, чем полностью.
  • История с продолжением: собственный компилятор Паскаля для Windows с чистого листа
    0
    Walter Bright, создатель первого полноценного компилятора C++ и автор языка D писал, что
    There are a few things I (perhaps surprisingly) suggest should not be considerations… Easy parsing. It isn’t hard to write parsers with arbitrary lookahead. The looks of the language shouldn’t be compromised to save a few lines of code in the parser. Remember, you’ll spend a lot of time staring at the code. That comes first.

    …Somewhat more controversial, I wouldn’t bother wasting time with lexer or parser generators… They’re a waste of time. Writing a lexer and parser is a tiny percentage of the job of writing a compiler.


    Мой очень скромный опыт тоже подтверждает эту мысль. Написание LL-парсера вручную не является особой проблемой. Гораздо больше сил уходит на все остальное.
  • Функциональное программирование: дурацкая игрушка, которая убивает производительность труда. Часть 2
    +1
    Это ребёнок и он видимо играет.
  • Для мощных электросамокатов хотят скорректировать ПДД, но единого мнения нет
    +1
    Если при этом убрать яжематерей с колясками с велосипедных дорожек, то я только за.
  • Владение и заимствование в D
    0
    У меня двоякое отношение к языку D. С одной стороны он имеет множество очень интересных возможностей и писать на нем весьма приятно и продуктивно. Но с другой стороны, создается впечатление, что язык в принципе довольно плохо проработан. С точки зрения C++ разработчика, в D есть несколько нелепостей, от которых сильно «бомбит». Например квалификатор const. В D отсутствует аналог mutable из C++ и при этом константность транзитивна. Т.е. если указатель константный, значит и данные, на которые он ссылается, тоже изменять нельзя. Из-за этого в константном методе невозможно реализовать ленивую инициализацию, инкремент счетчика ссылок или даже захватить мьютекс. Общепринятая практика в D — по возможности не использовать const вообще. Еще пример — в D нельзя передать rvalue в функцию, которая принимает ссылку на const данные. Из-за этого приходится создавать временные объекты или плодить перегрузки функций в геометрической прогрессии. Так же в D есть квалификаторы типа shared, scope, которые имеют свои проблемы. Ну и самое «вкусное» — это конечно сборщик мусора. Я нисколько не против его наличия, но в случае необходимости его отключения, придется расстаться и с половиной «стандартной» библиотеки phobos. Кроме того, отвалятся встроенные динамические и ассоциативные массивы, а так же классы. Т.е. по сути, существенная часть возможностей превращается в тыкву.
  • Пингвин в окне: о потенциале и перспективах WSL2
    +1
    Вы меня неправильно поняли. Нет никакой проблемы найти расположение файлов WSL. Проблема в том, что при их модификации/копировании с помощью Windows программ, портятся их метаданные. Т.е. файлы как бы есть, но трогать их можно только из WSL. Поэтому тот же CLion, при использовании WSL тулчейна, работает через SSH подключение.
  • Пингвин в окне: о потенциале и перспективах WSL2
    +4
    У меня к WSL две основные претензии:

    • Невозможность производить операции с файлами в WSL файловой системе средствами Windows программ.
    • Каждый WSL терминал имеет свой собственный init процесс, из-за чего приходится городить огороды, чтобы получить постоянно работающий SSHD. Гораздо разумнее было бы пускать WSL-init фоном, как виндовый сервис.

    Использовать WSL для разработки под Linux неудобно, проще работать в Linux.
    Использовать WSL для разработки под Windows (линуксовые утилиты + кросскомпиляция) так же неудобно, уж лучше MSYS2/MinGW. Отсюда вопрос — зачем оно? Чтобы без PuTTY иметь возможность подключаться к Linux машинам, сидя в Windows окружении?
  • Haxe и PHP: статическая типизация, стрелочные функции, метапрограммирование и многое другое
    +1
    Ben Morris долго пользовался Haxe для геймдева и в итоге создал свой язык — kit.
  • Президент США отменяет санкции против Huawei
    +1
    Ну значит блеф не удался и пришлось включать заднюю. США же не дураки развязывать ядерный конфликт, пусть даже со страной, которую они многократно превосходят по количеству и качеству вооружений.
  • Президент США отменяет санкции против Huawei
    +30
    Как по мне, так Трамп достаточно предсказуем. Его метод — довести ситуацию до крайности и заставить оппонента пойти на уступки. Он не рискнет (или ему не позволят) принимать такое решение, которое навредит своим же интересам. Все что он делает — либо блеф, либо не несет особо негативных последствий для самих США.
  • Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения
    0
    Существует много реализаций делегатов для C++, я бы выделил The Impossibly Fast C++ Delegates и его усовершенствованный вариант. Данная реализация обладает не совсем приятным синтаксисом, но зато имеет минимальные накладные расходы.
  • Как Telegram сливает вас Ростелекому
    0
    Ох, прошу прощения за двусмысленность. Под «попыткой вброса» я имел в виду саму статью, а не ваш комментарий.