2023-10-22

C++ slower than Java: the danger of AI, or HS

Once in a while I look up articles about programming languages, just to waste a little bit of precious time or to find inspiring quotes agreeing with my fact-grounded truth about languages which suck, despite being widely used, and those that could rule half the world, if only programming hadn’t become like modern music and art: coloured tasteless shit put inside glossy glassy windows which by mirroring attract schools of self-admired empty hedonistic puppets, once persons, playing the assigned role of the rebels, faux as a golden hole, happily in chains hidden under a silky furry trendy carpet — and the so-called artist, who’s built this captivating dreamy reality to help the rulers keeping the rabble in line, has the pockets packed of money. Burnt youth whom the awful truth can’t be revealed to — just to cite the poet.

I began writing this article on 18 September 2022. It was a filler then, it is a filler now. But this doesn’t mean that there can’t be wisdom between the lines.

2020-10-03

Object-Oriented Programming is Embarrassing?

I like very much articles and videos smashing C++ and object oriented paradigm as it is now.

Here an example of video about OOP, it goes by the title of Object-Oriented Programming is Embarrassing. Woa.

Don’t take me wrong: OOP can be good. Just not used so much and how it is often used.

And about C++, not strictly related to OOP, but the story is this: I hated the language until C++11, when I started to see hope. But now, I doubt the path is “totally” correct. I mean, there are still good stuffs added even in the latest revision (few things come late, but better late than never, right?), but it seems to me it’s going too fast. They should slow down and think a little bit more before they add something they will deprecate later. And in the meantime, developer can let the new things sink better in their mindset.

Object-Oriented Programming is Garbage: 3800 SLOC example

2020-10-02

Chaining mistakes

You shall never do the same mistake again.

Unless you don’t recognize that it’s the same error.

2020-09-25

Vaporware 2020-2021

So far, I “have” few chess engines which are pure vaporware, with the only exception of one, which did play against itself, but it was a mess already and then it was scratched away.

By そらみみ (Soramimi) - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=47231683

2020-08-30

Ada 2020 target syntax (at)

I’ve already talked a little bit about Ada++ — just a waste of time, in my opinion.

Somebody once told me that he liked C because you can write

   a++;

where other languages require

   a := a + 1;

I don’t see the problem, but imagine that the variable to be incremented is longer:

   A_Long_Name_For_A_Var := A_Long_Name_For_A_Var + 1;

Well, in Ada 2020 you can write

   A_Long_Name_For_A_Var := @ + 1;

(Yes, Ada 2020, not in Ada 2012… GNAT already support -gnat2020 and this feature, but I suppose you must check what else is supported before embracing anything in Ada 2020.)

Let’s say it again: Ada++ syntax is a silly idea

Silly to say the least.

Now I’ve stumbled on A Modern Syntax For Ada and had goose bumps and thrills along my spine.

Make Way For Ducklings Prank.jpg

Before spitting on that job of Adacore’s core members, luckly I’ve read that it’s just a April Fool Prank.

Now I feel better.

But let’s compare the idea of this prank with Ada++…

Ada++ embraces part of those ideas scolded in the april fool prank!

  • is becomes :
  • pointless shortening (here return becomes ret, function becomes fn… Ada++ has priv instead of private…)
  • begin becomes { and end }

So, I hope I am not alone when I say that Ada++ is a horrible idea and hopefully I won’t be the only one rage rejecting it.

2020-08-29

Top 10 highest paid programming languages

I don’t think one should learn a programming language just because it is well paid. A programming language is just a tool, you can use it well or bad, to build or destroy, to make life great or miserable to your future self and your collegues — and your employer, I forgot to mention it…

New languages and falling downs.jpg

But real life, alas, works like this: you choose your tools not just because they are the best to do what you want to do: you choose them because there’s someone willing to pay you to use them, even if they aren’t the best tools for the job — but, you know, everybody’s using this, or that, or that, or that…

Maybe that explains the success of certain languages and their ecosystems: nobody thinks to ask if they are the right tool anymore… At least, that’s so when the product isn’t, indeed, critically bound to such a technical choice, and hence market- and money-induced blindness don’t waste everything… Apparently…

Anyway, if I were you, I wouldn’t enrich my skillset just looking at boring lists of most paid this or that. It’s a dangerous path (maybe not for the wealth, but for the health of the consultants’ built digital world, it kind of is.)

Articles with titles like “Top N something” are almost click-bait. Be prepared to read BS — which doesn’t mean there isn’t some research and value in those words.

Well, do you really want to become rich programmer? Then, maybe the article Top 10 highest-paying programming languages in 2020 appeals to this secret desire.

Let’s see…

2020-08-15

Absurd dependencies

Writing something in texinfo, it happens that I can’t use @subentry for the index. It seems Ubuntu 19.10 has an old texinfo. So I downloaded the latest and wanted to purge the old one. But:

$ sudo apt-get remove texinfo
[sudo] password for user: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
...
The following packages will be REMOVED:
  cantor-backend-octave dynare liboctave-dev lilypond lilypond-data matlab2tikz octave octave-bim octave-biosig octave-bsltl
  octave-cgi octave-communications octave-communications-common octave-control octave-data-smoothing octave-dataframe octave-dicom
  octave-divand octave-doctest octave-econometrics octave-financial octave-fits octave-fpl octave-fuzzy-logic-toolkit octave-ga
  octave-gdf octave-general octave-geometry octave-gsl octave-image octave-image-acquisition octave-instrument-control octave-interval
  octave-io octave-level-set octave-linear-algebra octave-lssa octave-ltfat octave-ltfat-common octave-mapping octave-miscellaneous
  octave-missing-functions octave-mpi octave-msh octave-mvn octave-nan octave-ncarray octave-netcdf octave-nlopt octave-nurbs
  octave-octclip octave-octproj octave-openems octave-optics octave-optim octave-optiminterp octave-parallel octave-pfstools
  octave-plplot octave-psychtoolbox-3 octave-quaternion octave-queueing octave-secs1d octave-secs2d octave-secs3d octave-signal
  octave-sockets octave-sparsersb octave-specfun octave-splines octave-statistics octave-stk octave-strings octave-struct
  octave-symbolic octave-tsa octave-vibes octave-vlfeat octave-vrml octave-zenity octave-zeromq texinfo texlive-full

Why? Why removing texinfo should bring down the whole texlive-full and whole pieces of octave and… WTF. Idiotic, nonsense dependencies.

So I will keep that old texinfo. And Ubuntu has one more angle to push me towards their personal nightmare (I mean, snaps).

2020-08-09

Old times news

Weeks ago I digged into one of my dad’s hard drive on his Microsoft Windows office machine, searching for interesting stuffs he could have left there. Since I hadn’t the time to cope with all the amount of data found there, I did a simple

dir /s ... >a_file.txt

(or something like this) to have a list to check against the content of other hard drives at home. Likely what’s there was already copied here.