Здравствуйте, Курилка, Вы писали:
К>Здравствуйте, Дмитрий В, Вы писали:
ДВ>>Вообще обычно принято из людей конвеер делать, каждый специализируется на своей области, в результате повышается производительность. Например когда в производство булавок внедрили конвеер — разделили деятельность людей в рамках процесса — производительность выросла в 6 раз.
К>Э. Фромм в одной из своих книг приводил ссылку на исследование, когда на конвеере (вроде машины там собирали) обязанности рабочих несколько укрупнили, чтоб в результате работы каждого был какой-то осязаемы результат — в результате произоводительность увеличилась на 10-20%.
Факт. На себе проверено
Re[9]: Это как вообще рельно знать одному человеку?
Здравствуйте, CreatorCray, Вы писали:
C>> Ага. Графики. Нужной, полезной инженерной и научной графики CC>Нет. ЛЮБОЙ графики. А еще точнее — именно той графики, которая нужна пользователю.
Пользователь — он разный бывает. Есть полезный пользователь, который работает, обществу пользу приносит, разработчику CAD-а готов тыщ 30-40 долларов в год за лицензию платить. А есть бесполезный польлзователь 15 лет от роду, готовый раскрутить своих родителей на 50 долларов за диск с с игрушкой. Родителей жалко, бесполезного пользователя — не очень.
CC>Еще во времена когда SGI выпускала свои Indigo station уже тогда GL использовался для отрисовки не только скучной иженерки, но и более веселой симуляции волос и проч. околоразвлекательных технологий.
Ну о чем с вами говорить, если для вас инженерная и научная графика скучна? Вам надо не сюда, а на форум Диснея, или к анимешникам.
CC>Да и глядя на то, какие бабки крутятся на рынке "идиотических свистелок-перделок"
Маленькие там бабки крутятся. Да и перераспределяются они совсем не так, как это интересно разработчику. Разработчик получает минимум от дохода, а львиная доля идет к издателю. Совсем другое дело в CAD-ах — разработчик получает 100%, да еще и традиционно не коробочный продут продают один раз, а продают годовую лицензию, которую еще и продлять надо.
CC> трудно сказать что GL сейчас предназначен для "нужной, полезной инженерной и научной графики". Его назначение теперь сменилось, точно так же как сменилось назначение компов — из игрушки бородатых дядек из различного рода НИИ комп стал инструментом работы и развлечения для миллионов людей.
Лично мне совершенно неинтересны развлечения миллионов людей. Я делаю полезное и нужное дело, для полезных и нужных людей. Хотя, конечно, я тут флейма ради душой покривил, в геймдеве я поработать успел, движки на OpenGL и DirectX писал. И, поверьте, это было гораздо проще, чем инженерная графика. Реалистичную водичку или там деревце сделать легко, а вот отличить два только лишь касающихся друг друга предмета от пересекающихся — гораздо сложнее. В игре незначительная ошибка по фигу, в CAD — недопустима.
C>> А не идиотических свистелок-перделок в стиле "пиф-паф, ой-ой-ой". CC>Хм, да у вас похоже странное отношение к играм. Я б даже сказал злоба.
Да нет никакой злобы. Просто непонимание. Геймдевщики считают себя элитой, делая заведомо бесполезное для цивилизации и прогресса дело. Обидно!
C>> На любой другой столь же фундаментальный и основополагающий вопрос из computer science я конечно же отвечу. CC>Смотря что подразумевать под computer science.
То, что понимают в ведущих университетах мира.
CC>Вопрос касательно матрицы смежности графа относится ИМХО скорее к математике, а точнее к теории графов из дискретной математики.
Дискретная математика — оно и есть основа computer science.
CC> По крайней мере во времена моего студенчества это преподавалось именно как раздел математики без какой либо привязки к компьютерам (~98 год)
Без теории графов нельзя рассуждать о свойствах структур данных. Без теории графов очень сложно рассуждать о сложности алгоритмов. А без всего этого никакого программирования быть не может. Я считаю, что теория графов для программирования не менее важна, чем логика. И уж всяко важнее комбинаторики и вычислительной математики.
Re[9]: Это как вообще рельно знать одному человеку?
Здравствуйте, FDSC, Вы писали:
C>> На любой другой столь же фундаментальный и основополагающий вопрос из computer science я конечно же отвечу. Каждый программист обязан знать математические основы computer science, иначе он не программист. Разве не так? Я не подозревал, что с этим тривиальнейшим утверждением кто-то может не согласиться.
FDS>Ну ка, ответьте мне на такой элементарный вопрос: чем отличается метод прогонки с ортогонализацией в промежуточных точках от метода дискретной прогонки (это же элементарно — основы вычислительной математики )
Вычислительная математика, в отличии от логики, теории множеств, теории графов и даже комбинаторики к Computer Science никакого отношения не имеет. Совсем.
FDS>Ну, хорошо, матрица смежности графа — это проще чем то, что я спросил. Ну ответьте на вопрос откуда берутся коэффициенты в методах Рунге-Кутты
Из значений правой части уравнения в текущей точке сетки, в точке плюс интервал пополам (+ некий коэффициент наклона на интервал пополам), в следующей точке, и т.п. Ты об этом, или о вычислении коэффициентов наклона?
И это все не имеет ни малейшего отношения к Computer Science.
FDS>Почему-то очень многие начинают говорить про дискретную математику, забывая, что математика бывает разной и кое-где дискретка совсем-совсем не нужна
Дискретная математика нужна всегда и везде. Без нее нельзя говорить вообще об алгоритмах и структурах данных — то есть, ни о чем из того, что есть программирование. А вот без вычислительной математики во многих областях обойтись нельзя. В моей области она нужна (и то, в очень ограниченном виде, в финансах ее гораздо больше и она там гораздо страшнее), а в 99% других практических задач — не нужна совсем и ни в каком виде. Тогда как нет НИ ЕДИНОЙ задачи, где не нужна была бы дискретка.
Re[9]: Это как вообще рельно знать одному человеку?
Здравствуйте, superman, Вы писали:
C>> На любой другой столь же фундаментальный и основополагающий вопрос из computer science я конечно же отвечу. Каждый программист обязан знать математические основы computer science, иначе он не программист. Разве не так? Я не подозревал, что с этим тривиальнейшим утверждением кто-то может не согласиться.
S>ок.. что такое "рекурсивный алгоритм"?
В общем виде это функция f = (Y f'), где f' — функция одного или более аргументов, первый аргумент которой — функция, а Y — комбинатор фиксированной точки.
Re[7]: Это как вообще рельно знать одному человеку?
Здравствуйте, CreatorCray, Вы писали:
CC>Профессионал не обязан быть универсальным. Нельзя стать специалистом во всем — жизни не хватит.
Вы слишком высокого мнения об IT. В этой примитивной отрасли нет ничего такого, на что бы "жизни не хватило".
CC>Мне больше нравится такое определение: CC>"Профессионал -- не тот, кто в совершенстве владеет техникой ремесла, а тот, кто, получив задание, всегда выдает конечный результат, невзирая ни на какие привходящие моменты..." (С) К. Еськов.
С таким определением согласен, но мне кажется, требование универсальности из него вытекает автоматически. Иначе какой же будет конечный результат, если "профессионал" начнет скулить, что мол "я всю жизнь с OpenGL писал, как же я будут DirectX использовать?". Профессионалу хватит одного дня, чтобы после OpenGL понять Direct3D.
Re[4]: Это как вообще рельно знать одному человеку?
Здравствуйте, Miroff, Вы писали:
L>>Или им достаточно сказать "матрица смежности графа" и все само запрограммируется? M>Будешь смеяться, но очень часто именно так и есть: достаточно свести задачу к известному классу для которого уже давно известно достаточно хорошее решение, реализованное десятки раз.
Или же еще веселее — задача имеет тривиальное математическое решение, которое грамотный человек найдет с закрытыми глазами и потом легко запрограммирует, но без математики плохой программист неизбежно начнет писать брутфорс-вариант, который хорошо если не потребует для завершения времени, сравнимого со временем жизни Вселенной. И будет искренне не понимать, что же он делает не так — вот задача, вот решение, один в один условие в код переписал, а почему-то ни хрена не получается. Такие вот личности по три раза на день переизобретают сортировку пузырьком, например. Такие личности проектируют ненормализованные базы данных и потом прикладывают героические бесполезные усилия по оптимизации запросов. Но, что хорошо и что радует, таким личностям и платят мало, и заменить одну личность на другую можно легко и задешево.
Re[10]: Это как вообще рельно знать одному человеку?
Здравствуйте, Cephalopod, Вы писали:
C> Без теории графов нельзя рассуждать о свойствах структур данных. Без теории графов очень сложно рассуждать о сложности алгоритмов. А без всего этого никакого программирования быть не может. Я считаю, что теория графов для программирования не менее важна, чем логика. И уж всяко важнее комбинаторики и вычислительной математики.
Вот и всё, нет больше никакого программирования, вопрос закрыт навсегда.
IMHO. смайлики добавить по вкусу.
Re[11]: Это как вообще рельно знать одному человеку?
Здравствуйте, S-SH, Вы писали:
C>> Без теории графов нельзя рассуждать о свойствах структур данных. Без теории графов очень сложно рассуждать о сложности алгоритмов. А без всего этого никакого программирования быть не может. Я считаю, что теория графов для программирования не менее важна, чем логика. И уж всяко важнее комбинаторики и вычислительной математики.
SS>Вот и всё, нет больше никакого программирования, вопрос закрыт навсегда.
Ироничный мсье знает, где можно посмотреть на программирование без алгоритмов и структур данных? Срочно, срочно URL в студию, вас премия имени Тьюринга заждалась!
Не думаю, что это именно необходимые "скиллсы" для одного претендента...
Это просто набор, который для них важен.
Посколько обычно проекты делаются командами,
а не гениями одиночками, то вполне достаточно,
что команда в целом покрывает этот список.
Вывод:
Если тебе позиция приглянулась и ты подходишь по 1-му 2-м пунктам,
то можешь смело им слать резюме.
А если ты реально работал в этой предметной области, то можешь посылать резюме
даже если если ты вообще ничего из этого списка не знаешь.
Нормальный работодатель все поймет правильно.
Re[2]: Это как вообще рельно знать одному человеку?
Здравствуйте, bkat, Вы писали:
B>Не думаю, что это именно необходимые "скиллсы" для одного претендента... B>Это просто набор, который для них важен. B>Посколько обычно проекты делаются командами, B>а не гениями одиночками, то вполне достаточно, B>что команда в целом покрывает этот список.
На "гения" список не тянет, как раз на нормального, среднего профи. И в командной работе другие участники команды все же обязаны понимать, что ты делаешь, и тебе надо понимать их работу. Иначе это не команда, а стадо. У каждого должны быть особо сильные стороны, но большинство скиллов в команде должно быть взаимозаменяемыми, иначе эффективность резко падает.
Re[3]: Это как вообще рельно знать одному человеку?
Да это все понятно про взаимозаменяймость и прочее...
С этим я даже спорить не буду, потому что согласен
Но все равно уверен, что нет смысла искать 100% подходящих
кандидатов, которые знают все, что используется в фирме.
Основные проблемы на проектах все равно не связаны с набором рубанков (технологий).
Куда больше времени уходит на понимание того, что и зачем этими рубанками
уже настрогали и как оно вообще работает.
В общем для меня было бы достаточно,
если человек знает что-то из skillset'а, чтобы ему можно было бы
поручить часть системы. Все остальное придет со временем,
если человек не дурак. Ну а дураков с любым skillset'ом брать не стоит
Ну а в некоторых случаях человека стоит брать даже
если он вообще ничего из нужного skillset'а не знает.
Речь идет о сложных предметных областях,
где опыт в предметной области гораздо ценнее набора технологий.
Re[12]: Это как вообще рельно знать одному человеку?
Здравствуйте, Cephalopod, Вы писали:
C> Ироничный мсье знает, где можно посмотреть на программирование без алгоритмов и структур данных? Срочно, срочно URL в студию, вас премия имени Тьюринга заждалась!
Ироничный мсье не может показать то, чего быть никак не может.
Здравствуйте, Amon-RA, Вы писали:
AR>Нашла тут меня по моим проектам одна английская фирма — предлагает работу. Вот необходимые скилзы: AR>
AR>C# /.NET
AR>Visual C++ / C++ CLI
AR>COM
AR>.NET plug-ins (dynamic loading, interfaces, reflection, Interoperability)
AR>Database programming (SQL, Stored procedures)
AR>Database administration (Oracle, MSSQL, Mysql) – optional
AR>Networking / Distributed computing experience
AR>Direct X / Open GL
AR>ORM
AR>MVC
AR>Scripting language experience ( one from Perl,Lisp,Python,SmallTalk)
AR>Demonstrable experience of commercial UI design
AR>Я вообще-то думал, что я неплохой программист — но я реально не подхожу по многим пунктам. А интересно, вообще ест ьпрограммисты, которые все это знают?
Еще как реально. Грубо говоря, стоит сделать 1 медиаплеер под .net и 1 интернет-магазин — получишь искомые скиллзы на 80%. Разве что вот эти вот ORM и MVC — не знаю что это такое
Re[3]: Это как вообще рельно знать одному человеку?
Здравствуйте, landerhigh, Вы писали:
AR>>> А интересно, вообще ест ьпрограммисты, которые все это знают? C>> Конечно. Полно. L>А программировать они умеют вообще? Или им достаточно сказать "матрица смежности графа" и все само запрограммируется? L>
Умеем. Нынешнее прикладное проиграммирование состоит из ознакомления с API (которые строятся по 3-5 принципам, не больше) и его грамотным примением. Фсе, точка.
Re[6]: Это как вообще рельно знать одному человеку?
Здравствуйте, Cephalopod, Вы писали:
C> А цирюльники, вызубрившие пару-тройку API, но не знающих, что такое матрица смежности графа — это не программисты и конечно не профессионалы. Это code monkeys.
Растрою — цирюльники, обладающие знания, которые не помогут в 99.99% проектов — это не code monkeys, а просто — обезьяны
Re[4]: Это как вообще рельно знать одному человеку?
Здравствуйте, aik, Вы писали:
L>>А программировать они умеют вообще? Или им достаточно сказать "матрица смежности графа" и все само запрограммируется? L>>
aik>Умеем. Нынешнее прикладное проиграммирование состоит из ознакомления с API (которые строятся по 3-5 принципам, не больше) и его грамотным примением. Фсе, точка.
Никакие API не помогут вам в разработке тех же CAD-ов, в финансовых приложениях (я не о бухгалтерии говорю, естественно), в разработке компиляторов, в сложных коммуникационных приложениях с жесткими требованями по нагрузке, даже в более-менее серьезном геймдеве, в data mining, и много где еще — во всех проектах, где есть реальные деньги, во всех по настоящему высокооплачиваемых задачах на первом, втором, и так вплоть до десятого местах стоит Математика, а знание API — настолько мелочное и незначительное требование, что никто и не напрягается, можно всегда в справочник подсмотреть. А вот то "прикладное программирование", которое сводится к сборке из готовых кубиков — это не программирование, это дешевка.
Программист, хорошо знающий математику и обладающий инженерным складом ума, сможет решить любую задачу в любой области. Хорошо и быстро решить. Программист, выучивший десятки разных API и все самые модняцкие на данный момент язычки и фреймворкишки, но не знающий хорошо теоретических основ, не годится ни на что. Мода поменяется в очередной раз, и останется такой кодер не у дел (что и случалось уже неоднократно с ордами кодеров).
Re[4]: Это как вообще рельно знать одному человеку?
Здравствуйте, bkat, Вы писали:
B>Но все равно уверен, что нет смысла искать 100% подходящих B>кандидатов, которые знают все, что используется в фирме.
Естественно. Вопрос то бы не в том, как правильно искать, а "реально ли все это знать" и со всем этим работать одному человеку. А то, что все в описание вакансии засунули, вместо более конкретного описания предметной области — так это оставим на их английской совести.
B>Основные проблемы на проектах все равно не связаны с набором рубанков (технологий). B>Куда больше времени уходит на понимание того, что и зачем этими рубанками B>уже настрогали и как оно вообще работает.
Именно так. Потому, кстати, меня и смешат те, кто ворчит, что мол использование немейнстримных технологий в проекте затруднит поиск сотрудников для поддержки и развития оного проекта. Как правило сложность самого проекта настолько выше сложности любой подобной технологии, языка, фреймворка, библиотеки, что нельзя даже сравнивать время, потребное на обучение технологии с временем, необходимым для въезжания в проект.
B>Ну а дураков с любым skillset'ом брать не стоит
Ага. Но, боюсь, большинство присутствующих с этим не согласиться. Кажется, дураков тут любят и уважают.
B>Ну а в некоторых случаях человека стоит брать даже B>если он вообще ничего из нужного skillset'а не знает. B>Речь идет о сложных предметных областях, B>где опыт в предметной области гораздо ценнее набора технологий.
Именно так. ППКС.
Re[8]: Это как вообще рельно знать одному человеку?
Здравствуйте, Cephalopod, Вы писали:
C> С таким определением согласен, но мне кажется, требование универсальности из него вытекает автоматически.
Отнюдь.
C> Иначе какой же будет конечный результат, если "профессионал" начнет скулить
Профессионал скулить не начнет. Он начнет самостоятельно разбираться в новом вопросе до того уровня, на котором он сможет решить поставленную задачу, или же привлекать к этому делу других профессионалов если это окажется менее затратно.
C> Профессионалу хватит одного дня, чтобы после OpenGL понять Direct3D. Одного точно не хватит.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[10]: Это как вообще рельно знать одному человеку?
Здравствуйте, Cephalopod, Вы писали:
C> Пользователь — он разный бывает.
Разумеется. Самый нужный для разработчика пользователь, это тот, который платит разработчику за то, что этот разработчик сделал то, что этому пользователю нужно. И пользователь своими деньгами решает что нужно ему. Остальные — мимо кассы.
C> Есть полезный пользователь, который работает, обществу пользу приносит, разработчику CAD-а готов тыщ 30-40 долларов в год за лицензию платить. А есть бесполезный польлзователь 15 лет от роду, готовый раскрутить своих родителей на 50 долларов за диск с с игрушкой. Родителей жалко, бесполезного пользователя — не очень.
И что вы выбираете: продажи CAD по 30-40 тыс за годовую лицензию но сравнительно в небольшом кол-ве, либо продажи по $50 за копию но миллионным тиражом?
Для разработчика полезный пользователь — это тот, который платит за их продукт.
C> Геймдевщики считают себя элитой, делая заведомо бесполезное для цивилизации и прогресса дело.
Для начала: это где тут геймдевщики заявили что они элита? По мне так из ваших постов типа...
C>заведомо бесполезное для цивилизации и прогресса дело
C>Нужной, полезной инженерной и научной графики, А не идиотических свистелок-перделок в стиле "пиф-паф, ой-ой-ой".
C>Совсем другое дело в CAD-ах — разработчик получает 100%, да еще и традиционно не коробочный продут продают один раз, а продают годовую лицензию, которую еще и продлять надо.
C> Ну о чем с вами говорить, если для вас инженерная и научная графика скучна? Вам надо не сюда, а на форум Диснея, или к анимешникам.
C> Лично мне совершенно неинтересны развлечения миллионов людей. Я делаю полезное и нужное дело, для полезных и нужных людей.
...элитой тут, среди нас, свинорылых, считает себя кто то другой
C>Ну о чем с вами говорить, если для вас инженерная и научная графика скучна?
Ну разуммется, "оппонент сразу признает себя побежденным в любом споре, если ему сказать что у него ноги кривые!" (С)
Да, меня не интересует инженерная и научная графика, бухгалтерское дело, технологии бурения скальных пород и огромная куча других вещей. Однако меня интересует геймдев, который вы здесь стараете смешать с гуаном, аргументируя это тем, что вас он не интересует.
C>в геймдеве я поработать успел, движки на OpenGL и DirectX писал. И, поверьте, это было гораздо проще, чем инженерная графика.
Не могли бы вы привести ссылки, названия или еще какую нить информацию о тех мегапроектах в геймдев индустрии в которых принимали участие, дабы уважаемый ALL мог собственными глазами убедиться что из под вашего пера вышло что нить аналогичное по графике с CryEngine, UnrealEngine или хотя бы старенького Doom3. И убедиться что вы не просто бросаетесь словами а действительно знаете предметную область.
C>Реалистичную водичку или там деревце сделать легко
Угу. И именно поэтому люди тратят тысячи $$$ покупая SpeedTree, например...
C>а вот отличить два только лишь касающихся друг друга предмета от пересекающихся — гораздо сложнее. В игре незначительная ошибка по фигу, в CAD — недопустима.
Пардон, но для этого нужна не графика а математика. Впрочем можно и через hardware occlusion query сделать, но тут гарантии точности сами должны понимать какие.
C> То, что понимают в ведущих университетах мира.
Ссылку можно?
Простите за уж совсем нескромный вопрос: вам случайно не за 40 лет?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[5]: Это как вообще рельно знать одному человеку?
C> Программист, хорошо знающий математику и обладающий инженерным складом ума, сможет решить любую задачу в любой области. Хорошо и быстро решить. Программист, выучивший десятки разных API и все самые модняцкие на данный момент язычки и фреймворкишки, но не знающий хорошо теоретических основ, не годится ни на что. Мода поменяется в очередной раз, и останется такой кодер не у дел (что и случалось уже неоднократно с ордами кодеров).
Вот! Знающий математику, а не сыплющий определениями "матрицы смежности графа". Я не знаю (не помню), что это такое и не хочу сейчас знать. А еще я не помню, как реализуется FFT (хотя крепко использовал на одном проекта) и не напишу "сортировку на бумажке", ибо считаю это напрасной тратой времени. Зато в данный момент могу много рассказать о методах реализации конечных автоматов и способах их минимизации. Ну так уж получилось, что это у меня третий подряд большой проект, где графы никак не пришить, зато все строится на КА.
У меня вообще очень настороженное отношение к сыплющим определениями, т.к. опыт показывает, что за определениями нет реальных знаний или умения натягивать теоретические знания на ограничения реальной жизни.
И о математике — в одном проекте понадобилось посчитать волатильность, подразумеваемую в конкретной опционной сделке. Формулы Black-Sholes выглядят устрашающе и повсюду писалось, что подсчитать волатильность можно только итеративным методом, читай брутфорс.
Не поверил, решил посмотреть, что будет, если наложить небольшие ограничения. получил страшный дифур, зато удостверился, что функция "хорошая" и можно смело брутфорсить.
Как вы думаете, я помню сейчас, как выглядит эта формула?