Speaker: Vitalii Braslavskyi, Software Engineer at Grammarly
Summary:
Today, the dominant approach to software engineering is an imperative one — the best practices have been proven over time. But the world is always evolving, and in order to evolve with it and remain as productive as possible, we need to continue searching for better tools to solve problems of increasing complexity.
In this talk, we'll discuss the tools and techniques of the .Net ecosystem that can help us to concentrate on the problem itself — not just on the intermediate steps (which have likely already been solved). We'll compare imperative and declarative approaches and assess solutions to problems.
We'll also offer examples of how engineers in Grammarly's Office Add-in team use these tools to improve the efficiency of our engineering and strengthen our solutions to the problems at hand.
2. What is Grammarly?
Grammarly’s AI-powered writing
assistant helps you make your
communication clear and effective,
wherever you type.
3. 200+
team members across offices
in San Francisco, New York,
Kyiv, and Vancouver
2,000+
Institutional and
enterprise clients
20M+
daily active users around
the world
Grammarly by the numbers
12. In computer science, declarative programming is a
programming paradigm—a style of building the structure
and elements of computer programs—that expresses the
logic of a computation without describing its control flow.
Declarative programming
14. SQL
SQL (/ˌɛsˌkjuːˈɛl/ (listen) S-Q-L, /ˈsiːkwəl/
"sequel"; Structured Query Language) is
a domain-specific language used in
programming and designed for managing
data held in a relational database
management system (RDBMS)...
87. ● JSON-like, easy to remember, intuitive syntax
● Safe way to adjust behavior without code
deployment
● Straightforward way to tune rules behaviour
without changing configuration
What do we get?
88. Log Crawler 📒
● Select the whole line or go by each word
● Match by regex or substring
● Print to console or write to file