Смотри, пстач. Вот есть у меня знакомая девочка, учащаяся на втором курсе на программистском факультете. Как-то этим летом она спрашивала, как решать какую-то олимпиадную задачку с графами (им про всяких Дейкстр еще не рассказывали на первом курсе). Я показал несколько алгоритмов, и в процессе упомянул про прелести нового стандарта плюсцов. Она спросила зачем они нужны, мне тогда лень было объяснять, и я скинул ей ссылку на faq Страуструпа. Скинул и забыл.
А вот только что она обиженно написала, что преподы не захотели поставить ей "отлично" на зачете по плюсцам, потому что "не поняли ее программу". Стало интересно, и вот что я выяснил.
Задание звучало так:
> 1. Пользователь вводит с клавиатуры прямоугольную матрицу размерности MxN;
> 2. Подсчитать в ней количество строк, не содержащих нулей;
> 3. Найти максимальный элемент из тех, которые встречаются в матрице больше одного раза.
А вот ее решение:
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;
int main()
{
unsigned width, height, cnt=0;
cout<<"Enter matrix height and width: ";
cin>>height>>width;
vector<int> matrix(height*width);
cout<<"ok, now enter "<<(height*width)<<" elements: "<<endl;
generate(matrix.begin(), matrix.end(), []() { return *istream_iterator<int>(cin); });
for (auto pos=matrix.begin(); pos<matrix.end(); cnt+=!count(pos, pos+width, 0), pos+=width);
sort(matrix.rbegin(), matrix.rend());
auto i=find_if(matrix.begin(), matrix.end(), [&matrix](int val) { return (count(matrix.begin(), matrix.end(), val)>1);});
cout<<"count of lines without 0 element: "<<cnt<<endl<<"Maximal repeating element: "<<(i==matrix.end()?0:*i);
}
Кажется, я слишком рано рассказал ей о черной магии плюсцов )
А сегодня я дал ей ссылку на сайт буста. И думаю примерно через полгода можно будет отправлять ее пилить личкрафты :3
@dorfe: Слишком рано, да, теперь прийдётся дооолго это всё забывать ;-)
@utros: Они размножаются >_<
@zamotivator: бедная девочка. Мне вот тоже дали в начале пути пары ссылок - вот и пошёл по кривой плюсовой дорожке...\
and @snakehoney, @gelraen, @lexszero, @ignotus, @0xd34df00d, @lHooFool, @ulidtko, @asmer, @octocat, @Katenok
она упоролась.
блевотный нечитаемый кал
господи, зачем ты изнасиловал бедную девочку. Алгоритмы на графах — и С++... нет бы python показал
ХОТЕТ
Питон? Это шизофреничное динамическое поделие?
Для графов хаскель — самое оно.
Впрочем, BGL тоже ничотак. На него ругаются только неосиляторы.
а ведь работает же
Поддвачиваю. Ей бы стиля немного. Хотя, прозреваю, псоч зохавал.
Да, вдогонку. Она сделала матрицу одномерным массивом, потому что "не придумала, как красиво в одну строчку прочитать двумерный массив с консоли". А еще очень жалела, что "так и не смогла додуматься, как убрать единственный оставшийся цикл, не нашла подходящих алгоритмов в stl".
пиздец код
код, между прочим, трушный. Просто не для старпёров ВУЗа.
это в чем же он трушный?
Да я не выбирал. Она спросила "как работать с графами на c++", я ответил, мне не жалко же.
Алсо сегодня скинул ей еще и на sicp ссылку. Посмотрим, какой монстр вырастет через пару лет.
женеться на хаче который даст тебе пизды
Окей, направлю к тебе через полгодика. Только она тебе не даст, если что )
В том-то и жесть, что оно еще и правильно работает.
Почему?
Прямо щас направляй. Пусть применяет свои плюсоскиллы.
Отступы в оригинале правильные были, да.
Нормик.
Потому что она любит упарываться "активным отдыхом", например.
Личкрафт — очень показательное поделие на плюсах :)
ну, скажем так, если бы его написал морской котик стоя на шаре — можно было бы вперется от того, что появился некий рабочий корректный код из невероятного источника
если же абстрагироватся от автора — код во всех отношениях полное говно
Правильно используются концепции языка C++ — итераторы, контейнеры.
STL же медленное говно
Я не буду отвечать на этот комментарий, пожалуй.
сетевые эксперты такие блять эксперты. Ты тестировал? Нет? Сишный queue.h отсосёт у std::deque. Ибо в плюсах есть нормальный безопасный sibstuation, в отличии от сишных макросов.
нет же
хотя бы потому, что для данной задачи неправильно выбрана структура данных
кстати читал о Рекурсии , это же неоптимизированное ГОВНО
почему это неправильно?
которое жутко тормозит КОД
Ну и пусть упарывается, я не против.
почему вектор — не лучший способ представить матрицу?
Пруф?
ты тестировал? Нет? Иди нахуй
Это же игнотус!
Да ты, блять, пизданулся?
заебали, не ведетесь на толстоту. Вы заставляете делаться мне грустным....
между прочем, код вполне понятный, дедфуд иногда такое пишет
R
Хех, благодаря этому посту посралась с Забиватором.
Девочка молодец и вызывает у меня баттхерт, ибо мне до такого ооооочень далеко. По крайней мере, сомневаюсь, что программирование в ближайшие 10 лет станет мне интересно.
Но с другой стороны, девочка дура.
Я это проходила еще в школе — учителя бесились, не понимая моих решений, а я бесилась, что они не хотят ставить мне пятерки.
С точки зрения предмета — умная что пиздец. А с точки зрения жизни — тупая как бревно. Или нечего жаловаться, что оценка плохая, или пускай плюет на оценки и занимается своими делами (и тут возникает вопрос, а нафига вообще сдался вуз).
с точки зрения предмета — тоже тупая
вон, даже гуглом пользоватся не умеет
почему-то даже не возникает мысли, что нужно как минимум ставить преподов в известность, что они преподают по устаревшей программе.
Я вот парочке таких лекцию читал год назад в родном ВУЗе... а то программа двадцатилетней давности, и ею они ещё и студентов калечат.
и что же она нагуглить должна была?
Это учителя виноваты. Мои преподы по информатике никогда не понимали моих лаб, ни на плюсах, ни на х-ле, ни на чем. Поэтому я ходил на информатику два раза в семестр — получал задание в начале и сдавал его ближе к концу. Все. Проблемы говновузов — сугубо проблемы говновузов, и до тех пор, пока бы будем говорить себе «ну да ладно, надо уметь вертеться и жить среди говна», все будет херово, мы будем жить среди говна и некомпетентности, а Рашка будет катиться в сраное говно, и Глонасс будет плавать в океане.
Бля, эк меня пробило.
Прочитал очень быстро и все понятно, ЧЯДНТ? // код не читал
http://rghost.ru/29398321
И чо дальше?
Не знаю, мне только хуй на стол остается вывалить, но участники треда все равно не увидят.
а чего стоит твой хуй? Твоя работа нужна? За неё платят хорошие бабки? Ты делаешь мир лучше? Или что?
ты знаешь что такое увлечения ?
На самом деле она сознательно пошла на такого рода троллинг. Потому и матрицу в векторе хранит ("чтобы можно было вводить одной строчкой и максимальный повторяющийся элемент искать одной строчкой"). Про "обиженно" это мое литературное преувеличение, да )
Мой хуй ничего не стоит, а вот моя работа нужна и делает мир лучше, да. Бабки хероватые — я мог бы больше получать, работая фулл-тайм плюсосениором (или кем покруче), но для меня это щас не критерий.
вот тогда и не надо себя позиционировать как эксперта. Увлечение — увлекайся, а работу оставьте взрослым дядям.
чем конкретно она делает мир лучше?
А вот на хаскеле тривиально делается, что если умеешь выполнять подобную поиску операцию на 1-мерном контейнере, то и умеешь на N-мерном.
плюсы есть в production, а Haskell там нету
Fail.
Облегчает, оптимизирует и местами качественно улучшает поиск документов, каталогизацию и прочие хероты.
Впрочем, качественно улучшает только каталогизацию, и до результатов, которые можно предоставить «в кожухе», нам еще далеко.
А, ну а моя матан-работа пытается теоретически обосновать эволюционные алгоритмы, и вообще я копаю в эту сторону. Четко сказать, чем она делает мир лучше, трудно, как и с любыми фундаментальными работами.
sad, but true. Выскочки олимпиадники с эзотерикой не нужны. Нужны дешёвые кадры на известные деньги и известным уровнём. Haskell сосёт в этом плане. В общем, рынок это показывает.
> А сегодня я дал ей ссылку на сайт буста.
етц
то есть сама она не
понятно, результатов нигде нет, а самомнение уже есть.
из faq'а Страустура до этого добраться проблематично
хмм интересно, а откуда вообще об этом люди узнают? боги дают всем комплекты книжек, и кому дали больше — тому и повезло?
общаются с коллегами по цеху. Я вот с Alex Ott общался.
ну тогда да, пока ее в цех за руку не приведут — нет шансов что-то узнать
или пока она сама цеховиков не найдёт из социальных сетей.
да этот тред меня многому научил! что бы выучить цпп, надо вконтактике поболтать с крутым дядей. Теперь то я все узнаю, уии
и знания, и работу, и новости, и коллег — всё это я нашёл именно в блогах. Не было бы них — остался бы говном :)
А слабо позволить себе быть не средненьким джава/плюсохуйцом для средненького продакшена? Слабо развиваться и в те направления, которые прокачивают мозг, а не грубую силу? Слабо позволить себе наслаждаться программированием, как ты наслаждаешься разговором с математиком?
А что ты хочешь увидеть?
Я как-то сам о бусте узнал.
хм. без вконтактика?
лишь два момента:
1) язык хуйня, главное задачи
2) никто цепями в средний production не приковывает. Волен менять работу.
малейшее обоснование для самомнения. Кроме как "я изучаю крутые шутки".
Я тогда почитывал RSDN, вконтактика еще не было, а в жежешечке делал свои первые робкие шаги.
Меня зовут на работу, меня зовут в проекты, и меня хотят в бо́льшей куче мест, чем я могу позволить себе заниматься.
1. Язык не хуйня, вещи типа хаскеля учат думать, равно как после всяких плюсов понимаешь подкапотную.
2. Спасибо, что разрешил мне то, что я и так делаю.
у меня аналогично, и смею предположить на более известные неймы и большие бабки. И что? Это НЕ ПОКАЗАТЕЛЬ. Показать — уже сделанные проекты. Покажи свой сделанный проект
1) Думать над чем? Над ленивыми вычислениями? Лямбда-функциями? Детерменированной но не определённой стратегией редукции лямбда термов?
Возникает лишь один вопрос "нахуя".
2) Да, ну-ка ответь на #otthet/81
Я так и не въехал в NDA на прошлой работе, поэтому ХЗ, чо о ней могу рассказывать. На этой я с конца лета и занимаюсь вещами, связанными с Антиплагиатом.
Wait, а какое это вообще имеет отношение к тому, что ты хочешь потрясти яйцами в этом треде?
так ты КОПИРАСТ?
1. Над мышлением в функциональном стиле. Я не могу объяснить этого, просто знаю по себе, что по мере осиливания хаскеля я стал писать более хороший код, в том числе, и на плюсцах.
Нет. Какой, блять, копираст?
яйцами в этом треде трясёшь ты. Начиная с #otthet/5. А я просто спрашиваю "а кто ты такой, чтобы на Питон пиздеть".
антиплагиат же
постыдился бы, а
А, забыл, что с месяц назад присоединился к другому проекту, связанному с каталогизацией неебически здоровых массивов данных.
Пошел-ка ты в сад за определениями терминов.
Ты? Да.
почти библиотекарь!
R
Спердоб, ок. А ты кто такой, чтобы указывать мне, на что пиздеть, а что нет?
звучит внушительно. И что же за проект? SciDB? :)
а я сторонний наблюдатель со своими суждениями. И мои оценки опираются не на мою длину хуя, а на объективные факторы. Так что твой вопрос ко мне "а ты кто такой" — мимо кассы.
Если же вопрос всё равно остался — https://docs.google.com/document/pub?id=... — утрись.
ты такой клевый
не толсти бро
свои оценочные суждения стройте отдельно от моих ушей, пожалуйста. Я же просто интересовался что за человек орёт, что Питон — гавно, и убедился что пока это никто с самомнениме. А чего стоит мнение такого человека — известно :)
( я думал тут только для толстых чят
Нет.
Нет, все равно — кто ты такой, чтобы пиздеть?
Двойные стандарты, прямо как у плоскодевки. Мимими. Позязя, выдай еще критики меня, чтобы я поумилялся.
человек, профессионально работающий в индустрии, и вертевший Питоны, Плюсы, Хаскелли и прочее на хую в разных позах — как для нужд продакшина, так и помимо.
батхерт в тебе ощущаю я.
оправдание своему чсв ищешь ты.
.
нахуй нужны эти ваши реальные проекты? чтобы жизнь облегчить? чтобы еще больше быдла наплодилось? и так уже 7 миллиардов, нахуй так жить?
И чем таким ключевым обладает «продакшен»?
Чтобы отдельно взятый Забиватор мог почесать свое отдельно взятое ЧСВ, очевидно же.
Впрочем, все это хуйня, что его занятия, что мои. Никакого фундаментализма.
о, тред скатывается в философию, ок
а какой вообще критерий "полезности"? Production — это то, что людям нужно.
Production == востребованно
Не факт.
иных критериев у меня пока что нет.
Ну и нахер кому нужен?
Неудивительно.
у тебя их вообще нет :)
кто "нахер кому нужен? Если так подходить — вообще ничего не нужно, всё равно мы все умрём.
Естественно, я ведь уже давно перерос необходимость чесать свое ЧСВ за чужой счет.
Еще примерно две тысячи логических шажков, и ты поймешь, почему ты неправ в этом треде.
проекции такие проекции. Вякнул в псто, спросили ответа — начал юлить про чесание ЧСВ.
мистер гуру, вы таки проясните свою позицию и критерии полезности. А ещё мысли чётче формулируйте.
такой тезис: любой вопрос полезности действий редуцируется к смыслу существования.
это не конструктивно в разрезе вопроса "говно или нет плюсы", "гово или нет Хаскелль", "гавно или нет Питон".
Ну, если ты так видишь...
Не обязательно сожрать килограмм говна для того, чтобы утверждать, что говно неполезно.
Это я про питон, да.
Интересно, добрался ли ты самостоятельно до буста (или аналогичной штуки того языка, на котором ты пишешь) в начале второго года знакомства с ним?
Таки зачем? /118.
надо просто упорядочить их по очевидному критерию "количество ad-hoc хуеты в языке" и всё станет ясно.
а для меня это нихуя не критерий. Критерий — написанные и развиваемые программы.
столько баззвордов, я аж просрался. в жизни столько не видел.
схоронил, буду знакомых пугать американским стилем selling-out'а.
кому-то незнакомые баззворды, кому — критерий найма.
А конкретней? :)
Если незачем — то и не пиздите.
опять всё свёл к смыслу существования.
надо как-то мимо него рассуждать, а то хуита получается.
Данный критерий неформализуем. Думай ещё.
Пиздишь в этом треде про спердоб вообще-то ты.
а вот мимо него я как раз рассуждать не даю. Ибо другого работающего критерия пока не вижу.
Личкрафт вон написан и развиваем. Катит?
про что? Оставьте свой сленг, пожалуйста.
Это не сленг, а сокращение для «сперва добейся». Стыдно не знать, раз уж прибегаешь.
Охуеть просто, пиздец.
судим всех по себе? Любая дискуссия — это средство почесать ЧСВ? Иные варианты в голову даже не приходят. Показательно.
А никто не говорил, что будет легко.
Нет, не по себе. Пожалуйста, прекрати спорить штампами, которые катят лишь с дошколятами, и попробуй все же включить мозги и хотя бы чуууууууууточку логики.
не раньше, чем ты сформулируешь критерий полезности.
О, ну ты хотя бы не споришь, что ты до этого в данной дискуссии к мозгам и логике не прибегал, и то хорошо, очевидное не отрицаешь.
в MIT так вообще 30 лет "калечат" студентов 6.001.
правда недавно на гвидовысер перешли, оправдываются "кококо-нинужно" и GTD.
доёбываемся к словам? Всё с вами понятно.
Окей, позволю тебе посчитать, что я доебался к словам, поэтому дискуссию со мной продолжать бессмысленно, и все такое, можешь считать себя белым рыцарем в этом, кхм-кхм, споре.
"работающего" — это "позволяющего создавать полезные вещи", я правильно понимаю?
да у вас логика зациклилась.
А она у него вообще есть?
— Сформулируй критерий полезности.
— Нахуя?
— Чтобы не пиздеть тут.
— Так вообще-то ты про спердоб пиздишь.
— <нечленораздельное бульканье>
— Вруби, блять, логику.
— Не раньше, чем ты сформулируешь критерий полезности.
"работающего" — это потверждающего мои наблюдения и оценки полезности того или иного вида деятельности. Востребованно обществом == нужно. Production == востребованно обществои.
Реквестирую твое сваливание нахуй с «нужно == востребовано обществом». Именно потому, что обществом сегодня востребован вконтактик и дом-2, а не полеты, блять, на Луну, и решения проблем тысячелетия, и благодаря таким мудакам, им потакающим, мы в такой заднице.
- Питон гавно
- Обоснуй
- У меня член 30 сантиметров (ссылка на плагины личкрафта)
- Не аргумент.
- А что аргумент?
- Написанные и работающие программы в production
- Это хуйня, но другого я ничего не скажу, лучше подоёбываюсь к личности собеседниками
Гм, ты запизделся. Третьего не было.
Ооо, вот и вылезла сущность. А если на общество не оглядываться — никому ты нахуй не нужен. Как и полёты на луну.
с дедфудом спорить — что со стенкой разговаривать. Иди учи свой матан, на миску доширака заработаешь глядишь.
Если бы Галуа на общество оглядывался, были бы мы сейчас и без тырнета, и без компакт-дисков, и без туевой хучи других вещей.
Востребованность обществом не может быть критерием полезности самим по себе, без ограничения целевой аудитории.
Иначе матан не нужен вообще, джаз не нужен, чистые источники энергии не нужны.
О, нененнее, вот-вот поперло. Если у тебя не хватает мозгов, чтобы наукой зарабатывать достаточно — не бугуртуй так, позязя.
во времена НТР не было как и потребновсти в нём. А сейачс НТР есть и активно всеми инвестируется. Было бы в кого инвестировать.
во времена Галуа не было как НТР, так и потребновсти в нём. А сейачс НТР есть и активно всеми инвестируется. Было бы в кого инвестировать.
воооот. ППКС.
Нихуя не распарсил, переформулируй, блять, нормально.
не вижу смысла метать бисер.
Малаца, хороший ход. Ну я там писал чуть раньше.
>никому ты нахуй не нужен
i'm ok with this.
а ты — нет. ещё не понял, что как ни крути ты нахуй никому не нужен, и без тебя тесно?
результаты твоей жизнедеятельности может ещё кому и нужны, но не ты. ну может за исключением ближайшей родни, но это не стоит рассматривать.
не, немного не так
- питон говно
- обоснуй
- у меня член 30 сантиметров
- а у меня — 35
- бля. ну тогда да, питон — не говно
Дык пожалуйста. Только нефиг ныть, что оценки маловаты.
кто-то ноет?
уже выяснили, что не ноет. Это было... как там... "литературное преувеличение". Извините, обозналась.
(Только бугурта прибавилось, да с Забиватором посралась.)
ты штоле и есть та девочка?
Наоборот. Я дура, которая ничего не умеет и не знает.
У меня не маловаты, ЧЯДНТ?
меня вообще отчислили, за двойку по программированию в том числе
ПИЧАЛЬ
30см?
38π+e^{72i}
Круто, узнал сразу несколько новых паттернов применения STL :3
где тут паттерны?
> generate(matrix.begin(), matrix.end(), []() { return *istream_iterator<int>;(cin); });
Ну вот про подобную херню я не знал, например.
Передам ей, пусть погордится
да, девочка определённо молодец. Концепты языка С++ явно усвоила.
Пост ниасилил потому что слишком много непонятных букв, но интуиция подсказывает, что на Пайтоне задача решается в одну строчку :-D
это из нового стандарта. Анонимные замыкания.
хороший тред, познавательный.
Как раз про лямбды я знаю, про istream_iterator был не в курсе
istream_iterator — это ещё из старого стандарта, если чо. Они изначально были.
Я и не пробую отрицать. Как раз обновление я читал подробно, а старый стандарт подтягивал настолько, насколько это было нужно.
Чья бы корова, так сказать, мычала...
ммм?
А, ну вот, уже мычит :)
ммм? :)
Отлично, отлично, тащемта! :)
ты бы блин объяснил бы, а
Как щас помню — Хаскель сначала хорошенько провертел тебя :) Многие до сих пор помнят :)
Што. Телл ми моар.
и чо? :) Суть моих возражений осталась в силе и верна. Я сам качество своё поменял
Да я ж не спорю ни с чем, просто веселюсь :)
Так ты разве не в курсе срача у него в жжшечке тыщи на полторы комментов? Народ от пуза нажрался..
Нет, я где-то с первого курса не очень хожу в жежешечку. А чо там было?
Хаскелль-срач 2009. Вывод типов в PHP. "Я не знаю, стоит ли ещё пытаться получить аргументацию, или можно, наконец, перейти к оскорблениям" (c) @dmz
Что ж тебе все объяснять обязательно надо? :) Я это все к тому, что даже со всем опытом и обоснованными аргументами самомнение и у тебя не самое хилое, причем исторически.
Ну да, ну да, оно. По моему отлично вышло. Половину на цытаты.
Блядь, мне кто-нибудь срезюмирует, что там было?
Совсем кратко — у Забиватора там был бугурт. Мощный. Отголоски до сих пор слышны, местами и временами. Но иногда он пытается это скрыть :)
Хм. Вписывается. Впрочем, кто я? Что я понимаю в бугуртах? Какие свои бугурты могу продемонстрировать? Не спец я по бугуртам, короче.
а насчёт чего, можно вкратце?
http://zamotivator.livejournal.com/36417... — тут фсе есть :)