Ну не то, чтобы за еду, но и миллионов не делаю. Просто любая, даже самая интересная работа, спускаемая сверху, со временем убивает творческое начало и приносит только разочарование и усталость. Даже начинаю опасаться возможности получить контрактную лисповую работу...
Сейчас я сам себе демиург, что хочу, то и (не) делаю. Есть стабильная, сравнимо престижная работа в сравнимо престижной конторе, полностью не выжимает и оставляет время на кое-какое хобби. Финансовые ожидания, правда, пока толкают вперёд, но, думаю, ощущение рутины неизбежно появляется на любой работе. Поэтому и надо её раз в 3-5 лет менять :)
у меня тоже так - повезло, я и на работу не хожу, и задачи сам себе придумываю, но ведь не у всех так - вот у меня в «распоряжении» пару человек, я им не доверю писать, что попало :)
начальник - кто же еще :) вначале он давал задания, а потом понял, что я сам прекрасно вижу, что надо делать - и просто посматривает время от времени на результаты, хотя конечно, время от времени подкидывает задачки - но не часто
Ну ап том и речь. В примере по ссылке ежели объявить std::vector<Foo*> v все будет кошерно. Только проблема что в плюсах new медленный. Конечно, его можно переопредилить для Foo сделав побыстрее.
коментарий был в ответ на то, что в яве проще набыдлокодить. Да набыдлокодить можно, но на более высоком уровне, а в сях можно и на низком и на высоком :).
> миллион выделений и удалений по 1000 байт за три секунды - не так уж и плохо
Это только выделение/удаление, то есть просто оверхед на new/delete. В шарпе время исполнения кода зависит от длины массива, ибо он нулями его заполняет.
Если в цикле сделать выделение int[] p = new int[10]; и сохранить референс на память в список, то миллион выделений займет 0.1 секунды, что есть профит в 30 раз.
(gdb) info line main
Line 3 of "1.c" starts at address 0x40068c <main> and ends at 0x400694 <main+8>.
(gdb) disas 0x40068c 0x400694
Dump of assembler code from 0x40068c to 0x400694:
0x000000000040068c <main+0>: push %rbp
0x000000000040068d <main+1>: mov %rsp,%rbp
0x0000000000400690 <main+4>: sub $0x10,%rsp
End of assembler dump.
Две с лишним секунды... А вы чего тут меряете? Время запуска JVM?
А тема мудацкая, как и сам посыл. Для своих задач C# - отличный язык. А если не раскрывает полностью потенциал своей платформы, то всегда можно взять идеологически более правильный F# ;) Вот, лицензия и зависимость от винды портят несколько дело, но это уже другой вопрос.
>Для своих задач C# - отличный язык. А если не раскрывает полностью потенциал своей платформы, то всегда можно взять идеологически более правильный F# ;)
Для своих задач С++ - отличный язык.А если не раскрывает полностью свой потенциал, то всегда можно взять идеологически неправильные C#, Java, etc.