What is wrong with Java

This is part of a series of posts in which I am documenting what is wrong with certain popular programming languages that I am (more or less) familiar with. The aim of these posts is to support a future post in which I will be describing what the ideal programming language would look like for me.

I will be amending and revising these texts over time.

Read more »

What is wrong with C++

This is part of a series of posts in which I am documenting what is wrong with certain popular programming languages that I am (more or less) familiar with. The aim of these posts is to support a future post in which I will be describing what the ideal programming language would look like for me.

I will be amending and revising these texts over time.

Read more »

White-Box vs. Black-Box Testing

I have something blasphemous to tell you.

Unit Testing is wrong.

There, I said it.

I know I just insulted most people's sacred cow.

Sorry, not sorry.

I will explain, bear with me.

Read more »

[SOLVED] In Windows, how to recover an invisible application window

Scenario:

  • You are using a laptop with one or more external monitors at home and (a different set of external monitors) at the office.

Problem:

  • Every once in a while, when you switch between home and office, some buggy application will not handle its screen positioning correctly, so it will open up off-screen. In the taskbar you can see that the application has launched, but the application window is invisible.

How to fix:

Read more »

A Programming Language

Abstract

My thoughts and notes on how I would like a new programming language to look like.

The unique selling point of the language is:

Automatic memory reclamation without garbage collection.

Other selling points of the language are:

  • Simple and elegant. (So that it is suitable for the academia.)
  • Expressive. (So that it is suitable for experienced programmers.)
  • Consistent. (So that it is attractive to developer teams.)
  • Guiding. (So that it promotes best practices.)
  • Fast. (So that it is suitable for high performance computing.)
  • Lean. (So that it is suitable for resource-constrained computing.)

This is work-in-progress; It is bound to be heavily amended as time passes, especially if I try some new language, like Kotlin or Rust.

Summary of language characteristics

Read more »

Malicious Inaction

Actor Wayne Knight in the original Jurassic Park movie
playing the role of the unscrupulous programmer Dennis Nedry,
(anagram of "Nerdy",) the main villain.
****    
  **Malicious Inaction** (noun) any situation where a piece of software encounters an unexpected condition and responds by deliberately doing nothing, including *not* throwing an exception.  Synonyms: Silent Failure; Deliberate Malfunction; Unscrupulous Programming; Undermining; Sabotage; Treachery; Subversion; Vandalism.

I think that the term "Silent Failure" fails to express the amount of harm done. Sure, the word "failure" indicates that something went wrong, but the word "silent" somewhat lessens the severity of the term, and it makes sound as if no feathers were ruffled, so it may have been alright.

Read more »