Explore the intricacies of designing IDE-friendly programming languages in this 45-minute Java conference talk. Gain insights from JetBrains' experience in creating IDEs for various languages, learning which features facilitate easier support and which pose challenges. Discover how static typing aids development, while compile-time macros and lambdas can complicate implementation. Examine the impact of language features on IDE performance and functionality, from basic parsing to advanced capabilities. Delve into topics such as syntax recognition, declaration methods, name referencing, and resolution hints. Understand the balance between IDE-friendliness and user-friendliness in language design, equipping yourself with valuable knowledge for creating more efficient and supportable programming languages.