Programming Tip Of The Day


4
Dec 09

Programming Tip Of The Day #2 – Difference Between i++ and ++i

To some, this should seem a bit obvious and if I am insulting your intelligence by discussing it, I am sorry.  But, one of the main reasons I want to discuss this topic is, I was asked this question in a job interview for Lockheed Martin.

What is the difference between i++ and ++i?

The answer is actually quite simple.

i++ first evaluates the value of i and then increments it

++i increments the value of i and then evaluates it

Here is a brief example to demonstrate what I mean.

// Example: i++ 
$i = 5;
echo "The value of i is " . $i++ ;
// Output "The value of i is 5"
// i = 6
 
// Example: ++i 
$i = 5;
echo "The value of i is " . ++$i;
// Output "The value of i is 6"
// i = 6

So, now if you are ever asked about this in an interview, you will have a response.

Happy programming!


3
Dec 09

Programming Tip Of The Day #1 – Ternary Operator

So, I though I’d start this series called Programming Tip Of The Day to write about useful things I come across in programming.  Both to educate my readers and as a personal archive of ideas and tips.

I will kick it off today with a quick rant about the ternary operator.  I <3 the ternary operator.  It’s quick, efficient and saves a lot of ugly code.

For those of you who don’t know, the ternary operator is made up of 3 elements: The condition and two results.  It is of the form:

(condition) ? (result if true) : (result if false);

This is much nicer than an if statement.  So here is a brief example about how a ternary operator can replace an if-statement.

if-statement

if(isSnowing) {
	iMustBe = "cold";
} else {
	iMustBe = "warm";
}

Same thing using ternary

iMustBe = isSnowing ? "cold" : "warm";

That is so much easier to read (IMHO). You can even do clever things in printing. Here is a small example in PHP for using the ternary operator when doing an echo.

<?php
  echo "I am a ".((height > 72) ? "tall" : "short")." person!";
?>

Most languages support the ternary operator. Check out this wiki page if you want more info.

Happy programming!