Этого треда уже нет.
Это копия, сохраненная 1 февраля 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 1307271
Самого выразительного языка тред. Добро пожаловать, анон.
3 1307284
>>07271
Самый выразительный - пайтон. Кресты - нагромождение костылей и нечитаемое говно, если пишется кем угодно, кроме тебя самого.
4 1307295
>>07284
спасибо, без тебя бы точно бы никто не понял бы мистер генерал ясенхуй
5 1307314
>>07284
на чем написан пайтон? на с . шах и мат.
6 1307323
Атомики на многопроцессорных машинах это нонсенс. Даже костыли для контроля когерентности памяти не решают всех проблем связанных с архитектурными особенностями процессоров. Прув ми вронг.
7 1307332
>>07284
Самый выразительный - forth. Питон - вот это реальное нагромождение костылей, лучше уж C++ чем это раздражающее def __govno__.
8 1307349
сап, смплюсачи, а есть ли библиотеки для отображения графики в консольке, по типу far. кнопочки, окошки...
9 1307371
ООП самый большой костыль когда-либо придуманный по причине человеческой лени, безответственности и человеческого фактора в коллективной работе. Классы и объекты это лишь сегментация высокоуровневой абстракции, оберегающей программиста от детских ошибок в личном проекте (из-за невозможности нормально проектировать программы), а также спасающей от полного понимания проекта при разработке в команде от двух и более людей (лень, преумножающая награмождения избыточными конструкциями).

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

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

Наслаждайтесь и обмазывайтесь своими Сипюлями без возможности на реабилитацию от ментальной дистрофии.
10 1307374
>>07371
ты так боишся серьезных языков программирования? так может тебе дальше vb лучше и не смотреть?
11 1307376
>>07371
видишь ли, на с/с++ можно делать практически все, по той причине, что пракатически все сделано на этих яп.
12 1307384
>>07349
ncurses же

>>07371
Если критикуешь, предлагай альтернативы
13 1307389
>>07384
нормальные программисты пишут на Coq
14 1307390
>>07389
И получают по две тарелки мамкиного борща в день!
15 1307395
>>07371

>ООП самый большой костыль


что плохого в том чтобы делать композицию данных с методами, их обрабатывающими?
что плохого в том чтобы инкапсулировать данные, скрывая и защищая их?
что плохого в том что на уровне языка реализуются семантические конструкции реализующие статический, динамический и ad-hoc полиморфизм?
что плохого в том, чтобы проектировать архитектуру приложения как совокупность объектов, взаимодействующих друг с другом через посылку сообщений? для многих прикладных областей это очень полезно
16 1307399
>>07395

>прикладных областей


Грязный плебс вообще в рассчет не беру.
мимо академик
17 1307407
>>07399

>мимо академик


ну как с ооп вообще все задачи моделирования удобней делать
если язык не поддерживает ооп из коробки, то приходится руками многое делать, например, в случает когда задачи моделирования решаются на си
18 1307408
>>07384
ANSI C
проёбанная нормальная шапка 19 1307426
годные онлайн курсы для новичесов
на степике лучше пройти курс от cs center, чем аналогичный от mail.ru, это
https://stepik.org/course/7
и его продолжение
https://stepik.org/course/3206
этот курс бесплатный
второй курс от ребят из яндекса и физтеха на платформе cousera:
https://ru.coursera.org/specializations/c-plus-plus-modern-development
учтите, что он платный, но, в принципе, если вы готовы платить за обучение, лучше взять этот курс, а не другие которые есть на рынке, imho

базовые знания с которыми вы должны выйти на собес можно взять из
мейерс "эффективный и современный c++. 42 рекомендации по использованию c++11 и c++14"
джосаттис "шаблоны c++: справочник разработчика" второе издание
введение в параллельную обработку для самых маленьких:
энтони уильямс "параллельное программирование на c++ в действии"
все на русском, все есть в цифре в сети

видео с конференций и митапов, надеюсь кого-то они развлекут:
cppcon russia
https://www.youtube.com/channel/UCJ9v015sPgEi0jJXe_zanjA/featured
corehard братишек-белорусов
https://www.youtube.com/channel/UCifgOu6ARWbZ_dV29gss8xw
cpp-party от ребят из яндекса
https://events.yandex.ru/events/cpp-party/
cppcon
https://www.youtube.com/user/CppCon
boostcon
https://www.youtube.com/user/BoostCon/featured
meeting c++ от дойчей
https://www.youtube.com/user/MeetingCPP/featured
старички accu
https://www.youtube.com/channel/UCJhay24LTpO1s4bIZxuIqKw/featured
питерский митап по с++
https://www.youtube.com/playlist?list=PLtDc3cNvuhAIU_LRYg6xFaJV_95Kkt79n
проёбанная нормальная шапка 19 1307426
годные онлайн курсы для новичесов
на степике лучше пройти курс от cs center, чем аналогичный от mail.ru, это
https://stepik.org/course/7
и его продолжение
https://stepik.org/course/3206
этот курс бесплатный
второй курс от ребят из яндекса и физтеха на платформе cousera:
https://ru.coursera.org/specializations/c-plus-plus-modern-development
учтите, что он платный, но, в принципе, если вы готовы платить за обучение, лучше взять этот курс, а не другие которые есть на рынке, imho

базовые знания с которыми вы должны выйти на собес можно взять из
мейерс "эффективный и современный c++. 42 рекомендации по использованию c++11 и c++14"
джосаттис "шаблоны c++: справочник разработчика" второе издание
введение в параллельную обработку для самых маленьких:
энтони уильямс "параллельное программирование на c++ в действии"
все на русском, все есть в цифре в сети

видео с конференций и митапов, надеюсь кого-то они развлекут:
cppcon russia
https://www.youtube.com/channel/UCJ9v015sPgEi0jJXe_zanjA/featured
corehard братишек-белорусов
https://www.youtube.com/channel/UCifgOu6ARWbZ_dV29gss8xw
cpp-party от ребят из яндекса
https://events.yandex.ru/events/cpp-party/
cppcon
https://www.youtube.com/user/CppCon
boostcon
https://www.youtube.com/user/BoostCon/featured
meeting c++ от дойчей
https://www.youtube.com/user/MeetingCPP/featured
старички accu
https://www.youtube.com/channel/UCJhay24LTpO1s4bIZxuIqKw/featured
питерский митап по с++
https://www.youtube.com/playlist?list=PLtDc3cNvuhAIU_LRYg6xFaJV_95Kkt79n
20 1307430
>>07376

>можно делать практически все


Greenspun's tenth rule of programming
21 1307472
>>07426
Выглядит как говно
22 1307601
>>07472
что конкретно не нравится
23 1307607
Ку. Что такое внешний метод? Реализовать в классе метод упорядочивания информации в массиве, а так же внешний по отношению к классу метод реверсивного переворота информации в массиве.
Где мне его объявлять получается?
Класс шаблонный ес чо.
24 1307609
>>07607
Метод, изменяющий данные за пределом объекта класса (функтор, например).
25 1307611
>>07609
Так где и как мне его объявить? Он же по идее ничем не должен отличаться.
26 1307612
>>07611
уже после класса типо
void reversed(vector &x) {
...
}
?
27 1307615
>>07612
ебать на дваче амперсант уродливый
28 1307621
Перестали подчеркиваться ошибки в VS.
Теперь не подчеркивает, например, что я не объявил переменную, что нельзя такое значение присвоить, что нету такой функции и т. д. Делал сброс настроек, но не помогло.
29 1307662
>>07395
В том, что простые вещи становятся сложными.
Ну и ООП воняет бюрократией.
30 1307701
Это нормально что long и long long у меня занимает одинаковое количество байтов? Какой тогда профит от использования long long?
linux 64bit g++ c++11
31 1307702
>>07701
кинь мне код
33 1307706
>>07703
Они идентичны, но
long - 32ух битный
long long - 64ех битный.
34 1307707
35 1307709
>>07701
Да, всё верно. По стандарту си int должен быть минимум 2 байта, long - четыре байта. long long - 8. На некоторых платформах int в самом деле 2 байта (на ардуине, лол). Видимо, на современных системах 2 байта не дают выигрыша по сравнению с 4 и они увеличили int до 4, ну и ещё там всякое выравнивание в памяти, всё такое.

mingw-64, ексешник компилируется под х64, "-std=c++14".
В первый раз напоролся на четырёхбайтовый long и почти час пытался понять в чём дело.
long double 16 байт, но реально используется только 10, если оценивать машинную эпсилон. То есть шесть остальных можно свободно перезаписывать под что угодно, на значение они не оказывают влияния.
36 1307730
>>07701
В никсах используется LP64
В виндах LPP64. Вот там как раз лонг будет 32 бита
http://www.unix.org/version2/whatsnew/lp64_wp.html
37 1307737
По поводу использования unsigned: (паста)

В игре Civilization есть баг с механикой агрессии и миролюбия. Суть такова, что агрессивность цивилизации измерялась по шкале от 1 до 10. Девятки и десятки были у всяких Чингисханов, Монтесум и Сталиных, а у духовного пацифиста Махатмы Ганди была единичка. И ещё были модификаторы — строй «республика» уменьшает агрессивность на 1, «демократия» — на 2. Соответственно, сразу же, как только индусы открывали Демократию, у Ганди становилась агрессивность −1.

А теперь внимание. Эта переменная была однобайтная и строго неотрицательная(unsigned), от 0 до 255. Соответственно, агрессивность Махатмы Ганди становилась равна 255 из 10. Поэтому, построив у себя демократию, Ганди двигался рассудком, клепал ядрёные бомбы и умножал всех на ноль.
38 1307738
Почему нет конструктора то ? Принимаю адрес начала строки и копирую дальше.
39 1307744
Сап плюсаны, недавно коллеги джавоскипто-петухи наехали на моё желание изучать плюсы в 2к18, стали гнать меня, насмехаться. Я конечно аргументированно послал их чистить вилкой свой говнокод, но сомнения таки закрались. Учу плюсы чтобы перекатиться из своей уютной Java веб-разботки финансовых сервисов в хардкорный HFT, где без плюсов никак. Развейте сомнения, аноны.
40 1307758
>>07737

>Ганди двигался рассудком, клепал ядрёные бомбы и умножал всех на ноль.


Типичный undefined behaviour.
41 1307763
>>07738
Пока вот так пофиксил:
meaning(const char s[]) { strcpy_s(str, s); }
word(const char s[]) { strcpy_s(str, s); }
Есть варианты получше ?
42 1307766
>>07763
Ты все правильно сделал, потому что текстовый литерал это const char*. Другой вариант -- использовать std::string в аргументе конструктора. Кстати, использование C-style кастов (type) obj считается плохим тоном (у нас в продакшене правда всем похуй, там таких большинство).
43 1307768
>>07766
Лучше написать вот так:
dictionary.insert(pair<word, meaning>(static_cast<word>("Home"), static_cast<meaning>("Дом"))); ?
И так на месте всех (type) obj ?
А если я определю преобразование obj в int, тоже нужно писать через static_cast<int>(obj) ?
WfrTPmC9SXo.jpg97 Кб, 960x913
44 1307783
45 1307784
Что означает::?
В смысле не
X::y, а
::y
46 1307789
>>07784
Глобальный неймспейс

int x = 1;
namespace baka {
int x = 2;

int y = x + ::x; // 2 + 1

}
47 1307790
>>07784
::x обратиться к глобальной переменной x (если у тебя например есть такая же локальная)
48 1307792
>>07768
В твоем случае приведение типа вообще не оправдано. Если определен конструктор, лучше написать просто word("Home"). В случае с кастом из класса обратно в базовый тип -- да, надо делать статик каст.
49 1307811
Аноны, киньте книгу/ресурс почитать о формате PE, желательно разжеванный до мелочей материал. Я уже блять не могу, какие-то ебанутые структуры в структурах структур, все эти секции, хедеры и прочие пердолинги. С меня как всегда.
50 1307819
>>07758
Нихуя, беззнаковое переполнение разрешается стандартом.
51 1307853
>>07737
По поводу использования signed: (не паста)
В transport tycoon при приближении денег к 2 147... я начинал сносить горы и строить острова в морях чтобы потратить их и не получить два миллиарда долга.
52 1307869
>>07744
твои "коллеги" правы
специализируйся на яве, углубляй знания
53 1307952
Ананасы, поясните за приведение enum class к инту
Например, в чём разница между:
static_cast<std::underlying_type<MyEnum>::type>(MyEnum::Value);
и просто
int( MyEnum::Value );
?
2018-12-08.png20 Кб, 669x474
54 1307988
Здравствуйте.
Пишу свой велосипед, не кидайтесь говном.

https://ideone.com/L9rtWt
https://ideone.com/L9rtWt
https://ideone.com/L9rtWt

Так вот, проблема в том, что функция get_element возвращает какой-то мусор, когда условие не выполняется, несмотря на то, что в блоке else нет оператора return. Почему такой код компилируется и вообще работает, несмотря на то, что не все ветви кода возвращают значение?
55 1307994
>>07952
открой исходники std, да посмотри
56 1307995
>>07988
Бля, ты сконструировал массив с нулевым размером, и пытаешься туда запихнуть какой-то элемент, а потом еще получить элемент по индексу в массиве размером 0. Ты ебанутый или что?
57 1307999
>>07995

>Бля, ты сконструировал массив с нулевым размером, и пытаешься туда запихнуть какой-то элемент


Ты посмотри функцию add_element. Там я делаю realloc, и размер массива увеличивается на 1.

>а потом еще получить элемент по индексу в массиве размером 0


Нет. Я добавил нулевой элемент в массиве. Теперь его размер равен 1. А теперь хочу получить первый элемент в массиве. Так как элемент у меня пока там только единственный (нулевой), первый элемент я получить не могу. И функция не должна мне его возвращать, потому что я поставил ограничения.

Ты мне лучше расскажи, почему функция get_element вообще компилируется и работает? Если что, я про код в else. По-идее функция не должна скомпилироваться из-за того, что не все ее ветви возвращают значения.
58 1308030
>>07999

>Ты мне лучше расскажи, почему функция get_element вообще компилируется и работает?


Компилируй с -Wall -Werror:

>g++ aaa.cpp -Wall -Werror


aaa.cpp: In member function ‘int Array::get_element(int)’:
aaa.cpp:36:6: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: all warnings being treated as errors

Почему - потому что философия С++ предполагает, что ты понимаешь, что делаешь, даже если ты стреляешь себе в ногу
59 1308042
>>08030
Ок, а что тогда за неизвестный мусор возвращается из функции, в случае, если она ничего не должна возвращать?
60 1308053
>>08042
Зависит от соглашения вызовов - или содержимое стека в том месте, в котором должно было бы быть возвращаемое значение, или содержимое регистра, если по соглашению вызовов возврат значения производится через регистр.
61 1308068
>>08042
Что значит ничего, блятб? У тебя написано int get_element(), значит будет возвращать инт, какую бы хуйню ты внутри не писал.

обколются своими джаваскриптами и ябутся в жопу
62 1308140
>>08068

>значит будет возвращать инт, какую бы хуйню ты внутри не писал


ну типо я написал
if (условие) return что-то
else {нихуя не написал}
Я понимаю, что возвращается int, но мне хотелось узнать, откуда берется тот мусор, когда работает else.

>>08053
Спасибо
63 1308168
Считается ли проебом оптимизации использование string вместо строк с завершающем нулём ?
Насколько сильно теряется производительность при этом ?
64 1308181
>>08168
Скорее только выиграешь, потому что стринги знают свою длину, а си-строки нет
65 1308188
>>08168
кажется парадоксально, но зависит от того, что ты со строками делаешь
потому, что, внезапно, string знает свою длину, а длину сишной строки нужно каждый раз считать, пробегаясь по всей ее длине..
поэтому некоторые алгоритмы со string работают быстрее..
66 1308193
>>08188

>кажется парадоксально


Почему? Это нормально.
Если у него много вставок в большую строку например, то вообще надо rope использовать.
67 1308204
>>08188
Как правило сишные строки быстрее если забить хуй на проверку переполнения буфера и внимательно следить за тем, не вызываешь ли хочешь ли ты в конец строки от ее начала случайно, вызывая тот же strlen. А так они медленнее. Особенно когда string может хранить короткие строки прямо на стеке.
68 1308322
Что означает и зачем используется type *func() ?
69 1308325
>>08322
Функция, возвращающая указатель на type.
Почему в 2018 году пишут так, а не type* func() для меня загадка.
70 1308333
>>08325
Привычка.
Мне быстрее понятнее если указать или ссылка стоит вместе с переменной, а не с типом.
71 1308336
Ананасы, я тут задумался.
Получил от stepik.org лицензию на продукты JetBrains, поставил ReSharper C++ и увидел, что по его мнению никакого кэмелкейса или названий переменных, совпадающих/похожих со стандартными, не должно быть.
Второе - ладно, логично.
Но насчёт первого я видел и вариант такихПеременных, и таких_переменных.
Есть вообще где-то конкретное соглашение по стилю кодирования?
72 1308340
>>08336

> Есть вообще где-то конкретное соглашение по стилю кодирования?


https://fabiensanglard.net/fd_proxy/doom3/CodeStyleConventions.pdf
+ свой .clang-format
73 1308359
Аноны, я вот разбираюсь, что и как можно в плюсах делать. (Знаю все темы, что были в Шилде и совсем немного QT). Так вот, могу ли я найти сейчас работу, пусть и самую днищенскую, но по плюсам ? Мне бы опыта набраться. А то я в теории знаю как создать интерфейс и всё такое, но практики очень мало.
74 1308392
>>08336
Это наверняка там в настройках прописывается
75 1308400
>>08340
clang format вот прямо щас рулит, кстати, прямо вот недавно, с этого года-двух
во многих топовых проектах на гитхабе используется
76 1308402
>>08359
не хотелось бы тебя расстараивать, но вакансий джунов на кресты очень, очень мало
по крайней мере, по сравнению с другими платформами
можешь сразу попытатся устроится на мида, иногда некоторые фирмы отчаиваются искать нормальных людей и берут новичков с надеждой на то что они быстро вырастут
но готовся к косым взглядам других людей на работе, потому что ты им будешь тупо мешать следующие два года и если бы не приказ сверху, они бы тебя нахуй послали и все, не стали бы ни помогать, ни учить
77 1308453
>>08325
Указатель же относится конкретной переменной, а не к типу в целом. Аще, когда звездочка должна стоять в скобках, вся твоя изячная конструкция пойдет по пизде.
78 1308477
>>08402
А куда мне стоит дальше вкатываться ? Есть знания из 1 книги Шилтда(которая для начинающих). Думал Рихтер Дж - Видновс виа, чтобы в api вкатиться, или Шлее М - Qt
79 1308488
>>08477
эээ, никуда
везде ты будешь посылаем нахуй с такими "знаниями"
десктоп разработка на винде мертва, на с++ декстоп разработка под винду мертва 10 раз, от чтения рихтера тебе ни будет никакого проку, хоть это и охуенная книга, это будут мертвые знания
ебучий qt нужен в россии по большей части во всяких нии и полугосударственных конторах, которые тупо распиливают государственный и военный бюджет, писать на qt - это получать в 3-4 раза меньше веб-макаки, по сути выполняя ту же работу
80 1308498
>>08340

>https://fabiensanglard.net/fd_proxy/doom3/CodeStyleConventions.pdf



Открыл, первой строчкой в лицо:

>Use real tabs that equal 4 spaces.


>real


>настоящие



А разве не правильней использовать 4 пробела, вместо таба?
81 1308499
>>08488
нахуй тогда сипласплас нужон?
82 1308511
>>08499

>нахуй тогда сипласплас нужон?


разное говно, которого мало в россии и которое недоступно простым долбоебам вроде меня и возможно тебя

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

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

а вот разное говно: раст, питон, го и прочая модное говно никому ненужно в снг.

опыт байтоебли возможно полезен, алгоритмы поучить, понять, как работает память, но не больше. потом нужно пересаживаться на промышленный язык и уже грести на нем.
83 1308513
>>08511
А в Геймдев вкатиться на плюсах же самое то ?
Видел вакансию у себя в городе от Ubisoft, программиста на С++
84 1308516
>>08513

>А в Геймдев вкатиться на плюсах же самое то ?


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

сам я у себя работаю в мухосранской галере на аутсорсе, пишем софт для работы с геоданными
85 1308541
Анон, что делать после курса по крестам на степике? Есть вариант через пару недель устроить собес по знакомству на мухосранскую галеру крестоджуном, сжимается очко, что даже если и пройду собес- пнут через месяц работы. Дабы это устранить хотелось бы получить какие то представления о собственных знаниях ака: реальную, не учебную практику. Но всё, что видел по теме представляет собой сложные полноценные проекты, в которых не понятно откуда ноги растут.
86 1308545
>>08513
Если хотят именно программиста, а не стажера, то там наверняка нужен опыт и скорее всего опыт на коммерческих проектах.
87 1308612
>>08477
Проиграл. 1 книжку прочитал и собрался уже работать? Ахуеть ты оптимист.
88 1308617
>>08612
Насколько знаю жабапидоры так устраиваются.
436575-skott-mayers-effektivnoe-ispolzovanie-c-55-vernyh-sp[...].jpg31 Кб, 415x597
89 1308618
Есть пдфка этой книги ?
90 1308629
>>08617
В жабе нужно знать две книжки - по жабе и по спрингу. В С++ вакансии будешь искать когда сможешь без подсказок написать свой type_traits
>>08488
Qt в индастриал ПО под нефтянку и разработку недр активно используется.
91 1308630
>>08618
Запрос в гугле:
"Jeffektivnoe ispol'zovanie C++" filetype:pdf
92 1308639
>>08617
И останавливаются в развитии. Если вкатываться, то серьезно. В плюсы от полугода до года активной учебы точно уйдет.
93 1308642
>>08639
Не преувеличиваешь? Моя ситуация: мат фак (не окончен по проёбам), некие способности на уровне "в школке и на практиках в вузе всё легко с полпинка давалось" + 2-3 месяца изучения конкретно крестов не хватит 100% на должность стажёра-джуна?
94 1308643
>>08642
Если найдешь вакансию, то хватит. Но 99% вакансий это ОПЫТ от 3 ЛЕТ.
95 1308644
>>08643
В моём мухосранске берут и с хуем в руке, лишь бы в голове что то было, кроме хуёв. По крайней мере насколько мне известно.
96 1308647
>>08541
Чо, нету никаких вариантов? Только два стула?
1)реализуй лопату, чтобы сама копала.
2)напиши программу, считающую сумму двух апельсинов.
97 1308651
>>08359
Прочитай K&R, Мейерса и Саттера. Я сделал это за неделю в 20 лет и стал богом С++ по сравнению с типичным тридцатилетним дядей.
А работу найдешь, хули не найти. Демпинганешь от рынка процентов 30 и она твоя
98 1308655
>>08541
Возьми "сложные полноценный проект" на гитхабе и разберись откуда в нём ноги растут. Уметь искать ноги - чуть ли не самый полезный скилл в кодинге.
99 1308656
>>08651
Пиздишь. Может прочитать то прочитал, но уверен, что 90% нихуя не усвоил.
100 1308658
>>08651

> Демпинганешь от рынка процентов 30


и тебя не берут, потому что ты себя слишком низко оцениваешь и это подозрительно.
101 1308664
>>08656
Видишь ли, там говорится одно и то же. То есть усвоил 10% K&R, усвоил 10% Мейерса, усвоил 10% Саттера, а у Мейерса две книжки, у Саттера тоже две - итого уже получается усвоил 50%. А это дохуя по сравнению с типичным дядей, который использует голые new в коде.
Это мой метод. Я быстро читаю много книг об одном и том же, рассчитывая на то, что подсознание будет выхватывать то, что повторяют все - это скорее всего действительно важное, а не просто случайные кукареки автора. И это работает.
>>08658
Студент без опыта низко себя оценивает? Охуенно подозрительно, ага.
102 1308674
>>08664

>Охуенно подозрительно, ага.


Если речь идет о недооценке относительно рынка студентов без опыта, то подозрительно. Точнее даже не подозрительно, а на 146% выдает, что соискателю лишь бы взяли, а там трава не расти. Абсолютно не практично такого брать: он либо не осилит вовсе, либо через ~пол года начнет терзаться, что мало получает.
Петя получает 50к, Вася 35к, оба тратят по 30к в месяц. Вася откладывает 5к с зарплаты, а Петя 20к. Петя богаче Васи на 300 процентов, а не на 30, как казалось в начале
103 1308680
>>08655
Походу надо искать что попроще, но там вообще есть такое? Я там в топе выхватил какую то телегу по фейсбуку. Там всевозможные языки и файлов в принципе чуть меньше чем дохуя. Глаза на лоб сьехали.
104 1308681
>>08651
Чё толку от чтения без практики? За неделю ты много учебных заданий из тех же книжек выполнишь?
105 1308682
Аноны, написал калькулятор для булевых функций, и хотел задать вопрос: его можно заливать на гит разберусь с ним наконец, или засмеют?
106 1308687
>>08681
Никогда не делал задания в книжках, они скучные и зачем мне это делать, если я могу прочитанное сразу применять на практике.
Еще они как правило расчитаны не на изучение языка, а на основы программирования, которые НЕ нужно учить на си или с++. Да и сами основы программирования нужно учить не на переворачивании строк и разворачивании списков, что тоже дико скучно, а хотя бы тетрис написать.
107 1308688
>>08682
Так на git можно заливать и оффлайн
108 1308689
>>08674

>Если речь идет о недооценке относительно рынка студентов без опыта, то подозрительно.


Нет такого рынка. Вы сами жалуетесь, что во всех вакансиях опыт от года. Вот ты стучишься на такую вакансию и говоришь, мол, я хуй простой, хочу 70% от з/п первый год, а потом уже 100%, ведь опыт от года. Если ты при этом сам что-то из себя представляешь, тебя с радостью возьмут.
109 1308704
>>08689
Ну, это уже похоже на деловой разговор.
Только 70% от з/п специалиста - это сильно оверпрайс. В среднем за год он выдаст половину от того, что сделает человек с годом опыта.
+ Зачастую опыт приобретается на ошибках. Если брать человека с опытом, то ошибки остались на чужих проектах. Если брать человека без опыта, то ошибки будут на твоем проекте.

Так что 50% - верхняя граница, выше нецелесообразно.
110 1308714
>>08618
Я бы скинул, но ргхост пидор не даёт файл загрузить.
500-600 кб загружает и всё, останавливается.
111 1308731
>>08714
По тому запросу гуглу (от анона) есть эта книга.
112 1308753
>>07268 (OP)
Aноны, что за хрень?
Eсть функция, в начале которой я создаю переменную int i=0;
Дальше идет цикл, в котором переменна i увеличивается.
После цикла вывожу ее и она опять 0.
Что я делаю не так?
113 1308756
>>08753
Код давай
114 1308761
>>08688
Да не, на гит можно простячковые проекты заливать или потом кто-то посмотрит что я змейками весь профиль забил и скажет что я довбойоб?
115 1308763
>>08753
Если у тебя эта переменная вне цикла также обьявлена и инициализирована 0 то ты скорее всего в функцию ее передаешь по значению, соотвественно ты передаешь копию объекта, а после выполнения функции всё что с ней было уничтожается вместе с ней. Так что либо передавай по ссылке/указателю, либо возвращай значение из функции и присваивай его куда-то
116 1308777
Аноны, надо собрать древнюю C-программу под винду.
Скачиваю исходники, запускаю mingw32-make
Получаю пикрилейтед.
Не подцепились библиотеки, видимо. Как их подцепить? И почему не работают сишные ключевые слова? Попробовал подключить libc, получаю mingw32/bin/ld.exe: cannot find -lc
117 1308783
>>08664
Ну ахуеть. Пойду задрачивать скорочтение и пилить по 5 книг в неделю. Не верю, что ты 5 книг по 500-1000 страниц мог прочитать за неделю, это блять нужно каждый день от 5 часов сидеть читать.
118 1308797
Универсальная ссылка теперь мастхев, даже если мне объект изменять не нужно ?
119 1308823
>>08756
>>08763
Cпасибо!
Проморгал часть кода, так что всё нормально работает.
120 1308827
>>08777
Дай ссылку на исходники
121 1308829
l
122 1308833
>>08680
Давай научу:
google -> awesome-cpp -> список библиотек, разложенный по темам
123 1308834
>>08761
Всем похуй на твой гит. Хоть модельками сиджея с розовым хуем забей.
125 1308861
>>08783
Я поехал на рыбалку с батей, кроме самой рыбалки делать было ВООБЩЕ нехуй, но я прихватил с собой ноут с залитыми djvu.
А так в чем проблема читать пять часов. Это вообще хуйня, если книга интересная. Мне было интересно.
126 1308862
>>08704

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


Хуй знает, опыт опыту рознь
127 1308871
Хочу мьютекс сначала покрутить в трайлоке несколько тысяч циклов и если не залочится, лочить уже на жесткую. Такой гибрид спинлока и мьютекса. Прокатит?
128 1308885
>>08871
В смысле "прокатит"? Спинлок с траем быстрее, чем жёсткий лок (зависит от реализации мьютекса, но в 99% случаев это так).
129 1308907
>>08777
Очень странно. У меня практически сразу собралось.
Сначала make clean, а потом просто make вызвал и всё ок.
130 1308939
>>07395

>что плохого в том чтобы делать композицию данных с методами, их обрабатывающими?


Это называется инкапсуляция. Композиция - это другое.

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


Это называется абстракция.

>статический, динамический полиморфизм


Напридумывают дебильных терминов, а потом ябуться в жёппы.
Это всё Ad-hoc полиморфизм.

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


В си++ не используется модель акторов искаропки. Используется типичное императивное программирование приправленное особой модульностью под названием объекты.
IMG20181210112240~2.jpg1,1 Мб, 3200x1824
131 1308960
Сап, программач!
Я нуфаг, пытаюсь вкатиться в язык, но никак не могу разработать такую поеботу. Может кто помочь?
132 1308965
>>08960

>#include <iostream>


Основную вещь ты написал, осталось дело за малым.
133 1309017
>>08960
С контрольными и прочим сразу нахуй. Заебали уже эти хелоуворлдщики из вузов, которые элементарных вещей не знают.
134 1309020
>>08885
Я хочу чтобы, если есть возможность, обойтись спином. А если ожидание затянулось, то лочить таки мьютекс, чтобы не тратить процессор. adaptive mutex так это вроде называется.
135 1309025
>>09020
Мьютексы в любой ОС новее 80-х так и работают, не занимайся хернёй.
136 1309044
>>08960
1000 рублей, яндекс деньги
+ проведу консультацию по непонятным вопросам, полчаса в скайпе, но это максимум
устраивает?
137 1309081
>>08907
Mingw32 под виндой собирал?
139 1309141
>>08960

>программировать на бумаге

140 1309146
Сейчас начал читать Эффективный и современный С++ после Шилтда (для начинающих). И что-то сложно, в книги подразумевается, что я знаю об универсальных ссылках и прочем, но я соответственно не знаю о новых приблудах. Пришлось гуглить и потом только в книжку возвращаться, не очень удобно. Есть учебник, который объясняет всё это детально, а не только говорит, в чём польза ?
141 1309167
>>09146
на русском нет
142 1309169
>>09167
Скажи не на русском
мимо
143 1309196
>>09146
У того же Мейерса это должно быть в какой-то другой книге.
144 1309198
>>09169
there is no in Russian
145 1309228
>>09198
Spasibo
146 1309243
Я тут подумал сделать пару простых игр, чтобы автоматизировать навыки и укрепить знания. Думаю вкатиться в OpenGL для этого или Win api, какие хорошие книги есть по этому ?
OpenGL для С++ востребован ?
147 1309264
>>09243

>какие хорошие книги есть по этому ?


Я бы посоветовал очень быстро пролистать redbook по диагонали - это совсем древний opengl версий 1.*, но идеалогия почти не поменялось. Потом Боресков "Расширения OpenGL". Но я понятия не имею что есть на других языках по теме.

>сделать пару простых игр


А возьмёшь с собой?
Я бы тоже не против укрепить знания. Можно попробовать сделать что-то вместе (хотя вот это мне немного не по себе), а можно порознь что-то похожее, что бы ориентировать друг на друга и подсказывать друг другу всякое. Чуть-чуть в теории помню логику opengl и нескольких самых простых графических эффектов, но не более - книжки то прочитал и вроде даже интересно, но по факту едва ли три программы с ним написал, из которых все на уровне хелловорлда.
sage 148 1309282
>>08960
Скажи ещё, что у тебя преподавателя на зарплате нет.
image.png295 Кб, 1907x994
149 1309291
Объясните нюфане, кто пользуется парашей пикрил и самое главное ЗАЧЕМ? С таким же успехом можно набирать код в обычном нотепаде, какой в этом смысл когда есть великолепная IDE - Visual Studio, которая увеличивает скорость разработки и написания кода в РАЗЫ. Оправдывайтесь, линуксодебилы.
150 1309293
>>09291

> кто пользуется парашей пикрил


Ты про C++?
Действительно
151 1309301
>>09291

>visual studio


Для людей есть clion
152 1309310
>>09301
Но ведь это жалкая поделка, пародия на VS. Ты точно ничего не перепутал?
image.png88x51
153 1309322
>>07268 (OP)
Что означает этот синтаксис? Массив пустых объектов? Объект пустых массивов?
154 1309325
>>09322
Надо было ещё меньше кода скинуть.
155 1309326
>>09264

>А возьмёшь с собой?


Взял бы, но я ещё совсем ньюфаг в плюсах, только на дно потяну. Пока даже змейку в консоли не с первого раза могу сделать.
156 1309329
>>09322
Лямбда-выражение.
157 1309336
>>07314
Си норм, а вот Си++ - говно.
158 1309339
Анон, поясни в чем разница между инициализацией и привоением?
159 1309349
>>09291
Тебе не похуй на чём писать? Один хуй, говно получится.
>>09293
На пикриле С.
160 1309350
>>07284

>Самый выразительный - пайтон


Ну такое.
>>07314
Лучше не начинай, под капотом питона до сих пор говно и палки.
161 1309352
>>09322
Примерно тоже что и [](){}.
162 1309373
Как сделать мапу в которую нельзя добавлять элементы, но можно модифицировать уже имеющиеся. Куда cv пихать?
163 1309377
>>09291

>Visual Studio, которая увеличивает скорость разработки и написания кода в РАЗЫ


Только если ты совсем нюфаня
164 1309420
>>09373
через константную ссылку на существующий map?
или предоставляя доступ к твоей мапе через константные итераторы?
но, к сожалению, не знаю рабочее это решение или нет
а так, по старинке, обычно map агрегируется в пользовательский класс, и дальше работа идет через объект этого класса
165 1309423
>>09326
лучше сделай змейку в браузере через webasm
кучу опыта получишь
166 1309459
>>09322

> Аноним 10/12/18 Пнд 23:29:42 №1309


На какую-то ебанутую пустую лямбду похоже
167 1309460
>>09322
Это лямбда выражение, видимо создающее пустое замыкание-заглушку которое там нужно по синтаксису, но не по семантике.
168 1309542
>>08960

>Красноказамерная улица, Москва...

169 1309568
>>09291

>которая увеличивает скорость разработки и написания кода в РАЗЫ


Нормальные разработчики больше думают, чем педалят код, и скорость написания кода вобщем-то не особо важна.
Если ты имеешь ввиду разные полезности, то для VIM есть куча плагинов. Но ты либо нюфаня, либо макака на галере и тебе важнее быстрее наговнокодить.
170 1309797
>>09339
Разница в том, что инициализация может вызвать только конструктор, а присвоение - деструктор и любой конструктор.
171 1309799
>>09373

>можно модифицировать уже имеющиеся.


>мап


Никак.
image.png48 Кб, 1032x571
172 1309876
Аноны, есть один код. Нужно в одном цикле изменить массив так, что бы в начале были нули, а в конце отрицательные числа. я так заебался писать это в одном цикле, я просто блять ебал в рот эту оптимизацию, на пикче то, до чего я додумался, и это не работает сука
173 1309885
>>09876
хуй знает. попробуй хранить индекс последнего нуля и первого отрицательного числа
при проходе
если нашел ноль свапаешь его с индексом последнего нуля +1
если нашел отрицательное, свапаешь его с индексом первого отрицательного -1
image.png1,8 Мб, 1920x1080
174 1309895
175 1309897
>>09876
Нужно.
image.png4 Кб, 700x38
176 1309905
>>09876
https://ideone.com/ADokFj
Типа такого?
Не уверен насчёт граничных условий, правильно ли оно сработает если последнее сортируемое число 0, не будет ли бесконечного цикла если все числа отрицательные, и так далее - но вот что-то типа такого костыля без изменения j при перестановки (потому что переставиться может другой ноль или отрицательное, причём неопределённое число раз, из-за чего тут и нужен дополнительный цикл или подобный костыль).
177 1309909
>>09905
типа такого и есть, гребаные костыли задетектить бы
178 1309916
>>09876
размер массива известен?
"в одном цикле" - это значит что одно слово "for" должно быть?
1 - рекурсивно. вызывай сам себя с разным размером массива пока не надоест внутри одного цикла.
2 - в одном цикле захуярь два счетчика. иди с начала и с конца массива и меняй элементы местами.
179 1309927
>>09909
Кажется, всё верно я учёл.
Я проверил на миллионе итераций для 8, 10 и 60 элементов, и алгоритм каждый раз сработал правильно.
Но rand() даёт последовательность всего на 32к или 64к, потому я заменил его нормальный рандом из std и проверил на 100кк при длине массива от 4 до 20, и всё-равно всё стабильно работает.

> иди с начала и с конца массива и меняй элементы местами.


После смены просто не меняй индекс "обхода" (для for напиши i--, например), потому что сменяемый элемент тоже может быть нулям или отрицательным.
180 1309964
>>09799
Так не ключи же, а значения.
Стикер191 Кб, 512x512
181 1309984
>>1309983
Продублирую сюда, так как у меня есть вижуал сдудио и я немного ковырялся в срр. Напишите мне пожалуйста СКЕТЧ кода, как надо сделать, а я доосилю.
image.png17 Кб, 646x136
182 1310007
>>09984
Полноэкранные программы не перекроешь никаким адекватным способом.
Ставишь старую версию делфи на 70 мб, в настройках окна ставишь нужную прозрачность, цвет, галку, то что окно должно быть поверх всех окон и пишешь четыре строки для выставления нужных координат. Самый простой вариант, кодинг и winapi вообще не надо знать.
Создаёшь окно вообще без флагов (примеров сотни по запросу "окно на winapi" - просто в коде заместо всяких WS_OVERLAPPEDWINDOW оставь нули), ставишь ему HWND_TOPMOST, чёрный цвет и ставишь ему что-то вроде пикрелейтед. В идеале ещё дописать код, которые будет заново передвигать окно на первую позицию, если ещё какое-нибудь окно с HWND_TOPMOST вылезет наверх.
Стикер191 Кб, 512x512
183 1310008
>>10007

> Ставишь старую версию делфи на 70 мб


А вот это, получается, будет нормально работать даже поверх полноэкранных вещей?
184 1310009
>>09876

>в одном цикле


Это лабораторка такая дибильная у тебя или ты прост полагаешь, что выиграешь в производительности?
Двумя циклами гораздо читабельнее будет выглядеть, а общее кол-во операций не больше, чем в одном цикле; а то и вовсе быстрее будет, т. к. меньше условий проверяется.
185 1310010
>>09916
Так там нужно обращаться к ранее просмотренным индексам. Это не рекурсия получится, а спагетти-код.
186 1310012
>>10008
Нет, не будет. Поверх полноэкранных это нужно что-то типа стимовского оверлея писать. Я как-то пару лет назад пробовал это нагуглить в течении пары часов, но в результате я не нагуглил даже из какой области там функции. Наверное, это делается или через какое-нибудь чугуниевое winapi, или через какие-то особые фичи directx.
Если таки найдёшь об этом инфу, мне тоже будет очень интересно послушать.
Ушёл, ответить до вечера не смогу, тому что с мобилки не работает ввод капчи из-за уёбища на админе.
187 1310018
>>10012
Окей, спасибо.

Интересно - насколько сложно реализовать мой черный прямоугольник на уровне самого монитора, лол? Даже не знаю как это назвать - это всплывающее окошечко с настройками яркости и прочим говном. Туда как-нибудь можно по-простому присобачить лишнюю фигуру? Это-то точно будет поверх всех остальных окон.
Тоже пойду спать до вечера.
188 1310034
>>10010
считай что у тебя весь массив уже отсортирован, кроме двух крайних элементов, к примеру. фикси крайние и вызывай сам себя рекурсивно для середины.
но это я так, примерно, саму идею.
189 1310039
>>10034

>считай что у тебя весь массив уже отсортирован


В общем случае так считать нельзя.

Если, допустим, в массиве первый ноль встретится на 10-й итерации, нужно будет нулевой с девятым местами поменять.
Если чистую рекурсию пытаться сделать, придется очень некрасиво костылить, чтобы на десятой итерации получить доступ к нулевому.
190 1310104
Посоветуйте чего почитать по сетям и библиотеке winsock с примерам реализаций.
191 1310205
Аноны, а что быстрее - скопировать значение или создать указатель и присвоить ему адрес этого значения?
192 1310217
>>10104

>winsock


пишешь прямиком из 90х? как оно, 98ю винду поставил уже?
193 1310239
>>10205
Молодой человек, вы друной?
194 1310246
>>10217
ну winsock2
195 1310279
Как в TCP/IP задектить, что клиент отключился? То есть если клиент просто закрыл окошко и не посылал никаких сигналов, что он отключился.
196 1310288
>>10279
Никак по нормальному. Отправляй хардбиты.
197 1310289
>>10279
>>10288
Так выбьет ошибку передачи же, по WinSock2 и Беркли.
198 1310291
>>10279
Если нормальное отключение, то read/recv вернёт ноль прочитанных байт. http://man7.org/linux/man-pages/man2/recv.2.html#RETURN_VALUE
Если жёсткое, то >>10288
199 1310408
200 1310417
>>10279

>Как в TCP/IP задектить, что клиент отключился?


Протоколом не предусмотрено.
201 1310600
>>07268 (OP)
чому в шапке /pr ссылка на старый тред?
202 1310632
Гляньте, плиз, код: https://ideone.com/Ctdr71
Как мне сделать так, чтобы я мог проверить тип параметра шаблона, например чтобы функция f работала для vector<int> и set<int>, но не для list<char>?
203 1310651
>>10632
Юзай концепты.
205 1310674
>>10665

>https://ideone.com/l3eMJq


Спасибо, но я и сам так могу. Я просто думал как-то в самом шаблоне это все прописать, шоб на этапе компиляции проверялось.
>>10651
Погуглил, возможно то, что нужно. Спасибо, пойду пробовать.
206 1310675
>>10674

> Я просто думал как-то в самом шаблоне это все прописать, шоб на этапе компиляции проверялось.


Тогда юзай enable_if
Одна функция для char, а другая для всего остального
207 1310718
Чем вот это:
char *b;
b = new char [10];
Отличается от этого:
208 1310720
>>10718
const char *b;
b = new char [10];
Почему компилятор не ругается на это?
209 1310721
>>10720
А на чо тут ругаться?
210 1310724
>>10718

>Отличается


Через первый указатель b ты можешь изменить объект, на который указывает b; b не может указывать на константу.

Второй указатель b может указывать на любой char, константный или нет. Но нельзя изменить объект, на который указывает b, не важно на константу он указывает или нет, через этот b изменить ничего выйдет.
211 1310730
>>10724
Спасибо
>>10721
Строковый литерал в 11 с++ это массив const char, так почему компилятор не ругается на первую запись?
212 1310739
>>10730
Так у тебя нигде литерал не используется, в обоих случаях ты инициализируешь б неконстантным массивом, что допустимо.
Будет ругаться, когда ты попытаешься
char *b;
b = "Literal";
213 1310855
void f(int a[]) = void f(int *a) ?
214 1310894
А какие есть инструменты отладки шаблонных метапрограмм на С++?
216 1311296
Можно ли сделать мапу, где key будет reference_wrapper'ом на один из полей value?
217 1311479
Есть объект класса, содержащий указатель на другой объект. Перед завершением работы программы оба объекта записываются в файл. Можно ли сделать так, чтобы при повторном запуске программы и чтении из файла их связь сохранилась? Т.е. указатель указывал не в ебеня, а на второй объект.
Screenshot171.png61 Кб, 986x522
218 1311521
Какой менеджер пакетов и зависимостей у C++?
vivod v formate.png31 Кб, 1255x835
219 1311528
>>07268 (OP)
Тру крестоносцы помогите, ничего не могу нагуглить, нужен крч вывод в определнном формате примерно как на пике. Есть какие идеи? МБ кто изобретет велосипед? Либо просто нужна норм функция для возвращения позиции курсора мб подскажет кто ?
220 1311530
>>11528
Какой пидор придумал в вузах кресты давать, интересно?
221 1311531
>>11530
хз. но це не для вуза, для совего проекта
what-the-fuck-am-i-reading.jpg33 Кб, 460x485
222 1311532
>>11528
Я абсолютно нихуя не понял из этого рисунка
223 1311535
>>11532
блят, крч есть определенные классы предметов и суть в том что предметы из одного класса со своими именами и свойствами должны выводиться в столбик, но при том столбики находятся в одной строчке.
опять ебано объяснил наверн.
224 1311583
>>09964
Ааа... всё равно никак. Это ограничение STL такое. Логично, что значение должно быть изменяемо.
225 1311584
>>11535
ncurses какой-нибудь.
1247835680985.jpg112 Кб, 736x736
226 1311612
>>11583
c o n s t _ c a s t
227 1311621
>>11296
Можно, но ни в коем случае нельзя

Не получится. Только если дрочить вприсядку (вроде подсовывания в insert вручную созданных нод)
228 1311628
>>11479
Разве что раздать объектам уникальные id и записывать в файл вместо указателей. И запилить менеджер загрузки, который при чтении объектов из файла будет расставлять им настоящие указатели.
229 1311631
>>11479
С помощью mmap отобразить файл на конкретный адрес памяти, всегда один и тот же.
Выделять память в этом адресном пространстве
230 1311695
>>11479

>Перед завершением работы программы оба объекта записываются в файл.


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

>при повторном запуске программы и чтении из файла их связь сохранилась? Т.е. указатель указывал не в ебеня, а на второй объект.


Ты заного создаешь два объекта, инициализируешь из своего файла. Что тебе при этом мешает инициализировать твой указать новым адресом нового второго объекта?
231 1311698
>>11695
Получается, где-то надо хранить доп. информацию о том, какой объект на какой указывал, т.е. не только адрес, по которому была прошлая инкарнация второго объекта?
232 1311702
>>11698

>где-то надо хранить доп. информацию о том, какой объект на какой указывал


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

>где-то


Да где угодно, хоть в названии файла, епт.

>не только адрес


Старый адрес вообще хранить бесполезно.
233 1311712
>>11631
А разве есть способ гарантировать, чтобы это адресное пространство было всегда доступно?
234 1311724
>>11712
Читай:
https://www.opennet.ru/man.shtml?topic=mmap&category=2&russian=0
http://man7.org/linux/man-pages/man2/mmap.2.html

>If addr is not NULL, then the kernel takes


it as a hint about where to place the mapping
Нельзя.
Если вкратце, то делай свои указатели относительными. С сырыми указателями ты каши не сваришь.
На винде ты это тем более не сделаешь.
235 1311740
>>11479
Аллоцируй оба класса статически.
237 1312122
>>11521
Бамп
239 1312131
>>12125
Ясно, нескучные говнософты от васянов, единого нет.
Шел 2075-й год, в крестах все ещё не было элементарного менеджера пакетов...
240 1312132
>>12107
>>12107
bs щас 2 ляма в год делает в морган стенли
241 1312135
>>12131
ну, вроде Tools WG чето там в коммитете работает, к 26ом мб родят что-то
242 1312137
>>12132
За умение разбираться в чужом своем коде?
243 1312158
>>12125

>ru-ru

244 1312231
>>12158
Не говоришь на языке Пушкина?
245 1312235
>>12158
Микрософт на свиной не перевели еще, хрюкай в другом месте
246 1312374
>>12231
У мелкософта почти всегда плохие переводы, поэтому лучше заранее перевести на en-us, чтобы не терять время.

>>12235
hr-HR и правда не подвезли
247 1312460
auto f = std::async([](){return 42;});
f = std::async([](){return 43;});

Что происходит с f во второй строке?
249 1312470
>>12464
Я так понял будет ждать пока первый не станет валидным. А дропнуть без ожидания нельзя?
250 1312631
Аноны, вкатился в сишарп. Дочитываю https://dotnetcademy.net/
Что дальше читать? Есть какой-нибудь годный учебник БЕЗ интеграции сразу с вижуал студио? Просто голый сишарп?
251 1312635
>>12631
А не, аноны, не надо, вы там в шапке три ссылки на учебники дали.
252 1312650
>>12631
Мы тут нормальный язык изучаем, со своими полускриптами на 2 блока ниже.
253 1312666
>>12650
Да анон че-то ступил. Спасибо.
254 1312916
Почему в си не завезли операторы &&= ||= ?
В чем принципиальная причина отказа от них?
255 1312948
>>12916
Первое эквивалентно *=, второе +=, можешь сделать соответствующие макросы.
Для того, что в си не завезли запилили си++
256 1312960
>>12948
bool x = false;
.....
x &= foo()

Будет ли вызвана foo?
257 1312974
>>11479

>Есть объект класса, содержащий указатель на другой объект. Перед завершением работы программы оба объекта записываются в файл.


Используй реляционную БД.
258 1312979
>>12960
Разумеется да, побитовые операторы не ленивые.
259 1313016
>>12974
о, да, детка
нужно сделать персистентными 2 (два) объекта
и ты советуешь изпользовать реляционную субд
может сразу технологийй big data подключить, ну а хули, кластеризация, распараллеливание, вот это все
260 1313023
>>13016
Тогда очевидно, что пишешь процедурку, которая их подгружает/десериализует/хуй_знает_что_там_ты_наворотил и сетит/передаёт_в_конструктор нужный указатель.
261 1313335
https://www.youtube.com/watch?v=p8-rZOCn5rQ
Никто не упомянул C++, видимо этот язык стал нишей и используют его сейчас только энтузиасты.
15375701182150.jpg61 Кб, 520x545
262 1313336
Кресты, помогите. В данном говнокоде представлен алгоритм быстрого умножения больших чисел. С хуя мне выдаёт ошибку _crtisvalidheappointer(block) при числах больше 60000-значных ? Кода оставил минимум, функ мейн для общего понимания, можно туда не смотреть.
https://godbolt.org/z/JI_vj2
263 1313344
>>13335
херассе ты эксперт по статистике, а C# тоже полтора человека используют?
264 1313382
Двощ, пилю лабу по самоучителю Шилдта. Проблема с некоторыми прогами по листам, например с этой: https://pastebin.com/aENqPSet 14.4, пример 5. Пикрил. Запускаю в VS2017. Как пофиксить?
265 1313385
>>13344
Ну дай мне тогда нормальную статистику.
266 1313434
>>12650
Проиграл с полускриптов. С другой стороны и не поспоришь, справедливо.
267 1313494
>>13385
на гитхаб сходи посмотри, сколько репозиториев появилось новых
268 1313500
>>13335
Даже когда С++ был везде и даже там, где не нужно, вряд ли бы кто-то, знакомый не только с С++, назвал бы его favourite с британским акцентом. За что его любить?
269 1313504
>>13335

>используют его сейчас только энтузиасты


А геймдев?
По-моему как раз наоборот: нужно быть большим энтузиастом, чтобы взяться пилить игру на чем-то кроме крестов для пекарни/консолей, про мобилки - отдельный разговор.
270 1313543
Есть класс А у него функция foo()
Есть класс B у него функция bar()
Есть шаблон класса С с функцией baz()
Как через SFINAE сделать чтобы для С<A> baz вызывала x.foo(), а для С<B> x.bar()?
271 1313546
>>13543
А для всех остальных ничего не делала
272 1313554
>>13546
Короче разобрался if constexpr помог.
273 1313763
Как распараллелить алгоритм RSA с помощью SSL? Есть у кого исходник?
274 1313848
>>13763
Найди в алгоритме ассоциативные операции, оберни их в моноид, а распараллелить моноид - дело десяти минут.
275 1313938
Существуют ли автоматические методы детекта race condition? Ну там замедлять ускорять потоки относительно друг друга, например.
276 1314060
>>13938
миллиард итераций автотестов, если race condition есть, то с ненулевой вероятностью какой-нибудь тест споткнется
image.png229 Кб, 500x358
277 1314647
Почему у меня не работает /n?
Гугл не помог ничем.
278 1314681
279 1314691
>>14681
Перенос строки
281 1314721
>>14691
И endl не работает?
cpp.png19 Кб, 574x567
282 1314754
Сап, двач. Днище программирования вкатывается в тред.
Объясните, почему этот код не работает?
Должен удваивать все символы в строке.
Например, при вводе двух букв он удваивает первую, а дальше идут непонятно откуда берущиеся символы.
283 1314760
>>13938
Формальная верификация. Только не программы, а её модели, и не всей, а отдельных кусков. Потому что там количество возможных состояний ебанистическое.
284 1314761
>>14060
Лул. И сиди потом запускай еще миллиард чтобы воспроизвести, и еще десять миллиардов чтобы пофиксить.
285 1314794
>>14754
А объявлять массив таким образом разве можно? Ну, переменной, которая инитится в рантайме. Еще у тебя в циклах неравенства не совпадают: внутри мейна строгое, а в фунции нет.
image.png17 Кб, 717x166
286 1314811
>>14754
Вкидывай на ideone код, что ли.
Цикл неверный в функции, в остальном всё верно. Но за первый символ в scanf он принимает перенос строки, пробел или другой используемый тобой разделитель (что хорошо видно если чуть-чуть переписать вывод в Double, потому последней цифры нет (и потому же ты написал в условии <=n, наверное, что в корне неверно).
Оказывается при определённых символах в printf виндоус проигрывает неприятный писк.

>>14794
Можно в си, в стандарте с99, компилятор мне даже предупреждение выдаёт. Но mingw кушает такое даже в с++, тогда массив на стеке выделяется. Постоянно это использую, лол. Стек быстрый, ничего выделять-очищать не надо.
287 1314815
>>14811>>14754
Забыл написать. Ну то есть тебе нужно поставить ещё один scanf на один символ (лучше используй str=getchar() для считывания одного символа), чтоб этот перенос пропустить.
288 1314816
>>14794

>А объявлять массив таким образом разве можно? Ну, переменной, которая инитится в рантайме.


Только в С99.
289 1314817
>>14811

>Постоянно это использую, лол. Стек быстрый


VLA не очень эффективны как раз. Лучше фиксированный размер использовать.
image.png26 Кб, 478x424
290 1314826
>>14817

>VLA не очень эффективны как раз


Само собой по сравнению с new/delete, если заранее известного размера нет.

Впрочем, что-то я не обнаружил никакой особой неэффективности, не знаю как оно внутри работает, но по идее какая ему разница изменять значение указывающее на верхушку стека на 50 или на заранее неизвестное n. Вот сравнение. Функция рекурсивно вызывает сама себя n раз, в каждой итерации новый массив (размеры которых убывают от n до 1).
Троеточие - вариант с заранее прописанным размером в 201 (на большее стандартного стека не хватает). 10-20% разницы вне зависимости от размеров (могу предположить, что ему при обращении к индексам массивов нужно вычитать лишние значение в случае с VLA). New-delete вообще мусор, если требуются много небольших массивов по сотне байт.
291 1314831
>>07268 (OP)
Есть ли литература, в которой объясняют как правильно разбить проблему на классы? Чтобы потом не ебатся из-за того, что не с того края начал.
292 1314843
>>14826
Я имел в виду, что размер все равно надо проверять, чтобы за стек не вылететь. Так лучше это делать вручную и осознанно ассертом, чем через непортируемые расширения компилятора.
293 1314844
>>14831

>как правильно разбить проблему на классы


Правильно разбить проблемы на классы невозможно, потому что ООП - псевдонаучная хуита, crackpot science. Единственный способ - качать чуйку опытом.
294 1314865
>>11521
Ubuntu
295 1314909
>>14811
Я понял, что ошибка где-то в функции и последний символ при 5 элементах он не выводит. Но вот почему он выводит какой-то мусор при двух элементах и как исправить вывод, я не понимаю.
296 1314911
>>14811
>>14909
Всё, увидел. Спасибо.
297 1314954
"Thread safe классы", т.е. обеспечивающие синхронизацию прозрачно для клиента это антипаттерн. За исключением случаев, если точно знаешь, что класс будет использоваться ТОЛЬКО в многопотоке. Например Add в тредпуле скрытно синхронизирующий доступ к очереди callables. External синхронизация - выбор профессионалов. Prove me wrong.
298 1314956
>>13336
у тебя в мейне в самом начале create_num(x); - что за х? где оо объявлено?
299 1314960
>>13336
memset(res, 0, len); -> memset(res, 0, sizeof(char) x len);
все размеры массивов из int переделай в size_t
char res = CreateArray(MAX); - res не удаляешь
char s1[MAX]{ 0 }, s2[MAX]{ 0 }; load_num(s1, s2, x); - если длинн числа == MAX - strlen на ней не сработает правильно
в mult10 ты каждый раз уверен, что выделил нормально памяти? я бы вообще все эти char
поменял бы на вектора
ну и тд. дальше лень смотреть.
метью.jpg79 Кб, 807x596
300 1315457
Почему из крестов не удалили всю старую хуиту типа символьных строк в стиле C, ебанутого препроцессора, старых говнофункций и т.п.?
Так-то кресты причесать и получится ява, только не жрущая террабайт памяти на хеллоуворд.
Хотя бы форк какой сделали
wtf.jpg57 Кб, 524x506
301 1315458
Плюсач, что за мистика у меня на пикрил происходит?
302 1315459
>>15457
Совместимость, сейчас вроде одумались
303 1315570
>>15458
так это интелисенс небось. компилируется же нормально?
304 1315605
Анон, посоветуй годный курс по крестам типо как на степике из шапки. Степик прошёл, щас до нг делать нехуй, хочу что нибудь подобное.
305 1315822
>>15570
Да, норм компилируется и даже вроде работает как надо.
Это я уже когда сюда постить собрался, заметил, что ей почему-то не нравится имя функции far(). Меняешь на другое имя и все ок, делаешь опять far и снова она не может найти, где у нее лежит определение close().
306 1315829
>>15822
Far и near - ключевые слова. Так на 16-битных машинах указатели при работе с сегментной памятью помечались.
307 1315832
>>15829

>Far


Именно как у меня в малом регистре? Ключевое FAR насколько я знаю в большом регистре.
Да и пример на скриншоте я урезал, оставил только суть. Там использовались и другие библиотечные функции, но VS тупит только c close().
308 1315836
>>15832
Всегда в маленьком регистре было.
309 1315837
>>15836
Да, щас прогуглил. В Си есть far. А FAR это из WinSock.
Но в любом случае, у меня far не выделяется как ключевое слово и код компилируется. Видимо нужно какую-то либу подключить, чтобы far стал виден.
130831511842719.jpg9 Кб, 420x350
310 1316056
Прочитал про исключения в крестах. Чуть не заблевал книгу блядь. Ну и говно сука. Такой отбитой хуйни я даже в пхп не видал.
Больные ублюдки блядь
311 1316059
>>16056
Че там
312 1316063
>>16056
исходи из необходимости
исключения были введены в язык с практической необходимостью: нужен был нормальный способ возвращать ошибки из конструкторов объектов и при перегрузке операторов
страуструп об этом в "дизайне и эволюции" долго расписывал
те НЕ нужно проектировать систему в которой вот прямо везде будут использоваться исключения, используй их при действительной необходимости..
313 1316064
>>16063
как пример: та же стандартная библиотека - почти не используются исключения, но там где они действительно необходимы - использует
то же касается и множественного наследования
то же касается и виртуальных функций
они используются буквально по одному разу в стандартной библиотеке
но используются
тем с++ и силен - на уровне языка у него много семантических возможнстей, которые в си приходилось делать на уровне библиотек
314 1316070
>>16063

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


Я только на исключениях и привык писать, ибо жава-макака.
В яве вообще правило номер один: есть малейшая ошибка - кидай исключение.
И это нормально блять.
А тут в оказывается в крестах такой ебаный пиздец в стиле 1968 года...
Боюсь представить что будет, если кинуть исключение в многопоточной программе на крестах - наверное вообще пространственный континуум распидорасит.
315 1316081
>>16070
не, не
привыкай использовать исключения только когда они необходимы
те в крестах исключения это не подход к разработке, а скорее некая фича нужная в 1% случаем, НО без которой иногда не обойтись

зачастую делают, например, так: создают объекты через фабрики, при этом получается что то что может выбросить исключение в конструкторе, инкапсулируется в фабрике

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

а если вообще по честному писать, то 80% кодеров на крестах вообще не понимают о чем я здесь написал, всем похуй
большинство крестового кода на гитхабе, например, это тупо приплюснутая сишка
316 1316085
>>16081
Но как я тебе выдам "код ошибки" для сложного типа данных?
Да вообще для любого.
Допустим, функция просто выдает int.
Что бы она ни выдала - это будет легитимным ожидаемым ее значением.
Выдавать максимальное/минимальное значение для типа int?
Лол, так даже это не прокатит ввиду того, что компилятор крестов не гарантирует, что любой тип будет строго какого-то одного значения, он гарантирует лишь не меньше стольки-то байтов.

Как блять я просигнализирую об ошибке, кроме как из исключения?
Этот механизм во всех языках сложнее бреинфака недаром существует и по-дефолту используется.
А если не используется, то используется иной способ, но проблема нихуя не игнорируется
317 1316086
>>16085
результат работы функции или метода возвращается через out параметры
возвращаемое значение фунции используется для возврата кода ошибки или успешного завершения
318 1316088
>>16086

>результат работы функции или метода возвращается через out параметры


А я все думал, почему php такой конченый. Теперь я знаю чем вдохновлялись при создании.
Всегда подозревал, что пых - это лайт-версия крестов в плане проектирования и стремлении выстрелить себе в ногу.
В пыхе в последние годы половина стандартной либы кидает исключения, но остальная половина нет и никто не будет переписывать из-за маня-совместимости. Кресты 2.0

>out параметры


Это же пиздец васянство. Еще пизже только возвращать в любой функции йоба-объект, в котором в одном поле ее результат, а в другом - информация об ошибке.

Короче теперь можно ответственно заявить, что кресты - хуевый по современным меркам язык, архитектура которого и тонна говна ради (никому нахуй не нужной) совмесимости с C не сочетаются с реалиями современной разработки.
319 1316099
>>16088

>


>


перечитай еще разик выше зачем была необходимость вводить исключения в язык
2 случая их использования
и как спроектировать классы, чтобы можно было и через исключения работать и, по необходимости, без них
я все выше написал
320 1316101
>>16088
стандартная библиотека php хуево спроектирована, это все признают
в то время как стандартная библиотека с++ вполне неплохо спроектирована
к примеру, повторюсь, она использует возможности с++ только в действительно необходимых случаев: исключения кидает лишь несколько методов классов stl, множественное наследование лишь в одном месте, виртуальные функции лишь в паре мест..
те где жизненно необходимо, там они и есть..
321 1316137
Я написал прогу, которая просматривает множество файлов, и если там есть интересующая меня строка, записывает ее в двумерный вектор строк, на каждый файл свой вектор.
Я ее сделал многопоточной, потому как файлов у меня ~60к. Она работает, только результат изменяется от запуска к запуску. То он находит совпадения в 1500 файлах, то в 1700. Я вроде бы и позаботился о том, чтобы потоки друг другу не мешали, но все равно хуйня выходит. Где я обосрался?
https://pastebin.com/a2Fnck6R
322 1316179
>>16137
Хуй знает что там не так, но, разрешите доебацца:
- 60к файлов - 60к потоков. Серьёзно? У тебя суперкомпьютер что ли? Сделай сраный пул с очередью
- когда итерируешь директорию, ты поддиректории скипаешь?
- нахуй обособлено выражение в 74 строке? Так у тебя с не инкрементится
- контейнеры на пустоту проверяй методом empty(), а не size() > 1
- есть еще мутные места
В общем, как по мне говнокодисто вышло.
323 1316195
>>16137
>>16179
никакого смысла в параллельной обработке файлов здесь нет, тк в данной задаче узкое место - чтение с диска
324 1316274
Аааа блять, какое же конченое говно этот ваш цпп.
Запускаю элементарную программу на ввод даных с консоли.
Казалось бы, ну что блядь может вообще пойти не так?
Когда строки на английском - все норм.
Когда юникод - cout не работает после cin.
Сука.
Язык-чмо, язык-пидорас, язык-говно, язык-костыль.
325 1316291
>>16274
Русский язык такой, да
326 1316292
>>16274

>элементарную программу на ввод даных


Элементарный char весит 1 байт

>Когда юникод


символ в юникод весит два байта

Действительно, что тут может пойти не так?
327 1316301
>>16292

>2018 год


>байтоебство


>стандартная библиотека не жрет юникод

328 1316302
>>16301
wstring и wcout уже не стандартная библиотека?
329 1316324
>>16274

>Когда юникод - cout не работает после cin.


У тебя спермопараша всесто ОС, там в принципе юникода нет.
330 1316473
госпаде да за что мне это?
В крестах нет классических псевдослучайных чисел.
Только математические генераторы, которые хуярят тебе всегда одно и то же для заданного сида.
Сам сид никак не пытается вычисляться как в нормальных япах там по сумме времени, температуры, процессорным пукам и прочей хуйне.
331 1316494
>>16473
Бинго, туда таки подвезли (не прошло и 30 лет) классический стохастический генератор рандома - std::random_device.
Только вот хуйня, эта поебень не работает в половине компляторов, лел.
Язык-газонюх блядь, у каждого ебасоса свой собственный C++, даже страус-труп что-то по этому поводу говорил.
332 1316495
Перекатываемся на раст
333 1316519
Аноны, где допустил ошибку в сортировке?
Если в 2 словах, то почему то выдает странный результат.
https://pastebin.com/3tVRKnq0
334 1316528
>>16179

> - когда итерируешь директорию, ты поддиректории скипаешь?


Там их нет.

> - нахуй обособлено выражение в 74 строке? Так у тебя с не инкрементится


> - контейнеры на пустоту проверяй методом empty(), а не size() > 1


В первых элементах хранится путь к файлу, поэтому и size() > 1
>>16195
>>16179
Я попробовал сделать в один поток. Работает в 3 раза медленнее, но точно. В итоге, разделил все на 4 потока и при таком раскладе время исполнения как и при 60к потоков, да и результат всегда получается точным.
335 1316546
>>16519
Ты пытаешься проходить одновременно по левой и по правой половинам вектора. В случае с отсортированными половинами это прокатит, а если нет?
{2, 4} и {3, 1}.
2 < 3 - верно - {2}.
4 < 3 - неверно - {2, 3}
4 < 1 - неверно - {2, 3, 1}.
Последнюю итерацию лень продумывать(там либо вставится четверка и будет {2, 3, 1, 4}, либо выход за границы вектора), но уже неправильно работает алгоритм.
Вот если ты хочешь именно так делать, через половины, то тебе нужно рекурсивно вызывать эту функцию для каждой половины перед вставкой в конечный вектор.
336 1316552
>>16528

>Я попробовал сделать в один поток.


замерь производительность в сравнении с обычным grep
и обосрись
337 1316591
>>16552
А я и не сомневался, что grep быстрее. На винде он работает за 63 секуны, тогда как моя программа за 54. Но на федоре пкуз отрабатывает за 24 секунды. Мне нужно было свое решение, потому что я хочу проверить директорию на множестве фраз с подсчетом совпадений, и сделать это на плюсах для меня проще, чем в шелле или awk, или еще хуй пойми, на чем.
338 1316623
>>16546
Точно подмечено, что про последний элемент, про него я забыл.
339 1316629
>>16494
Как же меня бесит это конченое дерьмо блядь.
Добавили в язык хуйни, тип стандарт, мам, только эта параша из-под коня работает через жопу блядь и по-разному на разных компиляторах.
Причем обсирается в рантайме охуительными ошибками уровня бэ, что даже место в коде не называет, где это произошло.
340 1316653
Поясните за эту йобу.
Есть constexpr int в котором записано некое число.
Эту переменную я использую как аргумент для std::array.
Стоит изменить переменную как программа при запуске крашится.
Приходится удалять объектные файлы и компилить заново.
Как избежать подобной хуйни?
341 1316726
>>16546
https://pastebin.com/1aX2pJLu
Подправил, добавил рекурсию, но память сжирается внезапно.
342 1316752
Привет, анонимусы. Я быдло, которое хочет освоить анриал энжин, просто кодить по фану всякое, это же как конструктор.
Ну и есть пара годных идей для игорей, а так же свободное время.
Работаю мидл пхп-макакой уже года 4 и c# ещё знаю немного.

Вопрос к знатокам c++, насколько глубоко нужно знать этот язык для использования в рамках этого движка?
Я смотрел, они там накодили какие-то свои базовые классы от которых почти всегда отталкиваешься, поэтому, возможно, есть смысл больше времени потратить на изучение работы конкретно с анриалом, если разработка на чистом c++ и в рамках анриала имеет из общего только синтаксис?
343 1316779
>>16752
в уе4 жи скриптинг на пистоне, вроде
344 1316781
>>16752
лучше иметь хобби, ни как не связанное с компьютерами, если основная работа у тебя - программирование
выгоришь к хуям
уж поверь мне
15204335247210.png2,2 Мб, 1508x932
345 1316795
>>16779
Блупринты же
346 1316815
>>16781
Я так и так аутирую большую часть дня за пекой, какая разница что я буду за ней делать. Ну заебет - дропну.
Конструкторы люблю просто.
Наговнокодил недавно, чтобы человечки ходили как в стратегиях и выстраивались разными строями: клином и т.д. Мне очень доставило, но не нравится говнокод. Хочу по красоте делать ежжи.
347 1316816
>>16779
Там либо блюпринты, либо плюсы
348 1316926
>>16795
>>16816
Добра, посоны. Теперь буду знать.
349 1317053
>>16726
Дохуя временных объектов.
И зачем ты делаешь функцию, которую вызываешь в другой функции, которую вызываешь рекурсивно?
Сделай вызов сортировки из себя же с условием остановки, когда размер переданного вектора == 1
Все равно не оптимально, но будет лучше, чем сейчас
image.png14 Кб, 647x155
350 1317200
Аноны, а как работает конкатенация в классе string? Там изначальная строка складывается с другой, я вот попытался написать такой же вариант сам, и он даже работает, но я нихуя не понимаю. Разве память не идёт последовательно, выходит я вот такой фичей могу перезаписать какую-то другую информацию или как? Или в динамической памяти это не играет большой роли?
351 1317202
>>17200
Бля я только что понял что я новую строку создаю, извините что побеспокоил.
352 1317278
>>17202
Хотя всё-таки попрошу хеллоуворды обьяснить. Понял что старая строка улетает в никуда утечка, и нужно перед присваиванием очистить память. Я создал новую строку, и скопировал туда значение от старой строки, после очистил память старой и переприсвоил указатель старой строки на новую объединённую. Но в итоге вылетает ошибка, о которой пишут что я пытаюсь освободить память дважды. Я не пойму где я туплю, может кто указать или намекнуть на фейл? Код cpp.sh/92cpd
353 1317285
>>17278

>cpp.sh/92cpd


>char * first = "Hello";


>delete [] first;


Ты для first вызываешь delete, но не вызывал new. Какого чёрта?
354 1317373
>>17285
А разве нельзя просто переприсвоить указатель? Да и так тоже не работает либо я опять ошибку сделал https://onlinegdb.com/By3XiuzbN.
355 1317378
vector<string> text{string("Help 2ch!")}

Чем является выражение в фигурных скобках?

Я вижу тут одновременно приведение типа в стиле Си, вызов функции с именем string конструктора класса string? и определение безымянной переменной типа string.
357 1317388
>>17380
Не то. Что делают фигурные скобки мне ясно, не ясно то, что внутри скобок, сам аргумент инициализатора то бишь : string("Help 2ch!").
358 1317396
>>17378
настраиваешь, чтобы отладчик заходил в исходники стандартной библиотеки
проходишь по вызовам, перестаешь задавать дебильные вопросы
359 1317397
>>17388
У вектора вызывается конструктор std::vector<string>(std::initializer_list<std::string>). Фигурные скобки - initializer_list<std::string> из одного элемента-строки, который прямо на месте создаётся с помощью конструктора std::string(const char*). tl;dr создаётся вектор из одного элемента.
360 1317399
Правда, что с Си легко можно перекатиться на С++? что я и хочу
Мимо си-холоп
361 1317403
>>17399
Начать писать ты можешь сразу, просто как Си со свистоперделками. Если хорошо пишешь на Си, будешь хорошо и здесь (главное не переборщить: видел несколько си программистов, увидевших TMP и иерархии классов и которые стали совать это повсюду - не надо). Но для достижения Нирваны с идиоматичными™ плюсами 11/14/17/20 нужно потрудиться и читать референсы, книжки и тд.
362 1317419
>>17373
Ладно, я уже реализовал что хотел с помощью связных списков, но вопрос остается открытым: как реализовать operator+ из класса string? В инете написали чтобы я хуй забил и даже не пытался, а если надо будет - используй готовое. Но мне же интересно!
363 1317454
>>07268 (OP)
Что можно использовать в связке с плюсами, чтобы была возможность делать интерфейс не на основе windows forms?
Смотрите, уже два года сижу на билдере, вполне неплохо, но когда понадобилось сделать более-менее современный и минималистичный интерфейс не похожий на win forms, то сразу же начались костыли. Да, можно изъебнуться и начать перерисовывать стандартные кнопки, делать другую логику взаимодействия с окном и так далее, но это настолько противоестественно и костыльно, что просто вогнало меня в тоску.
Есть Qt, но я его особо не изучал, так как там нет community версий, как в VS или билдере. Плюс сложно получить просто один экзешник без поиска qt-шных библиотек.
Знаю, что в VC++ можно делать простенький интерфейс, но тоже на основе winforms.
Ситуация кажется мне безвыходной. Я работаю с расчетными процедурами, так что c++ в моей стезе - это лучший выбор, но что делать с интерфейсом?
Слышал, что на сишарпе есть куча возможностей слепить тот десктопный интерфейс, на который у тебя только хватит фантазии, но получится ли совмещать интерфейс на одном языке, а процедуры на другом?
Возможно, видно, что я не особо разбираюсь в теме, но хотелось бы услышать ваше мнение по этому поводу.
364 1317460
>>17278

>cpp.sh/92cpd


для first вызвал delete но не было new
для temp есть new но нет delete
нахуя ты first переиспользуешь? у тебя переменные закончились?
image.png61 Кб, 896x424
365 1317463
>>17373
Можно. Ты где-то переприсваиваешь first до delete? Я не заметил.
Смотри, тут три области памяти. Стек, куча, область глобальных переменных(статические переменные там же). Объявление строк по типу first/second попадает в область глобальных переменных (что видно по численным значениям указателей). Очевидно, их нельзя удалять через delete, оттого и программа падает.
366 1317465
>>17454

> Плюс сложно получить просто один экзешник без поиска qt-шных библиотек.


Можно, но это вроде как платная фича (например десктоп клиент телеги сделан так).

> Знаю, что в VC++ можно делать простенький интерфейс, но тоже на основе winforms.


Это просто потому, что все либы уже в системе. И поэтому кажется что не надо искать библиотеки.

https://github.com/ocornut/imgui
367 1317466
>>17454
вообще чтобы на цпп сделать интерфейс на windows forms надо заморочиться будет. это managed c - микрософтовское извращение.
родное там mfc
а для реально крутых чуваков - wtl
ну про qt ты уже написал.
368 1317506
>>17403

>книжки


Посоветуй 1-2 книги для того новичка, но не совсем нуба
369 1317513
>>17454
В сишарпе пишут сейчас дизайн на ксамле, а в кюте есть аналог - qml. У тебя там основа на крестах, дизайн в подязыке на основе json и скрипты на жаваскрипте, довольно удобно как привыкнешь.
370 1317523
>>17463
Так у меня идея была такая:
1) Есть две строки
2) Создаем третью размерами чтобы вместила обе, и копируем туда обе строки подряд
3) Возвращаю ее в качестве результата
Но в программе мне нужно использовать ее не один раз. Как очистить память от предыдущей строки, ведь если я просто перемещу указатель старая строка останется где-то висеть без доступа. Поэтому я пытался модифицировать в самой функции всё, но вышло тоже криво. Можешь ответить кстати, при строках вида char * str = "321321"; память в куче выделяется или в стеке? Не нашёл ничего в инете
371 1317560
>>17523
При строках вида char * str = "321321" память выделяется только под указатель, на стеке ясное дело. Сам строковый литерал зашивается в статической области памяти и удалять его не надо.
372 1317563
>>17560
А если я соеденил две строки, и присвоил значение первой. То есть код такого вида
first = strcat_m(first,second)
Со старой строкой не нужно ничего делать? Ведь в самой функции память то выделяется ну для общей строки, а если просто сменить указатель на другой, старое выделение пропадает. Я сейчас попробую модифицировать, но вот тут у меня диссонанс основной произошёл, из-за которого я в тред и отписал.
373 1317564
>>17523

> память в куче выделяется или в стеке?


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

>3) Возвращаю ее в качестве результата


Я бы завёл статическую переменную-указатель внутри функции - если он равен 0, то функция вызывается первый раз и нужно просто вызвать new, если нет, то нужно сначала освободить старый указатель. Угу, в памяти всегда будет висеть результат последнего выполнения функции. Сам смотри, приемлемо ли это.
Или можно явно потребовать, что память под новую строку должен освободить вызывающий код, что тоже вполне логично. Типа, ты просто пишешь char* s = strcat_m(,), и чуть позже delete[] s.
374 1317576
>>17564
Такой код корректен? Ошибок не даёт, но это такой себе показатель cpp.sh/3gqsk. В любом случае спасибо тебе и еще одному или не одному анону за помощь. Почему-то тут отвечают на вопросы, которые в инете хуй найдешь
375 1317581
>>17576

>cpp.sh/3gqsk


Нет.
Ты зачем освобождаешь str_dest, вдруг он ещё нужен за пределами твоей функции?

Я вот это имел ввиду. Вывел значения указателей, для наглядности.
https://ideone.com/Goq7nh
376 1317583
>>17581

>Ты зачем освобождаешь str_dest, вдруг он ещё нужен за пределами твоей функции?


У меня строка выступает в роли массива. Я обьединяю старую строку и какую-то часть, после чего удаляю старую и переношу указатель на новую, объединённую. Ты делаешь примерно тоже самое, но не удаляя старую строку,а используя статическую. За помощь в любом случае спасибо, я вроде разобрался.
377 1317584
>>17576
А, ты таким ебанутым способом используешь strcat_m в цикле, и с помощью условия избегаешь освобождения памяти из сегмента данных. Посмотрел только код функции, не смотрел основной. Это весьма контринтуитивное поведение strcat_m. Лучше тогда в функцию передавать указатель на указатель в первом аргументе.
378 1317587
>>17576
>>17581
Тут надо решить какое поведение ожидаеться от функции.
Если это создание новой строки с = a + b, то в функции надо выделить память подновую строку, скопировать туда переданные строки и вернуть указатель на новую строку. Прототип ф-и: char strcat_m(const char str1, const char str2)
Если добавление к существующей строке a += b, то я бы первым параметром сделал указатель на указатель на модифицируемую строку. В ф-и выделить новую память, скопировать туда всё, удалить старую строку (если указатель не ноль), присвоить указателю новое значение и вернуть указатель на строку. Прототип: char
strcat_m(char str1, const char* str2).
В первом случае можно передавать указатели на литералы в str1 и str2. А во втором только в str2, а для str1 уже надо предварительно выделить память. Ну там strdup какойто написать можно.
379 1317588
>>17587
Блять, звездочки проебал.
380 1317589
>>17587
Еще раз спасибо, впрочем на данный момент я такие же мысли в голове и держу. А звёздочки из-за местного движка проебуются постоянно.
381 1317596
>>17053
Там не в этом проблема, из рекурсии не получается выйти.
Спасибо что посмотрел на код, все равно эту сортировку оставлю и потом вернусь к ней.
382 1317618
>>17596
Так вот тебе и выход из рекурсии: в начале функции проверяешь размер полученного вектора, если один - возвращаешь этот же вектор(один элемент уже отсортирован), если больше - делишь на две половины, вызываешь для каждой эту же функцию сортировки и все будет работать.
383 1317624
Начинал серьёзно изучать программирование с С++. Изучал года 4 пока учился в универе. Дошло, что начал писать разного рода верификаторы, трансляторы, компиляторы и сборщики мусора.
Очень нравилось байтоёбсто и всё это самое в виде скользких мест о которых знают только реальные олды на С++.
Но чем глубже я стал углубляться тем больше понимал, что С++ мягко говоря ебал я в рот. Все олды знают какие подводные бывают и что сам С++ унаследовал из Си проблемы из-за которых работает через жопу. Понял, что лучше использовать связку Си+(Питоно например) чем С++.
Короче говоря выкатился из С++ года два назад и сразу же вкатился в Java потому что нужна была работа а не хуи пинания. По началу бомбило от Java, но сейчас все устраивает, иногда тоскую, что нет возможностей Сишных.

Часто приходит мысль(первая любовь) обратно вкатится в С++, например попробовать с графикой поработать. Движок дум2 поковырять - разобраться что да как в графике устроено. Физику прикрутить. То есть интересно работа над движком. С высшей математикой проблем нет.
Стоит оно того или похуй! Повышать экспертность в Java дальше.
384 1317655
>>17624
школьник, иди пиздеть в другое место, аж жир потек сука
385 1317656
>>17655
Тебя задело что, ньюшка?
1544984723153179872.jpg36 Кб, 400x419
386 1317695
>>17656
Ясен хуй, поскольку Дум написан на Си, а ты ребенок-пиздун
387 1317722
>>17506
Честно, не знаю. Есть Страуструп, но по мне он написан так, что если ты уже не знаешь основных концепций плюсов, то ничего не поймёшь. Я начал ещё школьником, который только знал Си да Паскаль вкатываться в плюсы в 2011-2012 годах, как раз когда best practices нового стандарта только начинали складываться и было много повсюду разных обсуждений, поэтому получилось получилось как-то самому разобраться. Но это довольно длительное время заняло. Так что я могу посоветовать только почитать шапку - может, там нормальные книги есть.
388 1317723
>>17695
И что что на си? Мне теперь делать для таких как ты поправку ой ребята а дум написан на си.
Ты думаешь, что я си не знаю? Я си знаю лучше чем С++. Но суть в другом. Я жду ответа от анонов с похожим опытом, может они тоже тосковали по С++ и может даже имеют опыт обратного вкатывания.
А ты можешь дальше троллить. Больше ты биссира не получишь, свинья залётная.
389 1317726
>>17723
Блять. Тупой же не поймет нихуя.

>тосковали по С++


По байтоебству, работой с памятью и всем остальным разнообразием и возможностями.
390 1317805
>>17726
ребенок, уходи
391 1317911
Почему все плюсовики с которыми я имел неудовольствие общаться — задроченные гнусавые худощавые мудаки?
392 1317918
>>17911
я - жирный альфач
393 1317922
>>17918
Но ты не плюсовик. И не альфач.
394 1317931
>>17922
нет, я плюсовик. Но ты прав конечно, как я альфач. Просто жирдяй
395 1317935
>>17722
спасиб, с наступающим!
396 1318122
>>17805
А ты взрослый, которому сказать нечего. Потому что нет опыта. Ясно.
397 1318186
подскажите учебник для начинающих, где рассказывается о том, как надо писать на современном c++, с учётом всех последних нововведений

или начинать лучше с учебников, где учат программировать в старом с++ стиле, игнорируя все современные улучшения?
398 1318192
>>18186
труп страуса читай
399 1318468
>>17396
Что дебильного в моем вопросе?
В книжках об этом не пишут, а если и упоминают, то где-нибудь глубоко в сносках.
Нагуглить тоже не могу, т. к. не понимаю сам контекст, что тут собственно гуглить? Перебирать все возможные случаи и контексты применения круглых скобок? Не более ли это "дебильно", чем мой изначальный вопрос?

>настраиваешь, чтобы отладчик заходил в исходники стандартной библиотеки


проходишь по вызовам
...и просто утопаешь в "дебильных" вопросах.
Чувак, я с этим вопросом столкнулся на 357 станице книжки Липпмана ''эта книжка висит у вас в шапке в рекомеyдациях, а всего там 1124 страниц. Учти пожалуйста объективно мои возможности, ок?

>>настраиваешь, чтобы отладчик заходил в исходники стандартной библиотеки


проходишь по вызовам
А если string заменить, скажем, на int, то никаких видимых вызовов вообще не происходит.
400 1318471
>>17397

>прямо на месте создаётся с помощью конструктора


Вот с этого места можно поподробнее?
Где причина, а где следствие?
Определение объекта вызывает конструктор, или вызов конструктора определяет объект?
В какой момент вызывается деструктор для объекта, который "прямо на месте создаётся с помощью конструктора".
ufnylbq0mj621.png596 Кб, 1510x1331
401 1318477
>>18468
Играйся
cpp.sh/57z4k
402 1318508
>>18471

>vector<string> text{string("Help 2ch!")}


Это можно аппроксимировать по шагам вот так
std::string s("Help 2ch!");
std::initializer_list<std::string> l = { std::move(s) };
std::vector<std::string> text(l);
Только у "s" и "l" нет имён в первоначальном примере. Они, если я не ошибся, prvalue являются.

>Определение объекта вызывает конструктор, или вызов конструктора определяет объект?


Какой-то философский вопрос. "Прямо на месте" я имел ввиду лишь то, что у создаваемого объекта нет имени.

>В какой момент вызывается деструктор для объекта, который "прямо на месте создаётся с помощью конструктора".


Тогда, когда он выйдет из скоупа. Как у всех.
403 1318522
>>18471

>В какой момент вызывается деструктор для объекта, который "прямо на месте создаётся с помощью конструктора".


Строкой после создания управляет вектор. Читай про rvalue references.
404 1318803
>>07738
нахуа у тебя там strcmp ??
405 1318902
>>14960
Спасибо, анон
406 1319286
Ем салатик, читаю Бьерна Страуструпа. Подводные?
407 1319292
>>19286
Зачем Страуструпа?
Он для обучения плох.
Он больше походит как на некий справочник с комментариями.
408 1319306
>>19292
Заметил. Сложно читается и такое чувство, что написано для тех, кто уже знаком с языком. Чего посоветуешь почитать нюфагу?
409 1319308
>>19306
Липпман/Прата/Шилдт
Можно просто идти по какой-то одной книжке и смотреть параллельно аналогичные темы в других.
Ну это я к тому что если что-то непонятно, то смотреть у других автором объяснение и примеры.
410 1319312
>>19286

>подводные


надо делать упражнения иначе нихуя не поймешь
sage 411 1319320
>>19312
Я тут под настоечкой уже свою WOW консольную пишу, лол.

>>19308
Спасибо, анончик. Взял Шилдта на заметку.
image.png57 Кб, 1798x842
412 1319375
Почему при попытке умножить результат функции sizeof на отрицательное значение вылетает такая ебака?
413 1319377
>>18477
>>18508
>>18522
Все, понял, спасибо.

Один вопрос только остался. В каком-нибудь отладчике можно наблюдать такие безымянные/временные объекты?
В документации VS 2017 ничего подобного не нашел.
414 1319388
>>19375
Результат sizeof беззнаковый. В визуал студии, например, твой код вообще не скомпилируется, выдаст ошибку.
Алсо, sizeof не функция, а оператор.
415 1319389
>>19388
Спасибо, в студии всё работает без предупреждений даже
416 1319391
>>19389
У меня:
error C4146: unary minus operator applied to unsigned type, result still unsigned
417 1319759
Пытаюсь сделать вторую задачку шестой главы из "Прата Язык программирования Ц++", вот код https://pastebin.com/7D5yZXMX. На cpp.sh все работает, а когда компиляю у себя оно игнорит ввод и сразу пишет "Average: 0". Щито делать?
418 1319762
>>19759
http://cpp.sh/8r7h вот ссылочка еще
419 1319766
>>19759
У тебя i в цикле не проинициализирована, там может быть что угодно, скорее всего там какое-нибудь очень большое число типа 12391284193, вот цикл и прерывается, не делая ни одной итерации. Студия какая-нибудь тебе просто не даст такое скомпилить.
420 1319768
>>19766
for (int i; i < ArSize; i++)
{
double temp = 0;
cout << "Enter number: ";
cin >> temp;

if (check(temp))
{
numbers = temp;
total += temp;
}
else
break;
}

вот первая строчка цикла for (int i; i < ArSize; i++)
422 1319772
>>19771
а, понял))
странно что он и без инициализации работает на сайте
423 1319773
>>19759

>https://pastebin.com/7D5yZXMX


total не обнуляешь
когда среднее считаешь - выводи результат в скобках
i не инициализирована реально.
424 1319775
>>19772
O0 включи — не будет работать.
425 1319776
>>19773
можно про скобки поподробнее?
>>19775
ок, спасибо
426 1319809
чо думаете насчет срача последнего Eric Niebler vsa твиттер
427 1320362
>>19809
Я его внимательно читал, и есть серьезные консёрны к дядам а-ля Ниблер, которые, судя по всему, очень сильно оторваны от процесса реальной разработки в своем ворохе шаблонов. Я, скорее, на стороне простых парней, нежели этих очень умных, но далеких от нас супер-дядь.

С++ знаю достаточно, чтобы выступить на С++ Russia в свое время
428 1320658
Почему может очень долго работать стандартная сортировка? Сортирую вектор примерно 10000000 объектов с 4 параметрами.
Работает около 10 секунд
429 1320659
>>20658

>Почему может очень долго работать стандартная сортировка?


Потому, что она очень долго работает
430 1320669
>>20659
Это же qsort, она должна быстро работать
431 1320686
я опять со своим говном
все также решаю задачки. вроде все работает, но после 29 строки получаю 3.99435e-315 или вообще segmentation fault , помогите плес
https://pastebin.com/87SHDVNw
432 1320693
>>20686
бля, я тупой.
433 1320835
>>20669
Не должен
434 1320863
>>20686
Текст задачи прикладывай хотя бы.
435 1320864
>>20669
10кк элементов -- это довольно много, особенно если сравнение сложное. К тому же на таком числе элементов квиксорт вырождется в мердж сорт, скорее всего. Сортируй в несколько потоков, хули.
436 1320892
>>20658
используй чёт-нечётную сортировку с добавкой openmp
да, сложность сортировки выше, зато параллелится не хуже мёрджа и кодится быстро (реализация под с++ на педивикии есть)
отсортируется за хуйню
437 1321007
Устроился на работу программистом на c++. Работать нужно с микроконтроллерами. Ни разу этим не занимался. Что нужно знать из C++ для этого? Нужны ли будут классы, интерфейсы, перегрузки методов, функций, операторов, аллаха или только стандартные сишные возможности? Что нужно повторить? Программировал на c++ и на c, но в микроконтроллерах явно все не нужно использовать, поэтому прошу знающих посоветовать, что нужно освежить в памяти для успешного программирования микроконтроллеров.
438 1321027
>>21007
Современные контроллеры такие толстые (меньше 500 рублей за 100 мгц ARM), что использовать можно все.
Обратить внимание нужно на zero-cost abstractions в первую очередь. Можешь так и гуглить.
439 1321088
Как свапнуть две группы объектов, не вызывая свап для каждого по отдельности? То есть вместо
std::swap(a, b);
std::swap(c, d);
Сделать что-то типа
std::swap({a, b}, {c, d});
std::tie не помогает. Можно заранее обернуть a, b и c, d в tuple/pair, но тогда их потом обратно распаковывать.
440 1321089
>>21088

>std::swap({a, b}, {c, d});


Я имел в виду скорее std::swap({a, c}, {b, d}); Надеюсь вы поняли.
441 1321121
>>21088
зачем?
442 1321137
>>21088
В принципе можно сделать какую-нибудь функцию вида (набиваю от балды, давно не метапрограммировал):
template <typename T, typename ...Ts>
void swapmany(T& a, T& b, Ts... args)
{
std::swap(a,b);
swapmany(args...);
}

Но зачем
443 1321196
>>21121
>>21137
В плюсах столько разных способов изъебнуться, а свапнуть две группы объектов нельзя. Мда.
Юзкейс почти надуманный, для конкретного алгоса нужен был. Поменять сразу 4 пары местами. Подумал, может есть готовый способ красивее, чем писать 4 свапа.
444 1321401
>>21088

>Можно заранее обернуть a, b и c, d в tuple/pair


логичный и менее всех остальных извращенский способ
да и к тому же, если у тебя пара значений, то почему ты их изначально в std::pair не хранишь?
445 1321410
>>08939
ты хоть сам-то понял, что написал?
446 1321418
>>21007
тебя же таки взяли на работу
значит твоей квалификации должно быть достаточно для выполнения служебных обязанностей
448 1321794
>>07376
Но ещё больше можно сделать на ассемблере.
449 1321825
>>07376

>видишь ли, на с/с++ можно делать практически все, по той причине, что пракатически все сделано на этих яп.


Во-первых не все сделано на них. Во-вторых это не значит, что нужно делать все на C/C++. На Лиспе, Хаскелле, Окамле или Эрланге тоже можно сделать все что угодно.

У тебя выраженный парадокс Блаба.

«Парадокс Блаба» описан в очерке «Побеждая посредственность». Его сущность состоит в том, что программист, знающий некоторый язык («Блаб»), «думает на Блабе» — выражает решение любой задачи в средствах Блаба, а имеющиеся в более мощном языке дополнительные средства в его глазах ничего не стоят, так как он не умеет их применять. Только когда программист по каким-то внешним, дополнительным причинам изучит более мощный язык, он получит возможность смотреть на Блаб «сверху вниз» и увидит его ограниченность. Таким образом, ограниченность Блаба сама по себе не может стать стимулом для изучения более мощного языка, так как для осознания этой ограниченности необходимо уже знать такой язык. Этим Грэм объясняет то, что программисты обычно не желают изучать более эффективные инструменты программирования, чем те, которыми они уже владеют (в частности, непопулярность Лиспа.

На любом языке можно написать что угодно. Программирование это инженерия. Это значит, что программисты должны решать любые задачи. Некие инженеры то ли выпилили то ли оптимизировали сборщик мусора в Common Lisp, чтобы использовать его вместо Си. Другие пишут свои рантаймы для языков или свои языки, те же vk.com и facebook такое делали. Важно думать не на языке, а использовать язык как инструмент. Думать на языке это парадокс Блаба. Любой язык имеет хоть небольшие, но ограничения. C/C++ одни из худших языков, у которых плюсов намного меньше чем минусов. Но ты их превозносишь. А почему, потому что парадокс Блаба. Оглянись вокруг, есть языки намного мощнее с точки зрения построения простых и мощных программ. И даже если они медленнее чем C/C++ их можно ускорить, это решается. Какими бы быстрыми не были C/C++, их уже не сделаешь лучше.
449 1321825
>>07376

>видишь ли, на с/с++ можно делать практически все, по той причине, что пракатически все сделано на этих яп.


Во-первых не все сделано на них. Во-вторых это не значит, что нужно делать все на C/C++. На Лиспе, Хаскелле, Окамле или Эрланге тоже можно сделать все что угодно.

У тебя выраженный парадокс Блаба.

«Парадокс Блаба» описан в очерке «Побеждая посредственность». Его сущность состоит в том, что программист, знающий некоторый язык («Блаб»), «думает на Блабе» — выражает решение любой задачи в средствах Блаба, а имеющиеся в более мощном языке дополнительные средства в его глазах ничего не стоят, так как он не умеет их применять. Только когда программист по каким-то внешним, дополнительным причинам изучит более мощный язык, он получит возможность смотреть на Блаб «сверху вниз» и увидит его ограниченность. Таким образом, ограниченность Блаба сама по себе не может стать стимулом для изучения более мощного языка, так как для осознания этой ограниченности необходимо уже знать такой язык. Этим Грэм объясняет то, что программисты обычно не желают изучать более эффективные инструменты программирования, чем те, которыми они уже владеют (в частности, непопулярность Лиспа.

На любом языке можно написать что угодно. Программирование это инженерия. Это значит, что программисты должны решать любые задачи. Некие инженеры то ли выпилили то ли оптимизировали сборщик мусора в Common Lisp, чтобы использовать его вместо Си. Другие пишут свои рантаймы для языков или свои языки, те же vk.com и facebook такое делали. Важно думать не на языке, а использовать язык как инструмент. Думать на языке это парадокс Блаба. Любой язык имеет хоть небольшие, но ограничения. C/C++ одни из худших языков, у которых плюсов намного меньше чем минусов. Но ты их превозносишь. А почему, потому что парадокс Блаба. Оглянись вокруг, есть языки намного мощнее с точки зрения построения простых и мощных программ. И даже если они медленнее чем C/C++ их можно ускорить, это решается. Какими бы быстрыми не были C/C++, их уже не сделаешь лучше.
450 1321827
>>21794
Ничего ты на нем не сделаешь. И никто другой не сделает. Даже простой алгоритм на нем будет выглядеть как простыня.
451 1321843
>>07371

>Однако такое балавство чревато десериализацией личности, осуществляющей выробатку


>необходимость в их использование


>для анализва при близко-сопряженного спектра функций


Совсем ты поехал, шизик, уже гласные путать начал.
452 1321855
>>21843
То что ООП костыль - он прав. В остальном, я бы по другому сформулировал почему это костыль.
453 1321857
>>21843
Статья "Почему объектно-ориентированное программирование провалилось?" http://blogerator.org/page/oop_why-objects-have-failed
454 1321870
>>21825

>Этим Грэм объясняет то, что программисты обычно не желают изучать более эффективные инструменты программирования, чем те, которыми они уже владеют (в частности, непопулярность Лиспа.


Со статьи Грэма прошло 18 лет, любой фронтэндер пилит асинхронный код на жс с монадами, на питоне написаны и используются CAS для обучения нейросетей, go худо-бедно используется, взлетает rust, руби-разработчики переходят на эликсир, а лисп как был в жопе, так и остался в жопе. Но это не лисп обосрался, это ему парадокс блаба в штаны насрал.

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

Common Lisp непопулярен, потому что он перегруженное сущностями неортогональное говно с хуевым синтаксисом, от которого прутся поехавшие.

А С++ популярен, потому что свою задачу он решает хорошо. Какую задачу? Бля, да это же парадокс блаба - лиспер нихуя не знает С++ и что с помощью него делает. Бгг.
455 1321883
>>21870
Лисп последний язык, который осваивает программист. Поэтому лиспер не может не знать C++, потому что в начале он освоил его, а потом Лисп. Так же и Руби, это обычно один из последних языков. К нему приходят из C/C++/Java. Но почти никогда не бывает так, чтобы в C/C++/Java пришли из Руби.

Парадокс Блаба бывает у тех, кто знает только один язык, или несколько но с одной и той же парадигмой. Программисты C/C++/Java больше всех этим страдают. Потому что знают только эти 3 ограниченных языка, одинаковых по сути. Лисп почти никогда не бывает первым языком, поэтому у тех кто на нем пишет не может быть парадокса Блаба. Они уже знают несколько языков.
456 1321887
>>21883

>C/C++


>JABA


>одинаковые языки


Ничего не перепутал?
457 1321892
>>21887
Абсолютно ничего. Си-подобные императивные языки.
458 1321982

>Некие инженеры то ли выпилили то ли оптимизировали сборщик мусора в Common Lisp, чтобы использовать его вместо Си


А могли бы сразу взять нормальный язык вместо динамической скриптодрисни. Такое себе достижение - судя по тому что ты это не используешь и даже толком не знаешь насколько успешно оно получилось.

>И даже если они медленнее чем C/C++ их можно ускорить, это решается.


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

>>21883

>Потому что знают только эти 3 ограниченных языка, одинаковых по сути.


Очнись, сейчас 2019 на дворе, все мейнстримные языки калька друг с друга. Язык без лямбд нужно с огнем искать и не найти. Это в 2000-х функциональщина была чем-то элитным, а теперь жс-дристня в каждом браузере есть, а bind в плюсовом стандарте. Уже давно не нужны все эти хаскели чтобы со всем этим играться. Твои понты устарели минимум на десятилетие. Все что могли предложить функциональные языки успешно перетекло в мейнстрим, лисп изучать совсем не обязаельно.
459 1321988
>>21857

>«Я уверен, что ООП методологически неверна. Она начинает с построения классов. Это как если бы математики начинали бы с аксиом. Но реально никто не начинает с аксиом, все начинают с доказательств. Только когда найден набор подходящих доказательств, лишь тогда на этой основе выводится аксиома. Т.е. в математике вы заканчиваете аксиомой.


>Тоже самое и с программированием: сначала вы должны начинать развивать алгоритмы, и только в конце этой работы приходите к тому, что вы в состоянии сформулировать четкие и непротиворечивые интерфейсы. Именно из-за этой неразберихи в ООП так популярен рефакторинг — из-за ущербности парадигмы вы просто обречены на переписывание программы, уже в тот самый момент, когда только задумали её спроектировать в ООП-стиле».


Чертовски прав, я, блять, стопятсот раз перепишу, потому что тот метод не обязательно здесь, блять, а эти методы в отдельную капсулу можно выделить, а вот это лишнее и можно убрать.
Сколько плюсов, столько же и минусов...
460 1321989
>>21892
подобные != одинаковые
особенно, если из С сразу в ЖАБУ мимо крестов, врубиться в ООП сложно, знакомыми останутся разве что main, некоторые операторы и простейшие типы.
461 1321990
>>21883

>Лисп последний язык, который осваивает программист


Согласен, когда тебе осталось жить несколько дней, только на такое говно мамонта можно их потратить. Нет, язык может и хороший, даже применяется много где, но кому оно надо? WutFace
462 1321991
>>21982

>А могли бы сразу взять нормальный язык вместо динамической скриптодрисни. Такое себе достижение - судя по тому что ты это не используешь и даже толком не знаешь насколько успешно оно получилось.


Во-первых, есть статья на эту тему. Если не ошибаюсь 1996 года. Опубликована в специальном научном журнале. То есть прочитать ее можно только за деньги. Во-вторых, они и так взяли нормальный язык. С типизацией у CL все в порядке.
463 1321992
>>21982

>А могли бы сразу взять нормальный язык вместо динамической скриптодрисни. Такое себе достижение - судя по тому что ты это не используешь и даже толком не знаешь насколько успешно оно получилось.


Факт в том, что инженеры сделали Лисп языком для реал-тайма. Хотя такие как ты постоянно кичатся, что такое можно писать только на C/C++. Хотя сами то никогда и не писали никакого реал-тайма.
464 1321994
>>21982

>Разумеется это неправда. JS тому отличный пример, зачем далеко ходить.


Пример чего? У JS свой особый рантайм. Он решает свои задачи. Инженеры взяли, и обвесили его, и получился Node.js. И таким образом JS сейчас почти на любых устройствах поддерживается. За несколько лет экосистема JS обросла огромным количеством кода. В C/C++ по сей день нет такой крутой экосистемы. И никогда не будет.
465 1321995
>>21982

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


Система типов Хиндли-Милнера везде? А Лисповое метапрограммирование? Только в лиспах оно есть.
466 1321996
>>21989

>подобные != одинаковые


>особенно, если из С сразу в ЖАБУ мимо крестов, врубиться в ООП сложно, знакомыми останутся разве что main, некоторые операторы и простейшие типы.


Какая разница, ООП там не причем. Концептуально это Си-подобные императивные языки.
467 1321997
>>21996
Подобные, да. Но парадигмы отличаются. Сравнивать жабу и кресты некорректно. Сравнивай жабу с сисярпом.
468 1321998
>>21990

>Согласен, когда тебе осталось жить несколько дней, только на такое говно мамонта можно их потратить. Нет, язык может и хороший, даже применяется много где, но кому оно надо? WutFace


Лисп это последняя ступень языков. Не все до нее вообще доходят. Поэтому мало кто на Лиспе писал или пишет. Зато про C/C++ знает любой школьник. А это значит, что уровень программистов на этих языках в несколько раз ниже. В Лисп приходят уже с годами опыта и с десятком языков за плечами.
469 1321999
>>21997

>Подобные, да. Но парадигмы отличаются.


Чем отличаются?

>>21997

>Сравнивать жабу и кресты некорректно. Сравнивай жабу с сисярпом.


Вполне корректно. Код на обоих императивный.
470 1322002
>>21999
Да банально тем, что в Сисьтом С нет классов, а в ЖАБЕ нет указателей - только ссылки и то на стеке...
471 1322003
>>22002
фикс
объектная парадигма в сисьтом С отсутствует как таковая
472 1322005
>>21982

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


Ничего не перетекло. Лямбды это еще не все. Мышление программистов стало еще более ограниченное.

Сразу видно, что ты не отличаешь языки как инструменты. Для тебя все они одинаковые, все понты, и бла-бла-бла. Это похоже на парадокс Блаба. Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать.
473 1322006
>>22002

>Да банально тем, что в Сисьтом С нет классов, а в ЖАБЕ нет указателей - только ссылки и то на стеке...


И что с того. Концептуально код от этого не меняется. И там и там императивный.
474 1322007
>>22006

>императивный


ПНаскаль тоже реализует императивную парадигму.
Он тоже С от этого стал?
В жабе от С только простейшие типы, операторы да сама жабаэм, почему все сгоняют в одну парашу?
475 1322015
>>22007

>ПНаскаль тоже реализует императивную парадигму.


>Он тоже С от этого стал?


Да, но он кстати не Си-подобный.

>>22007

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


С точки зрения парадигмы, это похожие языки. Код на них выглядит как последовательное изменение состояния программы. Scala например уже совсем другая. Хотя и поддерживает императивщину.
476 1322018
>>22015
В том-то и дело, анон, что похожие только лишь с точки зрения парадигмы. Спасибо, что решил напомнить мне суть императивной парадигмы, но тогда либо перечисляй все языки с императивщиной, либо не ставь рядом жабу и кресты, это языки лишь в стопяцотом колене имеют схожие корни, но не более того. Это неприятно читать.
477 1322042
>>07268 (OP)
Почему visual studio так долго устанавливается?
Что это вообще такое?
Как я понимаю это ИДЕ и компилятор. И, видимо, еще что-то...
Объясните кто разбирается, плес
478 1322043
>>22042
Это дохуя всего. IDE, компилятор, SDK винды, дотнет, и прочее
479 1322057
>>22042
Так она весит то сколько. Полная версия 30ГБ.
480 1322070
>>22005

>Лямбды это еще не все


Давайте придумаем, что должно входить в Better C.
Это должен быть лоу-левел язык с:

>сильной системой типов (желательно с дедукцией типов, но можно и без этого)


>нормальным параметрическим полиморфизмом


>нормальными uniqueness type и линейными типами без костылей в виде семантики движения


>с нормальной моделью компиляции


>с нормальными корутинами и асинхронностью (тут либо должно быть сразу встраивание в язык, либо возможность менять синтаксис, потому что те же упомянутые выше по треду ranges, реализованные как обычная библиотека, требуют дохрена строк кода)


>с поддержкой SOA/AOS в стиле Jai


>со встроенной поддержкой интринсиков процессора


Вроде как Раст многим пунктам удовлетворяет, но что-то в нём не то.
481 1322072
>>22070

>сильной системой типов


В Си слабая типизация.
sage 482 1322077
>>22070
Раст полное говно, к сожалению. Можно присмотреться к го.
483 1322081
>>22005

> Это похоже на парадокс Блаба. Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать.


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

>>21992

>Хотя сами то никогда и не писали никакого реал-тайма.


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

>>21991

>Во-первых, есть статья на эту тему.


>1996 года.


>Опубликована в специальном научном журнале.


>То есть прочитать ее можно только за деньги.


>нормальный язык.


>С типизацией у CL все в порядке.


Суть борщетехнологий просто. Ору
484 1322119
>>22005

>Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы


Насколько я помню, тру языки для написания хай-энд компиляторов и парсеров в научной среде - окамлы и другие ML, не?
485 1322130
>>22119
Компиляторов чего?
486 1322147
>>22081

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


Я регулярно вижу вакансии на Хаскелле, а уж на гитхабе проектов на нем вообще море. И что интересно, на Хаскелле проекты всегда крутые. Зайди в Хаскелл чат и сам спроси что они пишут. Можно просто чат полистать даже чтобы понять. И сравни с тем чем в основном занимаются C/C++ разрабы, скукотищей.
487 1322149
>>22081

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


Просто адепты C/C++ постоянно козыряют, что реалтайм. И типа на Хаскелле такое не напишешь. Чепуха, и на Хаскелле можно написать , а еще потом выясняется, что там реал-тайма у них никакого нету, а просто слова.
488 1322159
>>22081

>Суть борщетехнологий просто. Ору


Нашел статью, написана в 91, даже не в 96 https://dl.acm.org/citation.cfm?id=114679&dl=ACM&coll=DL

А вот сайт этой компании http://www.gensym.com/?option=com_content&view=article&id=47&Itemid=54

Почитай внизу ABOUT GENSYM, там вкратце написано чем они занимаются. Их система написана на CL. Они затюнили сборщик мусора, или выпилили вообще. И спокойно используют CL.
489 1322163
>>22119

>Насколько я помню, тру языки для написания хай-энд компиляторов и парсеров в научной среде - окамлы и другие ML, не?


А чем Хаскелл хуже ML или Окамла? Это очень похожие языки, можно сказать из одного семейства.
490 1322166
>>22163
Опять ты все языки в кучу смешиваешь?
491 1322311
>>22077
Присмотрелся.

> обработка ошибок как в win32api


> дженериков нет и не будет


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


> ущербный менеджер пакетов


> конфликты т.к. один монолитный путь GOPATH на все

492 1322346
>>22166
Ну давай разъясни чем они отличаются.
493 1322356
>>22159

>Их система написана на CL.


Была написана. В 1996 году. Каких-то жалких 23 года назад. Ее разработчики на пенсию уже вышли. А система могла быть 10 раз переписана с на любом языке.

>>22346

>Ну давай разъясни чем они отличаются.


OCaml может в ООП например. А так конечно, что один, что другой, что С++, что Python все одинаковая текстовая дрисня.
494 1322384
>>22356

>Была написана. В 1996 году. Каких-то жалких 23 года назад. Ее разработчики на пенсию уже вышли. А система могла быть 10 раз переписана с на любом языке.


Статья 1991 года, а не 96-го. Система естественно еще старше. Она упоминается в журнале Computer World 1988 года. И работает до сих пор, ее не переписывали. Погугли G2. Вот статья 2010 года. Там про G2 и разные Лиспы http://www.ijcst.com/vol1issue2/monika.pdf
495 1322386
>>22356

>Была написана. В 1996 году. Каких-то жалких 23 года назад. Ее разработчики на пенсию уже вышли. А система могла быть 10 раз переписана с на любом языке.


Эта система огромна. Ее не будут переписывать. Во первых это невозможно. Во вторых Лисп дает им те фичи, которые они нигде больше не получат, только в Лиспах. Эту систему используют Наса, Dow, и много кто еще.

Здесь хорошо описано http://www.drdobbs.com/review-g2-82/199102973
496 1322387
>>22356

>OCaml может в ООП например. А так конечно, что один, что другой, что С++, что Python все одинаковая текстовая дрисня.


Это не важно. Он тоже из ML семейства.
497 1322416
>>22356

>Каких-то жалких 23 года назад. Ее разработчики на пенсию уже вышли.


Спроектировали систему 2 человека. Они же и владельцы компании. Естественно они уже не пишут код. У них денег достаточно чтобы держать штат сильных архитекторов.
498 1322423
>>21988
То есть программисты лиспа нужны только чтобы поддерживать легаси типа вот этого говна мамонта конца 80х, которое уже никто не берется переписать на нормальном языке? То есть как Кобол? Понятно.
499 1322427
>>22386

>Ее не будут переписывать. Во первых это невозможно


Обычно это называется легаси-говно
500 1322432
>>22427
Получается все чем ты пользуешься, включая ОС - легаси-...овно. Почему тебя так крутит от того, что кто-то решает инженерные задачи успешно, создает крутые проекты вне мейнстрима?
501 1322435
>>22427
Ты мыслишь как дилетант. Проекту больше 20 лет. Он огромен, это не сайтик. Никто в здравом уме не будет это переписывать. Тем более что проекты на Лиспах не переписывают на другие языки, это бессмысленно. Все завязано на макросах. У них там встроенные языки. На любом другом языке такой проект потребует сотни, если не тысячи программистом, и неизвестно сколько денег и времени.
502 1322437
>>22432
>>22435
Круто, конечно, что когда-то там в 80х, когда С++ не было, кто-то написал нормальный софт на лиспе. А сейчас на лиспе пишут что-нибудь?
503 1322441
>>22081

>Пиздежь, я более чем уверен, что ты даже пару реализаций на Хаскеле на назовешь


На эМэЛях, лиспах, фортах пишутся eДСЛи, как правило они узкоспециализированные и юзаются в коммерческих проектах как ноухау, но можно и нагуглить опенсурсные.
Суть в том, что любую грамотно спроектированную программу можно рассматривать как еДСЛ. Хачкель и лисп - инструменты, позволяющие выглядеть этому еДСЛ, как языку со своей семантикой и синтаксисом. В СИ, жабе и прочем говне такое невозможно - всегда будут вылезать уёбищность хост языков.
1276519963.jpg4 Кб, 216x219
504 1322445
Так, что тут у нас? Функциональщики в тред набежали?
Давайте троллить их оператором цикла.
505 1322453
>>22437
Пишут. Clojure используют или в Boeing или в AirBus. Есть десятки и сотни очень крупных проектов на Лиспах. В основном это серьезные продукты, именно продукты, не заказной софт. В консалтинге Лиспа естественно нет. Чуть более мелких проектов еще больше. В Питере есть команда Health Samurai, они пишут на Clojure серьезную систему, уже много лет.
506 1322464
>>22437

>Круто, конечно, что когда-то там в 80х, когда С++ не было, кто-то написал нормальный софт на лиспе. А сейчас на лиспе пишут что-нибудь?


У тебя вообще не правильная постановка вопроса. Какая разница пишут или нет? Все редкое всегда самое ценное. Например на Феррари очень мало кто ездит, на нее трудно найти запчасти, но мало кто из-за этого не стал бы на ней ездить. Или какой-нибудь раритетный хотрод. Он ценен именно тем, что сделал качественно, по старинке, не как у всех. Лисп тоже ценен этим. Его создавали математики. Давно, когда еще люди делали все с умом. Тогда не было ширпотреба. Аналогов до сих пор нет. Это вершина высокоуровневых языков.

Вот и Вагиф Абилов говорит, что нет причин не писать на языке, если им мало пользуются. Они начали писать на F#. Он тоже мало распространен. Посмотри сам, он хорошо объясняет почему доводы о малом распространении неправильные. Очень интересный доклад, а Вагиф очень интересный рассказчик.

https://www.youtube.com/watch?v=GXuol9L_0KI
507 1322484
>>22464
Интересный доклад в карман не положишь.
508 1322488
>>22484
Иди работать.
509 1322489
>>22453

>пишут на Clojure серьезную систему, уже много лет.


ЛОЛ, прямо как Кнут, который свою книжку писал 40 лет и так и не дописал.
510 1322499
Пришел какой-то дурачок, который сказал, что мы, дескать, не шарим и нужно видеть хорошее не только в своем любимом языке. А теперь сам сидит и 24/7 про лисп пиздит. Ты в себе?
хватит толстить, ты ещё нам Пролог посоветуй.щ
511 1322501
>>22489
У меня возникает ощущение, что с тобой что-то не так. Может быть тебе найти себе другое занятие. Ты вообще понимаешь, что серьезные проекты живут много лет. Все время эти проекты поддерживают. Фиксят баги, добавляют новые фичи. У тебя извращенный взгляд на все.
512 1322504
>>22489
Анон тебе говорит о том, что программа написана так, что легко поддерживается и улучшается, и нет необходимости переписывать её с нуля, как это в большинстве случаев происходит, а ты со своим неуместным сарказмом тут.
513 1322505
>>22489
Кнут написал не одну книгу. И переиздал уже несколько раз.
514 1322531

>найти себе другое занятие


>У тебя извращенный взгляд на все.


Откуда ты все обо мне знаешь?

>Ты вообще понимаешь, что серьезные проекты живут много лет


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

>>22505
Та, которая 40 лет писалась - она одна, в нескольких томах.
515 1322544
>>22531

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


Health Samurai написали медицинскую систему. И теперь продают ее в клиники США. Если они ее выбросят, то за счет чего зарабатывать? И зачем писали тогда?.
516 1322545
>>22531

>Я отказываюсь это понимать.


Пересмотри свои взгляды на жизнь. С таким подходом тебе будет не легко. Нужно быть гибче.
517 1322548
>>22531

>Та, которая 40 лет писалась - она одна, в нескольких томах.


Ну вот, таки написал. А говоришь, что нет. Уже 3 издание есть.
518 1322559
>>22544

>за счет чего зарабатывать?


Погоди, ты контекст-то не упускай из виду.
Речь-то о сравнительной эффективности языков программирования. В пику сиплюсплюсам поставили в пример некую мед. систему, которую делают уже 20 лет. Это какбе не в пользу эффективности языка говорит.
А система оказывается уже написана и продается. И все, что в данном случае от языка требуется - это по большому счету имитация бурной деятельности. Вот не похеру на каком языке эту имитацию делать?

Короче говоря, если без сарказмов, я твой пример нахожу неудачным в изначальном контексте дискуссии. Тем более, что Самураевская система не уникальна и есть много аналогов, написанных на других языках.
519 1322567
>>22559

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


Ее пишет маленькая команда. На C++ потребовалось намного больше людей. Кода на Clojure меньше. Поэтому пишется быстрее. Сама разработка на Лиспах быстрее на много, REPL Driven Development. Поддерживать проект проще. Можно переписывать прямо рабочий код, который запущен. И самое важно, язык дает такие плюшки, которых нет в других языках. Макросы к примеру.

Ты видать совсем не понимаешь как работает промышленный софт. В любой программе есть баги, и всегда появляются новые хотелки. Заказали сделать новый функционал. Сделали. Нашли багу. Выпилили.
языки.png125 Кб, 1024x1024
520 1322576
Делайте перекат!
521 1322587
>>22567

>разработка на Лиспах быстрее на много


>Поддерживать проект проще


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



В сухом остатке

>В любой программе есть баги, и всегда появляются новые


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

>Ты видать совсем не понимаешь как работает промышленный софт


Я совсем не понимаю зачем вообще курить языки программирования, если ты любое говно умеешь продавать? Не проще ли найти рынок попроще, недвижимость там, подержанные яхты или еще чего?
522 1322621
>>22587

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


Ты оказывается вообще не в теме. Зачем тебе программирование, если ты не понимаешь в нем ничего, и не хочешь понимать.

Сколько лет пишут Windows/Linux/MacOS? И ты хочешь сказать в них нет багов? И если их будут писать еще 100 лет, в них все равно будут баги. И кроме того, нужно каждый день добавлять новый функционал.

Разработка софта это не построение здания. Один раз построили и все. Софт как живой организм, он постоянно движется, его изменяют, улучшают. Если этот процесс остановится, то софт умрет.
523 1322695
>>22311
Лисп лучший язык (не кложа и не cl?)
524 1322762
>>22576
в голос с бинго
525 1322794
>>21883

>Лисп последний язык, который осваивает программист


Ты из каких маняфантазий это взял? Почему лисп, почему не хаскель, coq, agda или ATS?

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

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


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

Проблема в том, что Грэм не прав: нет никакого континуума мощности языков. И лисп говно, и хаскель говно, а пруверы нужно использовать там, для чего они разрабатывались, а не чтобы выебываться на бордах.

>>21992

>Факт в том, что инженеры сделали Лисп языком для реал-тайма. Хотя такие как ты постоянно кичатся, что такое можно писать только на C/C++. Хотя сами то никогда и не писали никакого реал-тайма.


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

>>21994

>В C/C++ по сей день нет такой крутой экосистемы. И никогда не будет.


Экосистема С называется юникс.

>>21995

>Система типов Хиндли-Милнера везде? А Лисповое метапрограммирование? Только в лиспах оно есть.


Лисп является динамической скриптодрисней. Хиндли-Милнер есть в статических языках.
Это к вопросу, о последнем языке и прочей еботе. Если бы ты действительно знал, что такое ХМ, ты бы уже перешел с лиспа на хаскель.
Потому что как динамическая скриптродрисня лисп нааамного хуже питона или жс, а как йоба язык для йоба мамкиных мыслителей он сосет у статических функциональных языков.

>>22005

>Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать.


Интерпретаторы и компиляторы пишут для llvm, который написан на С++.

>>22384

>Статья 1991 года, а не 96-го. Система естественно еще старше. Она упоминается в журнале Computer World 1988 года. И работает до сих пор, ее не переписывали


О том и речь, что лисп это древняя скриптодрисня, которая до сих пор используется в древнем как говно мамонта софте. Как только появились нормальные скриптовые языки, от этого фортрана мира скриптов отказались.

>>22441

>На эМэЛях, лиспах, фортах пишутся eДСЛи, как правило они узкоспециализированные и юзаются в коммерческих проектах как ноухау, но можно и нагуглить опенсурсные.


А вот и читатель зиноцефала. Не поскажешь, где этот мегагений сейчас, наверное запилил свой стартап и с такими-то знаниями стал триллиардером.

>>22567

>И самое важно, язык дает такие плюшки, которых нет в других языках. Макросы к примеру.


Макросы - зло и в 100% случаев являются неправильным решением.
Добро они для программистов, которые в достаточно старой системе могут вообще не бояться увольнения, потому что кроме них в этом говнище все равно никто не разберется.
525 1322794
>>21883

>Лисп последний язык, который осваивает программист


Ты из каких маняфантазий это взял? Почему лисп, почему не хаскель, coq, agda или ATS?

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

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


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

Проблема в том, что Грэм не прав: нет никакого континуума мощности языков. И лисп говно, и хаскель говно, а пруверы нужно использовать там, для чего они разрабатывались, а не чтобы выебываться на бордах.

>>21992

>Факт в том, что инженеры сделали Лисп языком для реал-тайма. Хотя такие как ты постоянно кичатся, что такое можно писать только на C/C++. Хотя сами то никогда и не писали никакого реал-тайма.


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

>>21994

>В C/C++ по сей день нет такой крутой экосистемы. И никогда не будет.


Экосистема С называется юникс.

>>21995

>Система типов Хиндли-Милнера везде? А Лисповое метапрограммирование? Только в лиспах оно есть.


Лисп является динамической скриптодрисней. Хиндли-Милнер есть в статических языках.
Это к вопросу, о последнем языке и прочей еботе. Если бы ты действительно знал, что такое ХМ, ты бы уже перешел с лиспа на хаскель.
Потому что как динамическая скриптродрисня лисп нааамного хуже питона или жс, а как йоба язык для йоба мамкиных мыслителей он сосет у статических функциональных языков.

>>22005

>Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать.


Интерпретаторы и компиляторы пишут для llvm, который написан на С++.

>>22384

>Статья 1991 года, а не 96-го. Система естественно еще старше. Она упоминается в журнале Computer World 1988 года. И работает до сих пор, ее не переписывали


О том и речь, что лисп это древняя скриптодрисня, которая до сих пор используется в древнем как говно мамонта софте. Как только появились нормальные скриптовые языки, от этого фортрана мира скриптов отказались.

>>22441

>На эМэЛях, лиспах, фортах пишутся eДСЛи, как правило они узкоспециализированные и юзаются в коммерческих проектах как ноухау, но можно и нагуглить опенсурсные.


А вот и читатель зиноцефала. Не поскажешь, где этот мегагений сейчас, наверное запилил свой стартап и с такими-то знаниями стал триллиардером.

>>22567

>И самое важно, язык дает такие плюшки, которых нет в других языках. Макросы к примеру.


Макросы - зло и в 100% случаев являются неправильным решением.
Добро они для программистов, которые в достаточно старой системе могут вообще не бояться увольнения, потому что кроме них в этом говнище все равно никто не разберется.
526 1322843
>>22794

>Нет, чувак, лисп, это такой энтрилевел немейнстримных языков программирования.


Просто тебя не устраивает, что Лисп мощнее чем C++. Ты же не привел ни одного аргумента.
527 1322849
>>22794

>Парадокс Блаба никаких суженных трактовок не допускает, блабом может быть и лисп.


Вот именно. Ты уходишь от трактовки. А она проста. Есть программист знающий язык Блаб. Он думает на нем. Но почему? Потому что не видел других языков, так написал Грэм. Именно потому, что не видел других языков. Ты опускаешь этот смысл, и еще говоришь что я неправильно трактую. Лисп не может быть Блабом, потому что в Лисп приходят из других языков. Они уже знают кучу языков, включая C++ скорее всего.

Ты снова не привел ни одного аргумента.
528 1322850
>>22794

>Реалтайм это всего лишь гарантированное время выполнения, которое может быть произвольно большим.


Так вы же говорите, что на языках со сборщиком мусора это невозможно. Я это опроверг приведя реальный пример.
529 1322854
>>22794

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


Проблема в том, что лиспер такого уровня никогда не будет писать на C++. Это подтверждают статьи и проекты. Проще решить задачу сборщика мусора один раз и потом всю жизнь писать на мощнейшем языке, нежели всю жизнь строить костыли и бороться с ограничением языка.
530 1322857
>>22794

>Экосистема С называется юникс.


Не правда. Си и на винде работает. Получается там нет у него экосистемы. В JS экосистема кросс-платформенная.

Что ты называет экосистемой? Есть в Си менеджер пакетов? В JS огромное количество удобных инструментов для решения многих задач разработки. Они единообразны. В Си все разрозненное, архаичное, устаревшее. Нет там такой простоты и удобства.
531 1322860
>>22794

>Лисп является динамической скриптодрисней.


Снова у тебя словесный понос. Снова ты без аргументов. Никаких адекватных доводов против динамической типизации ты не приведешь. И доводов за статическую тоже. Я давно заметил, что адепты статической типизации мыслят угловато. Они очень ограничены. Категоричны. И обычно не могут последовательно излагать свои мысли. Так как их мозг связан, их руки связаны. Они привыкли быть связанными статической типизацией. Динамическая типизация развязывает руки.
532 1322862
>>22794

>Интерпретаторы и компиляторы пишут для llvm, который написан на С++.


Да неужели. Можно подумать все они только для LLVM написаны. А что же было до LLVM? Не писали компиляторов/интерпретаторов? Снова ты без аргументов.
533 1322863
>>22794

>О том и речь, что лисп это древняя скриптодрисня, которая до сих пор используется в древнем как говно мамонта софте. Как только появились нормальные скриптовые языки, от этого фортрана мира скриптов отказались.


Опять словесный понос без единого аргумента. Ты пишешь на потомке Фортрана если что.
534 1322865
>>22794

>Макросы - зло и в 100% случаев являются неправильным решением.


Ты про какие макросы, про Сишные вероятно? Тогда я согласен. Сомневаюсь, что ты знаешь про Лисповые макросы.
535 1322866
>>22794

>Лисп является динамической скриптодрисней.


Есть типизированные Лиспы, Typed Racket к примеру.
536 1322915
>>22843

>Просто тебя не устраивает, что Лисп мощнее чем C++.


Для начала необходимо было бы дать определение "X мощнее Y", затем доказать "мощнее значит лучше" и из этого уже выводить какой-то силлогизм.
Почему меня это могло бы не устраивать? Я скриптую на лиспе свой emacs и мне как-то похуй, что там за скриптовый язычок. Если бы лисп имел хоть какой-то смысл, я бы на нем писал. Проблема в том, что смысла нет.

>Ты же не привел ни одного аргумента.



Я не привожу аргументы за свою позицию, я планомерно разъебываю твою. Ты написал: "Лисп последний язык, который осваивает программист", что является ложью.

Далее:

>Проблема в том, что лиспер такого уровня никогда не будет писать на C++. Это подтверждают статьи и проекты.



Они подтвеждают только то, что некоторые лисперы такого уровня не будут писать на С++. Они не подтверждают то, что все лисперы так будут делать.

>Не правда. Си и на винде работает. Получается там нет у него экосистемы.



Есть, cygwin называется, плюс MS запилила убунту. А вот без утилит GNU да, винда становится очень грустной для разработки на Си. Но разработка на ноде под нее ничуть не веселее.

>Есть в Си менеджер пакетов



dpkg, например

>В Си все разрозненное, архаичное, устаревшее. Нет там такой простоты и удобства.



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

>Никаких адекватных доводов против динамической типизации ты не приведешь



Аргумент был не против динамической скриптодрисни, аргумент был против человека, который спизданул "Хиндли-Милнер", понятия не имея, что это такое.

>Да неужели. Можно подумать все они только для LLVM написаны. А что же было до LLVM? Не писали компиляторов/интерпретаторов? Снова ты без аргументов.



Алё, это твой аргумент разъебан, ты писал "Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать", на что ответ в общем-то простой, самая популярная платформа для создания новых языков написана на С++.
Ты сначала приведи аргумент, который нельзя разъебать, а потом кукакрекай что-то про то, что у меня-де аргументов нет.

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



Вот здесь аргумент как раз есть, попробуй его найти.

>Ты про какие макросы, про Сишные вероятно? Тогда я согласен. Сомневаюсь, что ты знаешь про Лисповые макросы.



Понятно, что ты сомневаешься. Ведь в твоей картине мира все убого и черно-бело: есть лисперы в белом, а есть идиоты, которые пишут на С++. Но как всегда в убогой подростковой картине мира, такой взгляд ничего не стоит.

Для начала попробуй привести пример того, что требует макросов и никак иначе. А я покажу лучший способ и почему способ на макросах хуевый.
536 1322915
>>22843

>Просто тебя не устраивает, что Лисп мощнее чем C++.


Для начала необходимо было бы дать определение "X мощнее Y", затем доказать "мощнее значит лучше" и из этого уже выводить какой-то силлогизм.
Почему меня это могло бы не устраивать? Я скриптую на лиспе свой emacs и мне как-то похуй, что там за скриптовый язычок. Если бы лисп имел хоть какой-то смысл, я бы на нем писал. Проблема в том, что смысла нет.

>Ты же не привел ни одного аргумента.



Я не привожу аргументы за свою позицию, я планомерно разъебываю твою. Ты написал: "Лисп последний язык, который осваивает программист", что является ложью.

Далее:

>Проблема в том, что лиспер такого уровня никогда не будет писать на C++. Это подтверждают статьи и проекты.



Они подтвеждают только то, что некоторые лисперы такого уровня не будут писать на С++. Они не подтверждают то, что все лисперы так будут делать.

>Не правда. Си и на винде работает. Получается там нет у него экосистемы.



Есть, cygwin называется, плюс MS запилила убунту. А вот без утилит GNU да, винда становится очень грустной для разработки на Си. Но разработка на ноде под нее ничуть не веселее.

>Есть в Си менеджер пакетов



dpkg, например

>В Си все разрозненное, архаичное, устаревшее. Нет там такой простоты и удобства.



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

>Никаких адекватных доводов против динамической типизации ты не приведешь



Аргумент был не против динамической скриптодрисни, аргумент был против человека, который спизданул "Хиндли-Милнер", понятия не имея, что это такое.

>Да неужели. Можно подумать все они только для LLVM написаны. А что же было до LLVM? Не писали компиляторов/интерпретаторов? Снова ты без аргументов.



Алё, это твой аргумент разъебан, ты писал "Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать", на что ответ в общем-то простой, самая популярная платформа для создания новых языков написана на С++.
Ты сначала приведи аргумент, который нельзя разъебать, а потом кукакрекай что-то про то, что у меня-де аргументов нет.

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



Вот здесь аргумент как раз есть, попробуй его найти.

>Ты про какие макросы, про Сишные вероятно? Тогда я согласен. Сомневаюсь, что ты знаешь про Лисповые макросы.



Понятно, что ты сомневаешься. Ведь в твоей картине мира все убого и черно-бело: есть лисперы в белом, а есть идиоты, которые пишут на С++. Но как всегда в убогой подростковой картине мира, такой взгляд ничего не стоит.

Для начала попробуй привести пример того, что требует макросов и никак иначе. А я покажу лучший способ и почему способ на макросах хуевый.
537 1322919
>>22843
>>22849
>>22850
>>22854
>>22857
>>22860
>>22862
>>22863
>>22865
Экак тебя пробило. О чём спор-то сам помнишь?

мимо
538 1323013
>>22915

>Для начала необходимо было бы дать определение "X мощнее Y", затем доказать "мощнее значит лучше" и из этого уже выводить какой-то силлогизм.


>Почему меня это могло бы не устраивать? Я скриптую на лиспе свой emacs и мне как-то похуй, что там за скриптовый язычок. Если бы лисп имел хоть какой-то смысл, я бы на нем писал. Проблема в том, что смысла нет.


Так где критерии какой язык мощнее? Опять завуалированные пустые слова.
539 1323016
>>22915

>Я не привожу аргументы за свою позицию, я планомерно разъебываю твою. Ты написал: "Лисп последний язык, который осваивает программист", что является ложью.


Снова без аргументов. В Лисп приходят после C++. После многих других языков. Так сложилось исторически, и так складывается логически. Потому что этот язык как дзен. Сразу его нельзя понять. Поэтому к нему приходят не сразу. Когда вдоволь намучился, когда начинаешь понимать что важно, а важна простота, универсальность, удобство, тогда и приходишь к дзену. А в Лиспе как раз все это есть, простота, удобство, универсальность.
540 1323019
>>22915

>Они подтвеждают только то, что некоторые лисперы такого уровня не будут писать на С++. Они не подтверждают то, что все лисперы так будут делать.


Покажи хоть одну статью, где бы автор после Лиспа говорил, что C++ лучше, и писал бы на нем. Я могу привести где автор после C++ и Лиспа говорит, что Лисп лучше. После иномарок на жигули не садятся.
541 1323022
>>22915

>Есть, cygwin называется, плюс MS запилила убунту. А вот без утилит GNU да, винда становится очень грустной для разработки на Си. Но разработка на ноде под нее ничуть не веселее.


Это все не то. Разрозненные непонятные штуки. Это не экосистема, а обрывки.

>>22915

>dpkg, например


Это не менеджер пакетов Си. Это пакетный менеджер ОС.
542 1323026
>>22915

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


Ты забыл, что Лисп это не язык, а семейство языков. Поэтому чтобы писать на Лисп никаких биндингов компилировать не нужно. JS очень зрелый инструмент. И сейчас уже более продвинутый чем C/C++. Ты снова пустословишь без аргументов.
543 1323029
>>22915

>Аргумент был не против динамической скриптодрисни, аргумент был против человека, который спизданул "Хиндли-Милнер", понятия не имея, что это такое.


Я знаю что это. Ты писал или кто, что во всех языках есть все фичи из функциональных языков. Оказывается нету.
haskell is useless.png1 Мб, 790x960
544 1323033
>>23013
<...>
>>23029
Хоуми, пиши всё в одном посту, как нормальный человек. Во всём треде только у одного человека было терпение с тобой общаться, прояви к нему уважение.
Мимокрокодил
545 1323034
>>22915

>Алё, это твой аргумент разъебан, ты писал "Тебе не понятно почему на Хаскелле пишут интерпретаторы/компиляторы, а на C/C++ стараются этого не делать", на что ответ в общем-то простой, самая популярная платформа для создания новых языков написана на С++.


>Ты сначала приведи аргумент, который нельзя разъебать, а потом кукакрекай что-то про то, что у меня-де аргументов нет.


Опять ты без аргументов. LLVM тут не причем. На Хаскелле за последние годы было написано много языков. На C++ думаю что единицы, а может не одного. Потому что Хаскелл дает более мощные абстракции. В нем не выстрелишь в ногу как в C++. Его код лаконичнее, его проще поддерживать.
546 1323035
>>22915

>Вот здесь аргумент как раз есть, попробуй его найти.


Ну и где же? Это словесный понос с использованием детских обзывалок.
547 1323038
>>22915

>Понятно, что ты сомневаешься. Ведь в твоей картине мира все убого и черно-бело: есть лисперы в белом, а есть идиоты, которые пишут на С++. Но как всегда в убогой подростковой картине мира, такой взгляд ничего не стоит.


>


>Для начала попробуй привести пример того, что требует макросов и никак иначе. А я покажу лучший способ и почему способ на макросах хуевый.


Обоснуй что Лисповые макросы это антипаттерн. Ты это утверждал, но не привел ни одного аргумента.
548 1323056
>>23034

>На Хаскелле за последние годы было написано много языков


писать язык на языке а 2019... да даже 5 лет назад если, вам чё, языков мало?
549 1323073
>>23016

> В Лисп приходят после C++. После многих других языков. Так сложилось исторически, и так складывается логически.


И где же откровения всех этих тысяч богоподобных лисперов, которые долгие годы страдали, меняя недоязыки, на пути к постижению истины?
Выдаешь желаемое за действительное.
550 1323077
>>23038

> Для начала попробуй привести пример того, что требует макросов... А я покажу лучший способ и почему способ на макросах хуевый.


> Обоснуй


Этот демагог обосрался. Несите нового.
551 1323111
>>23013

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


Лол, ты пишешь "Лисп мощнее чем C++.", а потом ждешь от меня критерии? Это я тебя, манька, спрашиваю, где критерии.

>Снова без аргументов. В Лисп приходят после C++.



Я могу привести тебе кучу программистов, которые знают лисп, и не пишут на нем. При этом они знали лисп еще в то время, когда С++ не существовало. Алекс Степанов, например (при чем в его случае это схемка, но я-то думал, что мы в CL говорим, а тут ты говоришь, что обо всех лиспах сразу, впрочем и для CL можно найти такого человека, мне лень). Поэтому утверждение "Лисп последний язык, который осваивает программист" - ложь упоротого школьника.

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

>Это не менеджер пакетов Си. Это пакетный менеджер ОС.


Я тебе двумя постами назад написал, что экосистема си называется юникс.

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



Вот это наркомания. Лисп - семейство языков, ПОЭТОМУ никаких биндингов компилировать не нужно. Что ты там по поводу аргументов кукарекаешь, если у тебя даже подобия логики нет.

>JS очень зрелый инструмент. И сейчас уже более продвинутый чем C/C++.



Продвинутый по каким критериям? Я вот хочу написать VST-плагин, мне этот зрелый инструмент уже можно использовать, или в манямирке тупых школьников, рассматривающих мир исключительно через призму "кто кому даст пизды" такие вопросы в принципе не рассматриваются? ЖС нормальный инструмент, один из лучших сейчас, к сожалению. А лисп - говно ебаное. Именно как инструмент. Как развлечение для аутистов - норм.

>Я знаю что это. Ты писал или кто, что во всех языках есть все фичи из функциональных языков. Оказывается нету.



Хиндли-Милнер это не фича, это система типов, при чем в ней даже гетерогенный контейнер не запилишь, не говоря уже йобе типа boost::units. То есть видишь ли, в чем прикол, подобный код:

template<typename L, typename R> auto add(L lhs, R rhs) { return lhs + rhs;}

для ХМ-языков является невыполнимой задачей - даже если ты найдешь способ сделать operator+ полиморфным (что в хаскеле потребует переписать прелюдию, например), вывод типов сломается. А С++ похуй, он выводит типы не решая какие-то там уравнения, а тупо сверху вниз. Потому что шаблоны С++ sort of динамически типизированы и это дает большую свободу в написании кода (а как минус ты получаешь хуевые сообщения об ошибках), а ХМ-языки так не умеют. Лисп, собственно, умеет, он же является динамической скриптодрисней. И мы вместо континуума мощности попадаем в пространство, в котором языки друг с другом не сравнимы. И мечте ньюфага о серебрянной пуле сбыться не суждено: чтобы стать таким крутым как я, ты будешь должен заниматься программированием очень много лет, и хуй тебе поможет "выучить лисп" как ты думаешь. Впрочем, не похоже, чтобы ты собирался его учить.

>Ну и где же? Это словесный понос с использованием детских обзывалок.



Прямо в процитированном тобой тексте: лисп это древняя скриптодрисня, которая до сих пор используется в древнем как говно мамонта софте. Как только появились нормальные скриптовые языки, от этого фортрана мира скриптов отказались.

Что тут непонятного? Даже твои примеры касаются именно что древнего софта. Это в 80-е альтернативой лиспу были скрипты для юниксовой консоли. Сейчас же скриптовых языков как грязи. Единственное (!!!) достоинство именно лиспа - гомоиконность. То есть фактически лисп предлагает 99% времени смотреть на уебищный синтаксис, чтобы в 1% случаев было удобнее писать макросы, которые сами по себе являются злом. Ну такое.

>Обоснуй что Лисповые макросы это антипаттерн. Ты это утверждал, но не привел ни одного аргумента.



Приведи конкретный пример использования макроса.
551 1323111
>>23013

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


Лол, ты пишешь "Лисп мощнее чем C++.", а потом ждешь от меня критерии? Это я тебя, манька, спрашиваю, где критерии.

>Снова без аргументов. В Лисп приходят после C++.



Я могу привести тебе кучу программистов, которые знают лисп, и не пишут на нем. При этом они знали лисп еще в то время, когда С++ не существовало. Алекс Степанов, например (при чем в его случае это схемка, но я-то думал, что мы в CL говорим, а тут ты говоришь, что обо всех лиспах сразу, впрочем и для CL можно найти такого человека, мне лень). Поэтому утверждение "Лисп последний язык, который осваивает программист" - ложь упоротого школьника.

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

>Это не менеджер пакетов Си. Это пакетный менеджер ОС.


Я тебе двумя постами назад написал, что экосистема си называется юникс.

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



Вот это наркомания. Лисп - семейство языков, ПОЭТОМУ никаких биндингов компилировать не нужно. Что ты там по поводу аргументов кукарекаешь, если у тебя даже подобия логики нет.

>JS очень зрелый инструмент. И сейчас уже более продвинутый чем C/C++.



Продвинутый по каким критериям? Я вот хочу написать VST-плагин, мне этот зрелый инструмент уже можно использовать, или в манямирке тупых школьников, рассматривающих мир исключительно через призму "кто кому даст пизды" такие вопросы в принципе не рассматриваются? ЖС нормальный инструмент, один из лучших сейчас, к сожалению. А лисп - говно ебаное. Именно как инструмент. Как развлечение для аутистов - норм.

>Я знаю что это. Ты писал или кто, что во всех языках есть все фичи из функциональных языков. Оказывается нету.



Хиндли-Милнер это не фича, это система типов, при чем в ней даже гетерогенный контейнер не запилишь, не говоря уже йобе типа boost::units. То есть видишь ли, в чем прикол, подобный код:

template<typename L, typename R> auto add(L lhs, R rhs) { return lhs + rhs;}

для ХМ-языков является невыполнимой задачей - даже если ты найдешь способ сделать operator+ полиморфным (что в хаскеле потребует переписать прелюдию, например), вывод типов сломается. А С++ похуй, он выводит типы не решая какие-то там уравнения, а тупо сверху вниз. Потому что шаблоны С++ sort of динамически типизированы и это дает большую свободу в написании кода (а как минус ты получаешь хуевые сообщения об ошибках), а ХМ-языки так не умеют. Лисп, собственно, умеет, он же является динамической скриптодрисней. И мы вместо континуума мощности попадаем в пространство, в котором языки друг с другом не сравнимы. И мечте ньюфага о серебрянной пуле сбыться не суждено: чтобы стать таким крутым как я, ты будешь должен заниматься программированием очень много лет, и хуй тебе поможет "выучить лисп" как ты думаешь. Впрочем, не похоже, чтобы ты собирался его учить.

>Ну и где же? Это словесный понос с использованием детских обзывалок.



Прямо в процитированном тобой тексте: лисп это древняя скриптодрисня, которая до сих пор используется в древнем как говно мамонта софте. Как только появились нормальные скриптовые языки, от этого фортрана мира скриптов отказались.

Что тут непонятного? Даже твои примеры касаются именно что древнего софта. Это в 80-е альтернативой лиспу были скрипты для юниксовой консоли. Сейчас же скриптовых языков как грязи. Единственное (!!!) достоинство именно лиспа - гомоиконность. То есть фактически лисп предлагает 99% времени смотреть на уебищный синтаксис, чтобы в 1% случаев было удобнее писать макросы, которые сами по себе являются злом. Ну такое.

>Обоснуй что Лисповые макросы это антипаттерн. Ты это утверждал, но не привел ни одного аргумента.



Приведи конкретный пример использования макроса.
552 1323114
>>23056
Язык инструмент. Инструментов не бывает много.

>>23073
А где ты видел тех, кто после Лиспа приходят в C++? Или вообще с Лиспа начинают? Вот как минимум один разработчик, пришедший в Лисп после C++ http://rigidus.ru/about/index.html

>>23077
Ну так где аргументы, что "Макросы - зло и в 100% случаев являются неправильным решением."? Это твои слова.
Screenshot20190108-153124.png96 Кб, 540x960
553 1323123
>>23016

> В Лисп приходят


> приходят


>>23114

> Вот как минимум один разработчик, пришедший в Лисп после C++


> один


inb4: дальнейшая демагогия с твоей стороны

> Ну так где аргументы


> Это твои слова.


Я другой анон. Всё же скажи, о чём спор-то?
554 1323230
>>23123

>Я другой анон. Всё же скажи, о чём спор-то?


Некто утверждает, что Лисп дерьмо, но не приводит ни одного аргумента. При этом расхваливая C++, про который все знают, что он спроектирован как Франкенштейн.
555 1323247
>>23230
И это в крестотреде. Немыслимо!
1420210987058.png40 Кб, 1620x774
556 1323307
>>23247
А что разве C++ хорошо спроектирован?
15307105000242.jpg17 Кб, 540x529
557 1323315
>>23307
Ну окъ. Можешь бойкотировать кресты, а пока сходи абулику пожалуйся, что в зекаче обсуждают плохой язык.
558 1323362
>>23307

>А что разве C++ хорошо спроектирован?


на нём бы никто не писал тогда 1)
он не развивался бы 2)
559 1323467
>>23362
Абсолютно нелогичная аргументация. В мейнстриме всегда все самое плохое. Так уже устроен человек. Тянет его на все самое плохое. 100 лет назад еще были здравые идеи у человечества. Сейчас уже нет. Это я к тому, что популярность не показатель качества. Популярное = ширпотреб.

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

Какой самый популярный язык - Java. Сейчас уже почти все говорят, что он ужасен. Уже понаписали кучу языков для JVM. Только чтобы на джаве не писать. Но вот парадокс, это самый популярный язык. Это не удивительно. В мейнстриме всегда трэш. Большая часть людей не умеет думать своей головой. За них думают другие, телевизор, интернет, реклама, лозунги, авторитеты. Сами они не принимают решений. Они просто их берут откуда-то. Ты в их числе кстати. Твоя аргументация это выдает.
560 1323469
>>23467
Ага. А Евклид со своей геометрией - ориентированный на быдло долбоеб, Колмогоров единственно верный мужик.
съеби уже отсюда, немейнстримовый уникум, всем похуй на твое говно мамонта
561 1323477
>>23469
Ты же выбрал C++ потому что услышал (скорее всего еще в школе) что он самый крутой. Это 100%. Такой стереотип существует. И все на него ведутся. Я когда то сам в это верил. Пока не попробовал больше десятка разных языков. Мне есть с чем сравнить.

Нужно же думать умом головы. А не другими местами, или слушать других. Скольким языкам ты уделил хотя бы неделю изучения?
562 1323491
>>23477
А ты лютый прорицатель. Я в школе на бейсике писал и узнал о плюсах только после паскаля, си, пролога и лиспа, которым уделял не только прочтение статьи на Википедии. После них были ещё джава, шарпы и PL/SQL. И я, в отличие от тебя, понимаю, что для каждого языка есть своя цель - микроконтроллер на си, задача Эйнштейна - на прологе, решение УМФ - на мэпле/маткаде, компьютерное зрение - на плюсах. Но мне нравятся плюсы и все тут, хоть я работаю на другом языке.
Ты же не будешь бросать свою любимую жену просто потому что услышал, что где-то за тремя морями есть баба с сиськами больше и квадратной пиздой?
15342211932691.jpg82 Кб, 640x480
563 1323596
>>23307
А то!
564 1323664
>>23596
Прикольно
452555435.PNG79 Кб, 1368x917
565 1323672
>>07268 (OP)
Чому студия ругаецца? Вроде все нормально же. Числа сгенерились, все збс. Ну подумаешь возможна потеря данных. Ну и хер с ней.
566 1323678
>>23672
Инкремент i поставь в конец тела цикла. У тебя индекс выходит из диапазона.
1413777090510 (1).png1 Мб, 1920x1080
567 1323694
>>23678
И правда ведь. Спасибо, анон. Держи няшек.
568 1323857
>>23477
я услышал в школе, что С++ самый крутой язык. Спустя 15 лет - работаю С++ сеньором помидором, и продолжаю так считать.
569 1323889
>>23857
Сочувствую. Сколько языков ты видел кроме него?
570 1323909
>>23889
Русский, английский
571 1323929
А я опять принес не скучные задачки))
572 1323936
https://pastebin.com/NQSa7h24
Вернитесь к программе из листинга 7.7 и замените три функции обработки
массивов версиями, которые работают с диапазонами значений, заданными парой
указателей. Функция f ill_array () вместо возврата действительного
количества прочитанных значений должна возвращать указатель на место, следующее за
последним введенным элементом; прочие функции должны использовать его в
качестве второго аргумента для идентификации конца диапазона данных.

Когда наполняю массив, если ввести букву начинается ад и израиль. Кто может подсказать что подразумевается в функции наполнения массива под не правильным вводом?
574 1323953
>>23936
Научись наконец инициализировать переменные (int i = 0). if (!cin) -- какая-то хуйня. Если хочешь безопасного ввода, считывай через std::getline в std::string и парси строку. В твоем случае например строка должна состоять из одного символа-цифры.
575 1323965
>>23889
Чему сочувствуешь то?
576 1324165
>>23953

>if (!cin) -- какая-то хуйня. Если хочешь безопасного ввода, считывай через std::getline в std::string и парси строку.


У него пример из книжки Праты, епта. if (!cin) -- не какая-то хуйня, а данность, условие задачи.
577 1324168
>>23941
Это не листинг 7.7, это перепиленный с ошибками листинг 7.7.
578 1324169
>>23936

>что подразумевается в функции наполнения массива под не правильным вводом?


То, что cin сочтет неправильным.
579 1325750
Есть тут obj-c++ господа или те кто юзает c++ для разработки под гейос вместе с obj-c/swift?
1. Есть смысл вкатываться?
2. Какой диапазон задач решаешь?
3. Без него можно прожить всю жизнь?

мимо ios - 2 года
580 1328855
Аноны, не могу найти книгу: Принципы и практика использования C++ Бьерн Страуструп 2 издание 2014 года. У вас точно есть! Поделитесь pdf'кой.
581 1328880
>>28855
В глаза ебусь, в шапке висит оказывается! Тогда следующий реквест:
Шаблоны C++. Справочник разработчика. 2 издание 2018 года.

С меня как всегда.
582 1329636
Десктоп на С++ жив? Или лучше в C# валить сразу? Какой яп актуален в десктоп разработке?
583 1329742
>>29636
electron.js
15341329269161.jpg28 Кб, 316x310
584 1329964
585 1335620
Только недавно начал изучать плюсы, может кто-то на простом языке объяснить что такое L-value и R-value и в чем отличие? я так и не понял что в коде леввое а что правое и как их отличать
586 1335624
Ну типа в гугле написано что левое хранится в памяти а правое нет, но как в коде это понять? может кто-то на примере легкого кода по типу int a=5, b=6, c;
c=a+b;
cout<<c;
что тут левое а что правое?
и можно еще объяснить на примере этого кода что такое литералы
я так понял это 5 и 6?
587 1336557
>>35624

>что тут левое а что правое


c = a + b можно разделить на два шага. Сначала ты высчитываешь значение a + b, а затем полученный результат ты присваиваешь переменной с. Так вот полученный результат (a + b) - rvalue, c - lvalue.
Вроде в https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/ нормально расписано.
Вообще, подучил бы Си сначала.
Тред утонул или удален.
Это копия, сохраненная 1 февраля 2019 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски