python или c++

Аватар пользователя
homosapiens
Сообщений: 8400
Зарегистрирован: 16 июн 2008, 10:02

python или c++

Сообщение homosapiens » 01 авг 2011, 14:19

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


Мы бы на средства заказчика и операционку под его задачу написали

Что там операционку, особенно ядро, написать - фигня это всё. Вот автономные испытания её проводить - это да
Последний раз редактировалось homosapiens 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Wild Bill
Сообщений: 4820
Зарегистрирован: 26 июл 2009, 21:00

python или c++

Сообщение Wild Bill » 01 авг 2011, 14:44

uxx писал(а):Source of the post
Зарисовка из жизни...
Чаще всего всё не так.
Заказчик: Нужна программа, есть финансирование. и сроки.
Подрядчик: Мы готовы.
....Через полгода.
Подрядчик: Э-э-э... есть немного денег, срок маленький, нужна программа.
Субподрядчик: Мы готовы.
.... Через полгода.
Субподрядчик: Э-э-э... есть тут чуть-чуть денег, срок ещё вчера, нужна программа.
Субсубподрядчик: Мы готовы.
Начальник субсубподрядчика программистам: Работаем без выходных, по 14 часов, программа уже сегодня должна была работать!
Число субподрядчиков зависит от проекта, средний проект на два-три года -- как раз два(как в примере)-три(добавить ещё одного) субподрядчика.
Последний раз редактировалось Wild Bill 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

python или c++

Сообщение folk » 01 авг 2011, 15:19

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

Вот бы с чем побороться. По сути ведь сейчас проблема не в языках а в библиотеках, в их закрытости, недоведенности. Какой нибудь супербиблиотек бы сделать. Пока что такие супербиблиотек это lapack, boost, linux+gnu и java, но не совсем конечно.

Надо закон написать что если программу написал то через 15 лет исходники должны попасть в public domain. А за обфускацию крапивой. У американов есть закон по которому если писал прогу на бабки государства то все в public domain. И благодаря этому закону куча вещей не запатентованы. Как пример - tcp/ip и интернет.
Последний раз редактировалось folk 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
homosapiens
Сообщений: 8400
Зарегистрирован: 16 июн 2008, 10:02

python или c++

Сообщение homosapiens » 01 авг 2011, 15:21

И, при этом, стек tcp/ip все равно по сто раз переписывается.
Последний раз редактировалось homosapiens 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

uxx
Сообщений: 44
Зарегистрирован: 13 июл 2011, 21:00

python или c++

Сообщение uxx » 01 авг 2011, 15:33

folk писал(а):Source of the post И вот даже если вы распрекрасный код написали - я его сам перепишу потому что вы пробелы не так ставите...
Не совсем так. Во-первых "распрекрасный код" пишут далеко не все. Во-вторых, этот код зачастую приходится адаптировать под свою задачу и иногда, действительно, дешевле получается всё целиком переписать. В-третьих, большая часть библиотек не является мультиплатформенной. Хочу я, скажем, в своём девайсе на avr'е сделать компрессию данных. Беру библиотечку zlib и... О чудо - на avrgcc не компилится.. Или компилится, но безобразно написана и из-за этого не работает на новой архитектуре, н-р:

Код: Выбрать все

int compress(..)
{
 unsigned int hashtable[65536];
 ...
}


Вот и приходится переделывать. Вот, кстати, неплохо написано: [url=http://insidecpp.ru/art/45/]http://insidecpp.ru/art/45/[/url]
Последний раз редактировалось uxx 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
homosapiens
Сообщений: 8400
Зарегистрирован: 16 июн 2008, 10:02

python или c++

Сообщение homosapiens » 01 авг 2011, 15:36

Не-не-не, если мы еще начнем щас про кросс-платформенность речи толкать, то далеко не уедем.
В принципе, согласен, универсальных оптимизированных библиотек именно с точки зрения эмбеддщика, не существует в принципе. Хотя бы потому, на одной платформе у вас 4 РОНа, а на другой - 32. И, к несчастью, компилеров универсальных тоже немного.
Последний раз редактировалось homosapiens 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

uxx
Сообщений: 44
Зарегистрирован: 13 июл 2011, 21:00

python или c++

Сообщение uxx » 01 авг 2011, 15:44

homosapiens писал(а):Source of the post В принципе, согласен, универсальных оптимизированных библиотек именно с точки зрения эмбеддщика, не существует в принципе.
Существуют, написанные не корявыми руками. Тот же самый код запросто можно сделать портируемым, избавив от проблемы опустошения стека:

Код: Выбрать все

template <class allocator, uint_t window_size>
int compress(allocator& a, ...)
{
 unsigned int* hashtable = a->allocate_arr<unsigned int>(window_size);
}

C++ в этом плане хорош наличием метапрограммирования (хотя и кастрированного), что позволяет генерировать код compile-time, т.е. без потери производительности.
И разрядность процессора особой роли при написании _правильного_кода_ не играет и в большинстве случаев об этом вообще можно не задумываться.
Последний раз редактировалось uxx 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

python или c++

Сообщение folk » 01 авг 2011, 15:54

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

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

То что я видел - команда подбирает шашлык из STL, обзывает набранные сосиски своими словами и живет потом в этом мирке. Но входя в дебаггер люди не могут узнать свой код!
Последний раз редактировалось folk 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

uxx
Сообщений: 44
Зарегистрирован: 13 июл 2011, 21:00

python или c++

Сообщение uxx » 01 авг 2011, 16:15

folk писал(а):Source of the post Поэтому если считать деньги то проще переписать. Но с точки зрения всего человечества это трата ресурсов - я это имею ввиду.
Не совсем. Просто мало квалифицированных людей, которые умеют писать _правильный_код_. Обычно народ пишет одноразовые поделки. В каких-то случаях это оправдано. Но я не понимаю как, например, OpenCV написана безобразнейшим образом, хотя, в её разработке принимала участие NVidia (получается, что и там олухи-программисты сидят). Уж здесь то самое место для портируемости/универсальности/масштабируемости. Вот нужно, например, распознавалку видео собрать - приходится из OpenCV что-то выковыривать или самому писать все эти мега-алгоритмы. Гемор, в общем.
Последний раз редактировалось uxx 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

python или c++

Сообщение folk » 01 авг 2011, 16:52

Они кстати не там, они здесь сидят. Российский офис NVIDIA город Москва, Центральный АО, Арбат, Нов. Арбат, 11С1. Я имел удовольствие на интервью cходить, и судя по вопросам туда берут только гениев второго порядка. Например по perl спросили что то вроде чему равно p после p=1; &*%$p=p->&*%$; Я честно сказал что программиста который такой код пишет выгнал бы в шею Так что не удивляйтесь - гении код иногда странно пишут.
Последний раз редактировалось folk 28 ноя 2019, 20:08, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей