Micro Blog
On the topic of [JS] performance

The gurus have already spoken on this for years now, no need to write new essays about it.

So here’s a quote from Steve Sounders’s “Even Faster Web Sites”:

Everything is a trade-off. When optimizing for performance, do not waste time trying to speed up code that does not consume a significant amount of time. Measure first. Back out of any optimization that does not provide an enjoyable benefit.

Browsers tend to spend little time running JavaScript. Most of their time is spent in the DOM. Ask your browser maker to provide better performance measurement tools.

Code for quality. Clean, legible, well-organized code is easier to get right, easier to maintain, and easier to optimize. Avoid tricks except when they can be proven to substantially improve performance.

Original text

"Don’t learn jQuery, learn JavaScript"

I say: Don’t learn JavaScript, learn the semantics and pragmatics of Programming Languages.

It’s just the “Give a man a fish; you have fed him for today. Teach a man to fish; and you have fed him for a lifetime” mantra applied to programming.

JavaScript doesn’t bring anything new as a programming language:

    - Prototype based OO? Self: 23 years ago.

    - Closures? the concept: 50 years ago, Scheme: 35 years ago.

In the 60’s FORTRAN was the first real alternative to assembly, the cool kids were doing it and leaving assembly behind, the seniors were struggling. Ugh, a different way of thinking.

10 years ago it was Java prime and all the cool kids were learning class-based OO and mastering design patterns to make applications in a very fast way that would run “anywhere”. At the same time making fun of everyone that was doing non-OO programming in Java.

Today all the cool kids are doing prototype-based OO and making fun of all class-based OO programmers trying to pick up on JavaScript.

Can you see a pattern here? Don’t trap yourself thinking that JavaScript will still be the cool language 10 years from now.

So I say, don’t learn JavaScript, learn:

    - Functional / Imperative / Logic languages

    - Lexical / Dynamic scope.

    - Weakly / Strongly Typed languages

    - Concurrency / Schedulers

    - First Class Values

    - Polymorphism

    - Meta Programming / Reflection

    - Type Coercion

    - Type Inference

    - Lexical / Syntax analysis

    - Optimization

    - Syntax Trees

    - Compilation VS Interpretation

    - Lisp / CLOS

Basically read Programming Language Pragmatics.

Happiness is a habit.

Happiness is a habit.

How to be… AWESOME!

How to be… AWESOME!

NSB is awesome :-)

NSB is awesome :-)

As autoridades locais ainda pediram a Jessica Watson para desisitir da viagem, depois do seu barco (Pink Lady) ter chocado com um navio de caga durante os treinos. Esta colisão fez que com que o seu mastro ficasse danificado.
Apple Copy&Paste FAIL

Apple Copy&Paste FAIL

Pague mais, leve menos!

Pague mais, leve menos!