How Will You Know if You’ll Like Programming?
Learning programming to the level of being able to create web applications or work in the field can take a lot of time and effort. But what if you don’t like it? What if you spend all that time and effort and it ends up that you hate programming and never want to see its ugly face again?
I hate to say it, but this can happen. I’ve seen it happen.
How to Measure Your Progress While Learning Programming
Learning programming can often feel like you’re running as fast as you can and getting nowhere fast. The minute you feel like you have something figured out, five more things pop up that you need to learn before you can even do anything useful.
Measuring programming progress is extremely hard to do. It doesn’t come naturally to humans to measure progress of a mental skill. Programming is a very mental skill.
Java: Unstrung
So Strings are built for optimisation, but are you using it in an optimised way? If you understand interning and immutability, you can start looking at ways to use those features to your advantage.
How to Waste Memory Without Really Trying Thinking about a String’s immutability, let’s look at String concatenation:
String name = getName(); //Returns "Joe" String a = "Welcome "; a += name; a += ", Good to See You.
Java: The Unchangeable String
One of the fundamental data types in Java is the String. In fact, it’s used so often that most people don’t even think much about what a String is or how it works. But a String Object works like no other object in Java in two important ways; immutability and internment.
You Can’t Touch This Immutability means that an object can’t be changed. Ever. You can’t modify any of its values in any way.
Thread Safety Dance
Another blast from the past.
If you’re working with Servlets or in a Threaded environment, you need to be thinking about thread safety.
Thread Bare Java has built in support for multiple threads in all its objects. The way it handles this, is each thread can get a handle on the object and run its methods at the same time which, for something like a servlet, cuts down on the amount of memory needed to load the servlets and the amount of time needed to instantiate multiple objects.
Programming to Interfaces
Yet another article from the archives. Hope it’s useful.
There is a common Object Oriented axiom that says “Program to the Interface and not to the Implementation”. But what does that mean and why is it useful?
Concrete Shoes Let’s say that we have a class that calculates the number of Strings that begin with S in a list:
class Begins { public static int calcBeginsWithS(ArrayList words) { Iterator iter = words.
A Couple Pointers
This is an article I wrote a while ago, but is still relevant to many languages still in use. Figured I’d repost it to this blog.
Many of you may have learned the following in Java 101, but I thought I’d repeat it just in case.
Most of the variables you’ll use in Java are going to be Objects. So in the following code, we’re creating three Objects:
BigDecimal number = new BigDecimal("9.
Double Trouble (Don’t use doubles for currency or accurate decimals)
This is an article that I wrote a few years ago that still applies today. It sounds very specific to Java, but it’s something you need to watch out for in any language.
Working with decimal numbers can be more complicated than it might seem. Many a Java programmer has been bitten by using doubles when calculating currency or another decimal value that relies on precision.
The problem Let’s say that we need to calculate a customer’s bill.
Being a Craftsperson
I used to play role playing games in High School. Namely, the Teenage Mutant Ninja Turtles Role Playing game. I was the GM. I played almost every weekend with my brother and my best friend–the center of the football team. I loved those games. I think we ignored half the rules, but the stories we created are still some of my best memories from that time.
Jump to today and my kids have gotten to the age where they are starting to stretch their storytelling wings a bit.
Would you want an email like this?
Take a look at this email and think about what it would mean about your career.
What about this email is different than most of the job postings out there that you routinely see?
Obviously, I put a big fat outline under one of those aspects; that they don’t care if I even know the language. The thing that most starting or junior developers are most worried about–“I need to know XYZ”–a hiring business in my area doesn’t even care about.