Home Mundo El mejor lenguaje de programación para el fin del mundo

El mejor lenguaje de programación para el fin del mundo

11
0

Codificación me recordó la distopía sin ley en Mad Max. Usted hace sus propias reglas, sujeto a los límites del contexto. Puede redefinir la instrucción IF si es así por favor. Puede reescribir las instrucciones del código de la máquina para una palabra. Incluso puedes cambiar las palabras durante el tiempo de ejecución. Debido a que las palabras se convierten en palabras clave en Forth, puede crear un lenguaje optimizado para un solo propósito, los comandos de embalaje que de otro modo serían docenas de líneas en una sola. “En Forth, estás creando tu propio idioma”, Leo Brodie, autor del primer libro de texto, Que comienzame dijo.

La naturaleza de bajo nivel de Forth, aunque clave para su poder de procesamiento, hizo que la programación se sintiera extraña. Utiliza Postfix, una forma de notación matemática que hace que 2 + 1 como 2 1+ y que no encontré ni intuitiva ni realmente legible. Y si bien la mayoría de los idiomas permiten que la memoria se rompa y se mueva, FUEST se basa en la pila: los datos significativos se almacenan cronológicamente y se gestionan en la última vez. Seguí encontrándome con errores, obligándome a abandonar las convenciones de programación que había considerado universal. Me encontré luchando por hablar el idioma de la máquina.

Cuando le envié un correo electrónico a Dupras para pedir ayuda, él comparó el uso de conducir un palo. Es más granular que C. donde este último define convenciones de llamadas, almacenamiento variable y gestión de la pila de retorno, lo deja todo al programador. Interactúa directamente con la memoria de la misma manera que C lo hace, pero supera a C en precisión y eficiencia. “La gente se equivoca como un idioma”, dice Dupras. “Es una forma de interactuar con la computadora”.

La razón por la que no es más popular es la misma razón por la que la mayoría de nosotros conducimos automáticamente. El auge de la computación personal de la década de 1990 provocó una obsesión por hacer que la tecnología se ajuste a su palma y facilitar el código de escribir. Los idiomas fueron abstraidos para proteger a los programadores de sí mismos, y en algún momento, nos perdimos. Las cosas se hincharon en aras de la conveniencia y, en palabras de Dupras, comenzaron a “rezumar pus inescrutable en cada esquina”.

“La forma en que entendemos la eficiencia es tan sesgada”, dice Dupras. Forth es una guadaña de la cortadora de césped de Python. “Si calcula la cantidad de julios por hoja de hierba, encontrará que la persona que es más eficiente”, dice. “Cuando piensas en la velocidad, verías la cortadora de césped como más eficiente”. Forth te obliga a ser preciso y eficiente en la memoria: para reunir sus recursos con cuidado, como lo haría después del colapso. Dupras corta su propio césped con una guadaña, obviamente. “En cierto punto, puedes ir tan rápido como una cortadora de césped”, dice.

Comencé a encontrar mi camino. En lugar de enviar bytes al éter y confiar en el sistema para descubrir a dónde van, como lo haría en Python, me acostumbré a ser responsable de asignar y liberar memoria. Todo lo que podía pensar era en lo que se estaba almacenando, dónde se almacenaba y cuánto espacio requería. Cada línea de código repentinamente tenía peso. Yo era Immortan Joe, mi computadora portátil era mi ciudadela y la memoria era mi agua.

Pronto me encontré refinando y revisando mi código como lo haría con una oración ejecutada. En lugar de esperar que la máquina anticipara mis necesidades, intenté pensar como la máquina, para cumplirla más de la mitad. Y debido a que tuve que pensarlo dos veces, todos los acrónimos innecesariamente complicados que nos recuerdan que sean concisos en otros idiomas de codificación: Yagni (no lo necesitará), bese (manténgalo simple, estúpido), seco (no se repita), se obsoletaron.

Fuente