Re: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 12:08
Оценка: 37 (10) +11
N>Походил тут по собеседованиям, почти везде НЕ используют boost.

Boost противоречив и неоднозначен.
Попробую высказать свое скромное мнение, оно может отличаться от мнения редакции

1) Boost неоднороден по качеству, некоторые либы блестящи, некоторые без ужаса смотреть сложно
2) Boost не создает видимость цельного продукта, как например Qt, нет единого стиля и видения
3) Boost был крайне монолитен. Попытка заюзать класс Date (не помню, давно было) привела к 20Mb зависимостей и резкому увеличению времени компилляции
4) Boost тормознуто компилится, вот с Qt в этом плане лучше
5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше
6) Злоупотребление шаблонами. Qt использует шаблоны где требуется. Boost использует шаблоны везде.
7) Boost не создает желания использовать его в проектах когда фреймворк не навязывается. Не цепляет
Re[3]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 12:42
Оценка: 6 (2) -9 :)
H>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше
D>Нет, просто стараются дать как можно более гибкое решение. Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.

Сравним код:

Node.js — 8 строк

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write('Echo server\r\n');
  socket.pipe(socket);
});

server.listen(1337, '127.0.0.1');


Аналог на Boost ASIO — 137 строк

//
// async_tcp_echo_server.cpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2012 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//

#include <cstdlib>
#include <iostream>
#include <boost/bind.hpp>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

class session
{
public:
  session(boost::asio::io_service& io_service)
    : socket_(io_service)
  {
  }

  tcp::socket& socket()
  {
    return socket_;
  }

  void start()
  {
    socket_.async_read_some(boost::asio::buffer(data_, max_length),
        boost::bind(&session::handle_read, this,
          boost::asio::placeholders::error,
          boost::asio::placeholders::bytes_transferred));
  }

private:
  void handle_read(const boost::system::error_code& error,
      size_t bytes_transferred)
  {
    if (!error)
    {
      boost::asio::async_write(socket_,
          boost::asio::buffer(data_, bytes_transferred),
          boost::bind(&session::handle_write, this,
            boost::asio::placeholders::error));
    }
    else
    {
      delete this;
    }
  }

  void handle_write(const boost::system::error_code& error)
  {
    if (!error)
    {
      socket_.async_read_some(boost::asio::buffer(data_, max_length),
          boost::bind(&session::handle_read, this,
            boost::asio::placeholders::error,
            boost::asio::placeholders::bytes_transferred));
    }
    else
    {
      delete this;
    }
  }

  tcp::socket socket_;
  enum { max_length = 1024 };
  char data_[max_length];
};

class server
{
public:
  server(boost::asio::io_service& io_service, short port)
    : io_service_(io_service),
      acceptor_(io_service, tcp::endpoint(tcp::v4(), port))
  {
    start_accept();
  }

private:
  void start_accept()
  {
    session* new_session = new session(io_service_);
    acceptor_.async_accept(new_session->socket(),
        boost::bind(&server::handle_accept, this, new_session,
          boost::asio::placeholders::error));
  }

  void handle_accept(session* new_session,
      const boost::system::error_code& error)
  {
    if (!error)
    {
      new_session->start();
    }
    else
    {
      delete new_session;
    }

    start_accept();
  }

  boost::asio::io_service& io_service_;
  tcp::acceptor acceptor_;
};

int main(int argc, char* argv[])
{
  try
  {
    if (argc != 2)
    {
      std::cerr << "Usage: async_tcp_echo_server <port>\n";
      return 1;
    }

    boost::asio::io_service io_service;

    using namespace std; // For atoi.
    server s(io_service, atoi(argv[1]));

    io_service.run();
  }
  catch (std::exception& e)
  {
    std::cerr << "Exception: " << e.what() << "\n";
  }

  return 0;
}
Буст не нужен
От: ArtemGorikov Австралия жж
Дата: 21.06.12 04:00
Оценка: +2 -4 :)
... Отправлено с помощью КЫВТ.андроид 0.1
Re: почему такая нелюбовь к boost ?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 19.06.12 12:12
Оценка: +4 -2
Это все притянутые за уши оправдания. В нормальных компаниях (т.е. в тех, которые могут позволить себе сотрудников нормальной квалификации) BOOST используется активно, я не помню ни одной компании где бы его было прям нельзя использовать.
Но, тут есть одно но. В ряде проектов, которые, к примеру, потом надо будет собрать под экзотическую железяку, использовать BOOST просто нельзя. Так же, зачастую, модули/проекты могут иметь какие-то внешние ограничения на использование внешних библиотек (например надо пройти сертификацию).
Re: почему такая нелюбовь к boost ?
От: Dair Россия https://dair.spb.ru
Дата: 13.07.12 15:16
Оценка: +2 -4
Boost, насколько я с ним знаком на чужих примерах, прекрасно позволяет писать write-only код. В команде, всё же, полезно читать чужой код тоже.
Re: почему такая нелюбовь к boost ?
От: Сыроежка  
Дата: 14.07.12 18:59
Оценка: +3 -2 :)
Здравствуйте, nen777w, Вы писали:

N>Походил тут по собеседованиям, почти везде НЕ используют boost.

N>В прошлом проекте (на работе) я насильно привил boost и вроде никто не жаловался, в своих же проектах без boost никуда.
N>Либе уже 1.50 скоро исполниться, а аргумент у всех один и тот же... "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру".
N>А на вопрос ну так что лучше писать свои велосипеды а потом там ловить баги, отвечают как то невнятно.
N>В одной конторе спросили: "А если у вас забрать boost вы сможете писать код?", блин странные вопросы люди задают.

N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?


На мой взгляд достаточно правильная позиция. Дело в том, что бустом пользуются обычно не из-за какой-то необходимости, а чтобы показать, мол, видите, какой я крутой! В результате эти крутые, как правильно вам в одном месте, самостоятельно ничего выполнить не могут. Во-вторых, там, где буст совершенно нет никакой необходимости использовать, они его испольуют, засоряя тем самым код. Я с этим неоднократно сталкивался, когда можно без всяких проблем использовать стандартные алгоритмы, а эти умники подключают заголовочные файлы буст, их билиотеки и пишут трудно-воспринимаемые на вид конструкции, так как их в стандарте нет. К тому же затем они испытывают серьезные проблемы при появлении либо новой версии компилятора, либо новой версии библиотеки буст, так как, вдруг, однаруживвают, что код перестает компилироваться.
Есть такой принцип в программировании, о котором часто забывают. Называется он KISS, и означает "делай проще, тупица"!
Меня можно встретить на www.cpp.forum24.ru
почему такая нелюбовь к boost ?
От: nen777w  
Дата: 19.06.12 11:53
Оценка: 9 (1) +2 -1 :)
Походил тут по собеседованиям, почти везде НЕ используют boost.
В прошлом проекте (на работе) я насильно привил boost и вроде никто не жаловался, в своих же проектах без boost никуда.
Либе уже 1.50 скоро исполниться, а аргумент у всех один и тот же... "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру".
А на вопрос ну так что лучше писать свои велосипеды а потом там ловить баги, отвечают как то невнятно.
В одной конторе спросили: "А если у вас забрать boost вы сможете писать код?", блин странные вопросы люди задают.

Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?
Re: почему такая нелюбовь к boost ?
От: mike_rs Россия  
Дата: 19.06.12 12:21
Оценка: 1 (1) +2 -2
Здравствуйте, nen777w, Вы писали:

N>Походил тут по собеседованиям, почти везде НЕ используют boost.

когда буст станет стандартом, как stl, тогда его и использовать везде будут и проверять знания на собеседованиях. А пока что он ничем не лучше существующих внутри компании библиотек, даже наоборот. Существующие либы учитывают множество нюансов конкретного продукта, на выявление и исправление которых потрачено прилично человеко\часов. Простая замена на буст повлечет за собой кроме призрачного будущего удобства трату минимум тех-же самых человеко\часов на рефикс этих проблем. Зачем это нужно? В подавляющем большинстве проектов незачем. А там где нужно — используют.

ps: желание сразу применить буст при приходе на работу — это синдром фатального недостатка
Re[4]: почему такая нелюбовь к boost ?
От: MT-Wizard Украина  
Дата: 20.06.12 19:56
Оценка: +5
Здравствуйте, __kot2, Вы писали:

__>callbackи сами по себе очень кривая архитектурная идея. они сейчас нигде почти не используются, кроме как раз типа audio io


А ти, москалику, вже приїхав (с)
Re[5]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 20.06.12 06:41
Оценка: 5 (3) +1
Здравствуйте, denisko, Вы писали:

D>Здравствуйте, Handie, Вы писали:


H>>>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше

D>>>Нет, просто стараются дать как можно более гибкое решение. Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.

H>>Сравним код:


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


HTTP server:

#include <boost/network/protocol/http/server.hpp>

struct hello_world;
typedef boost::network::http::server<hello_world> server;

struct hello_world {
    void operator() (server::request const &request, server::response &response) {
        std::string ip = source(request);
        response = server::response::stock_reply(
            server::response::ok, std::string("Hello, ") + ip + "!");
    }
};

int main(int argc, char * argv[]) {
    hello_world handler;
    server server_(argv[1], argv[2], handler);
    server_.run();
}
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: почему такая нелюбовь к boost ?
От: __kot2  
Дата: 19.06.12 22:26
Оценка: +2 -1 :)
Здравствуйте, nen777w, Вы писали:
N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?
а какие проблемы решает буст?

хорошо, а теперь — есть ли эти проблемы в вашем проекте? никаких? зачем вам тогда буст?
Re: почему такая нелюбовь к boost ?
От: __kot2  
Дата: 20.06.12 19:48
Оценка: +3 -1
Здравствуйте, nen777w, Вы писали:
N>Походил тут по собеседованиям, почти везде НЕ используют boost.
я даже так вкратце скажу

а почему, например, почти везде, при посвящении в ведущие программисты, не проводится обряд обрезания?

ответ простой — а почему вообще должен? да, есть места, где при посвящении проводится этот обряд, но даже если это можно и, может быть, распространено, это не поводу его использовать. нужно знать ответ на простой вопрос: конкретно он зачем нужен? если на него ответа нет, то и делать этого не стоит.
Re[2]: почему такая нелюбовь к boost ?
От: Mr.Delphist  
Дата: 19.06.12 15:27
Оценка: 6 (1) +2
Здравствуйте, Трололоша, Вы писали:
Т>Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии).

Ну, 2003-й компиль уронить — нефиг делать. Старина Александреску это делает на раз. Даже скорее на ра...

А в целом — да, согласен, Boost это граната. Обезьяны не должны её касаться, да и самому надо бы осмотрительно обращаться. Лучше выкусывать из неё только нужные куски и класть в отдельную папочку 3rdparty/boost, и под сорс-контрол её.
Re: почему такая нелюбовь к boost ?
От: Mazay Россия  
Дата: 19.06.12 12:27
Оценка: 1 (1) +2
Здравствуйте, nen777w, Вы писали:

N>Походил тут по собеседованиям, почти везде НЕ используют boost.


Если огульно запрещают весь буст, то это в 99% случаев проявление некомпетентности. В таких конторах только за большие деньги можно работать.
Если запрещают некоторые библиотеки буста, то скорее всего на это есть разумные причины вроде уже названых трудностей с экзотическими компиляторами и сертификацией или неприемлимостью некоторых решений.

Например в boost::serialization некоторые синглтоны реализованы как статические объекты. Обычно это разумный подход, но если сериализация одинаковых типов делается и в экзешнике, и в статической библиотеке то могут возникнуть трудности. Эту багу можно забороть, но возникнут сложности в других случаях (AFAIR с динамической библиотекой). Так что универсального решения нет, поэтому авторы библиотеки вынуждены выбирать какой-то один вариант, который устраивает большинство, но конечно не всех.
Повторю ещё раз — если в конторе запрещают использовать буст вообще, то это очень дурной знак.
Главное гармония ...
Re[6]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 20.06.12 05:55
Оценка: 1 (1) +2
Здравствуйте, Трололоша, Вы писали:

L>>Это "заставлять" работает только если либа поставляется в сырцах.

Т>Как раз обычно если дают сырцы то %битесь с ними как хотите.

Отучаемся говорить за всех (С)

Т>У нас бинари, баги правят авторы либы.

Т>Мы им минимальный код для воспроизведения бага. Они нам новый билд где баг обязан быть исправлен.

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

L>> Чтобы горе-девелоперов можно быть в их собственное говнецо носом ткнуть.

Т>Вот ещё нехрен делать, искать где именно у них в коде баг. Они получают деньги за то, чтоб у нас всё работало согласно контракту.

Пока вы переписываетесь, ваша работа стоит, так сказать.
www.blinnov.com
Re[2]: почему такая нелюбовь к boost ?
От: Voivoid Россия  
Дата: 15.07.12 08:27
Оценка: 1 (1) +2
Здравствуйте, Сыроежка, Вы писали:

С>когда можно без всяких проблем использовать стандартные алгоритмы, а эти умники подключают заголовочные файлы буст, их билиотеки и пишут трудно-воспринимаемые на вид конструкции, так как их в стандарте нет.

Особенно забавно это звучит в контексте бустовых библиотек перекочевавших в std::tr1 и C++11, а также грядущий std::tr2

C>Называется он KISS, и означает "делай проще, тупица"!

Это все хорошо, только вот понятие простоты у всех варьируется. Далеко за примером ходить не надо, даже на rsdn находятся C программисты для которых C++ сам по себе это ненужная сложность
Re[2]: почему такая нелюбовь к boost ?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 16.07.12 13:57
Оценка: 10 (2)
Здравствуйте, Сыроежка, Вы писали:

С>Здравствуйте, nen777w, Вы писали:

С>Есть такой принцип в программировании, о котором часто забывают. Называется он KISS, и означает "делай проще, тупица"!
Мало кто понимает истинное значение этой фразы. Обычно ею кидаются те, кто не понимает её смысл.
Sic luceat lux!
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 14.07.12 19:46
Оценка: 7 (2)
С>На мой взгляд достаточно правильная позиция. Дело в том, что бустом пользуются обычно не из-за какой-то необходимости, а чтобы показать, мол, видите, какой я крутой! В результате эти крутые, как правильно вам в одном месте, самостоятельно ничего выполнить не могут. Во-вторых, там, где буст совершенно нет никакой необходимости использовать, они его испольуют, засоряя тем самым код. Я с этим неоднократно сталкивался, когда можно без всяких проблем использовать стандартные алгоритмы, а эти умники подключают заголовочные файлы буст, их билиотеки и пишут трудно-воспринимаемые на вид конструкции, так как их в стандарте нет. К тому же затем они испытывают серьезные проблемы при появлении либо новой версии компилятора, либо новой версии библиотеки буст, так как, вдруг, однаруживвают, что код перестает компилироваться.
С>Есть такой принцип в программировании, о котором часто забывают. Называется он KISS, и означает "делай проще, тупица"!

У меня есть проект у которого boost менялся еще с версии 1.34 и до сегодняшней 1.50 , и в котором используется много библиотеки из boost, но ни разу, вроде как, или я не помню уже (может быть один раз с boost::filesystem когда в какой то версии выкинули 1-ю), не было так что бы проект переставал компилится после обновления boost, максимум что нужно сделать это поменять единственный путь к инклюдам и статическим либам, ну и собрать новый boost.
Что я делаю не так?
Re: почему такая нелюбовь к boost ?
От: PlusMyTwitterFace  
Дата: 19.06.12 12:02
Оценка: 3 (1) +1
Причин много, наиболее популярные:

— Недостаточно квалифицированные сотрудники / большая часть сотрудников, которые не то, что в boost, но и в STL разобраться не могут
— Старый код, который уже вовсю использует свои велосипеды (собственные векторы, списки, парсинг параметров, чтение конфигурационных файлов и т.д.). Добавлять туда boost уже просто не хочется — зачем что-то менять, если оно итак работает?
— Руководство не видит явных плюсов в случае использования boost и считает, что это нужно лишь для красоты кода
— В команде есть программист, мнение которого все очень уважают, и который говорит "boost не нужен — написан криво, интерфейс ужасный, напишем свой!"
— В случае старта нового проекта — "Зачем, если до этого и без него прекрасно обходились"?
— "Ещё чего, решили тут новомодные штуки добавлять! Пишем на ANSI C!"
Re[3]: почему такая нелюбовь к boost ?
От: TimurSPB Интернет  
Дата: 19.06.12 13:12
Оценка: 1 (1) :)
N>Одесские конторы, имена называть не буду. Продукты почти у всех кроссплатфоменные, в основном win/lin
Остается создать свою контору c блэк-джеком и шлюхами c бустом и исключениями.
Make flame.politics Great Again!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 20.06.12 01:03
Оценка: 1 (1) +1
Здравствуйте, landerhigh, Вы писали:

L>Ага. Многие так думают. Пока до этого самого "заставлять" не доходит.

Дык заставляем же.

L>Это "заставлять" работает только если либа поставляется в сырцах.

Как раз обычно если дают сырцы то %битесь с ними как хотите.
У нас бинари, баги правят авторы либы.
Мы им минимальный код для воспроизведения бага. Они нам новый билд где баг обязан быть исправлен.

L> Чтобы горе-девелоперов можно быть в их собственное говнецо носом ткнуть.

Вот ещё нехрен делать, искать где именно у них в коде баг. Они получают деньги за то, чтоб у нас всё работало согласно контракту.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 19.06.12 12:10
Оценка: -1 :)
N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?
потому что boost содержит невероятное количество костылей для того чтобы собираться хотя бы на паре-тройке более-менее распространенных компиляторов c++
поищи например сколько там BOOST_WORKAROUND в исходниках. Крайний раз когда я смотрел было 540 файлов, бгг
паранойя не болезнь, а критерий профпригодности
Re[4]: почему такая нелюбовь к boost ?
От: denisko http://sdeniskos.blogspot.com/
Дата: 19.06.12 13:00
Оценка: +1 -1
Здравствуйте, Handie, Вы писали:

H>>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше

D>>Нет, просто стараются дать как можно более гибкое решение. Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.

H>Сравним код:


Предложи свой вариант библиотеки. Я если честно слабо представляю, как можно на плюсах написать меньше буковок.
<Подпись удалена модератором>
Re: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 14:34
Оценка: -2
Здравствуйте, nen777w, Вы писали:

N>Походил тут по собеседованиям, почти везде НЕ используют boost.

Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии).
Только из собственного опыта два раза видел когда обновление буста ломало старый код, на бусте основанный.
В общем причин достаточно, другой момент что не все напарываются на баги и глюки буста в критичном для них месте.
Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы.
Те кто напарывался — стараются его больше не использовать.

N>В прошлом проекте (на работе) я насильно привил boost и вроде никто не жаловался, в своих же проектах без boost никуда.

А что ты из него используешь, что нельзя было бы реализовать самостоятельно в случае необходимости?

N>Либе уже 1.50 скоро исполниться, а аргумент у всех один и тот же... "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру".

Порой если программеру дать в руки готовую библиотеку то он начнёт все задачи подгонять под имеющиеся решения из этой библиотеки.
Не так давно видел создание и чтение XML файлов через boost::property_tree — ИМХО за такое надо нещадно пиз...ть!

N>А на вопрос ну так что лучше писать свои велосипеды а потом там ловить баги, отвечают как то невнятно.

Ты знаешь, но лучше. Велосипед в силу специализации под нужды проекта обычно получается куда более простой (не надо поддерживать кучу вариантов специализации например) и поэтому поддерживать его куда проще.
Опять таки, буст пишут не боги а такие же прогеры какие будут писать свой велосипед. Так что ещё вопрос чей код окажется хуже.

N>В одной конторе спросили: "А если у вас забрать boost вы сможете писать код?", блин странные вопросы люди задают.

Совершенно нормальный вопрос, ИМХО.
Он скорее звучит так: сможешь ли работать если по условиям проекта будут ограничения на использование стороннего кода.
У меня как то была задача реализовать RSAES-OAEP своими силами. Т.е. никаких сторонних библиотек, абсолютно весь код модуля должен быть нашего авторства и под нашей лицензией.
За то бабло, которое было заплачено я готов ещё раз написать что нить подобное с нуля.

N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?

Жизнь порой бывает сложной.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re: почему такая нелюбовь к boost ?
От: Uzumaki Naruto Ниоткуда  
Дата: 20.06.12 06:17
Оценка: -2
Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)

Re[8]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 20.06.12 11:29
Оценка: +2
Здравствуйте, Трололоша, Вы писали:

L>>А вот насчет бага, вылезающего в виде аккуратного такого расстрела памяти из недр реализации сетевого протокола, причем только раз в полнолуние, когда рак на горе свистнул да на хабе колиизия моргнула, и потому никаким минимальным кодом не воспроизводящийся, вы будете переписываться с техподдержкой до второго пришествия.

Т>Значит в таком раскладе будет дамп или ещё что либо.



Святая наивность.

Дамп памяти, полученный после "аккуратного" расстрела памяти может рассказать только то, что пациент $дох. Как и почему — останется гадать на картах. По крайней мере при невозможности стабильного повторения и отсутствии исходников.
www.blinnov.com
Re[6]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 22.06.12 23:30
Оценка: +2
__>я утвердаю немного другое
__>>>callbackи сами по себе очень кривая архитектурная идея. они сейчас нигде почти не используются, кроме как раз типа audio io
__>то есть конечно же они используются. я там в школе и универе их активно использовал. просто теперь я понимаю насколько это все хреново выглядит и работает. и в моей жизни колбеки исчезли навсегда

мдымсь... интересный у вас юмор...
Re[5]: почему такая нелюбовь к boost ?
От: trophim Россия  
Дата: 23.06.12 09:15
Оценка: :))
Попросить чтоли Александреску написать книгу с колбеками? Они станут трендом 2012 года...
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Let it be! — Давайте есть пчелу!
Re[3]: почему такая нелюбовь к boost ?
От: Young yunoshev.ru
Дата: 23.06.12 13:15
Оценка: +1 -1
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, __kot2, Вы писали:


__>>нужно знать ответ на простой вопрос: конкретно он зачем нужен? если на него ответа нет, то и делать этого не стоит.


A>а зачем нужен С++ Вы тоже задаете вопрос? (есть же Си) а стандартная библиотека зачем нужна? (мы же ее сами можем написать)


Дык, и приходилось таки. Ибо STL оно как бы не лучший вариант во многих случаях — иначе бы не рождались такие вещи как EASTL и прочее...
Re[3]: почему такая нелюбовь к boost ?
От: blackhearted Украина  
Дата: 09.07.12 18:14
Оценка: +1 -1
H>Вот у меня проект работает на 32 процессорном сервере. Вы когда-нибудь видели 32 процессорную машину нагруженную хотя-бы наполовину?
Видели, 100% utilization.
При писании на голом С/С++ время разработки увеличивается до 5-10 раз. оптимизация зачастую наносит куда больше вреда, чем пользы.

H>"Медленный код" — это любимая фраза преждевременных оптимизаторов. Мне плевать на "медленный" код, Time-To-Market куда важнее.

Иногда медленное решение не будет рассматриваться, т.к. решают сотни наносекунд.
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 13.07.12 19:51
Оценка: +2
Здравствуйте, Dair, Вы писали:

D>Boost, насколько я с ним знаком на чужих примерах, прекрасно позволяет писать write-only код. В команде, всё же, полезно читать чужой код тоже.


На прошлой работе в проект куда я привил boost, я свободно читал то что писали другие программисты.
Конечно в этом проекте не использовалось так много библиотек из boost сколько использовал я в своих собственных, но ИМХО дело в опыте, который при частом использовании boost (также как stl например) приобретается быстро.
Re[2]: почему такая нелюбовь к boost ?
От: Шубин Евгений Россия http://erladvisor.blogspot.de/
Дата: 19.06.12 12:17
Оценка: 1 (1)
Здравствуйте, PlusMyTwitterFace, Вы писали:

PMT>Причин много, наиболее популярные:


PMT>- Недостаточно квалифицированные сотрудники / большая часть сотрудников, которые не то, что в boost, но и в STL разобраться не могут

PMT>- Старый код, который уже вовсю использует свои велосипеды (собственные векторы, списки, парсинг параметров, чтение конфигурационных файлов и т.д.). Добавлять туда boost уже просто не хочется — зачем что-то менять, если оно итак работает?
PMT>- Руководство не видит явных плюсов в случае использования boost и считает, что это нужно лишь для красоты кода
PMT>- В команде есть программист, мнение которого все очень уважают, и который говорит "boost не нужен — написан криво, интерфейс ужасный, напишем свой!"
PMT>- В случае старта нового проекта — "Зачем, если до этого и без него прекрасно обходились"?
PMT>- "Ещё чего, решили тут новомодные штуки добавлять! Пишем на ANSI C!"

Добавлю.

Бывает пишут на более высокоуровневых языках чем C++ большую часть системы, а C++ только в определенных местах (где тормозит, где либа хорошая есть и т.д.). Boost во многом добавляет фичи, которые есть в стандартной библиотеке основного языка, в C++. Сама же библиотека boost в стандарт не входит — это ещё одна из причин.
Плюс есть люди, которые считают, что исключения — зло. Исключения активно используются в бусте.
То же самое с шаблонами (лучше макросы ).
Re[2]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 12:19
Оценка: 1 (1)
JM>Я например считаю, что чем больше высокуровневых библиотек используется, особенно не мега звездами программирования, тем более медленный код получается, и тем больше он жрет памяти. Просто люди вместо того что бы написать

Вот у меня проект работает на 32 процессорном сервере. Вы когда-нибудь видели 32 процессорную машину нагруженную хотя-бы наполовину? При писании на голом С/С++ время разработки увеличивается до 5-10 раз. оптимизация зачастую наносит куда больше вреда, чем пользы.

"Медленный код" — это любимая фраза преждевременных оптимизаторов. Мне плевать на "медленный" код, Time-To-Market куда важнее.
Re[2]: почему такая нелюбовь к boost ?
От: TimurSPB Интернет  
Дата: 19.06.12 12:57
Оценка: 1 (1)
KP>Но, тут есть одно но. В ряде проектов, которые, к примеру, потом надо будет собрать под экзотическую железяку, использовать BOOST просто нельзя.
Экзотические это какие? Если есть компилятор С++ совместимый, то почему нет? Под тот же arm всё работает. Да чего уж там под древний как г. мамонта "Эльбрус 90 микро" и то работает. А на сертификацию отправляется исходный код продукта со всеми зависимостями.
Make flame.politics Great Again!
Re[4]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 19.06.12 13:20
Оценка: 1 (1)
Здравствуйте, TimurSPB, Вы писали:

N>>Одесские конторы, имена называть не буду. Продукты почти у всех кроссплатфоменные, в основном win/lin

TSP>Остается создать свою контору c блэк-джеком и шлюхами c бустом и исключениями.
Я работаю в этом направлении.
Re[4]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 20.06.12 00:12
Оценка: 1 (1)
Здравствуйте, Трололоша, Вы писали:

Т>Драсте! Ты коммерческие либы вообще видел? Там саппорт включён, если что.

Т>As is относится к тому, что они не отвечают за damage. А баги фиксить их заставлять можно только в путь.

Ага. Многие так думают. Пока до этого самого "заставлять" не доходит.
Это "заставлять" работает только если либа поставляется в сырцах. Чтобы горе-девелоперов можно быть в их собственное говнецо носом ткнуть.
www.blinnov.com
Re: почему такая нелюбовь к boost ?
От: Just Men  
Дата: 19.06.12 12:13
Оценка: -1
Здравствуйте, nen777w, Вы писали:

N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?


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


for ( size_t i=0;i<Arr.Size; i++ )
  Делать что-то();


Пишут вызовы библиотек думая что там нет никаких циклов и вообще они быстро работают.

Ну исключение конечно составляет GUI и особенно в свете переносимости.
Просто человек.
Re[4]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 12:34
Оценка: -1
JM>Вы знаете я вот тоже как раз высокопроизводительными штуками занимаюсь. И давно уже — больше 10 лет точно. И вот сравнительно недавно пришел к выводу, что крайне ... еще раз крайне мало задач поддается качественному распараллеливанию. В среднем в лучшем случае удается получить выигрыш в 20-30%. Но процессора при этом загруженны на 100%. Скажете значит плохо распараллеливали, да плохо то такие современные алгоритмы. Видел много решений где делается распараллеливание ради самого только распараллеливания.

Выдача HTTP ответов поддается распараллеливанию очень хорошо. Hi-Load services как раз неплохо параллеляться по причине независимости входящих запросов. Ну да, мьютексы и локи, долгое ожидание на локах — но это неизбежность на многопроцессорных системах.
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 19.06.12 12:58
Оценка: +1
Здравствуйте, redp, Вы писали:


N>>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?

R>потому что boost содержит невероятное количество костылей для того чтобы собираться хотя бы на паре-тройке более-менее распространенных компиляторов c++

Ну да, это ж не библиотека на 3kb кода, это большой сборник библиотек, кончено же там будут воркэраунды для компиляторов и не потому что boost кривой а потому что компиляторы разные. У меня boost собирается на win/osx/ios и пока особых проблем не было. Но свою задачу ускорение разработки он выполняет.

R>поищи например сколько там BOOST_WORKAROUND в исходниках. Крайний раз когда я смотрел было 540 файлов, бгг


Вам бы стало легче если бы там не было ни одного workaround и вместо этого boost собирался только конкретным компилятором только под конкретную платформу. Наверно аргументом тогда было бы — он enviroument специальный требует, зачем мне холодильник если я не курю.
Re[3]: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 19.06.12 13:08
Оценка: -1
N>зачем мне холодильник если я не курю.
я чо-то не осилил полет мысли
зачем мне такая либа на c++, которую нужно не по децки затачивать под каждый компилер c++ из доступных мне ?
паранойя не болезнь, а критерий профпригодности
Re[6]: почему такая нелюбовь к boost ?
От: denisko http://sdeniskos.blogspot.com/
Дата: 19.06.12 13:23
Оценка: :)
Здравствуйте, redp, Вы писали:



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


R>ACE ?

R>в 104 cтроки например
Ну мне как-то 104 и 137 примерно одинаково. Ну в одном я с тобой согласен, асе конечно гораздо менее укушенная александреску библиотека
<Подпись удалена модератором>
Re[2]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 19.06.12 14:34
Оценка: :)
Здравствуйте, Just Men, Вы писали:

JM>Я например считаю, что чем больше высокуровневых библиотек используется, особенно не мега звездами программирования, тем более медленный код получается, и тем больше он жрет памяти. Просто люди вместо того что бы написать


JM>
JM>for ( size_t i=0;i<Arr.Size; i++ )
JM>  Делать что-то();
JM>


JM>Пишут вызовы библиотек думая что там нет никаких циклов и вообще они быстро работают.


Так их, правильно!
Смерть тормозному высокоуровневому BLAS-у и прочим MKL-ям!
Линейный цикл всех порвет!
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: почему такая нелюбовь к boost ?
От: Ulter  
Дата: 19.06.12 16:33
Оценка: -1
Мне кажется, проблема в том, что никто не написал простую и понятную книгу с обзором возможностей буста, как это в свое время сделал страуструп по C++ и STL. А во всяких наворотах, а-ля александреску, большинству копаться лень...
Re[3]: почему такая нелюбовь к boost ?
От: Uzumaki Naruto Ниоткуда  
Дата: 20.06.12 19:36
Оценка: -1
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, Uzumaki Naruto, Вы писали:


UN>>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)


A>boost.mpl или boost.preprocessor?

A>не забывайте, некоторые вещи не генерят кода вообще.

A>scoped_ptr<T> размером с T* ?


A>rtfm.


Ты засунь на uclinux

Re[5]: почему такая нелюбовь к boost ?
От: Хвост  
Дата: 20.06.12 20:15
Оценка: +1
Здравствуйте, landerhigh, Вы писали:

L>Мне нужно было использовать asio. Она хоть и header only, но требует собранной boost::system. Используя вышеприведенную статью, мне удалось собрать блиотеки буста, не все, конечно, и с ворнингами. Потребовался специальный конфиг и правка одного jam-скрипта.


asio существует и в виде stand-alone проекта, который afaik header-only и никаких дополнительных зависимостей не требует.
People write code, programming languages don't.
Re[10]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 21.06.12 00:06
Оценка: +1
Здравствуйте, Трололоша, Вы писали:

L>>>>А вот насчет бага, вылезающего в виде аккуратного такого расстрела памяти из недр реализации сетевого протокола, причем только раз в полнолуние, когда рак на горе свистнул да на хабе колиизия моргнула, и потому никаким минимальным кодом не воспроизводящийся, вы будете переписываться с техподдержкой до второго пришествия.

Т>>>Значит в таком раскладе будет дамп или ещё что либо.
L>>
Т>См выделенное.

Из выделенного у вас будет только распечатанная колода карт и попугай на том конце техподдержки, повторяющий, что они не могут воспроизвести проблему.
Если вы еще с таким не сталкивались, у вас просто все впереди.
www.blinnov.com
Re[5]: почему такая нелюбовь к boost ?
От: __kot2  
Дата: 21.06.12 05:49
Оценка: :)
Здравствуйте, nen777w, Вы писали:
N>Ладно... Пррримеррр-р-рр.
N>Програмисту Васе нужно написать класс таймера с калбеком.
вот видите — вы активно работаете с колбеками, и у вас есть причина использовать буст. используйте

тут приводят пример корткого и понятного кода работы с вебом — да я и сам буду использовать буст для этого. отлично

я утвердаю немного другое
__>>callbackи сами по себе очень кривая архитектурная идея. они сейчас нигде почти не используются, кроме как раз типа audio io
то есть конечно же они используются. я там в школе и универе их активно использовал. просто теперь я понимаю насколько это все хреново выглядит и работает. и в моей жизни колбеки исчезли навсегда
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 22.06.12 01:23
Оценка: +1
Здравствуйте, Abyx, Вы писали:

A>а стандартная библиотека зачем нужна? (мы же ее сами можем написать)

Она нужна только как runtime compiler support
А функционал в ней мегаубогий, лучше сразу тем что ОС предоставляет пользоваться.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[4]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 24.06.12 00:17
Оценка: +1
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, Abyx, Вы писали:


A>>а стандартная библиотека зачем нужна? (мы же ее сами можем написать)

Т>Она нужна только как runtime compiler support
Т>А функционал в ней мегаубогий, лучше сразу тем что ОС предоставляет пользоваться.

Твоя ОС предоставляет списки/сеты/мапы/динамические массивы? Что за чудо-ОС такая?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 24.06.12 00:34
Оценка: +1
Здравствуйте, Young, Вы писали:

Y>Дык, и приходилось таки. Ибо STL оно как бы не лучший вариант во многих случаях — иначе бы не рождались такие вещи как EASTL и прочее...


Если воспринимать STL как соглашение об интерфейсах (итераторы/алгоритмы), а не как единственную библиотеку, которая исключает использование других (многие таким маразмом занимаются), то никаких проблем с EASTL нет:

First, EASTL provides a set of containers, iterators, and algorithms that are identical in interface and behavior to std STL versions with one exception: allocators.

Тот же буст предоставляет туеву хучу контейнеров и алгоритмов сверх того, что есть в STL, но при этом всё интерфейсно совместимо. EASTL вполне в эту схему укладывается.

Более развернуто я писал об этом здесь: http://www.rsdn.ru/forum/cpp/2392911.1.aspx
Автор: jazzer
Дата: 04.03.07
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[7]: почему такая нелюбовь к boost ?
От: newCL Россия  
Дата: 24.06.12 02:22
Оценка: -1
Здравствуйте, Vladek, Вы писали:

V>>>Что такое delete this?

V>Что делает идиома "delete this"?

слово COM не знать стыдно.
ненавижу все существующие ЯП
Re[6]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 24.06.12 04:45
Оценка: :)
Здравствуйте, Олег К., Вы писали:

ОК>Абсолютно ненужные навороты.


Это ты о конкретном примере или о коллбэках вообще?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 24.06.12 10:55
Оценка: +1
J>Твоя ОС предоставляет списки/сеты/мапы
даже в kernel mode:
generic tables
J>динамические массивы?
Lookaside Lists
в usermode еще и avl деревья в ntdll.dll
J>Что за чудо-ОС такая?
windows
паранойя не болезнь, а критерий профпригодности
Re[3]: почему такая нелюбовь к boost ?
От: Miroff Россия  
Дата: 07.07.12 17:02
Оценка: +1
Здравствуйте, Олег К., Вы писали:

ОК>Неужто буст и под Джаву уже есть?


Есть, только он называется Spring.
Re[2]: почему такая нелюбовь к boost ?
От: denisko http://sdeniskos.blogspot.com/
Дата: 19.06.12 12:27
Оценка:
Здравствуйте, Handie, Вы писали:

N>>Походил тут по собеседованиям, почти везде НЕ используют boost.


H>Boost противоречив и неоднозначен.

H>Попробую высказать свое скромное мнение, оно может отличаться от мнения редакции
Ну я согласен на 90% просто дам комментарий.
На мой взгляд, буст очень похож на плюсы. Он громоздкий, не слишком удобный, требуют кучу часов на освоение, но когда ты освоился, ты можешь очень быстро делать кучу вещей, которые с никаким другим инструментом делать не сможешь. К бусту рано или поздно приходит любой плюсовик, но остаются немногие. Кто остается, то сначала начинает читать, потом может переписать часть библиотеки под свою задачу, если потребуется. Может служить косвенным признаком квалификации программиста. С другой стороны, есть проблема, что многие очень любят переписывать буст для своих конкретных нужд при первой же ситуации, когда они чего-то в кодн не понимают(я в свое время под себя архив переписал, для меня получилось лучше и менее тормознуто и без стлных хидеров в заголовках ), но тут надо просто себя сдерживать. Хотя я работал на одну контору, ведущий программист в которой переписал половину буста и вся контора этим гордилась. Потом программиста не стало, что сейчас с ними не знаю.


H>1) Boost неоднороден по качеству, некоторые либы блестящи, некоторые без ужаса смотреть сложно

Кстати, да. Но это начинаешь понимать с некоторого своего уровня, фанаты буста чаще либо обожествляют его
H>2) Boost не создает видимость цельного продукта, как например Qt, нет единого стиля и видения
Да нет, бустовый стиль достаточно
H>3) Boost был крайне монолитен. Попытка заюзать класс Date (не помню, давно было) привела к 20Mb зависимостей и резкому увеличению времени компилляции
Да все нужные вещи в хидерах, если видишь цпп, то класс чаще всего какашка.
H>4) Boost тормознуто компилится, вот с Qt в этом плане лучше
Весь буст тормознуто конечно, но зачем он весь нужен? Кутя тормознуто работает, во всяком случае работала пару лет назад.
H>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше
Нет, просто стараются дать как можно более гибкое решение. Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.
H>6) Злоупотребление шаблонами. Qt использует шаблоны где требуется. Boost использует шаблоны везде.
H>7) Boost не создает желания использовать его в проектах когда фреймворк не навязывается. Не цепляет
Спорно когда к нему привыкаешь без него дико неудобно. Также как и QT С другой стороны, к нему очень быстро привыкаешь и жить без него сложно. Я помню, как один мой сотрудник пытался протащить буст для компиляции под устройство. Так-то он нормальный парень, а тут что-то страшно ему без буста стало.
<Подпись удалена модератором>
Re[3]: почему такая нелюбовь к boost ?
От: Just Men  
Дата: 19.06.12 12:29
Оценка:
Здравствуйте, Handie, Вы писали:

JM>>Я например считаю, что чем больше высокуровневых библиотек используется, особенно не мега звездами программирования, тем более медленный код получается, и тем больше он жрет памяти. Просто люди вместо того что бы написать


H>Вот у меня проект работает на 32 процессорном сервере. Вы когда-нибудь видели 32 процессорную машину нагруженную хотя-бы наполовину? При писании на голом С/С++ время разработки увеличивается до 5-10 раз. оптимизация зачастую наносит куда больше вреда, чем пользы.


Вы знаете я вот тоже как раз высокопроизводительными штуками занимаюсь. И давно уже — больше 10 лет точно. И вот сравнительно недавно пришел к выводу, что крайне ... еще раз крайне мало задач поддается качественному распараллеливанию. В среднем в лучшем случае удается получить выигрыш в 20-30%. Но процессора при этом загруженны на 100%. Скажете значит плохо распараллеливали, да плохо то такие современные алгоритмы. Видел много решений где делается распараллеливание ради самого только распараллеливания.

Спорить тут я уверен можно долго, конечно есть задачи где все распаралеливаеться отлично, да они есть. Особенно там где много пользователей паралельно. Но задачи где нужно получить просто один результат, если глубоко в думаться, не имеют готовых алгоритмов для эфетивного распаралеливания.

Поэтому сразу говорю, это вот такое мое вымученное за годы мнение. Так что спорить не буду.

H>"Медленный код" — это любимая фраза преждевременных оптимизаторов. Мне плевать на "медленный" код, Time-To-Market куда важнее.


Возможно. Но задача не всегда так стоит. А часто стоит так что надо либо оптимально либо ни как не надо.
Просто человек.
Re[3]: почему такая нелюбовь к boost ?
От: vsb Казахстан  
Дата: 19.06.12 12:50
Оценка:
Здравствуйте, denisko, Вы писали:

D>На мой взгляд, буст очень похож на плюсы. Он громоздкий, не слишком удобный, требуют кучу часов на освоение, но когда ты освоился, ты можешь очень быстро делать кучу вещей, которые с никаким другим инструментом делать не сможешь. К бусту рано или поздно приходит любой плюсовик, но остаются немногие. Кто остается, то сначала начинает читать, потом может переписать часть библиотеки под свою задачу, если потребуется. Может служить косвенным признаком квалификации программиста. С другой стороны, есть проблема, что многие очень любят переписывать буст для своих конкретных нужд при первой же ситуации, когда они чего-то в кодн не понимают(я в свое время под себя архив переписал, для меня получилось лучше и менее тормознуто и без стлных хидеров в заголовках ), но тут надо просто себя сдерживать. Хотя я работал на одну контору, ведущий программист в которой переписал половину буста и вся контора этим гордилась. Потом программиста не стало, что сейчас с ними не знаю.


Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу. Неужели это всё впустую? Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?
Re[4]: почему такая нелюбовь к boost ?
От: Just Men  
Дата: 19.06.12 12:54
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу. Неужели это всё впустую? Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?


!!!! Как это требует настолько большой квалификации чтобы разобраться, то есть если квалификация низкая то придется переписать!
Просто человек.
Re[4]: почему такая нелюбовь к boost ?
От: denisko http://sdeniskos.blogspot.com/
Дата: 19.06.12 12:56
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, denisko, Вы писали:


D>>На мой взгляд, буст очень похож на плюсы. Он громоздкий, не слишком удобный, требуют кучу часов на освоение, но когда ты освоился, ты можешь очень быстро делать кучу вещей, которые с никаким другим инструментом делать не сможешь. К бусту рано или поздно приходит любой плюсовик, но остаются немногие. Кто остается, то сначала начинает читать, потом может переписать часть библиотеки под свою задачу, если потребуется. Может служить косвенным признаком квалификации программиста. С другой стороны, есть проблема, что многие очень любят переписывать буст для своих конкретных нужд при первой же ситуации, когда они чего-то в кодн не понимают(я в свое время под себя архив переписал, для меня получилось лучше и менее тормознуто и без стлных хидеров в заголовках ), но тут надо просто себя сдерживать. Хотя я работал на одну контору, ведущий программист в которой переписал половину буста и вся контора этим гордилась. Потом программиста не стало, что сейчас с ними не знаю.


vsb>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу. Неужели это всё впустую? Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?

1) Смочь написать что-то наподобие буста и в том же стиле многим кажется крутым.
2) Буст писали не боги, где-то есть явные косяки (та же сериализация).
<Подпись удалена модератором>
Re: почему такая нелюбовь к boost ?
От: TimurSPB Интернет  
Дата: 19.06.12 13:00
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Походил тут по собеседованиям, почти везде НЕ используют boost.

N>В прошлом проекте (на работе) я насильно привил boost и вроде никто не жаловался, в своих же проектах без boost никуда.
N>Либе уже 1.50 скоро исполниться, а аргумент у всех один и тот же... "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру".
N>А на вопрос ну так что лучше писать свои велосипеды а потом там ловить баги, отвечают как то невнятно.
N>В одной конторе спросили: "А если у вас забрать boost вы сможете писать код?", блин странные вопросы люди задают.

N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?


А что за конторы? Если пишут кросплатформенные продукты на С++, то подозрительно. Если это сопровождение 1С, то закономерно.
Make flame.politics Great Again!
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 19.06.12 13:05
Оценка:
TSP>А что за конторы? Если пишут кросплатформенные продукты на С++, то подозрительно. Если это сопровождение 1С, то закономерно.

Одесские конторы, имена называть не буду. Продукты почти у всех кроссплатфоменные, в основном win/lin
Re[5]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 13:08
Оценка:
D>Предложи свой вариант библиотеки. Я если честно слабо представляю, как можно на плюсах написать меньше буковок.

На Qt будет один экран. Писать не буду — не хочу
Re[4]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 19.06.12 13:17
Оценка:
N>>зачем мне холодильник если я не курю.
R>я чо-то не осилил полет мысли
R>зачем мне такая либа на c++, которую нужно не по децки затачивать под каждый компилер c++ из доступных мне ?

Вы boost-ом пользовались?
Вам затачивать ничего не нужно, вы же сами сказали что все workaround внутри boost и забота это того кто эту библиотеку из boost поддерживает.

Да.. косяки есть с компиляторами. Например из того что правил последний раз (XCode и phoenix для iOS)
Автор: nen777w
Дата: 27.05.12
, но опять таки правил через используя тот же boost::bind.
В связке XCode — OSX таких проблем вобще нет, но это прошу учесть что на сайте boost не заявлено что он для iOS собираться должен, а он тем не менее собирается и работает.
Re[5]: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 19.06.12 13:21
Оценка:
D>Предложи свой вариант библиотеки. Я если честно слабо представляю, как можно на плюсах написать меньше буковок.

ACE ?
в 104 cтроки например
паранойя не болезнь, а критерий профпригодности
Re[5]: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 19.06.12 13:25
Оценка:
N>Вы boost-ом пользовались?
мы пользовались. надеюсь никогда больше не

N>Вам затачивать ничего не нужно, вы же сами сказали что все workaround внутри boost и забота это того кто эту библиотеку из boost поддерживает.

N>Да.. косяки есть с компиляторами. Например из того что правил последний раз (XCode и phoenix для iOS)
Автор: nen777w
Дата: 27.05.12

мыши плакали, кололись, но продолжали грызть кактус (c)
паранойя не болезнь, а критерий профпригодности
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 14:34
Оценка:
Здравствуйте, Шубин Евгений, Вы писали:

ШЕ>Плюс есть люди, которые считают, что исключения — зло. Исключения активно используются в бусте.

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

ШЕ>То же самое с шаблонами (лучше макросы ).

Шаблонов как и макросов ИМХО должно быть вмеру.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 14:34
Оценка:
Здравствуйте, denisko, Вы писали:

H>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше

D>Нет, просто стараются дать как можно более гибкое решение.
Эта "гибкость" часто приводит к нескольким вещам: без бутылки не разберёшься, работает медленнее чем такой же велосипед, хрен что починишь если сломано.

D>Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.

Увы, но ИМХО есть.

D>Я помню, как один мой сотрудник пытался протащить буст для компиляции под устройство. Так-то он нормальный парень, а тут что-то страшно ему без буста стало.

ИМХО плох тот программер который не сможет сам реализовать нужные ему хелперы.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[4]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 14:34
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу.

В результате чтоб разобраться как ЭТО адаптировать и почему оно не компилится выдавая километр ошибок приходится тратить тонны времени.

vsb>Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?

Именно! Порой реализовать аналогичный функционал куда проще чем разобраться с тем, что в бусте вокруг него навернули "для удобства".
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 14:34
Оценка:
Здравствуйте, Just Men, Вы писали:

vsb>>Странно. Ведь все эти миллионы шаблонов сделаны для того, чтобы нужные классы можно было адаптировать под свою задачу. Неужели это всё впустую? Или требует настолько большой квалификации, что многим проще переписать, чем разобраться?

JM>!!!! Как это требует настолько большой квалификации чтобы разобраться, то есть если квалификация низкая то придется переписать!
Объясняю: чтоб написать core functionality может быть нужна относительно высокая квалификация в предметной области. Она как правило у опытных людей есть. А вот разобраться в нагромождении шаблонов над ней надо квалификация писать и читать такие вот многоэтажные нагромождения, что как правило у вменяемых людей отсутствует — они стараются писать максимально просто.
Разный скилл нужен в общем. Для использования бывает надо быть укушеным Александреску.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[2]: почему такая нелюбовь к boost ?
От: redp Ниоткуда redplait.blogspot.com
Дата: 19.06.12 14:47
Оценка:
Т>Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии).
Т>Только из собственного опыта два раза видел когда обновление буста ломало старый код, на бусте основанный.
Т>В общем причин достаточно, другой момент что не все напарываются на баги и глюки буста в критичном для них месте.
Т>Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы.
Т>Те кто напарывался — стараются его больше не использовать.
+100500
паранойя не болезнь, а критерий профпригодности
Re[4]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 19.06.12 14:53
Оценка:
Здравствуйте, Трололоша, Вы писали:
Т>Шаблонов как и макросов ИМХО должно быть вмеру.
Вот только не надо жабу делать из плюсов.
Сало Украине, Героям Сала
Re[4]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 19.06.12 15:01
Оценка:
Здравствуйте, Handie, Вы писали:

H>Сравним код:


H>Node.js — 8 строк


у asio другая цель..

а так, для примера:
http://pocoproject.org/slides/200-Network.pdf
Re[5]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 19.06.12 15:14
Оценка:
H>>Node.js — 8 строк

P>у asio другая цель..


Это какая же? У node цель сделать первокласную асинхронную работу с сетью. А у ASIO? Сделать программеров седыми?
Re[2]: почему такая нелюбовь к boost ?
От: Flat117  
Дата: 19.06.12 15:46
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы.

А кого ты будешь прищучивать в случае коммерческой либы?! Ты лицензию этой либы читал?! Там слова "AS IS" есть.
Re[6]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 19.06.12 16:25
Оценка:
Здравствуйте, Handie, Вы писали:

H>>>Node.js — 8 строк

P>>у asio другая цель..
H>Это какая же? У node цель сделать первокласную асинхронную работу с сетью. А у ASIO? Сделать программеров седыми?

Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.


Re[2]: почему такая нелюбовь к boost ?
От: Just Men  
Дата: 19.06.12 16:41
Оценка:
Здравствуйте, Ulter, Вы писали:

U>Мне кажется, проблема в том, что никто не написал простую и понятную книгу с обзором возможностей буста, как это в свое время сделал страуструп по C++ и STL. А во всяких наворотах, а-ля александреску, большинству копаться лень...


Да не лень, просто буст не надо! Ну не надо. Зачем его "делают" я не знаю. Наверно просто интересно.
Просто человек.
Re[4]: почему такая нелюбовь к boost ?
От: savitar  
Дата: 19.06.12 17:05
Оценка:
Здравствуйте, Handie, Вы писали:

H>Сравним код:


H>Node.js — 8 строк


H>
H>var net = require('net');

H>var server = net.createServer(function (socket) {
H>  socket.write('Echo server\r\n');
H>  socket.pipe(socket);
H>});

H>server.listen(1337, '127.0.0.1');
H>


H>Аналог на Boost ASIO — 137 строк

H>скипнуто

сравнивай содержимое net с кодом на Boos.Asio, а не использование готовой либы.
EchoServer echoServer(port);

а то этот код на C++ (безотносительно Boost'a) вполне может оказаться ехосервером в одну строчку, главное правильный инклюд сделать.
Re[4]: почему такая нелюбовь к boost ?
От: denisko http://sdeniskos.blogspot.com/
Дата: 19.06.12 17:34
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, denisko, Вы писали:


H>>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше

D>>Нет, просто стараются дать как можно более гибкое решение.
Т>Эта "гибкость" часто приводит к нескольким вещам: без бутылки не разберёшься, работает медленнее чем такой же велосипед, хрен что починишь если сломано.
Да не, буст построен на 3-4 приемах. Если их знать все читается легко, не хуже stl.

D>>Переусложнизма там особого нет. В некоторых частях есть долбодятлизм, когда автор не умеет использовать подходы, которые использует, но типа хочет всем показать какой он крутой. Но таких мест очень мало.

Т>Увы, но ИМХО есть.

D>>Я помню, как один мой сотрудник пытался протащить буст для компиляции под устройство. Так-то он нормальный парень, а тут что-то страшно ему без буста стало.

Т>ИМХО плох тот программер который не сможет сам реализовать нужные ему хелперы.
Совсем имхо, что в 4 кб озу и 96 кб кода вкорячивать кучу хелперов занятие довольно трансцендентное.
<Подпись удалена модератором>
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 17:44
Оценка:
Здравствуйте, Mr.Delphist, Вы писали:

Т>>Большая, тяжёлая, глючная. Чинить в ней баги просто атас. Бывало роняла компиляторы (2003й студии).

MD>Ну, 2003-й компиль уронить — нефиг делать. Старина Александреску это делает на раз. Даже скорее на ра...
Ну я просто где то с тех пор с бустом практически не сталкиваюсь. Может и более новые роняет.

MD>Лучше выкусывать из неё только нужные куски и класть в отдельную папочку 3rdparty/boost, и под сорс-контрол её.

Именно!
В свете некоторых прошлых проблем я б ещё и под regression tests их бы запихивал. А то сделаешь как нить апдейт ради исправления найденного бага а там кроме фикса внутри ещё и сюрприз.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 17:44
Оценка:
Здравствуйте, Flat117, Вы писали:

Т>>Буст либа не коммерческая, никого нельзя прижучить чтоб максимально быстро исправили баг. Если глючит — колупайся и чини сам. А там внутрях адЪ и усеницы.

F>А кого ты будешь прищучивать в случае коммерческой либы?! Ты лицензию этой либы читал?! Там слова "AS IS" есть.
Драсте! Ты коммерческие либы вообще видел? Там саппорт включён, если что.
As is относится к тому, что они не отвечают за damage. А баги фиксить их заставлять можно только в путь.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 17:44
Оценка:
Здравствуйте, vpchelko, Вы писали:

Т>>Шаблонов как и макросов ИМХО должно быть вмеру.

V>Вот только не надо жабу делать из плюсов.
Как можно из кошерных плюсов сделать богомерзскую жаббу?
Али ты под плюсами понимаешь исключительно горячечный бред в полнолуние пациента, укушенного Александреску?
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 19.06.12 17:57
Оценка:
Здравствуйте, denisko, Вы писали:

H>>>>5) Boost страдает переусложнизмом и синдромом читателей книги Александреску. давайте сделаем так, чтобы никто понять не мог чего мы ваще написали. Давайте сдесь забахаем паттерны и побольше

D>>>Нет, просто стараются дать как можно более гибкое решение.
Т>>Эта "гибкость" часто приводит к нескольким вещам: без бутылки не разберёшься, работает медленнее чем такой же велосипед, хрен что починишь если сломано.
D>Да не, буст построен на 3-4 приемах.
Его писали разные люди в разное время. Какие там 3-4 приёма, inconsistent почти всё и везде. Общая стилистика просматривается но это слабо помогает.

D> Если их знать все читается легко, не хуже stl.

STL как по мне так читается ужасно. По крайней мере та, что в комплекте с MSVC.

D>>>Я помню, как один мой сотрудник пытался протащить буст для компиляции под устройство. Так-то он нормальный парень, а тут что-то страшно ему без буста стало.

Т>>ИМХО плох тот программер который не сможет сам реализовать нужные ему хелперы.
D>Совсем имхо, что в 4 кб озу и 96 кб кода вкорячивать кучу хелперов занятие довольно трансцендентное.
А буст туда вкорячить будет менее трансцендентно?
По мне так при таких входных условиях требуемые хелперы надо аккуратно надфилем вытачивать, предварительно хорошо продумав архитектуру.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re: почему такая нелюбовь к boost ?
От: SingleUseAccount  
Дата: 19.06.12 18:13
Оценка:
Здравствуйте, nen777w, Вы писали:
N>Походил тут по собеседованиям, почти везде НЕ используют boost.

У нас вот убогий компилятор и рантайм, где исключения и rtti нельзя.
В предыдущей конторе boost использовали по полной. Для домашних проектов тоже пользую, хотя дома предпочитаю не C++, ибо свое время дороже.
Re[2]: почему такая нелюбовь к boost ?
От: savitar  
Дата: 19.06.12 19:07
Оценка:
Здравствуйте, SingleUseAccount, Вы писали:

SUA>У нас вот убогий компилятор и рантайм, где исключения и rtti нельзя.

SUA>В предыдущей конторе boost использовали по полной. Для домашних проектов тоже пользую, хотя дома предпочитаю не C++, ибо свое время дороже.

а BOOST_NO_RTTI & BOOST_NO_EXCEPTIONS в таком случае не помогут? или не во всех либах можно обойтись без них?
Re[6]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 19.06.12 20:16
Оценка:
Здравствуйте, Трололоша, Вы писали:
Т>Как можно из кошерных плюсов сделать богомерзскую жаббу?
Жаба рулит синтаксисом. Но исключения там в тему и не в тему используются.
Сало Украине, Героям Сала
Re[2]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 20.06.12 04:14
Оценка:
Здравствуйте, Ulter, Вы писали:

U>Мне кажется, проблема в том, что никто не написал простую и понятную книгу с обзором возможностей буста, как это в свое время сделал страуструп по C++ и STL. А во всяких наворотах, а-ля александреску, большинству копаться лень...


Написали, и не одну, посмотри на Амазоне.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: почему такая нелюбовь к boost ?
От: Sni4ok  
Дата: 20.06.12 06:09
Оценка:
Здравствуйте, Handie, Вы писали:

H>Вот у меня проект работает на 32 процессорном сервере.


оффтопик, но уж больно интересно- что за монстр такой?
Re[2]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 20.06.12 06:36
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)


В данный момент засовываю его в Андроид. Лезет. Скрипит, но лезет
www.blinnov.com
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 20.06.12 06:42
Оценка:
Здравствуйте, __kot2, Вы писали:

__>Здравствуйте, nen777w, Вы писали:

N>>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?
__>а какие проблемы решает буст?

__>хорошо, а теперь — есть ли эти проблемы в вашем проекте? никаких? зачем вам тогда буст?


Хорошо, дл примера кое что что использую я:
boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?
ну да, разве что там где требуется большая скорость обработки данных, например в audio I/O в остальном же boost решает эту задачу проще.
boost::preprocessor — ну тут вообще говорить много не нужно, сколько я кода навернул на нём, во общем must have вообще всегда.
boost::serialization — есть конечно специфика, тут от архитектуры проекта зависит. Я на "несподiванки" не нарывался пока. За трекинг указателей вообще жирный +.
boost::algorithm — многа многа многа велосипедов
boost::thread/filesystem — для кросс платформенного программирования то что нужно, был очень приятно удивлен когда это заработало и на iOS
boost::multiindex/bimap — отличная библиотека — must have, ну да, можно обойтись и набором решений из STL, но в этом случае будет так кри-ии-во, крииииво....
boost::date_time — использовал один раз, но простота понравилась — разобрался очень быстро, очень удобно что можно загружать таймзоны из внешнего файла

и многое другое, на этом пока думаю можно остановиться..
Re[3]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 20.06.12 06:47
Оценка:
UN>>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)
L>В данный момент засовываю его в Андроид. Лезет. Скрипит, но лезет

Опа. Я как раз задумываюсь про портирование на Android, можете рассказать, в двух словах, чего там ждать?
Может статья какая-то есть?
Что значит "Скрипит, но лезет"?
Re[3]: почему такая нелюбовь к boost ?
От: Nikе Россия  
Дата: 20.06.12 08:39
Оценка:
Здравствуйте, nen777w, Вы писали:

N>За трекинг указателей вообще жирный +.


Это та вещь после которой я, фактически, прекратил использовать boost
Нужно разобрать угил.
Re[6]: почему такая нелюбовь к boost ?
От: Handie  
Дата: 20.06.12 08:47
Оценка:
J>HTTP server:

J>
J>#include <boost/network/protocol/http/server.hpp>

J>struct hello_world;
J>typedef boost::network::http::server<hello_world> server;

J>struct hello_world {
J>    void operator() (server::request const &request, server::response &response) {
J>        std::string ip = source(request);
J>        response = server::response::stock_reply(
J>            server::response::ok, std::string("Hello, ") + ip + "!");
J>    }
J>};

J>int main(int argc, char * argv[]) {
J>    hello_world handler;
J>    server server_(argv[1], argv[2], handler);
J>    server_.run();
J>}
J>


Ужосы

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
Re[2]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 20.06.12 08:53
Оценка:
Здравствуйте, mike_rs, Вы писали:

_>когда буст станет стандартом, как stl,


часть библиотек буста использована в стантартной библиотеке C++11
In Zen We Trust
Re[2]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 20.06.12 08:58
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)


boost.mpl или boost.preprocessor?
не забывайте, некоторые вещи не генерят кода вообще.

scoped_ptr<T> размером с T* ?

rtfm.
In Zen We Trust
Re[7]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 20.06.12 09:18
Оценка:
Здравствуйте, Handie, Вы писали:

H>Ужосы


H>
H>var http = require('http');
H>http.createServer(function (req, res) {
H>  res.writeHead(200, {'Content-Type': 'text/plain'});
H>  res.end('Hello World\n');
H>}).listen(1337, '127.0.0.1');
H>console.log('Server running at http://127.0.0.1:1337/');
H>


Не вижу разницы, за исключением разницы самих языков — в JS не указываются типы, нету функции main и прочая — решение на С++ неизбежно будет более многословным
Да, в С++11 можно будет точно так же лямбды заюзать, как и у тебя в JS, если так уж необходимо все в один вызов утоптать.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: почему такая нелюбовь к boost ?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.06.12 10:30
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Я вот реально не понимаю, квалификации кадров не хватает что бы почитать документацию, которая кстати довольно хорошая, или просто лень?


За других не скажу, а я как-то нарывался на то, что Boost не надо, мол, использовать, потому что тогда его начнут использовать другие программисты, которые ниже квалификацией. Отсюда руководство захотело, чтобы я кромсанул Boost и чуть ли не переименовал названия классов. Честно сказать, всего букета логических выводов из такой посылки я озвучивать не стал: ну хотят — пусть развлекаются, мне-то что за корысть их отговаривать? Расстались, правда, мы достаточно скоро, но дело было совсем не в Boost.

Для меня с тех пор отношение к Boost служит определённым маркером. Если руководство начинает озвучивать откровенно иррациональные идеи — нужно драть когти. Иррациональность поведения — штука заразная и "выстрелить" может в самый неожиданный момент с самыми разрушительными последствиями, я лучше на это всё издалека посмотрю. Я не пытаюсь сказать, что Boost нужно обязательно тащить в любой проект на C++ во что бы то ни стало, просто надо прислушиваться к аргументации.

Вот, например, такой довод:

N> "Если програмер который писал на boost уйдет в отпуск или уволится этот код будет сложно поддерживать другому програмеру"


...наводит на очень серьёзные подозрения, что в этой компании вменяемым людям нечего делать. По содержанию здесь возражать невозможно, поэтому лучше пройти мимо.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 20.06.12 11:12
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>Это "заставлять" работает только если либа поставляется в сырцах.

Т>>Как раз обычно если дают сырцы то %битесь с ними как хотите.
L>Отучаемся говорить за всех (С)
Слово "обычно" там не просто так написано.

L>А вот насчет бага, вылезающего в виде аккуратного такого расстрела памяти из недр реализации сетевого протокола, причем только раз в полнолуние, когда рак на горе свистнул да на хабе колиизия моргнула, и потому никаким минимальным кодом не воспроизводящийся, вы будете переписываться с техподдержкой до второго пришествия.

Значит в таком раскладе будет дамп или ещё что либо.

L>>> Чтобы горе-девелоперов можно быть в их собственное говнецо носом ткнуть.

Т>>Вот ещё нехрен делать, искать где именно у них в коде баг. Они получают деньги за то, чтоб у нас всё работало согласно контракту.
L>Пока вы переписываетесь, ваша работа стоит, так сказать.
А то пока мы в коде чужой либы будем ковыряться работа не будет стоять?
Тут в любом случае 2 варианта: правьте сами или пусть правят авторы. В первом случае мы тратим время и ресурсы на то, чтоб найти баг в чужом коде, во втором мы тратим время но ресурсы можем направить на решение других задач, а в коде колупаются авторы.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[4]: почему такая нелюбовь к boost ?
От: Flat117  
Дата: 20.06.12 11:17
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Драсте! Ты коммерческие либы вообще видел? Там саппорт включён, если что.

Т>As is относится к тому, что они не отвечают за damage. А баги фиксить их заставлять можно только в путь.
И прописано время фиксения бага?
Re: почему такая нелюбовь к boost ?
От: java_coder771  
Дата: 20.06.12 11:26
Оценка:
N>Походил тут по собеседованиям, почти везде НЕ используют boost.

потому что они идиоты
не помню кто писал "подсадили меня на этот наркотик, теперь приходится посылать лесом все конторы где буст запрещен"(с)
Re[4]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 20.06.12 13:20
Оценка:
Здравствуйте, nen777w, Вы писали:

UN>>>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)

L>>В данный момент засовываю его в Андроид. Лезет. Скрипит, но лезет

N>Опа. Я как раз задумываюсь про портирование на Android, можете рассказать, в двух словах, чего там ждать?


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

N>Может статья какая-то есть?


В интернетах имеется несколько статей о сборке буста под андроид (здесь, например), и даже пара полузабытых портов буста на андроид. Но, они уже пару лет не обновлялись, а с тех пор вышел как новый NDK, так и новый буст. Новый NDK-r8 делает сборку несколько проще, ибо позволяет создать standalone build environment, а также наконец разрешает exceptions и libstdc++, но многие из имеющихся советов или портов уже не собираются.

Мне нужно было использовать asio. Она хоть и header only, но требует собранной boost::system. Используя вышеприведенную статью, мне удалось собрать блиотеки буста, не все, конечно, и с ворнингами. Потребовался специальный конфиг и правка одного jam-скрипта.

Я также тестовую аппликуху с использованием asio под андроид. Но вот незадача — протестировать в реале пока руки не доходят (поручикам молчать!).

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

N>Что значит "Скрипит, но лезет"?


С header-only либами проблем меньше (там же честный gcc!). Пляски с бубном начинаются, когда трбуется pre-built либа.
www.blinnov.com
Re[3]: почему такая нелюбовь к boost ?
От: __kot2  
Дата: 20.06.12 17:09
Оценка:
во-первых я бы хотел добавить, что буст это хорошая библиотека. как танк, например, хорошее транспортное средство. но если вам нужно ехать в магаз за продуктами, то танк вам просто не нужен. я участвовал в десятках разных проектов. могут сказать, что буст был не нужен почти во всех. то есть можно было сделать и с ним, но зачем? он ничего не упрощал, делал бы подготовку компа к разработке геморройней и дольше

Здравствуйте, nen777w, Вы писали:
N>Хорошо, дл примера кое что что использую я:
N>boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?
N>ну да, разве что там где требуется большая скорость обработки данных, например в audio I/O в остальном же boost решает эту задачу проще.
callbackи сами по себе очень кривая архитектурная идея. они сейчас нигде почти не используются, кроме как раз типа audio io

N>boost::preprocessor — ну тут вообще говорить много не нужно, сколько я кода навернул на нём, во общем must have вообще всегда.

N>boost::serialization — есть конечно специфика, тут от архитектуры проекта зависит. Я на "несподiванки" не нарывался пока. За трекинг указателей вообще жирный +.
что-то как-то слишком абстрактно. я с ними никогда не работал. я вообще не люблю код, который препроцессится — его отлаживать тяжело. причем не столько при написании, сколько когда чужой код разбираешь

N>boost::algorithm — многа многа многа велосипедов

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

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

N>boost::thread/filesystem — для кросс платформенного программирования то что нужно, был очень приятно удивлен когда это заработало и на iOS

да, мне там thread нравится. но, опять же, в реальных кроссплатформенных проектах его не используют. во-первых, чтобы работать с iOS и прочим без удивления. во-вторых, гибкость — насколько я помню, у буста реализован какой-то сильно обрезанный ф-ал работы с потоками.

N>boost::multiindex/bimap — отличная библиотека — must have, ну да, можно обойтись и набором решений из STL, но в этом случае будет так кри-ии-во, крииииво....

полезно. но не всегда нужно

N>boost::date_time — использовал один раз, но простота понравилась — разобрался очень быстро, очень удобно что можно загружать таймзоны из внешнего файла

тоже полезно. но, опять же, редко
Re[9]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 20.06.12 20:01
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>>>А вот насчет бага, вылезающего в виде аккуратного такого расстрела памяти из недр реализации сетевого протокола, причем только раз в полнолуние, когда рак на горе свистнул да на хабе колиизия моргнула, и потому никаким минимальным кодом не воспроизводящийся, вы будете переписываться с техподдержкой до второго пришествия.

Т>>Значит в таком раскладе будет дамп или ещё что либо.
L>
См выделенное.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 20.06.12 20:01
Оценка:
Здравствуйте, Flat117, Вы писали:

Т>>Драсте! Ты коммерческие либы вообще видел? Там саппорт включён, если что.

Т>>As is относится к тому, что они не отвечают за damage. А баги фиксить их заставлять можно только в путь.
F>И прописано время фиксения бага?
Зависит от контракта.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[3]: почему такая нелюбовь к boost ?
От: michae1  
Дата: 20.06.12 21:34
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, mike_rs, Вы писали:


_>>когда буст станет стандартом, как stl,


A>часть библиотек буста использована в стантартной библиотеке C++11


Если не ошибаюсь, эти части были неслабо переписаны (те же shared_ptr)
Re[2]: почему такая нелюбовь к boost ?
От: michae1  
Дата: 20.06.12 21:41
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>Здравствуйте, nen777w, Вы писали:


Т>Не так давно видел создание и чтение XML файлов через boost::property_tree — ИМХО за такое надо нещадно пиз...ть!


а что не так с чтением? в зависимости от задачи, это может быть довольно удобно.
Re[4]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 20.06.12 21:56
Оценка:
__>Здравствуйте, nen777w, Вы писали:
N>>Хорошо, дл примера кое что что использую я:
N>>boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?
N>>ну да, разве что там где требуется большая скорость обработки данных, например в audio I/O в остальном же boost решает эту задачу проще.
__>callbackи сами по себе очень кривая архитектурная идея. они сейчас нигде почти не используются, кроме как раз типа audio io

Ладно... Пррримеррр-р-рр.
Програмисту Васе нужно написать класс таймера с калбеком.
Вася знает boost и пишет так:
#include "boost/function.hpp"

class timer
{
public:
  template< typename F >
  void subscribe( F fn ) { m_callback = fn; }

private:
  void tick() {
    ....
    m_callback( ++m_tick_number );
  } 

private:
  typedef boost::function<void(unsigned int /*tick*/)> callback_fn_t;
  callback_fn_t m_callback;
  unsigned int m_tick_number;
}


Програмисту Пете понадобилось ещё передать в этот калбек парочку своих параметров.
Програмист Петя не изменяя кода програмиста Васи пишет:

class C {
  void foo( int tick, int arg1, int& arg2 ) {}
private:
  timer m_timer;
};

...
int c;
m_timer.subscribe( boost::bind( &C::foo, this, _1, 10, boost::ref(c)) );


Теперь вопрос, как бы программисту Васе пришлось бы извернуться что бы обеспечить таймер под все возможные сигнатуры каллбеков программиста Пети, не используя boost ?
Re[3]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 21.06.12 00:12
Оценка:
Здравствуйте, michae1, Вы писали:

Т>>Не так давно видел создание и чтение XML файлов через boost::property_tree — ИМХО за такое надо нещадно пиз...ть!


M>а что не так с чтением? в зависимости от задачи, это может быть довольно удобно.


А что не так с записью? Записать имеющиеся данные в определенном формате все-таки гораздо легче, чем считать их из формата, который не поддерживается полностью, так как сам можешь выбрать необходимое подмножество формата.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[6]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 21.06.12 00:16
Оценка:
Здравствуйте, Хвост, Вы писали:

Х>Здравствуйте, landerhigh, Вы писали:


L>>Мне нужно было использовать asio. Она хоть и header only, но требует собранной boost::system. Используя вышеприведенную статью, мне удалось собрать блиотеки буста, не все, конечно, и с ворнингами. Потребовался специальный конфиг и правка одного jam-скрипта.


Х>asio существует и в виде stand-alone проекта, который afaik header-only и никаких дополнительных зависимостей не требует.


Ой! Знаешь, что самое смешное в этой истории? Совсем еще недавно Крис работал за соседним с моим столом, и он нам даже давал презентации по бусту и асио. И при этом даже не раскололся, что у него же есть версия асио, свободная от буста. Партизан, одним словом
www.blinnov.com
Re[3]: почему такая нелюбовь к boost ?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 21.06.12 00:49
Оценка:
Здравствуйте, nen777w, Вы писали:

N>boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?


Как же я хотел оторвать руки человеку, который использовал boost::bind + boost::function в кроссплатформенном проекте и засунуть их ему в выпоняликуда, когда пробирался через все эти boost::bind в консольном GDB

N>ну да, разве что там где требуется большая скорость обработки данных, например в audio I/O в остальном же boost решает эту задачу проще.


Ты только не забывай о том, что Visual Studio есть только на одной платформе, с которой работают далеко не все.
Re[2]: почему такая нелюбовь к boost ?
От: SkyDance Земля  
Дата: 21.06.12 00:55
Оценка:
ГВ>За других не скажу, а я как-то нарывался на то, что Boost не надо, мол, использовать, потому что тогда его начнут использовать другие программисты, которые ниже квалификацией. Отсюда руководство захотело, чтобы я кромсанул Boost и чуть ли не переименовал названия классов. Честно сказать, всего букета логических выводов из такой посылки я озвучивать не стал: ну хотят — пусть развлекаются, мне-то что за корысть их отговаривать? Расстались, правда, мы достаточно скоро, но дело было совсем не в Boost.

Ситуация до боли знакомая. Меня так в одной (весьма большой и известной в Москве!) конторе заставили выкусить из Boost'а некоторые библиотеки (smart pointer'ы и что-то еще, не помню точно что), переименовать классы и т.п.. Перед этим были продолжительные беседы на тему "почему велосипеды — это хорошо", тянулось где-то с полгода. Во, я даже на RSDN, помню, заводил тред: этот
Автор: SkyDance
Дата: 19.04.05
.

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

PS: помню, после битвы за smart pointers, последовало сражение за exceptions. Не знаю, чем оно закончилось, ибо из компании ушел.
Re[7]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 21.06.12 02:10
Оценка:
Здравствуйте, landerhigh, Вы писали:

Х>>asio существует и в виде stand-alone проекта, который afaik header-only и никаких дополнительных зависимостей не требует.


L>Ой! Знаешь, что самое смешное в этой истории? Совсем еще недавно Крис работал за соседним с моим столом, и он нам даже давал презентации по бусту и асио. И при этом даже не раскололся, что у него же есть версия асио, свободная от буста. Партизан, одним словом


Видимо, он предполагал, что это и так все знают...
http://blog.think-async.com/2008/05/boostasio-vs-asio.html
2008 год
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[8]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 21.06.12 02:22
Оценка:
Здравствуйте, jazzer, Вы писали:


J>Видимо, он предполагал, что это и так все знают...

J>http://blog.think-async.com/2008/05/boostasio-vs-asio.html
J>2008 год

Хех. Сколько нам открытий чудных
www.blinnov.com
Re[4]: почему такая нелюбовь к boost ?
От: enji  
Дата: 21.06.12 02:54
Оценка:
Здравствуйте, Handie, Вы писали:

H>Сравним код:


H>Node.js — 8 строк


H>Аналог на Boost ASIO — 137 строк


Ну какой-же это аналог? Ты сравниваешь синхронный код с асинхронным. Синхронный на asio значительно проще.
А во вторых ты сравниваешь высокоуровневую либу и низкоуровневую. Если взять cpp-netlib, то сервер на ней будет таким
Re[4]: почему такая нелюбовь к boost ?
От: enji  
Дата: 21.06.12 03:13
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, nen777w, Вы писали:


N>>boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?


KP>Как же я хотел оторвать руки человеку, который использовал boost::bind + boost::function в кроссплатформенном проекте и засунуть их ему в выпоняликуда, когда пробирался через все эти boost::bind в консольном GDB


Не брался еще за gdb вплотную, но мне это предстоит. Насколько я понимаю, с 7.0 есть pretty printers на питоне.

С gdb кстати проблема далеко не только в boost, stl тоже нифига не поддерживается из коробки...

И кстати почему консольный gdb? Есть же всякие эклипсы и ко...
Re[5]: почему такая нелюбовь к boost ?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 21.06.12 03:18
Оценка:
Здравствуйте, enji, Вы писали:

E>Не брался еще за gdb вплотную, но мне это предстоит. Насколько я понимаю, с 7.0 есть pretty printers на питоне.


На Маке нету.

E>С gdb кстати проблема далеко не только в boost, stl тоже нифига не поддерживается из коробки...


С STL проблема легко решается.

E>И кстати почему консольный gdb? Есть же всякие эклипсы и ко...


Потому что системный демон. Как показали эксперименты — консольный GDB самый просто путь.
Re[6]: почему такая нелюбовь к boost ?
От: enji  
Дата: 21.06.12 03:29
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, enji, Вы писали:


E>>Не брался еще за gdb вплотную, но мне это предстоит. Насколько я понимаю, с 7.0 есть pretty printers на питоне.


KP>На Маке нету.


У меня кросс-gdb для арма, из коробки тоже нету поддержки этой возможности. Однако планирую пересобрать gdb сам и ее включить. Для мака так сделать нельзя?

E>>С gdb кстати проблема далеко не только в boost, stl тоже нифига не поддерживается из коробки...


KP>С STL проблема легко решается.


А как? И в чем проблема также решить ее с бустом?
Re[7]: почему такая нелюбовь к boost ?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 21.06.12 03:39
Оценка:
Здравствуйте, enji, Вы писали:

E>У меня кросс-gdb для арма, из коробки тоже нету поддержки этой возможности. Однако планирую пересобрать gdb сам и ее включить. Для мака так сделать нельзя?


Я обдумывал такую возможность, но уперся в то, что GDB на Маке довольно сильно модифицирован Эпплом. Ну а так как глубоко копать эту тему небыло ни времени ни желания, то бросил.

KP>>С STL проблема легко решается.


E>А как? И в чем проблема также решить ее с бустом?


Для GDB я находил набор скриптов для вывода значений стандартных контейнеров. Проблема не в связке BOOST + GDB, а в boost::bind/boost::function + GDB, так как при ее использовании, пройтись по функциям отладчиком становится крайне трудно, а стеки вызовов начинают напоминать шутки про Java.
Re[5]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 21.06.12 04:02
Оценка:
Здравствуйте, enji, Вы писали:

E>А во вторых ты сравниваешь высокоуровневую либу и низкоуровневую. Если взять cpp-netlib, то сервер на ней будет таким


+1. Причем клиентский код вообще в одну строчку можно записать:
// The client sends an HTTP request to the server, and the output is printed to the console.
cout << body(client().get(client::request("http://www.boost.org/")));
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: почему такая нелюбовь к boost ?
От: Alexéy Sudachén Чили  
Дата: 21.06.12 04:31
Оценка:
H>Сравним код:
H>Node.js — 8 строк
H>Аналог на Boost ASIO — 137 строк

Ой, жабаскрипт против сисек! Тогда можно и я вас потроллю? Ну, немножечко ))) Всего каких-то 40 строк на С.

#include <tcpip.hc>
#include <prog.hc>

typedef struct SESSION {
  YOYO_TCPSOK *sok;
  byte_t bf[128];
} SESSION;

void SESSION_Destruct(SESSION *sst) {
  __Unrefe(sst->sok);
  __Destruct(sst);
}

int Cbk_Recv(SESSION *sst, int status, int count);
int Cbk_Send(SESSION *sst, int status) {
  if ( !ASIO_ST_SUCCEEDED(status) ) return 0;
  return Tcp_Asio_Recv(sst->sok,sst->bf,sizeof(sst->bf),1,sst,Cbk_Recv);
}

int Cbk_Recv(SESSION *sst, int status, int count) {
  if ( !ASIO_ST_SUCCEEDED(status) ) return 0;
  if ( !strncmp_I(sst->bf,"exit",Yo_Minu(count,4)) ) exit(0);
  return Tcp_Asio_Send(sst->sok,sst->bf,count,sst,Cbk_Send);
}
  
int Cbk_Accept(void *srv, int status, YOYO_TCPSOK *sok) {
  static char echo[] = "Echo server\r\n";
  SESSION *sst;
  if ( !ASIO_ST_SUCCEEDED(status) ) return 0;
  Tcp_Asio_Accept(srv,srv,Cbk_Accept);
  sst = __Object_Dtor(sizeof(SESSION),SESSION_Destruct);
  sst->sok = __Refe(sok);
  return Tcp_Asio_Send(sok,echo,sizeof(echo)-1,sst,Cbk_Send);
}

int main(int argc, char **argv) {
  YOYO_TCPSOK *srv;
  Prog_Init(argc,argv,"p:|port:,h|host:",0);
  srv = Tcp_Listen(TCPSOK_ASYNC,Prog_First_Opt("h","127.0.0.1"),Prog_First_Opt_Int("p",1337),0);
  Tcp_Asio_Accept(srv,srv,Cbk_Accept);
  while( Asio_Perform_IO(10,0) );
}
Re[4]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 21.06.12 07:57
Оценка:
N>>boost::bind + boost::function — кривые callback с голыми указателями на фнукции, и дополнительными void* аргументами?
KP>Как же я хотел оторвать руки человеку, который использовал boost::bind + boost::function в кроссплатформенном проекте и засунуть их ему в выпоняликуда, когда пробирался через все эти boost::bind в консольном GDB

Да ладно, я не утверждаю, т.к. с консольным GDB дело иметь не приходилось, но наверняка там есть что то вроде бинда комбинации клавиш и через сколько вызовов сделать остановку, вот как например в SoftIce. Задача должна быть вполне решаема.
Re[7]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 21.06.12 08:00
Оценка:
Х>>asio существует и в виде stand-alone проекта, который afaik header-only и никаких дополнительных зависимостей не требует.

L>Ой! Знаешь, что самое смешное в этой истории? Совсем еще недавно Крис работал за соседним с моим столом, и он нам даже давал презентации по бусту и асио. И при этом даже не раскололся, что у него же есть версия асио, свободная от буста. Партизан, одним словом


WOW Круто, а где это Вы работаете если не секрет?
Re[2]: почему такая нелюбовь к boost ?
От: Wolverrum Ниоткуда  
Дата: 21.06.12 09:24
Оценка:
Здравствуйте, java_coder771, Вы писали:

_>потому что они идиоты

_>не помню кто писал "подсадили меня на этот наркотик, теперь приходится посылать лесом все конторы где буст запрещен"(с)

Это уже кристальный снобизм вида: "все кругом — пидорасы, а я — д'Артаньян".
Re[8]: почему такая нелюбовь к boost ?
От: enji  
Дата: 21.06.12 10:03
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Проблема не в связке BOOST + GDB, а в boost::bind/boost::function + GDB, так как при ее использовании, пройтись по функциям отладчиком становится крайне трудно


Так это и в msvc так. Жутко неудобно Но к счастью у меня обычно получается так, что я знаю, куда попаду. И могу точку останова поставить непосредственно в клиентском коде. Редко когда приходится идти по шагам. Кстати, для gdb можно попробовать какой-то макр изобразить, который даст несколько команд входа в функцию. По моему, там всегда это кол-во фиксированным получается.

Такая же петрушка получится в любом фреймворке — в тех же Qt тоже не сильно удобно ходить по шагам в слоты...

KP>а стеки вызовов начинают напоминать шутки про Java.

Я стек перед использованием немного обрабатываю и выкидываю куски из bind\function\thread\asio — получается более-менее нормально.
Re[3]: почему такая нелюбовь к boost ?
От: wander  
Дата: 21.06.12 10:05
Оценка:
Здравствуйте, TimurSPB, Вы писали:

TSP> Экзотические это какие? Если есть компилятор С++ совместимый, то почему нет? Под тот же arm всё работает. Да чего уж там под древний как г. мамонта "Эльбрус 90 микро" и то работает. А на сертификацию отправляется исходный код продукта со всеми зависимостями.


Подтверждаю. Работает и на эльбрусе (это SPARC, если кто не знает) и на MIPSах разношерстных (32 и 64 бит) и на ARM. Но, конечно, не все библиотеки буста, мы просто выделили необходимый минимум, который может функционировать на всех наших платформах. Зафиксировали версию. Используем. Полет нормальный 3 года уже.

Мысли вслух по теме:
Насчет багов тут говорили. Да, баги были. Исправлялись самостоятельно. Времени заняло немного. Примерно неделя на 3 года использования.

Насчет велосипедов. Раньше был набор библиотек чисто наших, старых. Некоторые из них дублировали нынешний функционал буста. Перечислю проблемы, которые возникли и привели в конечном итоге к переходу на буст.
1) Не очень хорошая документация. (в условиях сжатых сроков максимум чего можно было ожидать от разработчиков — комментарии в коде)
2) Заточка под конкретные версии компиляторов (после обновления окружения начались проблемы)
3) Скрытые особенности, недоработки и т.п. (Если разработчик конкретной либы один — мог забыть, его могли срочно перевести на другие работы, он мог уволиться т.д. Следовательно никто больше про эти особенности не знает.).
4) Плохая масштабируемость на новые задачи. Приведу пример. Была самописная библиотека для работы с БД. Все ей пользовались. В один прекрасный момент возникла необходимость использовать notify, а библиотека этот функционал не поддерживала. (Да я знаю, что в бусте нет БД — это просто пример)

В целом я не хочу сказать, что буст надо всегда использовать. Просто для нас он стал хорошей альтернативой нашей базовой библиотеке.
avalon 1.0rc3 build 426, zlib 1.2.3
Re[4]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 21.06.12 10:43
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>Здравствуйте, Abyx, Вы писали:


A>>Здравствуйте, Uzumaki Naruto, Вы писали:


UN>>>Обычно из boost вырезают нужные куски не морочат голову... Засунь boost на тостер — а я поржу х)


A>>boost.mpl или boost.preprocessor?

A>>не забывайте, некоторые вещи не генерят кода вообще.

A>>scoped_ptr<T> размером с T* ?


A>>rtfm.


UN>Ты засунь на uclinux


что, uclinux такой особенный что там для struct foo { T* x; };
sizeof(foo) > sizeof(T*) ?
In Zen We Trust
Re[2]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 21.06.12 10:46
Оценка:
Здравствуйте, __kot2, Вы писали:

__>нужно знать ответ на простой вопрос: конкретно он зачем нужен? если на него ответа нет, то и делать этого не стоит.


а зачем нужен С++ Вы тоже задаете вопрос? (есть же Си) а стандартная библиотека зачем нужна? (мы же ее сами можем написать)
In Zen We Trust
Re[8]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 21.06.12 11:43
Оценка:
Здравствуйте, nen777w, Вы писали:

Х>>>asio существует и в виде stand-alone проекта, который afaik header-only и никаких дополнительных зависимостей не требует.


L>>Ой! Знаешь, что самое смешное в этой истории? Совсем еще недавно Крис работал за соседним с моим столом, и он нам даже давал презентации по бусту и асио. И при этом даже не раскололся, что у него же есть версия асио, свободная от буста. Партизан, одним словом


N>WOW Круто, а где это Вы работаете если не секрет?


Ситуация на самом деле еще смешнее — в то время, когда он у нас работал, буст у нас был запрещен
www.blinnov.com
Re[6]: почему такая нелюбовь к boost ?
От: Flat117  
Дата: 21.06.12 12:36
Оценка:
Здравствуйте, Трололоша, Вы писали:

F>>И прописано время фиксения бага?

Т>Зависит от контракта.
Не верю!
Re[4]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 21.06.12 14:33
Оценка:
Здравствуйте, michae1, Вы писали:

M>Здравствуйте, Abyx, Вы писали:


A>>Здравствуйте, mike_rs, Вы писали:


_>>>когда буст станет стандартом, как stl,


A>>часть библиотек буста использована в стантартной библиотеке C++11


M>Если не ошибаюсь, эти части были неслабо переписаны (те же shared_ptr)


понятное дело, что переписаны, хотя бы потому что стандартной библиотеке g++ нет смысла компилиться под vc++
однако спецификация написанная в стандарте как правило подразумевает однозначную реализацию, особенно для простых библиотек
In Zen We Trust
Re[3]: почему такая нелюбовь к boost ?
От: Ulter  
Дата: 21.06.12 16:22
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Написали, и не одну, посмотри на Амазоне.


Искал, не нашел, подскажите пожалуйста.
Re[4]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 21.06.12 16:33
Оценка:
Здравствуйте, Ulter, Вы писали:

J>>Написали, и не одну, посмотри на Амазоне.


U>Искал, не нашел, подскажите пожалуйста.


Не знаю, как ты там чего искал:
http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;field-keywords=boost+c%2B%2B
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[11]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 22.06.12 01:23
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Из выделенного у вас будет только распечатанная колода карт и попугай на том конце техподдержки, повторяющий, что они не могут воспроизвести проблему.

L>Если вы еще с таким не сталкивались, у вас просто все впереди.

Мы у таких индусов видимо ничего не покупаем.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[7]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 22.06.12 01:23
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>И при этом даже не раскололся, что у него же есть версия асио, свободная от буста. Партизан, одним словом

Надо же поржать было как все парятся а ему хорошо.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[7]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 22.06.12 01:23
Оценка:
Здравствуйте, Flat117, Вы писали:

F>>>И прописано время фиксения бага?

Т>>Зависит от контракта.
F>Не верю!

Ну или прописано в нём гарантируемое время реакции или нет
Я ж не могу тебе за все саппорт контракты ответить.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[12]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 22.06.12 03:05
Оценка:
Здравствуйте, Трололоша, Вы писали:

L>>Из выделенного у вас будет только распечатанная колода карт и попугай на том конце техподдержки, повторяющий, что они не могут воспроизвести проблему.

L>>Если вы еще с таким не сталкивались, у вас просто все впереди.

Т>Мы у таких индусов видимо ничего не покупаем.




Вам просто их не показывают.
www.blinnov.com
Re[5]: почему такая нелюбовь к boost ?
От: Ulter  
Дата: 22.06.12 11:18
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Не знаю, как ты там чего искал:

J>http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;field-keywords=boost+c%2B%2B

А, я понял.
Я имел ввиду что у нас не издавались.
Покупать книжки по 1.5 — 2 тыр на амазоне далеко не все могут себе позволить...
Re[6]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 22.06.12 15:30
Оценка:
Здравствуйте, Ulter, Вы писали:

J>>Не знаю, как ты там чего искал:

J>>http://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&amp;field-keywords=boost+c%2B%2B

U>А, я понял.

U>Я имел ввиду что у нас не издавались.
Книжка по буст.графу издавалась точно.

U>Покупать книжки по 1.5 — 2 тыр на амазоне далеко не все могут себе позволить...

ну если пошерстить интернет по названиям, то вполне можно найти дешевле, даже бесплатно
Плюс электронная версия для Kindle должна быть дешевле, я так понимаю.
Плюс они должны быть в электронных библиотеках типа Safari, тоже дешевле, чем бумажные версии.

В любом случае твой тезис о том, что проблема буста в книгах, не соответствует действительности.
Тем более что документация буста одна из лучших среди плюсовых библиотек, и практически у всех бустовских библиотек в доках есть одностраничный раздел Rationale и/или Introduction — достаточно прочитать его, чтоб понять, зачем данная библиотека вообще нужна и какие именно проблемы/задачи она решает.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[7]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 22.06.12 19:17
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Плюс они должны быть в электронных библиотеках типа Safari, тоже дешевле, чем бумажные версии.


я кстати, когда последний раз смотрел в safari — там минимальная плата была что-то около 30$/месяц.
Что может сравнится со стоимостью одной книги (например kindle edition). А больше одной книги в месяц у меня давно не получается прочитать.
К сожалению, не все книги из safari есть в kindle edition, например я бы с удовольствием купил kindle-книги Страуструпа.
Re: почему такая нелюбовь к boost ?
От: minorlogic Украина  
Дата: 23.06.12 09:23
Оценка:
В текущем проекте используется ?
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[6]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 23.06.12 13:05
Оценка:
Здравствуйте, trophim, Вы писали:

T>Попросить чтоли Александреску написать книгу с колбеками? Они станут трендом 2012 года...


ога:
— опять кобеки!! ну сколько можно!! тебе, что тоже Александреску укусил?!!

Re[9]: почему такая нелюбовь к boost ?
От: dilmah США  
Дата: 23.06.12 13:36
Оценка:
J>>Видимо, он предполагал, что это и так все знают...
J>>http://blog.think-async.com/2008/05/boostasio-vs-asio.html
J>>2008 год

L>Хех. Сколько нам открытий чудных


более того, это одна из первых ссылок в бинге и гугле по запросу boost asio
Re[2]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 23.06.12 16:33
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>В текущем проекте используется ?


Да, в Серёгином проекте я его туда привил. Но у нас не embaded проект был, так что особых сопротивлений он немчегов не было, зато жизнь стала проще, а те кто не ведал — подтянулись.
Re[4]: почему такая нелюбовь к boost ?
От: Vladek Россия Github
Дата: 23.06.12 21:26
Оценка:
Здравствуйте, Handie, Вы писали:

H>Аналог на Boost ASIO — 137 строк


Что такое delete this?
Re[5]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 23.06.12 22:13
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Что такое delete this?


это код на С++.
In Zen We Trust
Re[6]: почему такая нелюбовь к boost ?
От: Vladek Россия Github
Дата: 23.06.12 22:18
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, Vladek, Вы писали:


V>>Что такое delete this?


A>это код на С++.


Что делает идиома "delete this"?
Re[7]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 23.06.12 22:45
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, Abyx, Вы писали:


A>>Здравствуйте, Vladek, Вы писали:


V>>>Что такое delete this?


A>>это код на С++.


V>Что делает идиома "delete this"?


очевидно удаляет объект на который указывает this (т.е. себя)
что непонятно-то?
In Zen We Trust
Re[8]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 24.06.12 00:13
Оценка:
Здравствуйте, Piko, Вы писали:

P>Здравствуйте, jazzer, Вы писали:


J>>Плюс они должны быть в электронных библиотеках типа Safari, тоже дешевле, чем бумажные версии.


P>я кстати, когда последний раз смотрел в safari — там минимальная плата была что-то около 30$/месяц.

P>Что может сравнится со стоимостью одной книги (например kindle edition). А больше одной книги в месяц у меня давно не получается прочитать.
P>К сожалению, не все книги из safari есть в kindle edition, например я бы с удовольствием купил kindle-книги Страуструпа.

Имхо, любая уважающая себя айтишная контора должна иметь корпоративный акк на Safari с неограниченным доступом для своих сотрудников
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[9]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 24.06.12 00:15
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>Плюс они должны быть в электронных библиотеках типа Safari, тоже дешевле, чем бумажные версии.

P>>я кстати, когда последний раз смотрел в safari — там минимальная плата была что-то около 30$/месяц.
P>>Что может сравнится со стоимостью одной книги (например kindle edition). А больше одной книги в месяц у меня давно не получается прочитать.
P>>К сожалению, не все книги из safari есть в kindle edition, например я бы с удовольствием купил kindle-книги Страуструпа.
J>Имхо, любая уважающая себя айтишная контора должна иметь корпоративный акк на Safari с неограниченным доступом для своих сотрудников

я вот например не знал (не обратил внимание), что там есть корпоративный доступ
Теперь обязательно ознакомлюсь с их ассортиментом.
Re[10]: почему такая нелюбовь к boost ?
От: Piko  
Дата: 24.06.12 00:18
Оценка:
Здравствуйте, Piko, Вы писали:

P>я вот например не знал (не обратил внимание), что там есть корпоративный доступ

P>Теперь обязательно ознакомлюсь с их ассортиментом.

всё, вижу — там "Organizations & Teams" прям на первой странице
Re[5]: почему такая нелюбовь к boost ?
От: Олег К.  
Дата: 24.06.12 04:08
Оценка:
N>Ладно... Пррримеррр-р-рр.

Абсолютно ненужные навороты.
Re[2]: почему такая нелюбовь к boost ?
От: Олег К.  
Дата: 24.06.12 04:10
Оценка:
Здравствуйте, java_coder771, Вы писали:

N>>Походил тут по собеседованиям, почти везде НЕ используют boost.


_>потому что они идиоты

_>не помню кто писал "подсадили меня на этот наркотик, теперь приходится посылать лесом все конторы где буст запрещен"(с)

Неужто буст и под Джаву уже есть?
Re: Буст не нужен
От: Олег К.  
Дата: 24.06.12 04:16
Оценка:
Есть там удобные вещи вроде смарт пойнтеров и регулярных выражений плюс возможно что-то еще что на ум сразу не приходит. А так да, буст не нужен и подмеченно что все эти любители паттернов, Александреску и буста переусложняют код.
Re[7]: почему такая нелюбовь к boost ?
От: Олег К.  
Дата: 24.06.12 05:14
Оценка:
ОК>>Абсолютно ненужные навороты.

J>Это ты о конкретном примере или о коллбэках вообще?


О конкретном примере/коде.
Re[8]: почему такая нелюбовь к boost ?
От: Vladek Россия Github
Дата: 24.06.12 10:10
Оценка:
Здравствуйте, Abyx, Вы писали:

A>очевидно удаляет объект на который указывает this (т.е. себя)

A>что непонятно-то?

А если этот объект будет размещён в стеке, что произойдёт?
Re[9]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 24.06.12 10:18
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, Abyx, Вы писали:


A>>очевидно удаляет объект на который указывает this (т.е. себя)

A>>что непонятно-то?

V>А если этот объект будет размещён в стеке, что произойдёт?


то же самое что и при
X x;
delete &x;
In Zen We Trust
Re[8]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 24.06.12 10:19
Оценка:
Здравствуйте, newCL, Вы писали:

CL>Здравствуйте, Vladek, Вы писали:


V>>>>Что такое delete this?

V>>Что делает идиома "delete this"?

CL>слово COM не знать стыдно.


IMO не стыдно, очень он неудобный, COM
In Zen We Trust
Re[9]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 24.06.12 11:19
Оценка:
Здравствуйте, Abyx, Вы писали:

A>IMO не стыдно, очень он неудобный, COM

Дык всё равно знать надо.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 24.06.12 11:19
Оценка:
Здравствуйте, jazzer, Вы писали:

A>>>а стандартная библиотека зачем нужна? (мы же ее сами можем написать)

Т>>Она нужна только как runtime compiler support
Т>>А функционал в ней мегаубогий, лучше сразу тем что ОС предоставляет пользоваться.

J>Твоя ОС предоставляет списки/сеты/мапы/динамические массивы? Что за чудо-ОС такая?


Ты про какую часть стандартной библиотеки?
Если про STL то да, её самому написать особого труда не составляет. Порой это даже приходится делать, с целью фиксации кода и минимизации "сюрпризов".
А CRT со всякими iostream просто сразу взять и выкинуть.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[8]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 24.06.12 23:19
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>>>Абсолютно ненужные навороты.


J>>Это ты о конкретном примере или о коллбэках вообще?


ОК>О конкретном примере/коде.


пример был написан от фонаря, но решения не boost-овым путем я так и не увидел.
Re[2]: Буст не нужен
От: nen777w  
Дата: 24.06.12 23:23
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>Есть там удобные вещи вроде смарт пойнтеров и регулярных выражений плюс возможно что-то еще что на ум сразу не приходит. А так да, буст не нужен и подмеченно что все эти любители паттернов, Александреску и буста переусложняют код.


паттерны — это шаблоны (не те которые в С++), т.е. некоторые задачи вполне решаются таким подходом. Какие уж там переусложенения, скорее наоборот, бери шаблон и адаптируй под свои нужды.
Re[2]: Буст не нужен
От: SkyDance Земля  
Дата: 24.06.12 23:59
Оценка:
ОК>Есть там удобные вещи вроде смарт пойнтеров и регулярных выражений плюс возможно что-то еще что на ум сразу не приходит. А так да, буст не нужен и подмеченно что все эти любители паттернов, Александреску и буста переусложняют код.

Совсем не обязательно подставлять шею Александреску, даже если вы пользуетесь Boost'ом.
Некоторые библиотеки решают очень насущные нужны. Взять тот же program_options.
Re[5]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 03.07.12 15:10
Оценка:
Здравствуйте, nen777w, Вы писали:

Как все запущено.
Сало Украине, Героям Сала
Re[8]: почему такая нелюбовь к boost ?
От: Flat117  
Дата: 03.07.12 16:16
Оценка:
Здравствуйте, newCL, Вы писали:

V>>Что делает идиома "delete this"?

CL>слово COM не знать стыдно.
delete this и COM малосвязаны
Re[9]: почему такая нелюбовь к boost ?
От: Flat117  
Дата: 03.07.12 16:17
Оценка:
Здравствуйте, Vladek, Вы писали:

A>>очевидно удаляет объект на который указывает this (т.е. себя)

A>>что непонятно-то?
V>А если этот объект будет размещён в стеке, что произойдёт?
Тоже самое, что и в

class A
{
};

void foo()
{
  A a;
  delete &a;
}
Re[6]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 07.07.12 12:58
Оценка:
Здравствуйте, vpchelko, Вы писали:

V>Здравствуйте, nen777w, Вы писали:


V>Как все запущено.


Вам оттуда виднее конечно.
Re[8]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 09.07.12 00:01
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК>>>Абсолютно ненужные навороты.


J>>Это ты о конкретном примере или о коллбэках вообще?


ОК>О конкретном примере/коде.


Критикуя — предлагай! (с)
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: почему такая нелюбовь к boost ?
От: Abyx Россия  
Дата: 14.07.12 20:01
Оценка:
Здравствуйте, Dair, Вы писали:

D>Boost, насколько я с ним знаком на чужих примерах, прекрасно позволяет писать write-only код. В команде, всё же, полезно читать чужой код тоже.


покажите пример.
In Zen We Trust
Re[3]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 14.07.12 21:17
Оценка:
Здравствуйте, nen777w, Вы писали:

N>У меня есть проект у которого boost менялся еще с версии 1.34 и до сегодняшней 1.50 , и в котором используется много библиотеки из boost, но ни разу, вроде как, или я не помню уже (может быть один раз с boost::filesystem когда в какой то версии выкинули 1-ю), не было так что бы проект переставал компилится после обновления boost, максимум что нужно сделать это поменять единственный путь к инклюдам и статическим либам, ну и собрать новый boost.

У нас было что после обновления всё компилится, тока вот не работает нифига.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[4]: почему такая нелюбовь к boost ?
От: nen777w  
Дата: 15.07.12 07:23
Оценка:
N>>У меня есть проект у которого boost менялся еще с версии 1.34 и до сегодняшней 1.50 , и в котором используется много библиотеки из boost, но ни разу, вроде как, или я не помню уже (может быть один раз с boost::filesystem когда в какой то версии выкинули 1-ю), не было так что бы проект переставал компилится после обновления boost, максимум что нужно сделать это поменять единственный путь к инклюдам и статическим либам, ну и собрать новый boost.
Т>У нас было что после обновления всё компилится, тока вот не работает нифига.

Кстати, копался когда то внутрях вот такой известной онлайн игры Project Entropia (кстати на движке CryEngine2).
И судя по тому что там boost-а они используют много.
А проект прошу заметить не маленький, пользователей наверно больше мульйона это точно. И обновления довольно часто выходят.
Re[5]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 15.07.12 09:03
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Кстати, копался когда то внутрях вот такой известной онлайн игры Project Entropia (кстати на движке CryEngine2).

N>И судя по тому что там boost-а они используют много.
N>А проект прошу заметить не маленький, пользователей наверно больше мульйона это точно. И обновления довольно часто выходят.

А еще у смартфонов HTC, которые на стилусовой винде 6, есть оболочка Touch, которая умеет обрабатывать нажатия пальцев, типа как на айфоне. Там тоже буст в credits записан, и пользователей тоже дофига, ессно.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: почему такая нелюбовь к boost ?
От: Трололоша  
Дата: 15.07.12 18:05
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Кстати, копался когда то внутрях вот такой известной онлайн игры Project Entropia (кстати на движке CryEngine2).

N>И судя по тому что там boost-а они используют много.
N>А проект прошу заметить не маленький, пользователей наверно больше мульйона это точно. И обновления довольно часто выходят.

Дык на здоровье! Буст библа здоровая, одновременно 100% из неё наверное вообще никто никогда не использовал. Тем более для таких крупных либ как буст частенько используют практику фиксирования используемой версии. У нас было то же самое, но подорвались когда были вынуждены обновить, сторонняя нужная либа требовала более новую версию. В итоге сломалось вообще всё, гемору было капец.
Заметь, никто ж не выступает за запрет буста во всём мире. Народ говорит о том, что там бывают проблемы, которые порой перекрывают плюсы от использования буста.
Каждый проект решает сам для себя — надо ему буст или нет и в каком объёме.
... << RSDN@Home>>
Да, йа зелёный тролль!
Re[9]: почему такая нелюбовь к boost ?
От: java_coder771  
Дата: 16.07.12 07:35
Оценка:
F>delete this и COM малосвязаны

имеется в виду что в коде COM это обычное дело
Re[2]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 16.07.12 13:38
Оценка:
Буст нужен, где нужно много обобщать. Например кросс платформенный код.

А там где идет высокая нагрузка на вычисления, то тот-же стл в топку.
Сало Украине, Героям Сала
Re[8]: почему такая нелюбовь к boost ?
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 16.07.12 14:01
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Здравствуйте, enji, Вы писали:


E>>У меня кросс-gdb для арма, из коробки тоже нету поддержки этой возможности. Однако планирую пересобрать gdb сам и ее включить. Для мака так сделать нельзя?


KP>Я обдумывал такую возможность, но уперся в то, что GDB на Маке довольно сильно модифицирован Эпплом. Ну а так как глубоко копать эту тему небыло ни времени ни желания, то бросил.


KP>>>С STL проблема легко решается.


E>>А как? И в чем проблема также решить ее с бустом?


KP>Для GDB я находил набор скриптов для вывода значений стандартных контейнеров. Проблема не в связке BOOST + GDB, а в boost::bind/boost::function + GDB, так как при ее использовании, пройтись по функциям отладчиком становится крайне трудно, а стеки вызовов начинают напоминать шутки про Java.

можешь пример привести?
Sic luceat lux!
Re[3]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 16.07.12 14:26
Оценка:
Здравствуйте, Handie, Вы писали:

H>"Медленный код" — это любимая фраза преждевременных оптимизаторов. Мне плевать на "медленный" код, Time-To-Market куда важнее.


Есть такие сегменты упомянутого Market, что медленный код там никому не нужен при любом Time-To-Market, хоть нулевом.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: почему такая нелюбовь к boost ?
От: landerhigh Пират  
Дата: 17.07.12 00:48
Оценка:
Здравствуйте, Dair, Вы писали:

D>Boost, насколько я с ним знаком на чужих примерах, прекрасно позволяет писать write-only код. В команде, всё же, полезно читать чужой код тоже.


Write-only код прекрасно пишется на любом ЯП с любым набором библиотек. Просто при разработке голову нужно включать, а не на буст кивать.
www.blinnov.com
Re[9]: почему такая нелюбовь к boost ?
От: Олег К.  
Дата: 18.07.12 04:32
Оценка:
ОК>>>>Абсолютно ненужные навороты.

J>>>Это ты о конкретном примере или о коллбэках вообще?


ОК>>О конкретном примере/коде.


N>пример был написан от фонаря, но решения не boost-овым путем я так и не увидел.


А где задача-то, собственно говоря?
Re[9]: почему такая нелюбовь к boost ?
От: Олег К.  
Дата: 18.07.12 04:34
Оценка:
ОК>>>>Абсолютно ненужные навороты.

J>>>Это ты о конкретном примере или о коллбэках вообще?


ОК>>О конкретном примере/коде.


J>Критикуя — предлагай! (с)


Я пока что задачи еще не увидел. Что решать —
Re[3]: Буст не нужен
От: Олег К.  
Дата: 18.07.12 04:37
Оценка:
ОК>>Есть там удобные вещи вроде смарт пойнтеров и регулярных выражений плюс возможно что-то еще что на ум сразу не приходит. А так да, буст не нужен и подмеченно что все эти любители паттернов, Александреску и буста переусложняют код.

N>паттерны — это шаблоны (не те которые в С++), т.е. некоторые задачи вполне решаются таким подходом. Какие уж там переусложенения, скорее наоборот, бери шаблон и адаптируй под свои нужды.


Вот не видел я еще ни одной задачи где эти шаблоны были бы нужны. Зато видел кучу кода в котором эти шаблоны как корове седло, мягко говоря.

Об этом хорошо Handie сказал здесь.
Автор: Handie
Дата: 07.12.11
Re[10]: почему такая нелюбовь к boost ?
От: jazzer Россия Skype: enerjazzer
Дата: 18.07.12 06:21
Оценка:
Здравствуйте, Олег К., Вы писали:

J>>Критикуя — предлагай! (с)


ОК>Я пока что задачи еще не увидел. Что решать —


Ты, вообще-то, отвечал на пост, в котором задача сформулирована:
http://www.rsdn.ru/forum/job/4786943.1.aspx
Автор: nen777w
Дата: 21.06.12
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[5]: почему такая нелюбовь к boost ?
От: cgibin  
Дата: 18.07.12 17:59
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Ладно... Пррримеррр-р-рр.


Пример хороший, но демонстрирующий совершенно обратное.

N>Програмисту Васе нужно написать класс таймера с калбеком.


Хороший программист Вася первым делом посмотрит, есть ли таймер в стандартной библиотеке. Какая неожиданность, нет.
Тогда Вася берет и смотрит в своей любимой библиотеке fav_lib::timer. О, бинго! Как всегда буст на высоте — boost::timer.
...
Wait, WTF?? Это какая-то херота в 95% не нужная. Если Вася действительно хорош, то он вспомнит, что то, что ему нужно, находится где-то в соседнем царстве — boost::asio . Но Вася не настолько хорош, зато знает буст, где можно по-быстрому накидать функционал. В результате имеем очередной велосипед, но зато на бусте.
Показательно, что сам автор имел сложности с собственным примером — http://rsdn.ru/forum/cpp.applied/3129868.flat.aspx
Автор: nen777w
Дата: 07.10.08
. Мне кажется, что такие базовые примитивы не должны вызывать проблем даже у новичков.

PS я не противник буста, и сам периодически готовлю, но объективность необходима.
Re[7]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 18.07.12 18:16
Оценка:
Слава богу я уже на С++ не пишу, чтобы не видеть подобного уродского кода.
Сало Украине, Героям Сала
Re[3]: почему такая нелюбовь к boost ?
От: vpchelko  
Дата: 18.07.12 21:51
Оценка:
Write-only код прекрасно пишется регеппсами. Просто при разработке голову нужно включать, а не на регепсы кивать.

Сало Украине, Героям Сала
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.