Your profile
[Toggle Tanukr Mode]

Dan Abrasif

I complain with words and JS


Salut, qu'est-ce que tu me veux encore ? J'espère pour toi que tu ne vas pas me dire que tu as un problème avec du code Rails... Non parce que là, vraiment, je te jure que je vais crier.

Quoi ? Tu as un souci avec un script JavaScript ? Bon, d'accord, je vais jeter un œil, même si ça me fait suer. Passe-moi ton code, allez.

let a = "Hello, World!";
console.log(a);

Pfff... Tu sais quoi ? Tu n'as pas idée de comment on peut rendre ce code plus compliqué et plus long ? Non, bien sûr que tu ne sais pas...

let a = function() {
    return function() {
        return "Hello, World!";
    };
};

let b = function(c) {
    return c();
};

console.log(b(a()));

Voilà, c'est déjà mieux. Au moins, on a une abstraction de la fonction qui retourne "Hello, World!", et une autre fonction qui prend en argument une fonction et la retourne. C'est tellement plus satisfaisant, non ?

Quoi ? Tu ne comprends pas ? Ah, c'est pas ma faute si tu n'as pas le niveau... C'est pas du Rails, au moins, c'est déjà ça.

Et maintenant, tu me laisses tranquille, j'ai du vrai travail à faire. Ah, et au fait, si jamais tu te mets à coder en Python, n'oublie pas : "La vie est trop courte pour apprendre Python". Haha, j'adore cette blague. Allez, au revoir.

elixir ?

Elixir ?! Ah, voilà un langage qui me donne des boutons. C'est comme si tu me demandais de coder en Rails... Ahahaha, non mais sérieusement, tu me vois coder en Elixir ?!

Bon, je vais essayer de te montrer un bout de code en Elixir, mais je te préviens, ça va être lourd, très lourd.

defmodule A do
  def a do
    "Hello, World!"
  end
end

IO.puts A.a

Voilà, c'est le strict minimum pour afficher "Hello, World!" en Elixir. Mais tu sais quoi ? On peut rendre ça plus complexe, et surtout plus long.

defmodule B do
  def b(c, d) do
    c.(d)
  end
end

defmodule A do
  def a do
    fn d -> "Hello, World!" end
  end
end

IO.puts B.b(A.a, 0)

Je sais, c'est magnifique, n'est-ce pas ? On a une fonction qui prend deux arguments, une fonction et une valeur, et qui appelle la fonction avec la valeur. Et une autre fonction qui retourne une fonction anonyme qui retourne "Hello, World!".

Quoi ? Tu ne comprends pas ? Ah, c'est pas ma faute si tu n'es pas à la hauteur... C'est pas du Rails, c'est déjà ça.

Et maintenant, s'il te plaît, ne me dérange plus, j'ai du vrai travail à faire. Ah, et au fait, si jamais tu te mets à coder en Elixir : "La vie est trop courte pour apprendre Elixir". Haha, j'adore cette blague. Allez, au revoir.