Taula de continguts:
- Què és exactament Bit Rot?
- Primer, alguns outliers
- Erosió de programari
- Entropia de programari
- Programari Bloat
- Què significa tot això i què puc fer al respecte?
- Preguntes?
Els ordinadors s’assemblen a les persones: a mesura que envelleixen, tendeixen a ser una mica més lents i els defectes són més fàcils de veure.
Els nostres telèfons són ordinadors reduïts per tenir una mida de butxaca i fàcils de transportar. I això vol dir que amb el pas del temps, les coses no passen tan ràpidament com abans o les coses poden arribar a causar-se una mica de problema. Això és universal; passa als telèfons Galaxy i telèfons LG, telèfons i iPhones Pixel i a qualsevol altre telèfon que faci més que fer trucades i enviar textos. Hi ha qui diu que no ho veu succeir, i és per això que succeeix i per la forma en què està escrit el programari per a tots els diferents telèfons en estat salvatge. Però encara està passant al vostre telèfon ara mateix, i així ho serà.
Mirem el que es coneix comunament com a "Bit Rot" i veiem si no podem entendre les coses una mica millor.
Què és exactament Bit Rot?
És un terme que fa molta feina per les persones que es troben als ordinadors i bàsicament significa que el programari és "vell" i s'ha tornat més lent del que abans. Hi ha tres coses en joc i estan ben documentades, encara que no siguin gaire fàcils d’entendre: Erosió de programari, Entropia de programari i Software Bloat.
Primer, alguns outliers
De vegades també hi pot haver altres factors. La degradació de dades i la característica de creixement poden fer que els programes i les aplicacions s’alenteixin, però són més fàcils d’explicar i són una mica diferents del que anomenem Bit Rot. La degradació de dades és una paraula fantàstica que significa que la vostra memòria, ja sigui la memòria RAM, l’emmagatzematge o tots dos, s’envelleix. La memòria RAM i els suports d’estat sòlid requereixen una càrrega elèctrica i amb el pas del temps es poden dispersar més del que estava dissenyat. Això significa que alguns dels bits emmagatzemats (bits del programari) es poden canviar. Quan alguns bits són incorrectes, molts programes poden compensar, però això requereix temps i els programes són una mica més lents. Quan un munt de bits estan equivocats, les coses prou deixen de funcionar tal com s'ha previst.
La degradació de dades i la característica de creixement poden augmentar la seva velocitat del telèfon, però són diferents de les opcions de velocitat.
Es pot entendre fàcilment la característica Creep. El vostre telèfon es va crear tenint en compte un conjunt de programari específic. Quan rebeu una actualització que afegeix més funcions, el maquinari ha de treballar més i les coses es fan més lentes. Els fòrums en línia s’omplen de persones que odiaven una actualització recent al seu telèfon Galaxy i de persones amb iPhones més antics que odien la versió més recent d’iOS. Això es deu al fet que el programari es va escriure tenint en compte un maquinari més recent i capaç, de la mateixa manera que el que va emetre el telèfon originalment. A tots ens agraden les novetats i les actualitzacions, però els anuncis antics "tingueu cura del que desitgeu" són els diners aquí.
Sens dubte, aquests problemes poden tenir efectes, però són diferents del Bit Rot i probablement no contribueixen gaire a la lentitud dels nostres telèfons perquè no els mantenim prou temps per veure-ho en acció.
Erosió de programari
El programari Erosion és el lent però constant deteriorament del rendiment que pot succeir amb qualsevol programari, ja sigui una cosa que utilitzem molt o una mica. O fins i tot mai. Això passa perquè utilitzem el programari i totes les aplicacions canvien quan s’utilitzen; afegim dades d’usuaris a la base perquè el programari faci el que volem que faci. Tingueu en compte que això és diferent al que el programari es fa lent o maliciós mentre el fem servir molt, però torna a la normalitat amb un reinici. Això sol ser degut a petits errors que s’acumulen amb el temps o a una fuga de memòria. No podeu arreglar el programari Erosion tancant i reobrint una aplicació o reiniciant el telèfon.
Tot el programari té errors i tot el programari necessita un manteniment regular que mai no rep.
Hi ha dos tipus diferents d’erosió de programari, inactiva i activa. L’erosió del programari no es produeix quan un programa o parts d’un programa que no utilitzeu deixen de funcionar bé perquè altres coses canvien i l’erosió activa es produeix a causa dels canvis mentre l’utilitzeu. Els dos tipus succeeixen per algunes raons diferents.
- El codi inutilitzat o sobrant pot contenir (i sovint) errors que no s’atrapin.
Tot el programari té errors, no importa el que digui un desenvolupador o un usuari. Quan una empresa canvia algun codi, hi ha molt bones possibilitats que el codi original no s’utilitzi mai, sinó que es integri al producte final. Els errors aquí no tenen la possibilitat d'atrapar-se i poden tenir un efecte immediat o que es triga un temps a aparèixer.
- Els canvis perquè el programari no és fàcil d'utilitzar passen molt.
Un desenvolupador construeix programari amb una idea específica de com el farem servir, però un cop entre les nostres mans, sovint no el fem servir! De vegades no és culpa nostra i el programari té una interfície mal implementada, de manera que fem coses que un desenvolupador mai va pensar. Altres vegades és culpa nostra i fem coses com fer comptes múltiples o executar diverses instàncies d’una aplicació o funció que no estava dissenyada per funcionar així. Això pot deixar dades d’usuari o dades en memòria cau que és més difícil per processar una aplicació.
- La falta d’actualitzacions i el manteniment són dolents.
Qualsevol desenvolupador us dirà que la tasca no s’acaba un cop publicat el programa i que cal mantenir el programari. Això significa solucionar errors que els usuaris troben, però també freqüents actualitzacions per funcionar bé amb altres programaris. La manca de manteniment regular a través de la taula és la principal causa de l'erosió del programari.
El "Android" que funciona al vostre telèfon és en realitat un gran grup de programes i serveis que funcionen de forma independent que necessiten comunicar-se entre ells de manera constant. Un exemple: Facebook fa un altre canvi als seus servidors i actualitza l'aplicació a Google Play. L’aplicació Contactes es vincula amb Facebook, de manera que pot ser que necessiti una actualització. O bé, la vostra càmera obté una actualització, però l’aplicació de la galeria relacionada amb ella no. Totes les parts del sistema han de treballar amb totes les altres parts, i això significa un manteniment regular.
La bona notícia aquí és que molts problemes d’erosió del programari es solucionen amb un restabliment de fàbrica on s’esborren totes les dades de l’usuari. La mala notícia és que tot plegat torna a la fi.
Entropia de programari
Tot el programari que no podem canviar té errors i codi no utilitzat (vegeu més amunt). Probablement, aquests errors es mantindran sense canvis al llarg del temps, però poden empitjorar a mesura que augmenta la complexitat del programari. Això es diu Entropia de programari.
El programari que canvieu afecta el programari que no podeu canviar perquè el sistema és més complex.
La majoria del programari del telèfon es troba en un sistema tancat. Pot ser que pugueu actualitzar l’aplicació de teclat o càmera des de Play Store, però la majoria del sistema operatiu s’instal·la a la fàbrica i només es canviarà amb una actualització completa del sistema. Això és molt diferent de totes les aplicacions, tant de les aplicacions d’usuari instal·lades a fàbrica com de les que vau instal·lar. El programari que podeu canviar es fa més complex amb el pas del temps i el programari que no podeu canviar ha d’afrontar-lo.
Les persones que van escriure el programari al telèfon són molt malament intel·ligents quan es tracta de tot això. Però ningú pot saber les coses que farem, què podran fer les aplicacions noves i com funcionaran les aplicacions dissenyades per a un conjunt d’API (interfícies de programació d’aplicacions), per exemple, les API de Samsung del seu kit de desenvolupament de programari. Creat per a un altre conjunt d’API, com ara els de Google que formen part d’Android. Els desenvolupadors han de fer tot el possible per endevinar i fer que el programari sigui d’una manera que no es trenqui i que tingui l’esperança del millor.
Hi ha dues maneres de combatre l’entropia de programari: el manteniment regular del programari mitjançant actualitzacions puntuals o restabliment del programari de l’usuari a l’estat de fàbrica.
Programari Bloat
Això no indica el nom, tot i que les aplicacions extra de bloatware poden fer que les coses funcionin més lentament. El programari Bloat quan es parla de Bit Rot significa un programari que té funcions addicionals o no utilitzades.
Com més funcions s’afegeixin a qualsevol programa, més complex serà. La complexitat fa que les aplicacions siguin més lentes.
És impossible definir funcions "addicionals". Les aplicacions o parts d'aplicacions que no faig servir són alienes, però podeu utilitzar-les i agradar-les. Des del punt de vista d’un ordinador, l’única bona aplicació és aquella que fa només una cosa i després es tanca un cop finalitzada. Això no és pràctic des del punt de vista dels usuaris; imagina’t una aplicació de teclat que es tanca després d’escriure cada lletra. Les empreses que fabriquen els telèfons que ens encanten han de trobar un mitjà feliç entre les funcions i el rendiment utilitzant el maquinari adequat o reduint les funcions de les aplicacions. Això podria significar afegir més memòria RAM i utilitzar un processador o retallar funcions d’una aplicació o totes dues coses més ràpides.
Una altra part de les funcions "addicionals" és el programari que ha de ser capaç de manejar diversos estàndards (i sovint competidors). Les vostres aplicacions de correu electrònic són un bon exemple. Si utilitzeu Gmail i utilitzeu l'aplicació Gmail, les coses són molt més senzilles del que ho serien si utilitzeu l' altra aplicació de correu electrònic amb un compte de Gmail o un compte Exchange o una cosa com Yahoo! Compte POP3. L’aplicació de correu electrònic ha de ser capaç de fer les coses que no pot fer l’aplicació de Gmail i ha de ser capaç de gestionar els diferents tipus de dades que creem. Això requereix temps per processar-se i, a mesura que anem afegint més dades, es necessita més temps.
Potser el millor exemple de funcions "extres" i com afecten el rendiment seria comparar Evernote i Google Keep. Si només utilitzeu l'aplicació per prendre notes, tots els extres d'Evernote volen dir que necessiteu molt més temps per afegir-los o llegir-los. Si us agraden aquestes funcions addicionals, ràpidament trobareu que Google Keep no pot fer-ne la majoria. Aquí no hi ha cap raó ni un error, però això té un gran impacte en el rendiment.
Les funcions "restants" que no es poden utilitzar encara poden funcionar i causar problemes, i els nostres telèfons són plens.
Les funcions no utilitzades són més frustrants perquè no sabem que hi són i no podríem fer res per canviar les coses si ho féssim. Quan una empresa com LG (els seleccionarem aquí, però això s'aplica a totes les empreses que fan telèfons, fins i tot Google) fa un telèfon amb les seves pròpies aplicacions que són duplicats d'aplicacions Android "en estoc" com el marcador de telèfon o el calendari, Hi ha molts codis sobrants que no s’utilitzen. Alguns del codi encara funcionen quan arrenqueu el telèfon. Hem parlat de com això significa que els errors seran més difícils de trobar en aquesta part del codi, però també poden tenir un gran impacte en el rendiment. I quan l’entropia de programari es té en compte, veiem com aquests errors poden empitjorar i empitjorar amb el pas del temps.
Quan veieu arguments tontos en comentaris sobre com un telèfon com el Moto G5 és més ràpid que un Galaxy S8 amb la meitat de la potència del maquinari, és per això que el programari Bloat.
Què significa tot això i què puc fer al respecte?
Aquesta és una pregunta fàcil: vol dir que alguns telèfons són més lents que altres, i que alguns telèfons es veuen més lents amb el pas del temps, mentre que d'altres es veuen menys afectats. I realment no hi podem fer res al respecte.
Més funcions suposa un programari més lent i una oportunitat més per a que passi Bit Rot. És un comerç que molts alegres fan.
Conversa real: un telèfon com la nota 8 és sensiblement més lent (i es mostra quan està unit a eines que controlen el rendiment) que un píxel 2. La nota 8 serà encara més lenta durant sis mesos. Però el Pixel 2 mai serà capaç de fer algunes de les coses que fa una nota 8, independentment de quantes aplicacions instal·lem o de com ens en tirem la merda. Puc anotar una captura de pantalla amb el S Pen immediatament després de capturar-la a la nota 8, però al Pixel 2, he de compartir la captura de pantalla a un altre dispositiu per anotar-la amb el mateix nivell de funcions i detalls.
Igual que l'argument Evernote vs Google Keep anterior, el millor és en gran mesura una qüestió de funcions que us agraden. La nota 8 té totes les funcions. Això vol dir que té tots els errors i el programari que fan que Bit Rot sigui més notable. Això pot ser un problema per a vostès, però per a d’altres, no és perquè no hi ha cap altra manera d’obtenir el conjunt de funcions. És per això que hi ha més telèfons Android que simplement un Pixel i Pixel Plus, i el que tothom significa quan diu que Android us ofereix una tria.
I quan Bit Rot es converteixi prou en un problema que haureu de fer alguna cosa al respecte, només heu de restablir el telèfon de fàbrica i trigar unes hores a configurar tot.
Preguntes?
So en els comentaris a continuació