Home Technology Los encantos subjetivos de Objective-C

Los encantos subjetivos de Objective-C

6
0
Los encantos subjetivos de Objective-C
ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab

Los objetos de Objective-C, mientras tanto, estaban adornados con todos los prefijos de CAPS que con orgullo identificaron a su creador. Algunos llevan nombres familiares, como el botón para iniciar sesión en otro servicio con su cuenta de su Twitter (TWTRLOGINBUTTON), o el Agregar amigos de Facebook PopUp (FBFriendPickerViewController). Cuando aprendí Objective-C, el siguiente no había existido durante más de 15 años, pero el código de su sistema operativo NextStep estaba tan arraigado en los productos de Apple que su prefijo apareció en docenas de objetos y funciones que usé todos los días: Nsdictionary, Nsarray, Nsstring, NSLOG.

Objetivo-C es prolijo, propensamente excesivamente, y esta propensión pronto se metió en mi propia perspectiva. ¿Cómo podría un ingeniero decirle a una computadora exactamente qué hacer sin usar muchas palabras? ¿Cómo podría un lenguaje ser universalmente expresivo sin ser máximo específico? La locura de Objective-C no estaba desactualizada: era un espíritu por el que vale la pena luchar, sin importar cuánto me lastimara las muñecas.

El gigante envejecido

El primer y único trabajo de ingeniería de software que tuve (antes de que eventualmente se fuera a la política más blando del mundo de la tecnología) fue desarrollar aplicaciones de iPhone para un gigante de envejecimiento de Silicon Valley. La compañía había sido candente poco después de la era de Internet de acceso telefónico, pero se perdió varios booms tecnológicos desde entonces, y en 2013, estaba decidido a no perderse la última locura: las aplicaciones móviles.

La aplicación en la que trabajé tenía solo unos años, pero ya, su base de código le dijo a toda la historia de la compañía con honestidad inquebrantable en las líneas divagantes de prosa objetiva-C. Distintos prefijos regalaron qué código se había heredado de las nuevas empresas adquiridas, y revelaron un amargado conflicto sobre el cambio de plataformas de análisis. Los nombres de funciones ornamentadas se contaron de los pivotes de productos y las pantallas emergentes desaparecidas que dejaron atrás.

Pero cuanto más tiempo pasé escribiendo Objective-C, más sentía que se ocultaba en lugar de revelarse. Los nombres de funciones largos y similares a las oraciones enterraron la información más pertinente bajo una niebla de cláusulas dependientes. Pequeñas características requeridas requerían solicitudes de extracción de larga duración, lo que facilita a los ingenieros distraerse durante las revisiones y Miss Bugs. El exceso de palabras de Objective-C, multiplicado en miles de archivos y millones de líneas de código, hechas para una base de código agotador.

Muy pronto, mi afecto por la teoría de la autoexpresión “más” de Objective-C desapareció por completo. A medida que la base de código se expandió, su red de objetos se convirtió en un matorral enredado de relaciones enrevesadas que criaron superbacterias misteriosas e imposibles de rastrear. El zumbido de los mensajes entre los objetos subió a una cacofonía, y la mayor parte de mi trabajo se convirtió en descubriendo qué objeto envía qué mensaje a quien hizo que la aplicación se bloqueara o la pantalla de configuración de maldita sea tan fea.

Apenas un año y medio en escribir Objetivo-C profesionalmente, ya estaba teniendo una crisis de fe. Me convertí en ingeniero de software para perseguir el poderoso poder de convertir palabras en imágenes en una pantalla, pero esas palabras habían pasado de empoderar a una carga. Incluso los prefijos de Objective-C, que una vez sentí que contaban una historia encantadora, se sentían decadentes: ¿por qué tenía que escribir “NS” cientos de veces al día para rendir homenaje a la larga startup de Steve Job? No estaba solo: los desarrolladores de Mac y iPhone en todas partes estaban frustrados por verse obligados a usar este antiguo lenguaje de homicidio. Apple, como resultado, también estaba lista para el cambio. Yo, sin embargo, no lo era.

Muerte y renacimiento

Leibniz escribió por primera vez sobre característica universal en su tesis doctorado, cuando tenía 19 años y trabajó en ella durante casi 50 años hasta poco antes de su muerte a los 68 años. Reinventó la idea de un “alfabeto de pensamiento humano” innumerables veces, inspirándose en las matemáticas, la lógica simbólica, los jeroglíficos, las notas musicales, los firmantes astronómicos y los cuatro elementos (tierra, aire, fuego y agua). A medida que su conocimiento de los mundos físicos y metafísicos crecía, Leibniz tuvo que reconceptualizar continuamente lo que significaba construir un sistema que refleje perfectamente el universo.

Los programadores, en su búsqueda de un código cada vez más expresivo y eficiente, sufren renacimientos similares. Cuando las deficiencias de un lenguaje de codificación particular se vuelven claros, un nuevo lenguaje reaccionario hiperfixado al resolver esos problemas aumenta, hasta que también se vuelve hegemónico, y el ciclo continúa. Los principios aceptados de lo que hacen que el código expresivo evolucione y cambie junto con los avances tecnológicos, lo que lleva a los programadores a convertirse en nómadas lingüísticos.

Source link