Registration for the next conference Благодійний стрім з Артемом Захарченко is open!

Applied Enterprise Metaprogramming in JavaScript [rus]

Is it possible to write a program that significantly changes its behaviour during the runtime without changing its source code? Have you ever wondered about native TypeScript support in Node.js? Or whether it is possible to write JavaScript code that syntactically feels a lot different but is still valid? The answers to these and a lot of other questions will be discussed in detail in this talk. From the basics of metaprogramming theory to practical examples of its application in enterprise projects. We are going to talk about metalinguistic abstractions, domain-specific languages, and how they can help us solve software engineering problems. We will take a look at how popular frameworks and libraries like React.js, Express.js, Nest.js and Lodash use metaprogramming to develop systems that are used worldwide. Moreover, we will learn how to think in terms of metaprograms and broaden our outlook towards the great world of metasystems.

Level: (middle+) it is better if you have a solid knowledge of JavaScript, but everyone is welcomed as we are going to start from the basics.

Vladyslav Dukhin
SoftServe
  • Lead Software Engineer at SoftServe
  • 7 years of experience in Software Engineering as a Full-stack developer
  • Node.js Certified Software Engineer (JSNAD and JSNSD)
  • Conducted more than 50 WebUI technical interviews
  • Masters degree in Software Engineering. I have written research papers on metaprogramming and developing native addons for Node.js in C and C++
  • Active speaker at conferences
  • Once increased the reliability of releases by 3 times for one of the clients by automating the software development and testing processes
  • In my spare time, I often travel the trails of JavaScript and Node.js world, searching for new metalinguistic abstractions
  • Github, Linkedin
Sign in
Or by mail
Sign in
Or by mail
Register with email
Register with email
Forgot password?