The OpenNET Project / Index page

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



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

Оглавление

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

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


154. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +3 +/
Сообщение от Вы забыли заполнить поле Name (?), 08-Фев-23, 17:11 
Контейнеры в стандартной либе
Умные указатели и РАИ
Больше типобезопасности
Шаблоны
Классы и высокоуровневые абстракции с минимальной ценой
Неймспейсы и даже модули (если обмазаться последними версиями компиляторов) супротив префиксов имён в С
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

156. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Вы забыли заполнить поле Name (?), 08-Фев-23, 17:14 
Ну и бесплатный интероп с С
Ответить | Правка | Наверх | Cообщить модератору

166. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (165), 08-Фев-23, 18:54 
И невозможность легко читать исходный код)
Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

172. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +2 +/
Сообщение от Вы забыли заполнить поле Name (?), 08-Фев-23, 19:59 
> И невозможность легко читать исходный код)

Вообще термин "легкость чтения" - очень субъективное понятие. Иногда "невозможно легко понять" код на питоне или жабаскрипте. Чем сложнее язык, тем дела обстоях хуже, особенно для новичков. Поэтому нужны конкретные примеры кода, который "невозможно легко читать".

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

174. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от Аноним (173), 08-Фев-23, 20:03 
На такой случай присутствуют комментарии и документация.
Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

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ообщить модератору

269. "Новая версия BitTorrent-клиента Transmission 4.0.0, перешедш..."  +/
Сообщение от bOOster (ok), 10-Фев-23, 12:57 
Шаблоны не нужны. Не смотрел исходники - но уверен что дальше классов не пошли. Чтобы определенную абстракцию создать, о выделении и об удалении не задумываться.
Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

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

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




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

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