with No Comments

In every age, in every competition, in every race, in every battle, in every war, speed wins. If not, then you need to overcompensate in another parameter to beat speed. When it comes to software, speed (and by corollary, efficiency) should be a priority in the design.

Page Load Speed

When I design & develop web sites, I always test for load speed. In fact, the most popular search engines are computing page load speed as part of their algorithm.

The fact of the matter is when someone visits a website, if it takes one second too long to load, I'm gone. Don't care what's on it anymore. I'm sure you're like that too. Most people are. Why do I have to wait for a website to load when I know there's plenty out there that loads fast?

JavaScript produces a lot of web magic, but always at a cost. Websites laced with JavaScript can take ages (15 seconds or more) to load. Developers should be wary to use it like a precious resource: only when it's necessary.

Slow Software Sucks

The concept should be the same in software. Software designers are so focused on features at the sacrifice of reasonable speed. I see this problem in CRM software for business folks. Some of the best CRM's are riddled with terrible speed. By that, I mean 2 second or more latency between actions/events. It's not supposed to be complicated software. CRM's deal with a lot of text and data entry, which should be trivial for today's hardware. All the little seconds add up. Even with the best features in the world, if software is not built for speed, it's going to phase out.

But we have processing power!

Do we? Not everyone, not all the time.

You would argue that today's processors are super fast. We can afford a little inefficiency. Yes, there should always be consideration for excess processing power. It's awesome to be in a time when processing power has progressed so far. It's no longer a bottleneck for the average consumer.

Nowadays, processors are shrinking more and more. We have an entire computer in the palms of our hands! And that is the point: we are trading processing power for size these days. You can't expect everyone to be on fast hardware.

Internet speed is also a thing. We are sacrificing speed for mobility. If I had a choice, I would hook up to an Ethernet port every time. But, when I'm at the beach or in the mountains, 4G/LTE is a blessing too. Chances are mobile carriers charge their users for data usage. It's in the best interest of web apps to not hog resources. The point is this, developers should always consider speed and efficiency. Customers are always changing the ways they interact with technology. So, apps need to be lightweight to handle every use case.

Why C Programming Attracts Me

C rules the world.

I've started to look into C programming. It is one of the oldest programming languages. Yet, today it is still prevalent. Very prevalent. Can you imagine what OS dominates supercomputers? Linux. And what is Linux written in? C. Every OS has been written with C. Your smart phone was written with C. Every toy, digital clock, appliance, car, plane that has an electrical/programmed component was written in C.

There are several reasons why that is. C is efficient and portable. Thus, FAST. It can manipulate memory. It is a low level language that is close to the machine. When you learn C, you learn how the machine works. The only language lower than C would be assembly language.

If the zombie apocalypse came, your best bet to rebuild computers from scratch would be C programming.