Computer Science is not dead yet
The old trusty Computer Science is still necessary. Some interesting algorithms and cool data structures are hiding beneath well-known Intellij IDEA features.
JetBrains is a software firm, and its team writes an IDE. Guys spend all their worktime trying to re-align these two rogue pixels or reproduce a bug deep inside the index subsystem which crashes the JVM regularly once a week or wrapping the head over issues in Grails 3.1.8 with Spring Security Core multiple datasources. And that’s the biggest and the most guarded embarrassing secret of their job. It really is that hopeless. And yet the hope is still there. It happens that all these dull frameworks and endless Null Pointer Exceptions step aside and along come the tasks requiring that very same Computer Science with big-S.
Alexey will show some places he is aware of where these cool algorithms and complex data structures are used in the Intellij IDEA code base and how they help new features to appear.
The problems will include Graph cycles, Strongly Connected Components, Tree isomorphism and others, and he will mention the Depth-first search, LCS, Tarjan and other algorithms.
This talk is for those brave souls mourning for algorithms on graphs, trees and other data structures or for those who is ready to get to know and embrace their existence.