
Quantum Harmonizer
30.05.2018
08:38:51

Жабра
30.05.2018
08:39:04

Quantum Harmonizer
30.05.2018
08:39:36

Leonid
30.05.2018
08:40:10
Асимптотический анализ?
(или он не совсем там?)

Google

Евгений
30.05.2018
08:40:14
для формошлепства на спринге ничо не надо

Evgeny
30.05.2018
08:40:33

Alexander
30.05.2018
08:41:16

Жабра
30.05.2018
08:41:35
А что там, в этой дискретной математике?
(У меня её никогда не было.)
"В широком смысле ДМ включает в себя такие сложившиеся математические разделы, как теория множеств и отношений, математическая логика, комбинаторный анализ, а также ряд других, которые стали развиваться наиболее интенсивно в связи с внедрением вычислительной техники. В узком смысле ДМ ограничивается только этими новыми разделами, к которым относятся: теория функциональных систем, теория графов, теория автоматов, теория кодирования, теория алгоритмов и др."

Quantum Harmonizer
30.05.2018
08:41:38

Евгений
30.05.2018
08:44:17
и вот ты уже синьор помидор, и тебе приносят задачу по реализации валидации наименований организаций в системе, чтоб на формочке вывелось предупреждение, что организация с похожим наименованием существует в системе. И ты такой ... эээээ ... блджад ... пойду погуглю, а тебе там "используйте расстояние Левенштейна", а ты такой: чего блджад? и вот тут тебя настигает понимание, что матан надо было не просто зубрить, но еще и практиковать

Dmitry
30.05.2018
08:45:22
В вузе может быть полезно научиться читать матетический язык, чтобы модель памяти джавы прочитать, например.
Но знание алгоритмов наизусть - это маразм.


Евгений
30.05.2018
08:48:18

Dmitry
30.05.2018
08:48:37
Какие-то другие готовые алгоритмы нельзя нагуглить?

Евгений
30.05.2018
08:49:54

Dmitry
30.05.2018
08:50:05
Меня умиляет, когда на собеседованиях спрашивают знание байтоебской "базы" наизусть, которая гуглится за 1 минуту и понадобиться с вероятностью 0,000000%, но никто не спрашивает как нормально запрофайлить как ускорить загрузку экрана, хотя это понадобиться почти наверняка

Google

Dmitry
30.05.2018
08:51:10
Когда есть конкретная задача, и профайлер показывает проблему, то алгоритмы под задачу гуглятся. На крйний случай можно спросить у байтоеба, который может быть один на команду. Всем это знать - совершенно бесполезно ИМХО.
Понимание алгоритмов реально нужно, чтобы придумывать новые алгоритмы. Что конечно нужно, если пишешь модуль ядра, гипервизор или что-нибудь в этом роде.
А если вебчик, мобилку, или отчетики в CRM фигачишь (уже не всегда), готовых - достаточно.


Dmitriy
30.05.2018
08:53:54
и вот ты уже синьор помидор, и тебе приносят задачу по реализации валидации наименований организаций в системе, чтоб на формочке вывелось предупреждение, что организация с похожим наименованием существует в системе. И ты такой ... эээээ ... блджад ... пойду погуглю, а тебе там "используйте расстояние Левенштейна", а ты такой: чего блджад? и вот тут тебя настигает понимание, что матан надо было не просто зубрить, но еще и практиковать
Мне в универе не рассказывали про Левенштейна, но когда я начал реализовывать телефонный справочник на основе распознанных слов, то я изучил эту тему, причем довольно быстро.

Евгений
30.05.2018
08:55:30

Quantum Harmonizer
30.05.2018
08:56:25

Денис
30.05.2018
08:56:35

Евгений
30.05.2018
08:57:17
я знал, что найдется человек, который натыкает меня носом в "дискретка не матан!!!11" ))

Денис
30.05.2018
08:58:51
Ну так не матан же)

Dmitry
30.05.2018
08:59:18
Какая разница, это одинаково бесполезные для продуктового разработчика дисциплины.
Ради общего интереса можно их поизучать, вместо философии.

Денис
30.05.2018
09:01:13

Dmitry
30.05.2018
09:06:38
Например? Какое знание полезно?
Что-нибудь типа Homotopy Type Theory
Univalent Foundations of Mathematics
Наверное будет полезно для понимания базы языков программирования, чтобы функциональщину двигать с пониманием и т.п.
Но этому в вузах СНГ не учат, насколько я знаю

Евгений
30.05.2018
09:08:07
Теория графов полезна

Dmitry
30.05.2018
09:08:17
Зачем?

Malik
30.05.2018
09:15:01
Можешь ознакомиться с первыми языками программирования высокого уровня, например Алгол 60, почитать Вирта про построение компиляторов
Полезно для понимания того, как и во что превращается написанный код

Dmitriy
30.05.2018
09:19:06
Теория графов полезна
Я пока вижу в теории графов пользу только в прохождении лабиринтов и в оценке решения той задачи где есть двери и нужно провести линию что бы через все двери прошла и не пересекалась ?

Dmitry
30.05.2018
09:20:47

Leonid
30.05.2018
09:21:32

Google

Alexander
30.05.2018
09:22:12
Я бы сказал, что большинство задач решается без алгоритмов. Из того небольшого списка задач, где нужны алгоритмы, большинство гуглится неподготовленным человеком, но проще знать хоть какие-то алгоритмы, чтобы понимать язык, на котором их обычно описывают. Какую-нибудь топологическая сортировку или расстояние Дамерау-Левенштейна можно понять не прочитав ни одного алгоритма, но дольше.
Итого есть пару разделов, которые явно неплохо бы знать (алгоритмическая сложность, минимальное количество алгоритмов для понимания нотации), остальное пригодится в крайне редком случае. Т.е. знать прикольно, но это так же прикольно знать как "а вот если затолкать такой набор действий, то компилятор Котлина превращается в тыкву"

Malik
30.05.2018
09:23:17
Нас учат. От самого низкого - физического уровня до верха - прикладного программирования

Алексей
30.05.2018
09:23:32
Я бы сказал, что большинство задач решается без алгоритмов. Из того небольшого списка задач, где нужны алгоритмы, большинство гуглится неподготовленным человеком, но проще знать хоть какие-то алгоритмы, чтобы понимать язык, на котором их обычно описывают. Какую-нибудь топологическая сортировку или расстояние Дамерау-Левенштейна можно понять не прочитав ни одного алгоритма, но дольше.
Итого есть пару разделов, которые явно неплохо бы знать (алгоритмическая сложность, минимальное количество алгоритмов для понимания нотации), остальное пригодится в крайне редком случае. Т.е. знать прикольно, но это так же прикольно знать как "а вот если затолкать такой набор действий, то компилятор Котлина превращается в тыкву"
Интересно даже, насколько это реально применимо к продакшну

Alexander
30.05.2018
09:23:54

Алексей
30.05.2018
09:24:04
Такой подход к алгоритмам
Я просто полностью согласен, но на каждом шагу вижу/слышу, что алгоритмы жизненно необходимы
Прям вот без них ничего не пишется

Dmitry
30.05.2018
09:25:33
Кстати есть у кого-нибудь хорошая задачка на примете на понимание нотаций? На обычную житейскую задачу, где н = десятки, а константа - миллиард. Чтобы проверить, понимает ли человек, что от (н"2) вполне может быть быстрее, чем функция от н.

Quantum Harmonizer
30.05.2018
09:27:01

Алексей
30.05.2018
09:28:49

Alexander
30.05.2018
09:32:16

Dmitry
30.05.2018
09:35:04
Нее, это слишком топорно, даже до байтоеба дойдет.
Скорее так, мы отображаем машины вокруг пользователя на экране, как их отсортировать. Чтобы посмотреть, у человека алгоритмы головного мозга или он задачу понимать умеет, что не будем мы отображать миллиард машин на экране никогда.

Mikhail
30.05.2018
11:36:03
Алгоритмы не так уж и связаны с байтоебством

Андрей
30.05.2018
11:39:06

Quantum Harmonizer
30.05.2018
11:39:31

Андрей
30.05.2018
11:39:45
поэтому странно смотреть как джунов отправляют учить алгоритмы сортировки или еще чего

Quantum Harmonizer
30.05.2018
11:40:15

Андрей
30.05.2018
11:40:18
ну или TimSort, смотря что в коллекции

Google

Quantum Harmonizer
30.05.2018
11:41:34

Kirill
30.05.2018
11:41:45
например?
https://news.ycombinator.com/item?id=9100107
Иногда алгоритмы

Андрей
30.05.2018
11:41:58
кейс использования LinkedHashMap реально редкий
да и в чем там проблемы?
я правильно понимаю что в котлин всё то же самое перетекло?

Kirill
30.05.2018
11:46:30

Андрей
30.05.2018
11:47:06
Не понял вопроса
в котлине используются жабовские коллекции, алгоритм сортировки также в котлине используется жабовский или там все таки свой напилили?
хотя тимсорт пофиксили давно я смотрю

Kirill
30.05.2018
11:49:10

Egor
30.05.2018
11:49:15
А-тя-тя, ArrayList уже давно из kotlin.collections импортируется
Или просто List, нужно посмотреть
Но своих имплементаций в котлине уже по-моему сто лет как запилили

Андрей
30.05.2018
11:50:39
https://github.com/JetBrains/kotlin/blob/1.2.40/libraries/stdlib/src/generated/_Arrays.kt#L6705

Роман
30.05.2018
11:51:07
народ грааль кто-нибудь уже трогал?

Mikhail
30.05.2018
11:53:29
но джунам особо и не нужно ничего специфичного

Андрей
30.05.2018
11:55:12
или не реализованно, если нужно что-нибудь специфичное
ну это редкий кейс, понятно что в гугле/яндексе такое необходимо, но пока пишешь какое-нибудь андроед приложение где в лучшем случае список будет из 100 элементов приходить уже отсортированным с сети, то можно классические алгоритмы годами не видеть

Dmitry
30.05.2018
11:56:02

Google

Dmitry
30.05.2018
11:56:54
Народ вон крупнейшие социальные сети на пхп пишет.

Kirill
30.05.2018
11:59:58

Mikhail
30.05.2018
12:01:13
на пхп разве нет алгоритмов?

dimiii
30.05.2018
12:07:22

Dmitry
30.05.2018
12:09:39
Интерпретируемый динамический язык. Это просто про перфоманс.

Mikhail
30.05.2018
12:12:48
я слышал они там подкрутили перфоманс в последней версии

Leonid
30.05.2018
12:15:27

Kirill
30.05.2018
12:16:06

Mikhail
30.05.2018
12:16:12
и кажется, что как раз таки в тормознутом языке правильные алгоритмы поважнее будут

Андрей
30.05.2018
12:16:39
хотя это не так

alix
30.05.2018
12:17:59
Привет чат
есть вопросик
а корутины в котлине это аналог тасков в сишарпе?

Mikhail
30.05.2018
12:20:42

Андрей
30.05.2018
12:20:45

alix
30.05.2018
12:21:07

Mikhail
30.05.2018
12:21:25