I had 2 hours to kill so I thought I’d write a LOLCode interpreter.
I know there’s already a few LOLCode interpreters around, but I couldn’t help myself. Plus I’ve always been interested in interpreter design.
It’s still a work in progress at this stage, so a lot of the language hasn’t been fully implemented.
Here are two working programs…
Hello World
BTW the classic hello world program
HAI
VISIBLE "Hello world!"
KTHXBAI
Output:

Accepting User Input
HAI
VISIBLE "Hello there, what is your name?!"
I HAS A NAME ""
BTW ask for the users name
GIMMEH NAME
BTW welcome the user
VISIBLE "Welcome to LOLCode " N NAME N "!"
KTHXBAI
Output:

Here’s a quick tip for working with the command line in PHP.
If you’ve ever run a PHP script via the command line, you would have noticed that output from the script is not printed until the script has finished.
If you need your output displayed in real time, you can open a stream to the command line…
$stdout = fopen('php://stdout', 'w');
Simply write any output to the stream and it will be printed on the command line in real time…
fwrite($stdout, "Hello CLIn");
Most developers have now heard about Facebook’s leaked index.php source code, which was anonymously posted here. If you haven’t seen it already, there are a number of links listed on Techcrunch.
I’ve seen a few bloggers criticize Facebook developers for using procedural programming rather than classes and object oriented techniques. I’m not exactly sure why they’ve chosen to develop the site like this; but I am going to take a guess and say it was to improve speed and efficiency.
Object oriented programming was first introduced to PHP in version 4. However, the language wasn’t originally designed around objects and classes, so the implementation was clunky and awkward. This meant that procedural code was often much faster than object oriented code.
Considering the size and popularity of social networks, I’m not surprised they chose procedural code over objects. That tiny boost in performance would easily outweigh the advantages of using classes.
Fortunately, most (if not all) issues with objects have been solved in PHP 5, which is now closer to a truly object oriented language.
Here’s an easy way of filtering empty variables from an array, without using a loop or multiple if statements.
<?php
$var1 = ”;
$var2 = ‘dog’;
$var3 = ”;
$var4 = ‘fish’;
$my_array = array($var1, $var2, $var3, $var4);
print_r(array_filter($my_array));
?>
Output:
Array ( [1] => dog [3] => fish )