Java – One Year Later

It’s been a little over a year since I started developing in Java full-time again. A retrospective is overdue!

Workplace takeaways

Communication. This may not seem like a Java-related skill, but I cannot overstate how many times stopping to ask questions, even if they seem a bit silly, saved our entire team hours of unnecessary work. On the converse, I can tell you how frustrated I’ve felt when work was duplicated because of the lack of communication or, even worse, wrong communication. 😅 Thankfully, I’ve been blessed with a team that is overall communicative and has been increasingly so in the last few months. Go team!!! 😎

Convention over configuration is nice, but shared knowledge is prime! Spring Boot gives developers a huge break by inserting smart defaults whilst allowing for easy overriding. Couple this with Spring Data JPA and sensible namespacing and you have yourself a web application setup that rivals the likes of Ruby on Rails and Django. However, good tooling does not equal superior code. If your team doesn’t actually understand the APIs and patterns of a convention-over-configuration setup, it is better in my opinion to aim for a lower level setup, such as JDBC or Spring Framework 5 or even Servlets, until sufficient training or knowledge sharing can take place in your team.

What’s happened in the Java universe

During this time, Java has noticeably evolved to the point that, by next year, I expect many developers’ boilerplate code to signficantly differ from how it looked last year.

Java 13 and 14 have rolled out with some notable changes. Records are a preview feature to simplify immutable objects, eliminating the need for manually creating getters & setters or depending on a 3rd party library to do so.

record Customer(String name, String address, String phoneNumber) {}

Text blocks are also in preview, Python style:

var explanation = """
Winter fights to stay.
Sweet Spring always wins her way.
Flowers bloomed today!


And switch expressions finally break 😁 us away from the older, cumbersome syntax. They are also standard and no longer in preview as of Java 14. Here’s an example of the arrow syntax:

private static double getMaximumDose(String ageGroup) {
    int result = switch (ageGroup) {
        case "infant", "toddler" -> 0.5;
        case "preteen" -> 1.0;
        case "teen", "adult", "senior" -> 2.0;
        default -> -1.0;
    return result;

Java 8 is still a big deal, and is going to continue to be a big deal for quite a while. According to Snyk, 2 in 3 developers still use Java 8 in 2020, 6 years after its release. Oracle plans to commercially support Java 8 until 2030 for a price.

Java EE is now Jakarta thanks to Oracle donating its APIs, but forbidding the use of the javax namespace.

Micronaut made its debut as a potential Spring rival in the serverless space, executing dependency injections at compile time instead of at runtime.

Kotlin is the 2nd most popular JVM language.


Bad company in Ancient Jewish Thought

Credit goes to my friend Sam Stephens, who provided review and thoughtful ideas. A few sentences are verbatim from his input.


Should Christians avoid befriending unbelievers?  A common passage referenced by Christians regarding the befriending of unbelievers is 1 Corinthians 15:33. Here are three popular translations of the passage:

Do not be deceived: “Bad company ruins good morals.”


Be not deceived: evil communications corrupt good manners.


Do not be misled: “Bad company corrupts good character.”


The assumption made is that befriending an unbeliever is to hang out with bad company.  Does Paul consider unbelievers (including sexually immoral unbelievers) to be inherently bad company?  What was Paul talking about in that section of 1 Corinthians 15?  And what does “bad company” mean in a Jewish context?

What is “company”?

The Greek word for “company” in 1 Corinthians 15 is the only occurrence of the word in the New Testament.  The Greek word is ὁμιλία (“homilia”) from where we get the word “homily” (another word for “sermon”).

Given the variety of lexical definitions and translations available (look up Strong’s Greek number G3657 if you want to see them all), the best way to anchor in a higher likelihood of an accurate lexical definition of the word is to observe the usage of the Greek word in Jewish literature that was highly probable to be in use during Paul’s time.  The Septuagint (which we’ll refer to as LXX going forward) is the best source since it is the Greek translation of the Old Testament that is quoted verbatim by authors of the Greek New Testament.

As it turns out, ὁμιλία is used 4 times in the LXX! Two of them are in the canon (LXX contains some non-canon, if you didn’t know already).  We will focus on the canonical uses but quickly cover the non-canonical too.

The first occurrence is in Exodus 21:10. It is the Mosaic covenantal law regarding men having a polygamous martial relationship in which one of the women is a Hebrew bondservant.  The translation of ὁμιλία is in bold:

If he takes another wife to himself, he shall not diminish her food, her clothing, or her marital rights.


If he take him another wife; her food, her raiment, and her duty of marriage, shall he not diminish.


If he marries another woman, he must not deprive the first one of her food, clothing and marital rights.


There is strong agreement across the translations on the meaning of ὁμιλία in this passage: an intimate, sexual form of “company”!

The other occurrence is in Proverbs 7:21, regarding the seductress who entices the foolish boy. Again, the translation of ὁμιλία is in bold:

With much seductive speech she persuades him; with her smooth talk she compels him.


With her much fair speech she caused him to yield, with the flattering of her lips she forced him.


With persuasive words she led him astray; she seduced him with her smooth talk.


Once again, strong agreement on the word meaning in the translations.  It’s communication, but of a sexual nature.

In the non-canonical LXX passages it is used in the context of being close to wisdom as a husband being close company with a spouse (Wisdom of Solomon 8:18), and it is also used to describe a party involving drinking and “revelry” (3 Maccabees 5:18).

In biblical Jewish literature, this word is always used to mean company of a particularly intimate nature. Within the scope of the LXX it’s used for marriage, drinking buddies, or sex.

So what was Paul talking about?

We must marry the Jewish lexical use with the context of the passage.  Pun intended.

In the context of verse 33, Paul is saying that a hedonistic lifestyle is logical if the resurrection isn’t true.  However, being in company with people for the purpose of loose living is known to be bad for you, so therefore hedonism is false.  Which also means the Corinthians, who have been tolerating sexual immorality in their own congregation (1 Cor. 5), must needs stop living like hedonists and live in the light of the resurrection!

If you do not subscribe to the above contextual interpretation, there are two other probabilities:

  1. The “bad company” may be referring to the “some” who “have no knowledge of God” in verse 34.
  2. The “bad company” may be referring to the person asking “how are the dead raised” in verse 35.

For these two warnings, perhaps the warning is a bit more dire: Simply engaging in a close way with people who doubt God’s ability to raise the dead (by extension, people who do not teach proper doctrine) can itself lead to morally sinful living, even if that idea wasn’t on the table to start with.

The end is the same, though. The “bad company” is not friends who are unsaved or horribly sinful. It’s close conversation motivated by a desire to be like people who willfully disbelieve God.

Did Paul believe that unbelievers were inherently bad company?

It is contextually clear in the New Covenant sciptures that Paul allows for believers to at least have some degree of association and to even have meals with unbelievers who are sexually immoral, idolaters, and who even take advantage of other people!  Avoiding to even eat with such a person is reserved for those unrepentantly practicing this lifestyle while claiming to be believers.

It is clear that sexually immoral, idolatrous, and even exploitive people are not inherently the “bad company” of 1 Corinthians 15:33 unless they are working to seduce you to sin, or if you are trying to hang out with them for the purpose of disobedience.  The scriptures warning us to not participate in the sins of our unbelieving friends are numerous!

In conclusion, Christians are NOT being commanded in this passage to avoid friendships with unbelievers (including the sexually immoral). This common misapplication of the passage ignores the passage’s surrounding context and the historical Jewish usage of the word for “company”. An appropriate use of this passage is for warning people who are in relationships with either professing believers or unbelievers for the purpose of going along with their sin. Being in such relationships will corrupt character.