Understanding the New Cross-Platform .NET, part 2 (ASP.NET)

In the first of this four-part series, we took a high-level look at the new “.NET Core” from the perspective of Java developers and veterans of other modern platforms. We saw how .NET Core differs from both Mono and the legacy “.NET Framework“, in terms of openness, cross-platform support, and basic use cases. Here we’ll take a deeper dive into the new open-source and cross-platform ASP.NET framework and build system. [Read More]

Understanding the New Cross-Platform .NET

Part 1 of a 4-part series. A link to part 2 is at the bottom. Java has been my primary bread-and-butter for more than 15 years. However, over the past five years, my two most recent companies have been mixed shops that use both Java and C# to some degree. My initial impression was that “C#-as-a-language” is about five years ahead of Java, but “.NET-as-a-ecosystem” is a decade or more behind. [Read More]

Go for Java Programmers: Simple Types

Part of the Go for Java Programmers series Before we get into custom types, and Go’s version of object-orientation, let’s cover the simple types that come out of the box. Full details can be found in the (surprisingly readable) language spec, but here are some highlights that are important from a Java programmer’s perspective. Booleans Boolean variables are declared with type bool, and their value must be one of two constants, true or false. [Read More]

Book Review: Practical Vim

I picked up a copy of Drew Neil’s Practical Vim on a lark. With Java being my main programming language for professional use, I spend most of my time coding within an IDE. For over a decade that was Eclipse, and more recently it’s been IntelliJ, but I would definitely not use a plain text editor for non-trivial Java development. I do use vi/Vim when I’m forced to edit something within a shell session. [Read More]

Simplify Time Intervals in Java With TimeUnit

In Java, like most programming languages, it is fairly common to represent and pass around time interval lengths as a number of milliseconds. This how most hardware thinks of time under the covers, anyway. It’s very easy to get a millisecond representation from any Java date or time object, and you can always get the current time from System.currentTimeMillis(). Therefore, milliseconds are a “universal language” that is often used in API’s, to avoid worrying about who’s using the Java 8 time library vs. [Read More]