C# and OO are beautiful

Posted by agent_008_nl on 15-Feb-2020 17:34

https://tojans.me/blog/2014/02/26/cqrs-and-functional-programming/

Just compare the code in the blog to the code in the linked C# project and draw your conclusions. 

All Replies

Posted by gus bjorklund on 18-Feb-2020 22:06

i guess you think that code makes sense. in some alternate universe, i suppose it might.

Posted by agent_008_nl on 19-Feb-2020 07:36

Both make sense, but the C# code is extremely verbose in comparison - the "very low signal to noise ratio in the code" mentioned in the article. The alternate universes are comprehensible for those who can read the languages. For those openedge might be an alternate universe, to a much lesser extent though. See the Blub programmer:

---------------------------------------------------------

"[..] Programmers get very attached to their favorite languages, and I don't want to hurt anyone's feelings, so to explain this point I'm going to use a hypothetical language called Blub. Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.

And in fact, our hypothetical Blub programmer wouldn't use either of them. Of course he wouldn't program in machine language. That's what compilers are for. And as for Cobol, he doesn't know how anyone can get anything done with it. It doesn't even have x (Blub feature of your choice).

As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub. [..]"

www.paulgraham.com/avg.html

"Object oriented programs are offered as alternatives to correct ones." Edsger Dijkstra in TUG LINES Issue 32, August 1989

Posted by dbeavon on 19-Feb-2020 14:11

>>But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.

It's not just that he thinks in Blub.   He also lives in a Blub bubble.  

Necessity is the mother of invention.  I'm assuming the blub programmer is able to accomplish what he needs to in blub, and his job isn't at risk.  In that case, blub will always be good enough. For example, all he might need to accomplish on a daily basis is to add a record to a database, edit a record in a database, and ... wait for it....  delete a record in a database.  Blub can do those things!  And even a higher level language would probably not make that much difference until you needed to do those things 100x  faster than you can in blub (either in bulk or on multiple jitted threads).  But the blub programmer wouldn't even be aware of that possibility, let alone consider a different language.  This is because, in addition to thinking in blub, he also lives in a blub bubble.

Posted by Peter Judge on 19-Feb-2020 14:26

It's not just that he thinks in Blub.   He also lives in a Blub bubble.  

Um, I think you'll find it's a blubble.

 
 

Posted by agent_008_nl on 19-Feb-2020 15:15

>  I'm assuming the blub programmer is able to accomplish what he needs to in blub, and his job isn't at risk.  In that case, blub will always be good enough. For example, all he might need to accomplish on a daily basis is to add a record to a database, edit a record in a database, and ... wait for it....  delete a record in a database.

And then a new requirement comes in from a business analist that is not living in the blub bubble, which without the über-blub is very hard or impossible to realize.

Or your competitor finds out a couple of things...

Posted by ssouthwe on 19-Feb-2020 15:32

Posted by agent_008_nl on 19-Feb-2020 15:38

In Holland we have the "blubber" (a noun) which means mud.

Posted by onnodehaan on 19-Feb-2020 15:41

blubber noun

Definition of blubber (Entry 2 of 2)

1a: the fat of whales and other large marine mammals

 b: excessive fat on the body

2: the action of blubbering

Posted by agent_008_nl on 19-Feb-2020 15:42

> his job isn't at risk

For a lot of blubbers jobs disappeared / became scarce.

Posted by agent_008_nl on 19-Feb-2020 15:51

> blubber noun

Definition of blubber (Entry 2 of 2)

1a: the fat of whales and other large marine mammals

b: excessive fat on the body

2: the action of blubbering

Nee man, blubber, het znw! ;-)

Did we land in Babylonia? :-)

Posted by Thomas Mercer-Hursh on 19-Feb-2020 16:19

Of course, if one uses Model-Based Development, one doesn't have to care about what target language one chooses and the "code" is eminently readable because it is a visual model. :)

Posted by agent_008_nl on 19-Feb-2020 17:39

Thomas,

I have been interested in low code some years ago. That is totally over. I have seen development in outsystems - a large low code vendor and thought & read a bit more. An article comparing 4GL's and low code and naming some problems:

medium.com/.../low-code-wave-of-the-future-or-blast-from-the-past-7fcd618371b2

4GL's had a hard time adapting to some the trends in the market. For example the internet. Low code environments will face the same problem.

 Another article naming some different problems with visual dev. worthwhile to think about:

dzone.com/.../visual-programming-why-its-a-bad-idea

Posted by agent_008_nl on 19-Feb-2020 17:39

Thomas,

I have been interested in low code some years ago. That is totally over. I have seen development in outsystems - a large low code vendor and thought & read a bit more. An article comparing 4GL's and low code and naming some problems:

medium.com/.../low-code-wave-of-the-future-or-blast-from-the-past-7fcd618371b2

4GL's had a hard time adapting to some the trends in the market. For example the internet. Low code environments will face the same problem.

 Another article naming some different problems with visual dev. worthwhile to think about:

dzone.com/.../visual-programming-why-its-a-bad-idea

Posted by Thomas Mercer-Hursh on 19-Feb-2020 18:58

Low code <> MBD.  Visual Development <> MBD.   Both have their point for some subsystems, but neither pretends to address the scope of what MBD addresses.

Posted by agent_008_nl on 20-Feb-2020 03:52

In your prev message:

> the "code" is eminently readable because it is a visual model. :)

So the criticisms in the articles apply. Before you reply: let's agree to disagree as always.

Posted by Thomas Mercer-Hursh on 20-Feb-2020 15:17

You are aware that there is code in the model?  Just not very much of it since much of what one needs code for is expressed in other ways.

Posted by agent_008_nl on 20-Feb-2020 15:36

I know how visual modeling works. How much code you need depends on the application. Have you read dzone.com/.../visual-programming-why-its-a-bad-idea That is a hell of a criticism.

Posted by agent_008_nl on 20-Feb-2020 15:36

I know how visual modeling works. How much code you need depends on the application. Have you read dzone.com/.../visual-programming-why-its-a-bad-idea That is a hell of a criticism.

Posted by Thomas Mercer-Hursh on 20-Feb-2020 16:42

Once again, visual programming <> MBD

Posted by agent_008_nl on 20-Feb-2020 17:19

Once again: you wrote

> one doesn't have to care about what target language one chooses and the "code" is eminently readable because it is a visual model. :)

I see visual modeling the same as visual programming. You program, but with boxes, arrows etc. My view is not uncommon. Search f.e. this text for keyword "model"

en.wikipedia.org/.../Visual_programming_language. Or see here how the terms are used arxiv.org/.../1905.02486

This thread is closed