@ProCxx

Страница 2327 из 2477
Stanislav
05.09.2018
22:19:10
ваще предлагаю холивар перенести куда надо :)

;)
05.09.2018
22:20:04
Привет, ребята, извиняюсь сразу за вопрос, но как сложно сделать что-то типа MTA (плагин к GTA: SA) для Mount & Blade (кампания в мультиплеере)?

Alexander
05.09.2018
22:20:04
по статье - согласен буквально с несколькими пунктами. особо умиляет "лёгкость отладки Си кода"

Google
Alexander
05.09.2018
22:20:26
если не рофлить - сложно

"В языке C все просто и понятно. Даже весьма непростые баги можно легко поймать за пару минут. Я вам даже больше скажу, код на C можно довольно комфортно отлаживать вообще без отладочных символов. Когда-то очень давно я так и делал, просто брал OllyDbg и дебажил. Попробуйте, это правда не сложно." Ну вот что это за сказки Андерсена

;)
05.09.2018
22:21:05
Я так понимаю, нужно будет работать с памятью и т.д., а я не особо шарю, ибо начал путь программирования с Джавы, а сейчас на бэкэнде Node.js, так что с памятью работать особе и не умею

По этому спрашиваю в виду отсутствия опыта

Alexander
05.09.2018
22:22:31
;)
05.09.2018
22:22:33
Alexander
05.09.2018
22:23:14
Т.е. теоретически возможно, да? А практически?
не имею компетенций в данном вопросе. Максимальное, что я делал в геймдеве - патчил аддоны к вовке

Ruslan
05.09.2018
22:23:26
gtk пусть отладит

Alexander
05.09.2018
22:23:36
ахахахахахаха
люди как будто не видели кода с void***

Ruslan
05.09.2018
22:23:59
...Индусского кода

Google
Vladislav
05.09.2018
22:24:02
ахахахахахаха
да, тоже посмеялся над этой цитатой)

Alexander
05.09.2018
22:25:26
Идём далее - "Код на C прекрасно пишется без каких-либо тяжеловесных IDE, в обычном Sublime Text или Vim с ctags. Для сколь-либо серьезного кода на C++ без нормальной IDE жизнь быстро становится очень грустной, потому что автоматический вывод типов, шаблоны, и вот это все, и потому что ctags начинает забрасывать не туда, куда нужно. К счастью, IDE для C++ существуют. CLion, например, довольно неплох. Но не все программисты согласны платить за него деньги и попрощаться с 2 Гб оперативной памяти. К тому же, CLion не все и не всегда подсвечивает правильно, и если открыть в нем сразу два проекта, то даже довольно мощный компьютер начнет тормозить. Есть и другие IDE, но у них свои проблемы, например, привязка к Windows или отсутствие важных возможностей, таких, как вывод типов." Тут всё индивидуально. Тут есть много людей, что в виме сидят и валят кодяру. я их не понимаю, конечно. Но тот же Qt Creator я считаю очень лёгким. и его хватает для базовых вещей

Vladislav
05.09.2018
22:25:40
по статье - согласен буквально с несколькими пунктами. особо умиляет "лёгкость отладки Си кода"
Однако большинство людей под С++ понимают так называемый «современный C++», со счетчиками ссылок, классами, исключениями, шаблонами, лямбдами, STL, Boost, и так далее. ... Если вам очень важна скорость, то писать на таком C++ вы не сможете. Если же он вам подходит, то лучше взять Java, Go или любой другой высокоуровневый язык по вкусу. после этого места стало невозможно

особенно про Go

Ruslan
05.09.2018
22:26:14
Идём далее - "Код на C прекрасно пишется без каких-либо тяжеловесных IDE, в обычном Sublime Text или Vim с ctags. Для сколь-либо серьезного кода на C++ без нормальной IDE жизнь быстро становится очень грустной, потому что автоматический вывод типов, шаблоны, и вот это все, и потому что ctags начинает забрасывать не туда, куда нужно. К счастью, IDE для C++ существуют. CLion, например, довольно неплох. Но не все программисты согласны платить за него деньги и попрощаться с 2 Гб оперативной памяти. К тому же, CLion не все и не всегда подсвечивает правильно, и если открыть в нем сразу два проекта, то даже довольно мощный компьютер начнет тормозить. Есть и другие IDE, но у них свои проблемы, например, привязка к Windows или отсутствие важных возможностей, таких, как вывод типов." Тут всё индивидуально. Тут есть много людей, что в виме сидят и валят кодяру. я их не понимаю, конечно. Но тот же Qt Creator я считаю очень лёгким. и его хватает для базовых вещей
Нытье плюсонеосилятора

И, да, валяю в виме на плюсах

и мне ок

Vladislav
05.09.2018
22:26:46
Идём далее - "Код на C прекрасно пишется без каких-либо тяжеловесных IDE, в обычном Sublime Text или Vim с ctags. Для сколь-либо серьезного кода на C++ без нормальной IDE жизнь быстро становится очень грустной, потому что автоматический вывод типов, шаблоны, и вот это все, и потому что ctags начинает забрасывать не туда, куда нужно. К счастью, IDE для C++ существуют. CLion, например, довольно неплох. Но не все программисты согласны платить за него деньги и попрощаться с 2 Гб оперативной памяти. К тому же, CLion не все и не всегда подсвечивает правильно, и если открыть в нем сразу два проекта, то даже довольно мощный компьютер начнет тормозить. Есть и другие IDE, но у них свои проблемы, например, привязка к Windows или отсутствие важных возможностей, таких, как вывод типов." Тут всё индивидуально. Тут есть много людей, что в виме сидят и валят кодяру. я их не понимаю, конечно. Но тот же Qt Creator я считаю очень лёгким. и его хватает для базовых вещей
зачем для плюсов ide?

Ruslan
05.09.2018
22:26:54
хз

зачем ide

Alexander
05.09.2018
22:27:14
"Как уже отмечалось, если вы берете исключения, то будьте готовы использовать для всего RAII и смартпоинтеры, а следовательно и тормозить, когда счетчики ссылок обнуляются." Эмм, а какой там оверхед std::unique_ptr накладывает?

зачем для плюсов ide?
я могу пояснить - но только не здесь

Stanislav
05.09.2018
22:27:52
я могу пояснить - но только не здесь
ага, холивары тут не нужны

Vladislav
05.09.2018
22:28:00
Позвольте пояснить, что я имею ввиду под задачами, где очень важна скорость. Вы едете на машине. Вдруг в нескольких метрах впереди выбегает человек. На принятие решения водителю в среднем требуется около одной секунды. Нога мелено перемещается с педали газа на педаль тормоза. Затем медленно вдавливает тормоз в пол. Расстояние между автомобилем и человеком в это время сокращается. Наконец, сигнал от педали тормоза летит в бортовой компьютер автомобиля. И вот тут ни в коем случае программа не может сказать «о, счетчик ссылок обнулился, пойду-ка я собирать мусор по всему дереву» или даже «секундочку, я только схожу в vtable… как, ее нет в L1? ой…». Программа должна обработать сигнал как можно быстрее, тут же ударив по тормозным дискам. Ни о каких смартпоинтерах и прочих видах автоматического управления памятью, ровно как и о развесистых иерархиях классов, в таких задачах и речи быть не может. Не рассказывайте автору статьи что все топовые self-driving системы написаны на плюсах

Alexander
05.09.2018
22:28:01
из недавнего - прикольная штука в вижле появилась с подставкой типов в шаблоны и просмотр, что там получится

Alexander
05.09.2018
22:30:25
на самом деле я подписан на него в Твиттере. Этот человек емнип пишет на МК часто и там пишет на Си. Мне кажется что минусы любой технологии могут накидать только люди, которые хорошо в ней разбираются. Поверьте, если собраться чатиком и накидать истинную статью со всем плюсовым говном, выйдет знатный список. А для читателей терпеливых допишем снизу пункт со звёздочкой с замечаниями от @webreh

Google
Vladislav
05.09.2018
22:34:06
Лямбды и прочие ништяки не всегда получается использовать на работе, так как о C++11 там только мечтают. К сожалению, многие реальные проекты на C++ в наше время — это страшный легаси с C++98, самописным STL, форкнутым Boost, Visual Studio 6 и CVS. Может быть, я тут немного и преувеличиваю, но идея, надеюсь, ясна. no comments

Alexander
05.09.2018
22:35:53
ну может он просто с такими сталкивался... мб ему просто неповезло. Но тут можно просто посмотреть опросы JetBrains, которые он проводят каждый год. И убедиться, что это не так. Не уверен, что есть опросник JetBrains за 2016 год - надо проверить

Vladislav
05.09.2018
22:36:12
Но вот проблема — все private поля объявляются в .hpp файле и при изменении приводят к перекомпиляции половины проекта (в C такой проблемы с инкапсуляцией нет совсем). нет инкапсуляции - нет проблемы, верно подмечено

с пунктом про ООП соглашусь

Ruslan
05.09.2018
22:37:35
в какой то древней версии вижлы был оверхед)
Мелкософт компайлер по прежнему отстой?

Alexander
05.09.2018
22:37:58
Мелкософт компайлер по прежнему отстой?
не, он стал уже намного лучше

прогресс прям налицо. В плане каких-то хитрых оптимизаций он по-прежнему намного слабее gcc/clang, но они работают над этим

Stanislav
05.09.2018
22:38:39
Мелкософт компайлер по прежнему отстой?
не, с 2017 студией взялись за ум, С++17 conformance + оставшиеся баги фиксят, boost.hana можно из мастер ветки на 15.8 собрать, щас С11 preprocessor появился в экспериментальном виде

Ruslan
05.09.2018
22:39:36
Ты посмотри

Vladislav
05.09.2018
22:39:36
у него там одна статья охуительнее другой https://eax.me/c-lists-rbtree/

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

при этом у него "контейнер" определен так: typedef struct { RBNode node; char data[128]; } TreeItemData;

Ruslan
05.09.2018
22:40:21
Я читал про таких людей

Иногда, они добровольно жертвуют конечности

Alexander
05.09.2018
22:40:46
???

Ruslan
05.09.2018
22:40:52
Дескать, чувствуют чуждую им сущность и не могут спать спокойно

А так отстрелило и гармония

Stanislav
05.09.2018
22:41:28
не, с 2017 студией взялись за ум, С++17 conformance + оставшиеся баги фиксят, boost.hana можно из мастер ветки на 15.8 собрать, щас С11 preprocessor появился в экспериментальном виде
чтобы буст хана собрать без воркераундов осталось 3 бага пофиксить, над range v3 у них тоже прогресс ну и у них кстати у первых паралельные алгоритмы v1 полностью поддерживаются

Vladislav
05.09.2018
22:41:38
Заключение Контейнеры в языке C не только не имеют каких-то накладных расходов по памяти или связанных с лишними хождениями по ссылкам, но и, в отличие от языка C++, прекрасно работают без кодогенерации, а следовательно не замедляют компиляцию проекта, не приводят к нечитаемым сообщениям об ошибках и распуханию бинарника.
продолжение цитаты Единственный нюанс заключается в том, что на границе работы с контейнером приходится кастовать типы. Но, по моему опыту, (1) отсутствие типизированных контейнеров на практике не создает такой уж большой проблемы, а иногда и решает проблемы за счет большей гибкости, (2) те же списки, массивы / вектора, и так далее, быстрее и проще закодировать заново, чем использовать библиотеки, сохранив при этом типизированность.

Google
Ruslan
05.09.2018
22:42:09
фейспалм ФАТАЛИТИ

Alexander
05.09.2018
22:42:23
Flawless victory

Ruslan
05.09.2018
22:42:31
Вот такие люди потом пишут свои gtk

Alexander
05.09.2018
22:43:19
ну хоть посмеялись от души. Главное потом не попасть на кодовые базы, где такое вот понаписано

Vladislav
05.09.2018
22:43:29
ой https://eax.me/avoid-metaprogramming/

Возможно, вы пытаетесь замаскировать при помощи шаблонов дублирование кода. Есть менее радикальные способы борьбы с code smell. Дублированный код почти всегда можно вынести в отдельные методы. Или параметризовать различающиеся части, передав лямбду.

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

Побитый
05.09.2018
22:48:28
так вот вопрос - под какие задачи ныне Си хорош?
Вроде как для сишных библиотек легко писать обвязки на других языках => си помогает в распространении библиотеки.

Constantine
05.09.2018
22:52:07
ой https://eax.me/avoid-metaprogramming/
> Блог о программировании, операционных системах, СУБД, девайсах, сетях, алгоритмах, электронике и пр > Большинство программистов просто не умеют работать с макросами и шаблонами > Чтобы узнать о них, IDE нужно иметь встроенный интерпретатор вашего языка программирования. Скорее всего, она его не имеет Казалось бы, как связана узость специализация и уровень знаний в одной области?

Ruslan
05.09.2018
22:59:06
Да, отстрелил, пришил, повторил

И так пока не начнешь писать вот такие статьи или не перейдешь на жаву сразу

Ioann V
05.09.2018
23:03:01
Честно сказать, я набрасывал сий сайт даже не зная о таких штуках. Но конкретно та статья, что я набросил вызывает у меня и ноты согласия. Тем не менее, надо было защищать Павла всеми силами. Не дело это, налетать стаей.

Ruslan
05.09.2018
23:10:09
это не просто легаси

Страница 2327 из 2477