- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
#include <iostream>
#include <string>
#include <utility>
#include <tuple>
#include <array>
#include <vector>
#include <algorithm>
#include <iterator>
int main() {
const std::array< const std::pair<const int, const std::string>, 3 > a {{{1,"2"}, {3,"4"}, {5,"6"}}};
std::vector<std::string> r;
std::transform(std::begin(a), std::end(a), std::back_inserter(r), static_cast<std::string const& (*)(const std::tuple<const int, const std::string>&)>(std::get<1, const int, const std::string>));
std::copy(std::begin(r), std::end(r), std::ostream_iterator<const std::string>(std::cout, " "));
return 0;
}
У нас новичку на собеседовании предложили продемонстрировать работу (без конкретики) с кортежами и итераторами.
Что вы можете сказать про его умения, характер и состояние психики? А вы бы этого взяли на работу?
http://liveworkspace.org/code/2DW59a$0
LispGovno 03.04.2013 11:43 # +1
bormand 03.04.2013 12:40 # +5
Не совсем удачный вопрос, имхо. Не лучше ли задать что-то более конкретное, и посмотреть как он это реализует?
LispGovno 03.04.2013 13:13 # +2
Xtasy 03.04.2013 15:33 # 0
По итогу написанного (написал геттер/конструктор синглтона) задали ровно один вопрос "Табы или пробелы?".
До сих пор задумываюсь, зачем это было?
roman-kashitsyn 03.04.2013 15:38 # +4
Xtasy 03.04.2013 16:09 # 0
Ответил: "табы".
Сказали: "ок", и больше этот листочик в руки не брался.
defecate-plusplus 03.04.2013 16:10 # +4
Xtasy 03.04.2013 17:06 # 0
3.14159265 03.04.2013 17:19 # +7
Xtasy 03.04.2013 17:39 # 0
krypt 03.04.2013 20:04 # 0
defecate-plusplus 03.04.2013 21:23 # +1
bormand 03.04.2013 16:10 # +1
Ccik 03.04.2013 16:38 # 0
bormand 03.04.2013 16:39 # +5
Bart 03.04.2013 23:12 # 0
int main() {return 0;}
3.14159265 03.04.2013 14:35 # +13
Да что тут говорить?
Еще одна крестоблядь.
LispGovno 03.04.2013 22:28 # +3
scriptin 03.04.2013 18:31 # 0
Ничего, потому что непоказательно.
>А вы бы этого взяли на работу?
Если он всегда пишет такой write-only код, то нет. Но опять же непоказательно.
LispGovno 03.04.2013 22:26 # −2
scriptin 04.04.2013 18:23 # 0
LispGovno 04.04.2013 19:18 # 0
scriptin 04.04.2013 19:42 # +2
absolut 05.04.2013 07:07 # +1
LispGovno 05.04.2013 09:25 # +3
absolut 05.04.2013 10:29 # +2
LispGovno 05.04.2013 11:08 # +1
absolut 05.04.2013 12:04 # +4
crastinus 10.04.2013 09:13 # +1
LispGovno 10.04.2013 09:52 # +1
scriptin 06.04.2013 01:26 # +1
absolut 06.04.2013 11:15 # 0
anonimb84a2f6fd141 08.04.2013 01:07 # −5
Хуй там.
Dummy00001 03.04.2013 22:29 # 0
Если он пытался подавить смех когда демонстрировал - то да. :)
Я бы вопросы получше выбирал. Для меня важно что человек способен от начала до конца, через все фазы разработки, задачу самостоятельно сделать. И очень важно способен ли он решение эффективно адаптировать к новым требованиям - и в результате адаптации из оригинала не получается говно. С чистого листа ваять многие умеют - с подстраиванием под новые требования всегда сложнее.
Чего я до сих пор не знаю как определять, это умеет ли человек работать под давлением и выставлять приоритеты. Эти две взаимосвязаные вещи тоже очень часто бывают нужны.
blackhearted 08.04.2013 18:59 # 0
Чистоган тяжело идёт :(
vistefan 03.04.2013 23:15 # 0
Слушай, а сколько сейчас времени, не знаешь? Так, примерно можешь почувствовать?
Yuuri 03.04.2013 23:56 # +1
LispGovno 04.04.2013 00:40 # 0
Yuuri 04.04.2013 11:54 # 0
absolut 05.04.2013 07:10 # +2
auto p = new auto(42);
LispGovno 05.04.2013 09:24 # +1
Хрена....
defecate-plusplus 05.04.2013 09:29 # +3
absolut 05.04.2013 10:31 # +2
LispGovno 07.04.2013 11:27 # +1
TypeName Demangler из снипетов lws
absolut 07.04.2013 20:07 # 0
LispGovno 04.04.2013 00:48 # +1
кто-то побаловался и немного почистил код
а вообще в крестах не хватает car\cdr (Lisp), fst\snd (Haskell) или std::select1st\std::select2nd (STLPort)
а вообще этот стасик_каст и указание всех шаблонов (get<...>) вручную для выбора правильной сигнатуры убивает всю красоту кода.
defecate-plusplus 04.04.2013 08:31 # 0
вот если бы еще можно было auto засунуть в лямбду, вместо ущербного decltype... смотрится проще, чем выбор правильной перегрузки std::get
LispGovno 04.04.2013 10:11 # +1
C++14
Даже рекурсивный вывод обещали (и без {} ):
auto fac=[](auto i) i*fac(i-1)
TarasB 04.04.2013 10:21 # +1
defecate-plusplus 04.04.2013 10:26 # 0
чревато
TarasB 04.04.2013 10:28 # +1
wvxvw 05.04.2013 11:01 # +1
Yuuri 04.04.2013 11:55 # 0
defecate-plusplus 04.04.2013 11:57 # +1
потыкай в него веточкой, а то он только притворяется загруженным и уставшим
roman-kashitsyn 04.04.2013 12:42 # +2
defecate-plusplus 04.04.2013 12:50 # +1
абсолютизм в итоге рулит
roman-kashitsyn 04.04.2013 12:52 # +1
defecate-plusplus 04.04.2013 13:00 # +3
roman-kashitsyn 04.04.2013 13:03 # +2
Нужно время, чтобы приучить людей работать с умом, не оправдываясь нехваткой времени.
neeedle 04.04.2013 15:37 # 0
roman-kashitsyn 04.04.2013 15:41 # 0
neeedle 04.04.2013 15:55 # 0
В общем не важно.
eth0 04.04.2013 17:55 # +2
(Вот потому я за здоровую паранойю).
roman-kashitsyn 04.04.2013 21:19 # +1
vistefan 04.04.2013 23:16 # +4
neeedle 04.04.2013 06:42 # +1
Накодил неструктурированный код и сдал его.
Ну что с него взять? Правильно, ничего.
LispGovno 04.04.2013 10:12 # 0
bormand 04.04.2013 10:59 # 0
LispGovno 06.04.2013 12:05 # −4
3.14159265 06.04.2013 17:48 # +1
Ну с поддержкой С++11 и всего такого.
ВизуалСтудию и другую монструозную проприетарщину не предлагать.
LispGovno 06.04.2013 18:03 # 0
2 oe: IDEA
defecate-plusplus 06.04.2013 18:16 # +1
3.14159265 06.04.2013 19:20 # 0
А что используете вы?
roman-kashitsyn 06.04.2013 19:28 # +2
3.14159265 06.04.2013 19:43 # 0
Удивило другое: почему крестоблядям не использовать истинно крестоблядские среды Qt, CodeLite, KDevelop, Code::Block?
roman-kashitsyn 06.04.2013 20:17 # +2
Я юзаю православный Emacs, мне пока больше ничего не надо.
3.14159265 06.04.2013 20:30 # 0
Не-не-не. Так нечестно. Тут всё должны предлагать гипернавороченные иде, а потом пришёл бы @wvxvw и сказал бы эту фразу, с таким видом будто все пидарасы.
Но вопрос в другом - какие иде поддерживают больше всякого пиздеца из нового стандарта.
Тут-то emacs, я уверен, аутсайдер. Вообще парсинг нынешнего С++11 - нетривиальнейшая задача.
roman-kashitsyn 06.04.2013 20:35 # +1
LispGovno 06.04.2013 20:43 # 0
anonimb84a2f6fd141 07.04.2013 00:25 # −6
defecate-plusplus 07.04.2013 11:22 # +3
тратить гиг оперативы и смотреть на тормоза одного_из_редакторов_почти_запиливших_в_ себя_анализатор_шланга - не для слабонервных
roman-kashitsyn 07.04.2013 11:29 # +1
defecate-plusplus 07.04.2013 11:37 # +2
defecate-plusplus 07.04.2013 11:53 # +3
разве это не должно быть преимуществом джавы перед заведомо монструозными крестами - упрощенный синтаксис, отсутствие инстанциирования тысяч темплейтов, нет операторов и прочих путанных adl, нет тех же инклюдов - почему анализ джавы потребляет так много?
студия с решением на пару М кода с ассистом, держащим в голове это все + почти весь буст жрет 150-200М
roman-kashitsyn 07.04.2013 12:50 # 0
defecate-plusplus 07.04.2013 13:04 # +2
если считать джавопрограммой jvm и кучу библиотек для как ты правильно выразился перекладывания xml в бд, то тогда засчитай за среднюю сишкопрограмму еще рантайм, ядро и оконную среду
отличие крестопроекта в том, что он из сорцов цепляет все эти мегастроки кода, а не шуршит по индексируемым бинарным пакетам, и потому потребление памяти и мощностей на обслуживание такого крестопроекта должно быть выше, что никак не согласуется с поведением лучшей среды для джавы (тм)
ну и то, что ты показал - это нечто уровня project, теперь домножь на 20, чтобы получить solution, о котором я говорю
roman-kashitsyn 07.04.2013 13:19 # +2
Твои претензии вполне понятны, не совсем понятны выводы. Идея говно? Возможно. Но опыт жабка+идея vs. сишарпик+вижуалстудия безоговорочно в пользу первого.
Я, как ты понимаешь, вполне терпимо отношусь к инструментам, которые люди используют при разработке. Каждый должен работать с тем, с чем он может быть продуктивен. Тебе удобно со студией - отлично. Я не против.
defecate-plusplus 07.04.2013 23:54 # +1
на дворе 2013 год, а нет идеальной бесплатной полнофункциональной иде
где моё дешево, быстро и качественно?
roman-kashitsyn 08.04.2013 00:35 # +3
defecate-plusplus 08.04.2013 00:58 # 0
ну и компиляция обогревает помещение в основном из-за шаблонов - инфа 100%
доконкатенировать файлы, и так лежащие в быстрой памяти (кеш диска + кеш компилятора (в нем файл может быть уже разобран даже)) не очень много времени занимает
roman-kashitsyn 08.04.2013 09:21 # 0
Интересно, для плюсцов возможна такая batch компиляция?..
defecate-plusplus 08.04.2013 09:29 # 0
компиляцией всего из какой-нибудь папки должна заниматься система сборки
параллелизацией этого процесса - она же (-j, /MP)
roman-kashitsyn 08.04.2013 09:44 # +1
defecate-plusplus 08.04.2013 10:19 # +1
скормить крестокомпилятору список файлов - не видел такого использования
вендорам проще оставить вопросы оптимизации параллельной работы N одинаковых исполняемых файлов операционной системе (там уже пусть горбатится и префетч, и не дублирование страниц параллельных процессов)
при скармливании devenv/msbuild файла проекта (в котором содержится список) скорее всего никак не отличается от вызова компилятора пофайлово
ну а так - в вопросах ускорения крестокомпиляции еще непаханное поле для оптимизации, основной ингибитор - инстанциирование шаблонов, и это ускорить можно только предварительным разбором и переводом шаблонов в специальный индексированный ast-вид (я так понимаю, в прекомпилированном заголовке происходит именно это), так что эволюция зоопарка компиляторов даёт хоть небольшую, но возможность пользователю вручную озаботиться прекомпилированным заголовком (выбешивает, кстати, что в вижуал студии невозможно настроить цепочку прекомпилированных заголовков, это было бы удобно, а так приходится кроссплатформенные вещи ограничивать)
насчет удобного получения результатов компиляции - сильно зависит от конкретного компилятора, в общем случае стоит надеяться только на ручной парсинг stdout/stderr от компилятора - unix way, чо, в частном - чем компилятор современней, тем богаче его возможности - тот же clang в виде положительного примера и старое барахло cl в виде отрицательного
gcc недалеко ушел от cl, но судя по гуглу в нем есть хотя бы какой-нибудь gcc-xml (но не юзал, не знаю насколько удобно)
wvxvw 08.04.2013 18:33 # 0
ЗЫ. В Федоре недавно ее стали по умолчанию устанавливать, если попросить установить gcc / build tools.
defecate-plusplus 08.04.2013 19:10 # +1
судя по их описанию, они кешируют .o файлы, либо -E результат препроцессинга
про .o - накой это надо, когда нормальная система сборки (да тот же gnu make) не будет пересобирать .o файл, если все, от чего он зависит, старше имеющегося результата
разве что ускорить clean+build+clean+build+... - типа ничего не меняем, но постоянно чистим - молотим для красивой таблички
типичная ситуация, при которой билдится лавинным эффектом - изменили хедер, даже тупо пробел, и везде где он включен - собирается вперед и с песней
ну, тут -E может помочь
а может и не помочь - например, добавили один метод в класс, которым должен воспользоваться один объектник из десятка - но все 10 будут пересобираться
так что как обычно всё неидеально и напрямую следует из природы с++
среда in-time может отслеживать радикальность изменений и сообщать об этом компилятору, но это уже совсем хардкор
3.14159265 08.04.2013 16:53 # 0
Многих vi/emacs устраивает. Вообще людям всегда чего-то не хватает.
Вот на дворе 2013 год, а нет удобного полнофункционального говнокода без сумасшедших школьников c единственно, абсолютно верным мнением и раскалённой серебрянной пулей в жопе.
wvxvw 07.04.2013 16:46 # 0
roman-kashitsyn 07.04.2013 20:00 # 0
wvxvw 07.04.2013 20:43 # 0
roman-kashitsyn 07.04.2013 21:23 # 0
wvxvw 07.04.2013 22:57 # 0
Это как мне недавно попалось описание языка, который изобрели Самсунг для встраиваемых систем (телевизоров), не дословно, но как-то так: "Мы взяли все самое лучшее из наших любмых языков: Сишарпа, Луа и Яваскрипта и создали наш новый язык!" - ну там как бы вообще полный пиздец. На Скале хоть со скрипом писать можно, и в принципе можно понять людей, которые бы ее выбрали вместо Явы. Но если выбирать Камл / Скала... то тут даже вопроса не должно возникнуть...
roman-kashitsyn 07.04.2013 23:31 # 0
wvxvw 08.04.2013 08:03 # 0
В мире есть великое множество систем билдов хороших и разных. Нафиг они изобрели еще одну работающую хуже чем всео остальные?
wvxvw 07.04.2013 23:14 # 0
scriptin 07.04.2013 23:16 # +1
typical
LispGovno 06.04.2013 20:41 # 0
> CodeLite, KDevelop, Code::Block
Фу фу фу. Мне иногда кажется, что создатели этих иде хотели украсть идею у Microsoft Notepad.
bormand 07.04.2013 10:55 # +1
LispGovno 07.04.2013 11:24 # 0