Below you will find pages that utilize the taxonomy term “programming”
Articles
gcc -Wall is not all
I love compilers! I cannot code without them. They can prevent entire classes of errors and warns if I accidentally try to do something stupid in the code.
Warnings Besides compiling code and checking for type and syntax errors, compilers can also print useful warnings. I’m a fan of turning on all warnings and writing a “paranoidly” safe code just to avoid potential correctness and performance problems. While coding in C/C++, I use to use gcc with flag -Wall.
Articles
Hash Code - Problems
Hash code is the crucial thing in hash-based algorithms like those used in hash maps and all problems come from that simple fact. Its efficiency is as important as the efficiency of the hashing algorithm itself. Let’s talk about those problems and how to solve them.
Why hash code can cause a problem? The main problems are:
Implementation determines the collision probability. This is an important factor and people tend to forget or underestimate it.
Articles
Hash Code - Java's collections
Welcome back to Hash Code miniserie where you can read how the hash codes (non-cryptographic hashing algorithms) and hash collections work in different programming languages. This time let’s take a look under the hood of Java’s collections and Strings. How hash codes are generated for them? Let’s check it out.
Arrays Arrays in Java do not provide its own hashCode() implementation - it uses Object default which can cause a lot of error as hash depends on reference (an instance), not on its value.
Articles
Hash Code - Introduction
Welcome to the first article of the Hash Code miniserie where you can read how the hash codes (non-cryptographic hashing algorithms) and hash collections work in different programming languages. Every software engineer uses hash collections like Python’s dictionary, Java’s hash map or C++'s unordered map. You get them to know pretty early in your learning path as they are key data structures to solve many problems effectively but are you sure that you know them well?
Articles
How Lombok saved my ass
Lombok is a Java library that generates boilerplate code for you during the compilation. You probably use it or at least heard how it can clean the code with annotations like @Data or @Value. So I am not going to write yet another article on how to use the most popular annotations. I am going to show you one of the two most underrated features in Lombok - @Cleanup.
@Cleanup It is just (or maybe even) an alternative to try-with-resource introduced in Java 7.