The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Новая версия BitTorrent-клиента Transmission 4.0.0, перешедшего с Си на Си++, opennews (??), 08-Фев-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


208. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Минона (ok), 09-Фев-23, 07:44 
> Контейнеры в стандартной либе
> Умные указатели и РАИ
> Больше типобезопасности
> Шаблоны
> Классы и высокоуровневые абстракции с минимальной ценой
> Неймспейсы и даже модули (если обмазаться последними версиями компиляторов) супротив префиксов
> имён в С

И нафига это всё нужно для написания маленького торрент-клиента?
Если это всё такое крутое и нужное, почему Линус плюётся от С++?

Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

228. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от _hide_ (ok), 09-Фев-23, 11:07 
> И нафига это всё нужно для написания маленького торрент-клиента?
> Если это всё такое крутое и нужное, почему Линус плюётся от С++?

Плюются, потому что зачастую приходится для того, что сделать шаг, вначале встать на костыли + очень много пейсателей на плюсах, которые не понимают принципы ООП от слова совсем. Пока академическая среда не включилась в обсуждение ООП в 9Х, С++-ков чморили по-страшному. Этап плохого профильного знания не пройден, а инфраструктура фрагментирована. А популярность из-за хайпа.

Ответить | Правка | Наверх | Cообщить модератору

256. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +1 +/
Сообщение от Вы забыли заполнить поле Name (?), 09-Фев-23, 19:18 
> И нафига это всё нужно для написания маленького торрент-клиента?

Дык там клиент и сервер переписывается. Или теперь если проект "маленький", то его нужно писать на асме? Зачем что-то высокоуровневое?

> почему Линус плюётся от С++?

Очевидно он его не знает, к тому же последние версии это не тоже самое, что С++ 98. Да и в ядре слабосвязанный код по его мнению. Как можно оспаривать тот же RAII? Конечно, проще goto на метки в конце функций делать.

Ответить | Правка | К родителю #208 | Наверх | Cообщить модератору

257. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от . (?), 09-Фев-23, 19:54 
> Как можно оспаривать тот же RAII?

а неявность?

> Конечно, проще goto на метки в конце функций делать.

чисти за собой после выхода из функции.

Ответить | Правка | Наверх | Cообщить модератору

258. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 09-Фев-23, 20:39 
>> Как можно оспаривать тот же RAII?
> а неявность?

В чем? Объекты на стеке уничтожаются в обратном порядке созданию.

>> Конечно, проще goto на метки в конце функций делать.
> чисти за собой после выхода из функции.

Проблема возникает когда у функции несколько точек выхода - это частое явление. К тому же "чистить за собой" - это неявное знание: нужно, например, в документации к объекту file ПРОЧИТАТЬ (кто вообще читает доку?), что после open нужно НЕ ЗАБЫТЬ сделать file.close().


Ответить | Правка | Наверх | Cообщить модератору

261. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от жопка3 (?), 09-Фев-23, 22:24 
Скорее автор под неявностью имел ввиду автоматичность RAII - дескать плохо, что не нужно писать явный release(). Именно в ненадобности явного release () и кроется все плюсы scoped bounded processing.
Ответить | Правка | Наверх | Cообщить модератору

266. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от . (?), 10-Фев-23, 05:33 
> Проблема возникает когда у функции несколько точек выхода - это частое явление.
> К тому же "чистить за собой" - это неявное знание: нужно,
> например, в документации к объекту file ПРОЧИТАТЬ (кто вообще читает доку?),
> что после open нужно НЕ ЗАБЫТЬ сделать file.close().

под выходом из функции я имел ввиду вложенную (объявленную как static выше целевой) - то есть внешний интерфейс не меняется. тут чисто замес явности с удобством не писать каждый раз вызов инициализатора/файнализатора. не могу сказать что можно категорично ответить что лучше.

Ответить | Правка | К родителю #258 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру