LINUX.ORG.RU

Избранные сообщения denton

В августе в Санкт-Петербург приезжает отец Free Software, Ричард Столлман

Новости — Конференции и встречи
Группа Конференции и встречи

В Россию приезжает отец Free Software, Ричард Столлман. Ищут того, кто готов на пару дней его приютить.

Ричард приезжает в Санкт-Петербург 24-25 августа 2019 года, на фестиваль TechTrain с докладом «Free software and your freedom».

Ричард в качестве одного из пунктов участия указал просьбу:

Пожалуйста, попробуйте вместо гостиницы подыскать какое-нибудь другое место. Гостиницы — крайнее средство. […] Если кто-то может предложить свободный диван на одну ночь, я бы очень хотел остаться именно у него, а не в отеле. Если же нужно остаться больше, чем на одну ночь, было бы здорово иметь возможность закрыть дверь для личного пространства.

>>> Подробности

 

abondarev
()

Чёрный экран после гибернации после закрытия крышки ноутбука

Форум — General

debian stretch xfce. Команда systemctl hibernate работает нормально. После открытия крышки нормальный логин.

Проблема проявляется после закрытия крышки. Гибернация происходит успешно, но при открытии чёрный экран. Как пофиксить?

 , , , ,

Lexis
()

Будни NetBSD-раба

Галерея — Скриншоты

Обычный будничный вечер. На скриншоте процесс допиливания напильником одного из пакетов в pkgsrc/wip.

За скриншотом, очевидно, пыхтит NetBSD-8.0. Нравится эта ОС. Правда из-за нехватки рук имеет небольшую кучку всяких недоработок. Например, устаревшее fuse API, из-за которого теперь не работает fuse-ntfs (читать NTFS можно, но не писать). В видосиках присутствуют постоянные дропы. Не знаю с чем это связано. Возможно с устаревшей MesaLib (в NetBSD собирается лишь 7-ая версия).

Ещё немного расстраивает, что само pkgsrc-сообщество теперь не очень сильно обращает внимание на эту систему. Хотя pkgsrc произошёл изнутрей и является ключевой частью NetBSD. Одним из самых вопиющих примеров на моей памяти было то, что у пакета firefox52 по-умолчанию была включена опция alsa, а не oss (уже исправлено). То есть, чтобы получить звук в Файерфоксе на Нетке, нужно было пересобирать его пакет с нужными опциями.

Но, тем не менее, притягивает она чем-то меня. Прямо ХОЧЕТСЯ ВЗЯТЬ И ЗАЩИТИТЬ ДОРАБОТАТЬ, так сказать.

Рабочее окружение

Тут всё довольно просто. У меня работает связка herbstluftwm+sxhkd. herbstluftwm с отключёнными хоткеями отвечает за управлением окнами. Обработка хоткеев возложена на sxhkd.

Почему sxhkd? Потому что у sxhkd есть такая уберудобная вещица, как аккорды (chords), т.е. к нему возможно прикрутить emacs-like управление. А единственный оконный менеджер, у которого есть аккорды - StumpWM (идейный наследник emacs'а в мире WM). Благодаря тому, что аккорды sxhkd не завязаны на всякие контролы и прочие не очень приятные клавиши, то они выглядят в миллиард раз более удобным вариантом, чем классические хоткеи. Более того, они не только освобождают руки от сложных клавиатурных комбинаций, но и увеличивают возможное их количество в разы. Плюс ещё они позволяют делать логичные и легкозапоминаемые комбинации (типа Meta+e; a; b, где Meta+e - execute, a - application, b - browser).

Следовательно, благодаря большему возможному количеству комбинаций, управление можно разделить на несколько слоёв: один слой управляет запуском приложений (например Meta+e; a; b - вызов браузера), а другой окнами с помощью vi-like комбинаций (например Meta+d; l - переместить фокус влево, или Meta+d; g; w - перейти на воркспейс под названием «web»). На этом можно даже не останавливаться, но моя фантазия смогла выдавить лишь такое.

Сам herbstluftwm почти (если не) полностью настраивается из шелла, что делает его связку со sxhkd очень гибкой.

И благодаря такой связке, vi-like приложениям и соответствующему менеджменту окон, я при работе с кодом не прикасаюсь к мыши от слова совсем, что для меня очень удобно.

Хочется написать ещё свой графический vi-like тулкит, чтобы на него перевести или переписать нужные мне приложения. Но это мечты.

Панелек нет. При необходимости, вызываю dzen для отображения нужной информации. Как в правом верхнем углу на скриншоте.

Из используемых приложений можно выделить:

  • ranger

    Очень удобный файловый менеджер. На седьмой Нетке добился его полной работоспособности в том числе и превьюшек картинок. На восьмой сломался. Какая-то проблема с curses. И пока я чесал репу над ней, набрёл на такое перспективное чудо.

    Без ranger'а живётся, кстати, очень и очень плохо.

  • vim - очевидно
  • mpd + ncmpc

    Раньше пользовался, но mpd как-то сильно разжирел и начал требовать шестой gcc, которого в Нетке из коробки нет. Есть в pkgsrc, конечно. Но что-то не в настроении ради одного mpd ставить ещё один компилятор. Сейчас использую mpv для музыки. Выглядит примерно так.

    Больновато, конечно, после mpd и ncmpc, но как есть. Склоняюсь сейчас ко cmus'у. Но нужно посмотреть ещё какие-нибудь плееры с vi-like управлением и возможностью демонизации.

  • Собственно, mpv

    Не только для аудио, но и для видосиков и загнивающего Ютуба.

  • zathura - книжки.
  • Firefox 52 ESR + Vimperator

    Понимаю, что Фурфокс мёртв и нужно искать что-то ещё. Но что-то пока не находится. В самых ближайших кандидатах стоит luakit, но меня очень сильно напрягает постоянное чтение диска при любом скролле. Как я понял, это проблема всех webkit-gtk based браузеров.

Впринципе, всё основное рабочее окружение.

Если хочется понаркоманить, то можно сделать что-то типа такого. Даже в таком случае вполне комфортно работать. Но всё же намного удобнее расфасовать всё по воркспейсам, коих у меня около 13-ти и больше.

>>> Просмотр (1920x1080, 184 Kb)

 emacs-like, , , ,

Deleted
()

Случилась беда с KRoN73

Новости — Linux.org.ru
Группа Linux.org.ru

KRoN73 RIP

Всё написанное ниже уже неактуально :(

Друзья. Под новогодние праздники (с 29 на 30) случилась ужасная беда со старейшим участником форума - KRoN73.

( Подробности... )

Я никогда не делал подобные обращения, поэтому не знаю, что писать и немного (на самом деле много) растерян.

( Как помочь... )

>>> Оригинальный тред

 ,

shell-script
()

GNU Dico 2.7

Новости — GNU's Not Unix
Группа GNU's Not Unix

GNU Dico — это гибкая модульная реализация протокола сервера словарей DICT (RFC 2229). В отличие от других существующих серверов, он не завязан на конкретном формате базы данных, а подключается к базам через подгружаемые модули. Среди прочего, пакет включает модули для доступа к базам dict.org и прозрачного доступа к Wikipedia/Wiktionary в качестве словарей. Модули можно писать на языках C, Guile и Python. В наличии консольный и web-интерфейс.

Важные изменения в этой версии:

  1. Поддержка виртуальных баз данных
  2. Улучшен модуль dictorg
  3. Поддержка сборки с WordNet на основанных на Debian системах
  4. Символы экранирования m4 по умолчанию заменены на [ ]
  5. Dicoweb: мягкая обработка неподдерживаемых типов содержимого

>>> Скачать

>>> Источник

 dico, , ,

bodqhrohro_promo
()

Выпуск tl 1.0.5

Новости — Open Source
Группа Open Source

tl — кроссплатформенное веб-приложение с открытым кодом (GitHub) для переводчиков художественной литературы. Приложение разбивает загружаемые тексты на фрагменты по символу новой строки и располагает их в две колонки (оригинал и перевод).

Основные изменения:

  • Новый инструмент «Aligner» для выравнивания несовмещённых текстов оригинала и перевода пофрагментно;
  • Из режима чтения теперь можно прыгать к конкретным фрагментам в интерфейс перевода;
  • Последняя посещённая страница каждого перевода теперь запоминается;
  • Запоминается текущая страница при переходе в режим чтения или к заметкам и обратно;
  • Кнопка [...] теперь нажимается и позволяет прыгнуть на конкретную страницу;
  • Страница администрирования (на которой была только кнопка «Backup») объединена с главной;
  • Типографика теперь исправляется только в том случае, если во фрагменте перевода есть кириллица;
  • Столбец «Last activity» на главной автоматически обновляется с течением времени;
  • И другое.

>>> Подробности

 ,

opennota
()

Лежачее рабочее место неадеквата

Галерея — Рабочие места

Крепление монитора

Вид изнутри

Планируемое крепление для клавиатуры (старое крепление монитора)

Крепление к кронштейну (белая доска на основном фото)

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

P.S: фото сделаны на старый мобильник, так что ругаться на какчество бесполезно.

>>> Просмотр (1600x1200, 223 Kb)

StReLoK
()

Pinebook — Linux-ноутбук от Pine64

Новости — Hardware and Drivers
Группа Hardware and Drivers

Компания Pine64, производящая одноплатные компьютеры, заявила, что в конце февраля начнёт выпуск ARM-ноутбуков, совместимых c Debian Jessie, Ubuntu 16.04, Android 5.1.1 и Remix OS 2.0. Будут доступны две модели, отличающиеся размером экрана и ценой. Модель с диагональю экрана 11.6 ″ будет стоить 89 $, а модель с 14 ″ — 99 $.

( читать дальше... )

Cтать одним из первых покупателей можно, заполнив форму на официальном сайте.

Wiki компании-производителя

>>> Источник

 , ,

federk
()

Найти все совпадения элементов из 2-х списков (или 2-х строк)

Форум — Development

Всех с Новым Годом! :)

Необходимо создать список из максимально длинных общих фрагментов 2 строк. Например, есть 2 строки:

1: 'Дорогой жидкокристаллический монитор. Он может быть изготовлен'

2: 'Дорогой жидкокристаллический монитор, который может быть изготовлен'

Результат должен быть такой:

['Дорогой жидкокристаллический монитор','может быть изготовлен']

Желательно, чтобы фрагменты делились по словам.

Нашел на wiki такой код:

def longest_common_substring(s1, s2):
    m = [[0] * (1 + len(s2)) for i in range(1 + len(s1))]
    longest, x_longest = 0, 0
    for x in range(1, 1 + len(s1)):
        for y in range(1, 1 + len(s2)):
            if s1[x - 1] == s2[y - 1]:
                m[x][y] = m[x - 1][y - 1] + 1
                if m[x][y] > longest:
                    longest = m[x][y]
                    x_longest = x
            else:
                m[x][y] = 0
    return s1[x_longest - longest: x_longest]

Но он возвращает лишь одну самую длинную подстроку. Можно ли как-нибудь подстроить этот код под мою задачу, а то я что-то не соображаю? :)

 

Deleted
()

Парсеры для словарей

Форум — Development

Добрый день!

Посоветуйте, пожалуйста, программы и/или руководства, с помощью которых можно парсить и/или конвертировать словари в форматах GoldenDict / Stardict / Multitran / Lingvo и пр. (а также парсеры для онлайн-словарей).

Особенно интересуют парсеры для Python. Также очень хочется найти multitran-tool, но Google Code, на котором он хостился, умер, и зеркало найти не могу.

 , , , ,

Deleted
()

Timewarrior 1.0.0

Новости — Open Source
Группа Open Source

Разработчики и сообщество Taskwarrior рады представить долгожданный первый выпуск Timewarrior 1.0.0.

Timewarrior — свободное и открытое ПО для отслеживания времени, потраченного на работу, хобби и другие занятия. Приложение запускается и работает в командной строке.

В простейшем случае отслеживание времени происходит так:

$ timew start
...
$ timew stop

В первом выпуске:

  • интеграция с Taskwarrior;
  • подробное руководство пользователя;
  • полная онлайн-документация;
  • визуальное отображение дней/недель/месяцев и других диапазонов времени;
  • цветосхемы;
  • тэгирование временных блоков;
  • автоматическое заполнение доступного времени;
  • корректирующие команды;
  • информация про праздники с holidata.net;
  • экспорт в JSON;
  • API для отчетов.

Скриншот и подробности

>>> Официальный сайт

 , ,

slon
()

Одмино-мониторко

Галерея — Рабочие места

Почтенно приветствую.

Вспомнил о вещи, которой хотел поделиться с лорчанами.

Имели место быть проблемы с выездами на частные сервера, да и в статных ДЦ начали забивать на доступность мониторов\терминалов, для локальной работы с серверами.

Захотел купить себе маленький монитор (а возможно монитор + клава), для удобного имения оного при себе. Но годных решений не нашел. Пришлось мастерить самостоятельно.

Необходимо было заиметь: видеоконтроллер (hdmi+dvi+vga), матрицу, ненависть, оргстекло, любовь, клей, огонь.

Вышло: В «работе», брендинг.

Кинул в рюкзак\наплечную сумку, питалово (взял блок с цискаря) и с спокойной душей в бой.

Так вот и админим эти ваши линуксы.

>>> Просмотр (2000x1500, 1129 Kb)

fraxinum
()

Яр - поругайте строки

Форум — Development

 , , ,

den73
()

Neural Doodle превращает рисунки из Paint в художественные шедевры с помощью нейросетей

Новости — Open Source
Группа Open Source

Австрийский программист Alex J. Champandard создал программу, превращающую рисунки, нарисованные в графическом редакторе Paint, в художественные шедевры с помощью нейросетей. Анализируя алгоритмы рисования многих известных художников, программа обрабатывает рисунок, нарисованный пользователем, и стилизует его. На выходе получаются красивые картины.

>>> Подробности

 , ,

karton1
()

Увидел свет Link Grammar Parser 5.3.1

Новости — Open Source
Группа Open Source

Двадцать второго ноября две тысячи пятнадцатого года увидел свет Link Grammar Parser 5.3.1.

Link Grammar Parser — это синтаксический анализатор английского, русского, арабского и персидского (и других языков). Создан на основе Link Grammar, оригинальной теории синтаксиса. Получив предложение, система присваивает ему синтаксическую структуру, которая состоит из набора меченых связей, соединяющих пары слов. Расширение RelEx предоставляет вывод разбора на основе зависимостей. Написан на Си. Имеются привязки к Java, Python, Common Lisp, Ocaml, Perl и AutoIt.

Link Grammar Parser применяется для проверки грамматики в AbiWord. Планируется его использование в Calligra Words.

( читать дальше... )

>>> Подробности

 , ,

Sakka
()

Надо ли вернуть диск по гарантии

Форум — Linux-hardware

Имеется внешний диск Seagate Barracuda на 1,5 Тб. Используется чуть более года. Вот результат вывода smartctl. То же вкратце:

sudo smartctl -H -d sat /dev/sdc1
smartctl 5.40 2010-03-16 r3077 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022   033   028   045    Old_age   Always   FAILING_NOW 67 (127 246 67 24)

По всей видимости, пока что проблема - перегрев. Однако анонимус своим сообщением посеял во мне зерно сомнения. Я сделал проверку диска и исправил ошибки. После года использования, обратил внимание на одну особенность: диск крайне медленный. При просмотре видео или даже прослушивании lossless-музыки, воспроизведение может остановиться на несколько секунд, а сам диск начинает стучать головками. Итак, все ли у него хорошо, и стоит ли поменять, пока не поздно?

P.S. После проверки тормоза стали намного меньше, но все же немного есть. Может быть, фрагментация из-за большого объема? ФС - ext3 на 1,5 Тб одним разделом.

Deleted
()

Книга для начинающих программистов, ориентированная на Linux

Новости — Документация
Группа Документация

На сайте А.В.Столярова продолжается сбор средств на написание и последующее издание книги «Программирование: введение в профессию».

Автор проекта уже известен публике по своим книгам Программирование на языке ассемблера NASM для ОС Unix, Сверстай диплом красиво: LaTeX за три дня и другими. Электронные версии всех своих книг автор сразу после выхода бумажного издания выкладывает на сайт, считая это принципиальной позицией.

Книга, задуманная Столяровым в этот раз, должна стать руководством для начинающих, ориентированным на *nix-системы (с использованием командной строки в качестве основополагающего принципа при обучении) и покрывающим при этом предмет от нулевого уровня (школьной информатики) до ООП и парадигм программирования; структура книги приблизительно соответствует последовательности программистских курсов на факультете ВМК МГУ, но отличается от программы ВМК наличием общей платформы (*nix), полным исключением заведомо мёртвых инструментов вроде всё ещё применяющихся на ВМК Турбо-Паскаля и ассемблера MASM для MSDOS, а также существенно иначе расставленными акцентами. Примерный план книги представлен здесь, а с оглавлением неоконченной рукописи, уже включающей три части из предполагающихся семи или восьми — здесь.

Книга отличается от предыдущих своим масштабом. Как было сказано в анонсе проекта,

До сей поры я всегда обходился своими силами; задумав книгу, я просто садился и писал её... Всё было хорошо, пока мои задумки не отличались масштабностью; мне всегда удавалось выкроить пару более-менее свободных недель, чтобы написать текст, и десять-пятнадцать тысяч рублей, чтобы издать написанную книжку. Но в этот раз реальность несколько отличается. Задуманная мною книга по своему объёму по меньшей мере в семь-восемь раз превосходит самые большие тексты, которые мне приходилось писать до сих пор

Даже без дополнительных глав ожидаемый объём книги составляет порядка 1000 страниц; автор планирует уложиться в 500 рабочих часов, для выделения которых необходимо на некоторое время отказаться от подработок. Кроме того, издание книги в бумаге потребует серьёзных расходов, а сотрудничество с издателями на их условиях означало бы невозможность распространения (по крайней мере, открытого) её электронной версии. Автор предпочёл объявить о сборе средств.

К настоящему моменту завершены три из четырёх частей, которые предполагалось написать с нуля; автор продолжает работу над последней из этих частей, посвящённой начальным навыкам программирования (с использованием Free Pascal в качестве учебного пособия); кроме того, в книгу должен после переработки войти материал из пособий, изданных ранее, образовав оставшиеся четыре части. Поддержать проект можно здесь; для доноров предусмотрены разнообразные плюшки.

>>> Подробности

 , ,

Croco
()

Игровой движок C4 убирает поддержку Линукс

Форум — Games

C4 Engine — проприетарный игровой движок для создания 3Д-игр и интерактивных симуляций, разрабатываемый Terathon Software, поддерживает следующие платформы: PlayStation 4, Windows (XP и позже), Mac OS X (10.9 и позже). Поддержка Линукс была удалена из последнего текущего релиза v4.2.

По признанию разработчиков, к этому шагу их вынудила не только небольшая выгода от поддержки этой платформы, а скорее всего отвратительное состояние десктопа на Линукс для конечных пользователей. Таким образом, Terathon Software больше не будет работать над версией движка для Линукс, который по их словам, намного хуже по архитектуре, чем Windows и OSX: Линукс, по их словам, похож на Франкенштейна, собранный из кучи еле работающих частей с ужасной надежностью и небольшой вероятностью к улучшению в будущем. Теперь, освободившееся время от разработки под Линукс, они направят все силы на улучшение для платформ с лучшей жизнеспособностью.

При этом также было отмечено, что пользователям OSX нечего боятся и они не собираются отказываться от этой платформы. Также, может быть будет возможность поддержки SteamOS, когда она будет официально выпущена, при этом поддержки Линукса не будет (запретят запускаться кроме SteamOS?).

Анонс:

http://www.terathon.com/forums/viewtopic.php?f=2&t=14050

Игры, использующие C4 Engine:

https://en.wikipedia.org/wiki/C4_Engine#Games_using_C4

 , ,

Oxdeadbeef
()

Я не люблю системных интеграторов

Форум — Talks

Всем привет.

Наткнулся тут в какой-то теме на Skull'а, говорящего, что сисадмины лохи, и если что-то надо, то надо идти к системным интеграторам, они, мол, конфетку сделают. Так вот я совершенно с сим утверждением несогласен, и вот почему:

1) я работал как раз в конторе, которая всё заказывала у интегратора. Оставим в покое коррупционную составляющую, скажу просто: решения, предлагаемые иньегратором, были, мягко говоря, плохими. Говном, короче. И представитель в 9 случаях из 10 был некомпетентен до той степени, что не мог с линуксом сделать вообще ничего, делали всё мы

2) использование такого подхода не даёт имеющемуся персоналу развиваться. В итоге имеем положительную обратную связь: умные уходят, потому что надоело искать букву Ы на клавиатуре, а безынициативные остаются. Контора в итоге страдает как от некомпетентности персонала, так и от безблагодатных решений интегратора, плюсом попадая в банальную оккупацию

3) использовать свой персонал для решения внутренних проблем тупо быстрее: они уже знают внутренние проблемы, уже знают потребности, уже знают людей и их пожелания, уже знают, что у них есть. Интегратор мало того, что будет это всё делать заново, так ещё и денег за это хочет.

Короче, я к чему: вкладывайте в своих, верьте своим и рассчитывайте на своих, тогда и они ответят тем же.

Я кончил, спасибо за внимание

 

hc
()

10 причин почему программист на С++ может выбить много денег

Форум — Development

Список в конце поста написан Лавсаном 2 года назад. (2011-03-23 19:56:00) (источник)
Надеюсь, автор не подаст жалобу в Роспатент за перепечатку :-)
Кстати, sudo cast lovesan.

Чтобы проверить актуальность вопроса, всю последнюю неделю я долго и нудно использовал этот список в дискуссиях. Чтобы разобрать отдельные пункты отдельно.

Временное резюме: С++ всё еще актуален по историческим причинам. Еще есть мобилки (sudo cast mono), гиперкластеры для шиндовс 3.11 (sudo cast vromanov) и базы данных. Т.к. он актуален, но не предназначен ни для чего (см. выводы в конце списка) новых специалистов по нему должно быть мало. Маленькая конкуренция на огромной области применения — огромное лавэ $$$. Вот это и есть истинная причина использовать кресты — возможность срубить €€€.

Честно говоря, «хитрый план» мне уже очень надоел, поэтому пора открыть карты.

Заодним, крестопоклонники смогут выйти на последний и решительный бой, т.к. сегодня пятница и вечером будет время пообщаться. Поклонникам мамкиного борща тоже наверняка есть что добавить, конструктивно и аргументированно.

Вот этот список:

  1. Вырвиглазный синтаксис и контекстно-зависимая грамматика
    • медленная компиляция
    • частые «internal error» в компиляторах
    • код плохо читается и его сложно поддерживать
    • разбор кода различными инструментами, вроде IDE, и его генерация - сильно затруднены
  2. ручное управление памятью
    • неудобства при работе с динамической памятью
    • утечки памяти
    • висячие ссылки
    • сегфолты
    • стандартные средства, как то malloc/new, работают медленно
    • фрагментация кучи
    • велосипедные аллокаторы на каждом шагу
      • которые далеко не факт что эффективнее malloc/new

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

    • отладка затруднена
    • написание GC, по факту, невозможно, отчасти из-за (5), (7) и (8)
  3. Никакого ABI
  4. Нестандартизированный и непредсказумый name mangling
  5. Дублирование функционала Си
    • сами фичи из Си никуда не деваются при этом
      • отчасти из-за того, что по функционалу превосходят аналоги из C++

    • запутывает новичков
    • malloc - new/new[], free - delete/delete[]
    • препроцессор - шаблоны
    • указатели - ссылки
      • ссылка не может быть NULL, что способствует появлению висячих ссылок и сегфолтов

    • структуры - классы
    • stdio - iostream
  6. Стандартная библиотека убога
    • Отсутствует даже такой функционал, как вменяемая работа со строками и многомерные массивы
      • Юникод?

  7. Слабая типизация
    • способствует ошибкам
    • затрудняет отладку
    • const не дает абсолютно никаких гарантий
    • при этом система типов невероятно переусложенена
      • в основном из-за пунктов (2), (5) и (9)
      • медленная компиляция
      • частые внутренние ошибки в компиляторах

  8. объектая система убога
    • практически никакой интроспекции
      • отладка затруднена
    • передача объектов по значению
      • понятие идентичности объекта теряет смысл
      • добавляет сложностей в управлении памятью
      • добавляет сложностей при отладке
      • используется часто, по причине (2)
        • перерасход по памяти
        • медленная работа

    • множественное наследование неудобно в использовании
      • проблема ромба по дефолту не разрешается никак

    • исключения в конструкторах гарантированно влекут утечку памяти
      • исключения в деструкторах тоже, и просто утечку - еще в лучшем случае
        • коды ошибок деструкторы и конструкторы возвращать не могут
          • ошибки в них не обработать никак
            • поэтому ими стараются не пользоваться
              • раздувание кода

    • деструктор можно вызывать до выхода из блока кода, или до delete
      • гарантированная утечка ресурсов/сегфлот
      • это не предотвратить никак, деструктор обязан быть public

    • одиночная диспетчеризация
      • виртуальные методы в конструкторах не работают
      • реализована убого
        • pure virtual function call
        • сложности в случае с множественным наследованием
        • деструкторы обязаны быть виртуальными
          • по дефолту - не виртуальные

        • никаких интерфейсов, только классы

    • порядок инициализации статических членов классов не определен
    • private, public и protected не дают никаких гарантий сокрытия данных
      • к инкапсуляции же не относятся совершенно никак

    • отсутствие «свойств»
      • вынуждает городить getter'ы и setter'ы
        • раздувание кода
        • размывание интерфейса класса

    • неявно генерирумые конструкторы, деструкторы и операторы присваивания
    • «friend» нарушают инкапсуляцию
  9. шаблоны
    • очень сильно замедляют компиляцию
    • раздувание кода
    • обфускация кода
    • результат раскрытия плохо предсказуем
    • сложности в отладке
      • километровые и плохо читаемые сообщения об ошибках при компиляции

    • нарушают инкапсуляцию
      • обязаны содержать реализацию в заголовочных файлах

    • позволяют генерировать некорректный код
  10. исключения
    • отсутствие finally/unwind-protect
      • заставляет городить классы ради одних деструкторов
        • раздувание кода
        • медленная компиляция
        • медленная работа

    • конфликтуют с другими возможностями языка
      • конструкторы/деструкторы
      • ручное управление памятью

    • работают медленно
    • малофункциональны (ср. CL condition system)

По причинам 3, 4, 5, 9 и 10 C++ совершенно неприменим для системного и низкоуровневого программирования. А по причинами 1, 2, 5, 6, 7, 8, и, опять же, 9 и 10 - и для прикладного.

У C++ нет области применения.

stevejobs
()