Categories
All English Radar

A more expressive vocabulary for programming

map and friends are more precise, sophisticated ways to talk about consistent patterns in data manipulation. Using them over for is analogous to using the word “cake” instead of “the kind of food that you make by whipping egg whites and maybe adding sugar”.

Interestingly, you can eventually add new layers of category on top of established layers: just like saying that butter cakes constitute a specific family of cakes, one could say that pluck is a specialization of map.

Of vocabulary and contracts, Miguel Fonseca.

Categories
All English Radar

Simple made easy

Precise words make communication more efficient. Arguably, software development is about managing conceptual complexity. Simple made easy, by Rich Hickey is a talk that tackles those two topics.

https://www.youtube.com/watch?v=cSwPOpOKr3w

Two takeaways from this talk:

  • The differences between simple and easy.
    • Simplicity is an objective measure, and its units are the level of interleaving (of concepts). Simplicity should not be measured by the cardinality, the number of concepts/units.
    • Easiness is a subjective measure, and it is related to how familiar you are with some topic or your past experience.
  • We can make things simple with the tools we already have by favoring concepts that make things simpler to reason about, not quicker to write. He recommends:

See also:

Categories
All English Radar

Taking PHP seriously

Slack se une al club de los que usan PHP:

Most programmers who have only casually used PHP know two things about it: that it is a bad language, which they would never use if given the choice; and that some of the most extraordinarily successful projects in history use it. This is not quite a contradiction, but it should make us curious. Did Facebook, Wikipedia, WordPress, Etsy, Baidu, Box, and more recently Slack all succeed in spite of using PHP? Would they all have been better off expressing their application in Ruby? Erlang? Haskell?

Relacionados: inversión y amortización en la selección tecnológica.

Categories
All English Fortunes Radar

While it might look like an overnight success in hindsight, the story of React is actually a great example of how new ideas often need to go through several rounds of refinement, iteration, and course correction over a long period of time before reaching their full potential.

— Our first 50.000 stars.

Categories
All By language By topic English Fortunes Radar

I want to push the idea that concepts are the real win, and they can be expressed in many different ways.

Dumb Redux, Tom MacWright.
Categories
All Español Radar

En la evolución de cómo se hacen aplicaciones web, la mutación principal del ciclo anterior habría sido la separación API/interfaz. En el actual, apostaría que lo fundamental se deriva de que el ecosistema JavaScript (tanto el lenguaje como las librerías a su alrededor) ha interiorizado dos ideas del mundo de la programación funcional: las funciones puras y la inmutabilidad. Esta hipótesis serviría para explicar, por ejemplo, la popularidad de React y Redux que no son más que la aplicación de estos conceptos a la creación de interfaces y la gestión del estado.

Categories
All English Radar

3 Key Design Principles for Product Listing Information. A study on how to show product info focused on e-commerce. It also applies to general element lists.

Categories
All Español Radar

Jen Simmons, editora del podcast The Web Ahead, presentó en el último AnEventApart una charla sobre la evolución de los layouts para la web y las nuevas posibilidades que existen. Muy recomendable en conjunción con los experimentos y demos que pueden verse en The Layout Ahead.

Categories
All Español Radar

How Elm slays an UI antipattern. Un ejemplo de cómo la estructura de datos (o las abstracciones que construyes) pueden simplificar el código y minimizar los errores.

Categories
All Radar

Spotify Culture

Actualización de un viejo artículo que ya comentamos aquí alguna vez. Para los que prefieren video en vez de texto: