Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я утверждаю, что знание алгоритмов и даже наличие системного образования не делает вас хорошим разработчиком
Но что тогда мешает утверждать, что умение работать с указателями/памятью/подставьте сами также является необходимым, чтобы называться программистом с большой буквы.
не к одним алгоритмам сводится минимальный набор знаний, навыков и паттернов мышления.
но забудет (или будет не в состоянии) понять что библиотека, которой он пользуется замедляется при удлинении подстрок, не ускоряется?
Если вам нужна максимальная производительность и вы выбрали Java'у — то вы уже проиграли
то первое — исправить невозможно вообще
А языки — это уже вторичное.
На Java писали даже софт для сим карт, где не было сборщика мусора как факта.Да, писали. Я лично писал. А знаете — почему его там не было? А потому то не работает сборщик мусора при нехватке памяти. От слова «совсем». Если у вас памяти 3x от того что требуется — он работает неплохо. Если 2x — отвратитетльно.
логика, алгоритмика, теория вероятностей, векторная алгебра и т.п.
Алгоритм — это не просто перечень математических операций.Алгоритм — это то, для чего Бэббидж создал свою машину.
Большое число современных алгоритмов (сортировка, поиск, сжатие данных, парсинг текста и т.п.) не имеют своей целью «что-то вычислить (побыстрее и попроще)».Да ладно вам. Вот всё то, что вы перечислили — туда и попадает. Просто пока сортировкой занимались библиотекари, а таблицы синусов считали математики — в алгоритмах сортировки прорывов не было (а вот в методах рассчётов — тут да: всякие АГС ещё Лагранж и Гаусс изучали). Но как только оказалось, что это проблема может получить выход в практику — так сразу теорию и подвели.
Большое число современных алгоритмов (сортировка, поиск, сжатие данных, парсинг текста и т.п.) не имеют своей целью «что-то вычислить (побыстрее и попроще)».
Да ладно вам. Вот всё то, что вы перечислили — туда и попадает.
ВЫ́ЧИСЛИТЬ. Посредством действий над числами найти искомое, высчитать.
ВЫЧИСЛЕ́НИЕ. 1. Действие по гл. вычислить. 2. Результат этого действия, то, что получено посредством этого действия.
А что Вы понимаете под технологиями?
Многие технологии из того же Multics и UNIX используются до сих пор.Идеи — может быть. Реализации — нет. Даже вещи из UNIXа (который, к слову, гораздо моложе) уже многие не поддерживаются (не знаю, к примеру, в какой версии Ubuntu пропала полноценная поддержка терминалов без строчных букв, но сейчас проверил — `stty olcuc` ещё работает, а ввод своего имени прописными буквами — уже нет).
Технлогий множество, а основаны они на алгоритмах и концепциях, которые придумали десятки лет назад.
Так что лучше учить?
Это утверждение последнее время не очень работает. Скорее новые технологии основаны на сравнительно новых достижениях в теоретической части.
Логично, что в вузах/училищах дают, но не все, а те, которые наиболее часто используются.Ответ неверный. Об чём, собственно, и спор.
А в ВУЗах и в школе — нужно изучать вещи с достаточно большим «периодом полураспада», чтобы это обучение имело хоть какой-то смысл.
Вытеснит кто-то 1C-Бухгалтерию — и куда потом? В дворники?
Для чего?Не «для чего», а «почему». Потому что учить теории с короткими переодами полураспада в течение 10 лет смысла не имеет. А более «устойчивые» — имеет. Конечно только в том случае если есть шанс, что они окажутся потом востребованы.
Для Вас язык — это языческое божество или средство?Для меня — средство. Потому что я знаю их не один десяток (не все, конечно, я знаю хорошо). А вот для «специалиста по 1С» зачастую — это весь их мир. Ничего другого они делать не умеют и не хотят.
А почему устаревают технологии?Потому что кто-то хочет сделать «такое же, но своё»?
Случайно не из-за устаревания каких-либо их теоретических оснований?Иногда — да. Но гораздо чаще — просто потому, что старые — уже не модны.
Один с БД воюет, другой оси пишет, третий интерфейс изобретает, а четвёртый с пятым вообще что-то в науке делают, причём четвёртый пытается моделировать белки, а пятый движения планет.Проблема в том, что первые три — пытаются решить «на новом уровне» задачи, которые уже давно решены «на старом». И «устаревают» технологии не тогда, когда появляется задача, которую они не могут решить, а когда кто-то придумывает как ещё чуть проще и лучше решить задачу, которую уже сто раз до этого решили.
Такое ощущение, что некоторые считают технологии и теорию двумя противолежащими полюсами, делая выбор, куда пойти.Ну дык.
Но это же не так.Увы, но это так. Теория — это то, что изучается научным методом. Открытые публикации, новое строится на переосмыслении старого, «изобретение велосипеда» (по крайней мере теоретически) — запрещено (хотя на практике, конечно, происходит).
потому, что старые — уже не модны.
Увы, но это так.
Может статься, все сегодняшние знания
Ветряная мельница: создаем чучело (будто бы кто-то утверждает, что нечто — вечная истина и всегда, отныне и вовек будет верным), а потом смело разоблачаем.Комментарий, на который я отвечал, именно это и утверждал:
Так вот второе приходит и уходит, а база остается.
Комментарий, на который я отвечал, именно это и утверждал:
считать её вечной и непреложной — это очень смело.
Так вот второе приходит и уходит, а база остается.Ага, для сферического программиста в вакууме. Дьявол, как известно, кроется в деталях: в некоторых ситуациях может быть справедливо обратное высказывание, вроде «алгоритмы приходят и уходят, а 1С (или какой-нибудь wordpress) остаётся».
Я когда смотрю на таких людей, у меня седые волосы появляются от мысли, что они каким-то образом могут попасть в команду, которая будет писать софт для автомобилей, мед. обородувания, или других устройств, от которых может зависеть жизнь или здоровье.
Почему-то проваливать и исключать студентов не принято…Деньги. Независимо от системы: либо выделаемые из бюджета, либо приносимые самим студентами.
так ли это всё важно?
почему очень много неплохих программистов исходя из всех требований и обсуждаемых штук оказывается за бортом?
как мы определим вот это «неплохой»? Каковы формальные критерии?
я бы предложил взять такой критерий как прибыль с разработчика
чтобы было у кого поучиться
чтоб мозг не сношал пустиками
чтоб его код не пришлось переделывать
Иногда лучше выйти на почти пустой рынок с криво написанной программой, чем выдать «на гора» супер приложение на уже сформировавшейся рынок.
Во-первых, «пять миров Спольски».
4. Безопасность. Только с опытом приходит, на лабораторных или олимпиадах этому не натренируют.
А вообще чем больше я общаюсь с разными людьми, тем больше убеждаюсь в том, что «таланта не существует».
Это-то как раз не феномен, а логичное следствие :) В среднем чем меньше у человека опыт, тем интереснее ему работать.
Но талант выражается в нестандартных решения и новых идеях, а не в количестве или качестве кода. Количество и качество кода — результат как раз прилежности и аккуратности, а эти свойства не врожденные, а приобретаемые.
Можно сказать жестче — для большинства задач вы будете профнепригодны...и правда жестко. Странное обращение к читателю, своей радикальностью вызывает страх и уважение к автору. Резюмируется призывом
все-таки более осторожно относился к окружающимИ заканчивается ссылкой на отличные курсы.
До шарп как-то не звучитДо шарп — это уж ни в какие ворота. А сам по себе «шарп» как раз очень даже «звучит».
Алгоритмы — это лишь одна из переменных в уравнении