Home Politiek De subjectieve charmes van Objective-C

De subjectieve charmes van Objective-C

9
0

De objecten van Objective-C waren ondertussen versierd met alle CAPS-voorvoegsels die trots hun maker identificeerden. Sommige namen van huishoudens, zoals de knop om in te loggen op een andere service met YourTwitter -account (TwtrLoginButton), of de vrienden toevoegen van Facebook Popup (FBFriendPickerViewController). Tegen de tijd dat ik Objective-C leerde, bestond de volgende al meer dan 15 jaar niet, maar code van hun NextStep-besturingssysteem was zo ingebakken in de producten van Apple dat het voorvoegsel in tientallen objecten en functies verscheen die ik elke dag gebruikte-NSDictionary, NSArray, NSString, NSLOG.

Objective-C is WORDY-waarschuwend overdreven-en deze neiging tot mijn eigen vooruitzichten kroop al snel in mijn eigen vooruitzichten. Hoe kan een ingenieur een computer precies vertellen wat hij moet doen zonder veel woorden te gebruiken? Hoe kan een taal universeel expressief zijn zonder maximaal specifiek te zijn? De spoeligheid van Objective-C was niet verouderd-het was een ethos dat het waard was om naar te streven, ongeacht hoeveel het mijn polsen pijn deed.

De verouderde reus

De eerste en enige software -engineeringbaan die ik had (voordat ik uiteindelijk naar de Squishier World of Technology Policy vertrok) was het ontwikkelen van iPhone -apps voor een verouderde reus van Silicon Valley. Het bedrijf was kort na het internet-tijdperk van het inlevering geweest, maar miste sindsdien verschillende technische booms en was vastbesloten om de nieuwste rage niet te missen: mobiele apps.

De app waaraan ik werkte was pas een paar jaar oud, maar de codebase vertelde de hele geschiedenis van het bedrijf al met onfeilbare eerlijkheid in wandelende lijnen van Objective-C proza. Verschillende voorvoegsels gaven weg welke code was geërfd van verworven startups en onthulde een bitter conflict over het schakelen van analyseplatforms. Sierlijke functienamen verteld over productpivots en de ter ziele gegane pop -upschermen die ze hebben achtergelaten.

Maar hoe langer ik doorbracht met het schrijven van Objective-C, hoe meer ik voelde dat het verborg was in plaats van onthuld. Lange, zinachtige functienamen begraven de meest relevante informatie onder een mist van afhankelijke clausules. Kleine functies vereisten langdradige pull-aanvragen, waardoor ingenieurs gemakkelijk worden afgeleid tijdens beoordelingen en mevrouw Bugs. Overtollige woorden van Objective-C, vermenigvuldigd over duizenden bestanden en miljoenen code-regels, gemaakt voor een vermoeiende codebase.

Al snel verdween mijn genegenheid voor de “meer is meer” -theorie van zelfexpressie van Objective-C volledig. Naarmate de codebase zich uitbreidde, groeide het web van objecten uit tot een verward struikgewas van ingewikkelde relaties die mysterieuze, niet -traceerbare superbugs doorbrachten. Het geroezemoes van berichten tussen objecten steeg tot een kakofonie, en het grootste deel van mijn werk werd uitzoeken welk object stuurde welke boodschap aan wie de app heeft laten crashen of het verdomde instellingenscherm er zo lelijk uitzien.

Amper anderhalf jaar in het schrijven van Objective-C professioneel, had ik al een crisis van geloof. Ik werd een software -ingenieur om de opwindende kracht te achtervolgen om woorden om te zetten in afbeeldingen op een scherm, maar die woorden waren van empowerment naar lastig gegaan. Zelfs de voorvoegsels van Objective-C, die ik ooit voelde dat een betoverend verhaal werd verteld, voelde me decadent-waarom moest ik honderden keren per dag ‘ns’ typen om hulde te brengen aan de langdurige startup van Steve Job? Ik was niet alleen: Mac- en iPhone -ontwikkelaars waren overal gefrustreerd omdat ze gedwongen waren om deze oude, prattling -taal te gebruiken. Apple bleek ook klaar voor verandering. Ik was dat echter niet.

Dood en wedergeboorte

Leibniz schreef eerst over karakteristica universalis In zijn doctoraatsthesis toen hij 19 was en er bijna 50 jaar aan werkte tot kort voor zijn dood op 68 -jarige leeftijd. Hij bracht het idee van een “alfabet van menselijk denken” ontelbare keren opnieuw voor, die inspireren door wiskunde, symbolische logica, hieroglyfics, muzieknoten, astronomische signalen en de vier elementen (Air, lucht, vuur, en water). Naarmate zijn kennis van de fysieke en metafysische werelden groeide, moest Leibniz voortdurend heroverwegen wat het betekende om een ​​systeem te bouwen dat perfect het universum weerspiegelde.

Programmeurs, in hun streven naar steeds expressievere en efficiënte code, ondergaan vergelijkbare wedergebieden. Wanneer de tekortkomingen van een bepaalde coderingstaal duidelijk worden, stijgt een nieuwe reactionaire taal die hyper wordt gefixeerd over het oplossen van die problemen, totdat het ook hegemonisch wordt en de cyclus doorgaat. De geaccepteerde principes van wat zorgt voor expressieve code evolueren en veranderen naast technologische vooruitgang, waardoor programmeurs taalkundige nomaden worden.

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in