VOOZH about

URL: https://dzone.com/users/3427378/kplotnikov.html

⇱ Konstantin Plotnikov - DZone Member


Konstantin Plotnikov

System Architect at WorkMe.io

St Petersburg, RU

Joined Sep 2018

https://github.com/const

Stats

Reputation: 418
Pageviews: 90.0K
Articles: 2
Comments: 4

Articles

Evolving Domain-Specific Languages
DSLs are intended to express domain concepts in a natural way. But are domain concepts set in stone? Or are they something that we could consciously evolve?
Updated May 5, 2022
· 7,077 Views · 4 Likes
Setters, Method Handles, and Java 11
Want to learn more about using setters, getters, and method handles? Check out this post where we explore the differences in implementing these methods in Java 11.
Updated October 2, 2018
· 26,116 Views · 17 Likes

Comments

Evolving Domain-Specific Languages

May 11, 2022 · Konstantin Plotnikov

The diagrams are easier to understand than textual notation for node-link languages like state machines. However, diagrams do not offer good reasoning guidelines. To reason about SM diagrams, one has to trace all possible paths in it. For complex diagrams, this leads to combinatory explosion, because state becomes path dependent.

For textual notation that closely mirrors diagrams, like M.F. textual DSL the problem became more acute because path becomes broken and textual node look up is needed to trace a complete path. This requires attention jumps and mode switches.

This is why programs written using assembler (or old flat BASIC, or FORTRAN 66) are hard to understand. To understand them, only has to trace all possible paths in the program. C or Pascal are big jump in usability relative to them, because they offer a new way of reasoning. One does not need to track all paths; one need to reason along structure of tree of blocks and statements.

An alternative text notation here offers alternative way of reasoning about states and commands.

Note, in the old specifications, there were a lot of flow diagrams or visual representation of data. In newer specification these visual diagrams were replaced by structured pseudo-code. This is because it is easier to reason about it.

You Should Actually Be Listening to Metal When You Code

Apr 29, 2019 · Matt Werner

Strange that such big articles on music and programming (original and this one) does not mention even in passing the chapter from the classic book Peopleware. I thought that book addressed issue already in good details.

The core argument is that music seriosly interfer with creativity. There is "uncreative work", but listening to music interfering with ways to find patterns in this work and making it creative.

The Builder Design Pattern in Java

Oct 22, 2018 · Kun Zhou

https://dzone.com/articles/making-java-fluent-api-more-flexible - link to my article on how to make such pattern a bit more flexible in Java to support large builders.

Setters, Method Handles, and Java 11

Oct 04, 2018 · Konstantin Plotnikov

I do not expect any differences, because in the runtime they looks the same anyway. However, the last time I've checked Lombok had problems on JDK 10 and up, so it might be a good idea to wait until that problem fixed.

User has been successfully modified

Failed to modify user

Let's be friends: