krigstask
Я таки считаю, что С++ самый что ни на есть императивный язык. Разве я утверждал обратное?
И с каких это пор сложность алгоритмов и пр. такие вещи важны только в императивных языках?
Попытайтесь ответить на вопрос о практической важности знания реализации Knuth shuffle (например) для человека, который специализируется на реляционных базах данных. Или XML-технологиях.
Отсутствует
Я таки считаю, что С++ самый что ни на есть императивный язык. Разве я утверждал обратное?
Тогда к чему было это:
Тут явно речь либо о сферическом программисте в вакууме, либо о программисте-императивщике, и об алгоритмах с реализацией на императивных ЯП - последние сейчас не что бы вымерли, но просто прочих программистов с другой специализацией как минимум не меньше.
?
Так или иначе, речь зашла о том, следует ли в школе обучать реализации классических алгоритмов (сортировки, обходы графов, поиски кратчайших путей, и т.д.) или созданию окошек в Qt Designer. То есть речь так или иначе идёт об императивном программировании.
Кстати говоря, раз уж Вы об этом заговорили, то базовые знания об SQL тоже можно было бы преподавать. Для демонстрации того, что бывает и такое.
# rm -rf /
Отсутствует
Я таки считаю, что С++ самый что ни на есть императивный язык. Разве я утверждал обратное?
Я просто заподозрил распространённое мнение «ОО — не императивный».
Попытайтесь ответить на вопрос о практической важности знания реализации Knuth shuffle (например) для человека, который специализируется на реляционных базах данных. Или XML-технологиях.
Этот вопрос сродни «зачем мне решать квадратные уравнения», по-моему. Это базовые вещи, знать которые надо, чтоб не быть быдлокодером, который умеет только SQL строгать и XML корябать. Да, конкретные алгоритмы могут и не пригодиться, но оценить сложность алгоритма (в своей ли реализации или в библиотечной) будет очень полезно. И изучение/разбор стандартных алгоритмов — как решение школьных задач по геометрии, физике и т.д.
Добавлено 03-03-2013 12:14:42
Кстати говоря, раз уж Вы об этом заговорили, то базовые знания об SQL тоже можно было бы преподавать
Да, согласен. И базовые знания о HTML/CSS тоже не помешали бы, мне кажется.
Отредактировано krigstask (03-03-2013 12:14:42)
Ядрёная консоль делает меня сильней!
Отсутствует
Этот вопрос сродни «зачем мне решать квадратные уравнения», по-моему. Это базовые вещи, знать которые надо, чтоб не быть быдлокодером, который умеет только SQL строгать и XML корябать.
Это все, извините, общие слова. Чтобы не быть быдлокодером, еще было бы неплохо уметь расставлять запятые в деепричастных оборотах (пожелание не относится ни к кому из присутствующих, если что). А для общего развития - читать Набокова, например. Как говорил руководитель одной конторы, в которой я работал, "мне не нужны IT-морлоки" - и при трудоустройстве давал тест по русскому языку. Однако программист - это обычно наемный работник, приносящий прибыль своему работодателю. В этом свете намного более критично знание предметной области, нежели теоретической алгоритмистики (и прочих областей "общего развития"), т.к. от падения производительности при неправильной сортировке бизнес серьезно не пострадает. А вот незнание нюансов расчета какого-нибудь НДФЛ-3 может быть чревато вполне реальными деньгами. Поскольку такая ситуация фактически является трендом, то реальность вносит свои коррективы в виде второстепенности знания этих алгоритмов. Их изучение - это вопрос скорее личного саморазвития, чем практической необходимости.
Отредактировано hydrolizer (03-03-2013 12:28:38)
Отсутствует
В этом свете намного более критично знание предметной области, нежели теоретической алгоритмистики, т.к. от падения производительности при неправильной сортировке бизнес серьезно не пострадает.
От задачи зависит. Если ради тормозной реализации придётся ставить не в 100 серверов, а 1000, чтобы обслужить 100500 посетителей в день, то может очень даже пострадать. А вообще знание технической части и предметной области - две ортогональные друг другу вещи.
чем nested loops в плане запроса отличается от hash/merge join,
Эта задача весьма родственна грамотному использованию HashSet/TreeSet вместо тех же вложенных циклов. Только для этого надо знать, что представляет собой HashSet или TreeSet. Тут ведь такое дело, кто хорошо знает абстракции, тот в состоянии легко осилить конкретику.
Добавлено 03-03-2013 12:45:27
hydrolizer
Вот представьте, звонит вам заказчик и говорит: "Всё тормозит." Если строить отчёт за день, то всё ОК - за пару секунд строится, за неделю - хуже, на минутку задумывается. На месяц - совсем тяжко, час ждать надо. За год - не дождались. Ваши действия?
Добавлено 03-03-2013 12:47:52
Остальных тоже прошу задуматься
Отредактировано sentaus (03-03-2013 12:49:49)
Отсутствует
Ваши действия?
Ну как будто я ни разу в такой ситуации не был. Снимаем план запроса и данные от профайлера, начинаем искать узкие места - смотреть, каково покрытие данных индексами, в каком состоянии статистика, фиксировать проблемные места хинтами, и проч. Нет в этой задаче алгоритмики. Если, конечно, кому-то не пришло в голову агрегировать статистику за год в процедурном виде.
И, кхм, если вопрос "Ваши действия?" намекает, что в данной ситуации человек со знанием алгоритмов легко бы нашел, где зарыта собака, и что эти алгоритмы всё же неплохо было бы подучить - я с ними вполне знаком. Изучил именно как для личного-общего развития. И я вполне себе представляю и отличие HashSet от TreeSet, и в курсе про нюансы контракта метода хэшкода объекта.
Отредактировано hydrolizer (03-03-2013 13:20:31)
Отсутствует
Их изучение - это вопрос скорее личного саморазвития, чем практической необходимости.
То, что преподаётся в школе, практически всегда имеет своей целью личное саморазвитие учащегося, а не обучение тому, что представляет практическую ценность для конкретной специальности. Вам в жизни часто приходилось применять, скажем, теорему о вписанном угле или второй закон термодинамики?
Добавлено 03-03-2013 13:30:11
Да, согласен. И базовые знания о HTML/CSS тоже не помешали бы, мне кажется.
Насчёт CSS не уверен, а вот о HTML вроде бы и так преподаются. Хотя, скорее всего, везде по-разному.
Отредактировано X Strange (03-03-2013 13:30:11)
# rm -rf /
Отсутствует
А про новейший Антивирус Бабушкина слыхали?
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Linux-то как всегда обделили.
Не правда! Этот классный антивирус даже на Лине через Wine зверя ловит. Даже Касперский так не может.
Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?
Отсутствует
Подскажите твикалку, которая умеет менять высоту панели задач Виндовс, причём не число строк или использование стандартных «маленьких значков», а именно произвольное изменение высоты панели.
Отсутствует
с Висты совсем всё плохо
Просто этим (ковырянием интерфейса) перестали заниматься. Твиков с заменой системных файлов достаточно. Вон сделали же персонализацию для Starter и Home Basic.
Так что плохо не это. Плохо то, что нет нормальных GUI на замену проводнику.
Отсутствует
> Плохо то, что нет нормальных GUI на замену проводнику.
http://en.wikipedia.org/wiki/List_of_alternative_shells_for_Windows
Неужели ни одно из 5 совместимых с семёркой недостойно внимания?
Отредактировано Lain_13 (23-03-2013 00:48:05)
Отсутствует
Lain_13
Какие-то из них — просто надстройки над проводником, а какие-то имеют настолько убогий интерфейс, что годились бы для применения только на XP и ниже.
Отсутствует
littleleshy
Мне кажется ты заблуждаешься. Они заменяют тот проводник, который рисует рабочий стол, и лепить что-то поверх виндового проводника в таком случае — идея далёкая от здравого смысла. Я сам себе когда-то шелл делал ради развлечения и делал без задействования для этого проводника, а ещё некоторое время сидел на LiteStep, который славился именно тем, что был значительно легче проводника в качестве рабочего стола (да, винда 95 — сколь же забавный зверёк этом был). Впрочем, я не смотрел ни на одну из современных замен — меня вполне устраивает панель задач в семёрке. По крайней мере она со своей задачей справляется вполне успешно, хоть в ней и настроить ничего нельзя — она работает и фиг с ней.
Но такие шеллы обычно не заменяют проводник в качестве проводника. А, собственно, зачем это делать? Уже существует масса вменяемых замен для него в этом качестве. Я, например, не могу пользоваться виндой без Тотала или Фара. И при этом дома в линукс меня вполне устраивает Nautilus, который от виндового проводника мало чем вообще отличается. Правда большую часть действий с файлами я выполняю вообще из консоли. Чёрт, и это в век «удобных» графических интерфейсов…
Кстати, у меня есть два забавных примера — мать и отец. Отцу виндовый проводник нравится, а Тотал — нет, хотя Нортоном он когда-то пользовался на работе очень много. Даже как-то странно. Матери недавно обновили компьютер на работе и она пожаловалась, что проводник там стал какой-то плохой и неудобный. Мол раньше было две панели, а теперь одна и какая-то неудобная. Может раньше дерево каталогов отображалось, а теперь по-умолчанию выключено? Нет, не то. Оказалось, что хороший и удобный это… Far Manager. Нет, это не шутка. о_O
После всего этого я просто не могу спорить о нормальных GUI, это как спорить о вкусе фломастеров. -_-
Отредактировано Lain_13 (23-03-2013 02:25:46)
Отсутствует
Отсутствует
Sid
Спасибо!
Добавлено 23-03-2013 11:48:33
http://en.wikipedia.org/wiki/List_of_alternative_shells_for_Windows
Ни одна не подошла. Нормальный шрифт в нижней панели обеспечивает только SharpEnviro, но как это англоязычное подобие Ubuntu подогнать под привычный вид — я не нашёл.
Отредактировано Пандёнок (23-03-2013 11:48:33)
Отсутствует