Yegor Bugayenko's Blog, page 7

August 3, 2021

Prestructors

Making constructors pre-process the arguments before encapsulating them seems to be bad practice. However, very often it���s necessary to do exactly that: perform some manipulationswith the objects provided as arguments and only then assignthem to the attributes of the constructed object. For this purposeI suggest using prestructors, which could be methods or stand-aloneobjects.

[image error]Huge in France (2019) by Gad Elmaleh et al.

Say, this is your code:

import java.util.List;import java.uti...
 •  0 comments  •  flag
Share on Twitter
Published on August 03, 2021 17:00

May 31, 2021

A Few Tips for Recruiters

Recruiters, you know what we programmers think about you, don���t you? Read thisand this, to get the full picture. You are still here because we stilldon���t have good tools and we still enjoy being enslaved. One daythis will be over and you will stop exploiting our drawbacks,will lose your ���Senior Recruiter��� jobs, and start doing something useful and meaningful. However, until this day comes, here is someadvice, to help you be a less annoying better head hunter.

[image error]The Fifth Elemen...
 •  0 comments  •  flag
Share on Twitter
Published on May 31, 2021 17:00

April 13, 2021

How We Organized the First ICCQ

First, let me clarify what kind of conference we are talking about. There are two types:professionalandacademic.The difference is huge.My understanding is that professional conferences are for practitioners, while academic ones are for researchers.ICCQ, which we organized this year, was an academic conference.I haven���t had any expertise in organizing such things, and had to go through it all for the first time.Here is a more or less detailed description of the journey.Feel free to l...

 •  0 comments  •  flag
Share on Twitter
Published on April 13, 2021 17:00

March 2, 2021

Imposters to Win!

The time of objectivity is fading out. Meritocracy is now a rude word.Metrics in management will soon be considered as harassment.Productivity is already a false objective.It���s time to start taking advantage of this era of nonsense.The era of imposters is coming!Don���t miss the opportunity to become a great one.Here is a quick summary of key techniques to make you highly successful in any argumentyou may have in your flat democratic organizations of the future withoutany skills, kno...

 •  0 comments  •  flag
Share on Twitter
Published on March 02, 2021 16:00

February 9, 2021

Dataization

There are three things in EOLANG (and the ����-calculus which webased it on): data, atoms, and objects. There is a dataizationfunction, which puts all three together in order to make an EOprogram alive. Here is how it works together with Java,for example.

[image error]Space Force (2020) by Steve Carell and Greg Daniels

Let���s say we are making an online shop where items arebeing shipped to different countries and we must calculateshipment costs based on the customer���s location. We createan abst...

 •  0 comments  •  flag
Share on Twitter
Published on February 09, 2021 16:00

February 1, 2021

Greed-Based Planning

You have an objective, a budget, and a team. You area manager and you want the project to be done. You get your team togetherin a meeting roomto discuss the plan. You tell them what needs tobe done and ask them how fast they can do it. Then, you do the motivational danceand beg ask them to commit. They nod and go backto their cubicles. Of course, after a fewmonths of ���hard work��� all the milestones are missed and you get back to the planningmeeting. And, yes, you pay their salariesan...

 •  0 comments  •  flag
Share on Twitter
Published on February 01, 2021 16:00

December 28, 2020

Put a Number on Your Boss���s Emotions

You got into a company that believes in
democratic
values, doesn���t measure
performance, doesn���t judge, doesn���t
control, doesn���t force, and
doesn���t blame; however, at the end of the year they tell you that
your performance was not as high as expected. Why?
���Just work better, my friend, we count on you!���
Bad luck, you are in a teal self-managing organization. They���ve already
killed the management, but still didn���t dare to kill the managers.
They don���t know how to measure, but s...

 •  0 comments  •  flag
Share on Twitter
Published on December 28, 2020 16:00

December 21, 2020

Self-Managing vs. Manager-Free Organizations

We are in trouble. On the one hand, most managers are weak and incompetent.
Their mistakes destroy our motivation,
decrease productivity, and lead to business failures.
As a result, many of us believe that managers are evil.
On the other hand, there is a new idea that self-managing organizations are
the future. Its proponents are trying to convince us that chaos is
better than management mistakes. They want us to believe that subordination,
hierarchy, control,
and order are new bad words to be p...

 •  0 comments  •  flag
Share on Twitter
Published on December 21, 2020 16:00

November 30, 2020

Abstract Objects

How do you create objects in your object-oriented language?
Let���s take something classic, like C , Java, or C#. First you define
a class, and then you make an instance of it. The first step is known
as abstraction,
and the second one as
instantiation.
A similar pair of operations
exist in functional programming: declaring a function is
abstraction,
while calling it with specific arguments is
application.
The question is:
why does OOP need classes and objects,
while FP survives with just funct...

 •  0 comments  •  flag
Share on Twitter
Published on November 30, 2020 16:00

November 23, 2020

Objects Without Methods

What do you think an object is in OOP? No matter what language you are
programming with, you will most probably agree with Bruce Eckel,
the author of Thinking in Java, who said that ���each object has a state
and operations that you can ask it to perform,��� or
Benjamin Evans, the author of Java in a Nutshell, who claimed that it is
���a collection of data fields that hold values and methods that operate on those values.���
However, hold on��� What if I told you that an object may have no ���ope...

 •  0 comments  •  flag
Share on Twitter
Published on November 23, 2020 16:00