W rzeczywistości nie jest to problem techniczny, ale raczej problem ludzkiego mózgu. To może cię zaskoczyć, ale pozwól mi wyjaśnić. Mam dobrą podstawę do tego, co mówię.
Część problemu polega na tym, jak są stosowane aktualizacje oprogramowania i poprawki, ale to nie jest sedno problemu, który nie wydaje mi się.
Maszyny sprzętowe faktycznie stały się znacznie szybsze na przestrzeni lat, ale zdolność oprogramowania do ich ładowania wzrosła w jeszcze szybszym tempie, dając wrażenie i rzeczywistość, że niektóre rzeczy są wolniejsze.
Na przykład moje pierwsze pudełko Z-80 miało taktowanie 1 mega herca. Teraz moja platforma programistyczna działa z częstotliwością 2,66 GHz lub ponad 2000 razy szybciej. Nie pamiętam dokładnie, ale cały CPM mieści się w około 16 kb. Teraz Windows wie, jak duży, ale o wiele, wiele większy. Wykorzystuje wiele warstw abstrakcji, dzięki którym można robić niesamowite rzeczy w bardziej ogólny sposób, ale te warstwy odbijają się na wydajności.
Wróćmy do ludzkiego mózgu. Dobrze zrozumiałe jest to, że inżynierowie oprogramowania od wielu lat mówili i wierzyli z jakiegoś dobrego powodu, że sprzęt będzie po prostu coraz szybszy i dlatego oprogramowanie nie musi uważać na problemy związane z optymalizacją. Dlatego programiści robili rzeczy, aby wszystko działało szybko i kosztem szybkości ... myśląc, że ludzie sprzętu zajmą się tym problemem. Tak więc aktualizacje i łatki są wykonywane z myślą, że są tymczasowe, tj. Krótkoterminowe.
Jest to: krótkoterminowe, mikro myślenie, w długim okresie problem makro.
Przeczytałem interesującą książkę wiele lat temu, w której kilku naukowców przedstawiło ten krótkoterminowy i długofalowy problem myślenia ludzkiego i przeprowadziło eksperymenty na wielu ludziach, aby zobaczyć, w jaki sposób dokonują tych kompromisów. Ich książką jest New World New Mind, a autorami są Paul Ehrlich i Robert Ornstein. Uznałbym to za najważniejszą książkę, którą przeczytałem w ciągu ostatnich 20 lat, ponieważ zapewnił solidne ramy dla naszego rozwiązania problemu.
Zauważyli, że ludzki mózg ewoluował w czasie, gdy podejmowanie krótkoterminowych decyzji miało sens. Żyj chwilą i dniem, ale nie myśl zbyt wiele o przyszłości. To po prostu nie było tego warte. Nasze wyczucie rzeczy, których często używamy do podejmowania decyzji, jest bardzo starą częścią mózgu i nie jest dobrze dostosowane do wielu współczesnych problemów. A mózg nie miał realistycznego czasu na ewolucję, ponieważ świat szybko się zmienił wraz ze wzrostem populacji i wpływem technologii na rzeczy.
Ehrlich i Ornstein profesora odkryli, że bardzo inteligentni i dobrze wykształceni doktoranci, ale także dozorcy popełniali te same błędy, gdy przedstawiano im problemy krótko- i długoterminowe. Nie jest to coś, co ogólnie uważamy za przypadek.
Jeden bardzo dobry i przekonujący przykład tego, jak ten sam problem występuje obecnie na świecie, NIE dotyczy środowiska sprzętowego, ale jest to starszy brat całe cholerne środowisko, w którym żyjemy. My, ludzie, obecnie popełniamy błąd życia dzisiaj, ale w rzeczywistości globalne ocieplenie jest nad nami dokładnie dlatego, że nie pozwoliliśmy na to ani nie podjęliśmy środków, aby sobie z tym poradzić. Jest to spowolnienie sprzętu przez problem z oprogramowaniem od nowa, ale w innym kontekście.
Ornstein i Ehrlich zasugerowali, że możemy być w stanie podejmować bardziej trafne decyzje, opierając naszą decyzję nie na naszym instynkcie jelitowym, ale raczej na danych i statystykach. Na przykład, jeśli inżynier oprogramowania ma statystyki dotyczące tego, jak szybko jego oprogramowanie puchnie w stosunku do tego, jak szybko sprzęt robi się coraz szybszy, mogą podejmować lepsze decyzje, co uwzględnić, co pominąć i ile zoptymalizować algorytmy. Innymi słowy, jeśli wykorzystali rzeczywiste dane do podjęcia decyzji, a nie instynkt.
Dziękuję za dobre pytanie. Czasami proste pytania są najlepsze. dało mi to możliwość spojrzenia na to z nowej perspektywy. Nigdy wcześniej nie widziałem analogii między problemem oprogramowania sprzętowego w ludzkim kontekście.