Apache Spark is a special library for me because it helped me a lot at the beginning of my data engineering adventure to learn Scala and data-oriented concept. This "learn-from-existent-lib" approach helped me also to discover some tips & tricks about reading others code. Even though I used them mostly to discover Apache Spark, I believe that they are applicable to other JVM-based projects and will help you at least a little bit to understand other Open Source frameworks.
Some time ago during my research about Akka I found a term describing coding philosophy using, among others, by this library. The term itself is quite intriguing and it's the reason why I've decided to deepen it.
The basic Big O measures (O(1), O(n), O(log n)) are understandable quite easily. However they're not the single ones - especially because of Scala collections. Two variations of them, a little bit less unequivocal, exist - amortized and effective constant time.
It's not an enviable experience to arrive to new project team and see methods violating all rules of common sense. Sometimes it's because of programmers ignorance, sometimes because of "yesterday deadline", sometimes because some people like to be irreplaceable (and by producing code maintenable with difficulty, they can achieve that in some way). This post tries to justify why short methods are better than the long ones.
Automatic garbage collection removes the overhead of allocating and deallocating memory. Even if it's not a magic solution to all problems, it's helpful. And because there are different automatic GC types, it's important to know them.
Does it possible that stealing has a positive meaning ? Maybe in real life no, but in programming work stealing brings more positive than negative points.
Speaking some language fluently means that we speak without pauses needed to find appropriated words for example. In programming, fluency has almost the same meaning and we'll prove that through this article.
Spring Framework is only one example of "programming to interface" rule implementation. Through this article we'll cover this topic in more detailed way.
When we discover object-oriented programming after passing by functional programming, inheritance seems to be revolutionary technique. However, it also can be misused, usually in the case when it should be replaced by composition.
Some years ago, a big part of web developers were asking the question : How to make work our application on international environment ? Actually the encoding issues are less present and all thanks to popularization of Unicode Transformation Format, commonly known as UTF.