Все по-бързите и по-бързите процесори доведоха до появата на ужасно раздут софтуер, но пределът на изчислителната мощност е съвсем близо и може да се наложи да се върнем към по-скромен вариант на сорс кода, какъвто се използваше в миналото.
Отдавна, още през 1960-те години, Гордън Мур, един от основателите на Intel забеляза, че броят на транзисторите в силициевите чипове се удвоява приблизително на всеки две години. И тъй като броят на транзисторите е директно свързан с изчислителната мощност, на практика това означава, че и изчислителната мощност се удвоява на всеки две години. Така се роди Законът на Мур, който осигури за работещите в процесорната индустрия хора същата надеждна база, каквато дават законите на Нютон за инженерите по механика.
Тук има един важен момент. Законът на Мур е просто емпирична корелация, наблюдавана през определен период от време и съвсем не е задължително да продължи да бъде валиден. През 2010 година отново Гордън Мур предсказа, че законите на физиката ще спрат това експоненциално увеличение на изчислителната мощност:
„Що се отнася до размерите на транзисторите“ – каза Мур, „виждаме, че вече се приближихме до размера на атомите, което е една фундаментална бариера, но докато това наистина стане, ще има още две или три нови поколения транзистори. След това няма да сме в състояние да предсказваме развитието на събитията в тази област. Ние имаме 10 или максимум 20 години докато достигнем този фундаментален предел“.
И ето че стигнахме до 2020 година и идеята, че ще разполагаме с непрекъснато растяща изчислителна мощност, която ще задоволи всички потребности, започна да изглежда прекалено самоуверена. И тъй като този факт бе очевиден за всички, които са в този бизнес, бяха проведени огромен брой изследвания, които даваха възможност чрез най-различни хитри начини в компютрите да бъдат използвани все по-големи изчислителни мощности. Такива са например многоядрените архитектури, при които един процесор има две или повече ядра. Всичко това се правеше, за да бъде отложен онзи ужасен ден, когато силициевите чипове няма да могат да предложат нищо ново – така например, новият Apple Mac Pro се базира на 28-ядрени процесор Xeon. Съвсем естествено е, че с изключително бързи темпове се развиват изследванията в областта на квантовите компютри, което по принцип може да стане епохален пробив.
На за изчисленията е необходима комбинация от хардуер и софтуер. Едно от лесно предсказуемите последствия от закона на Мур е, че новият хардуер направи програмистите мързеливи. Писането на програми е сложен занаят, който на някои се отдава много добре, а на други не толкова. Първите пишат по-елегантен и ясен код, който се изпълнява по-бързо. В ранните времена, когато хардуерът бе сравнително примитивен, майсторството на програмиста бе от огромно значение. Така например, когато Бил Гейтс е бил малко момче, е написал BASIC интерпретатор за един от най-първите компютри – TRS-80. И тъй като тази машина има съвсем малко ROM, Гейтс е трябвало да събере своя интерпретатор за програмния език BASIC само в 16 KB. Той е написал кода на асемблер, за да увеличи ефективността и да икономиса място. Има дори легенда, че в продължение на много години той е можел по памет да възпроизведе целия този код.
В ранните години на историята на изчислителните машини има хиляди подобни истории. Но с възцаряването на Закона на Мур, интересът към елегантния и ефективен код постепенно изчезна и се промени мотивацията. Програмирането се превърна в промишлена дисциплина за „софтуерните инженери“. Създаването на цели софтуерни екосистеми като операционните системи и комерсиалните програми започна да изисква участието на цели екипи от разработчици. А на тази основа израстна бюрокрацията в лицето на мениджърите на проекти и изпълнителни директори. Големите софтуерни проекти се превърнаха в нещо кат Марш на смъртта, които най-ярко описа Фред Брукс в своята знаменита книга „Митичният човекомесец“ (The Mythical Man-Month), публикувана през 1975 година и оттогава непрекъснато се преиздава поради една твърде уважителна причина – книгата е актуална и днес. Тя много добре описва, по какъв начин софтуерът се раздува и става неефективен.
Но това няма значение, понеже хардуерът предлага все по-големи изчислителни възможности, които скриват проблема с раздутия софтуер, известен и като bloatware. Добросъвестните и талантливи програмисти се вбесяват от всичко това.
„Както виждам, единственото последствия от появата на още по-мощен хардуер е това, че програмистите пишат за него все по-раздути програми. Те стават все по-мързеливи и тъй като хардуерът е достатъчно бърз, те не си правят труда да изучат алгоритмите и да оптимизират своя код. Това е безумие!“ – пише един от тях.
И да, нещата стоят точно по този начин. В една от своите лекции, Нейтън Мърволд, бивш главен софтуерен инженер на Бил Гейтс, изведе своите четири закона за софтуера:
- Софтуерът има поведението на газ – той се разширява, за да изпълни всичкото свободно пространство
- Софтуерът расте, докато не достигне пределите, зададени от Закона на Мур
- Ръстът на софтуер помага на Закона на Мур – хората купуват нов хардуер, понеже това изисква софтуерът
- Софтуерът е ограничен единствено от човешките амбиции и очаквания
В същото време, когато властта на Закона на Мур е към края си, от законите на Мърволд следва, че имаме само два варианта. Или ще ограничим амбициите си, или отново ще започнем да пишем по-икономичен и ефективен код. С други думи – назад в бъдещето.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!


