Кто автор фразы программы становятся медленнее более быстро чем компьютеры становятся быстрее
Это полушутливое высказывание, популяризированное Никлаусом Виртом в 1995 году стало настоящим бичём современности примерно в 2006м году.
Не смотря на то, что скорость работы компьютеров становится выше в соответствии с законом Мура, закон Вирта утверждает, что увеличение производительности аппаратной части ещё не означает ускорения работы как таковой.
"Есть мнение, что прогресс в аппаратной части излечит все недостатки программ, однако внимательный наблюдатель может заметить, что программы перерастают компьютеры в размерах и медлительности."
Закон Вирта также иногда называется Законом Пейджа, в честь Ларри Пейджа, основателя Google, который упомянул его в своём выступлении, о чём упомянул Сергей Брин на конференции Google I/O в 2009 году. Внезапно, да?
Закон Гейтса — это вариант закона Вирта, названный в честь основателя Microsoft Билла Гейтса. Это шутливое наблюдение, утверждающее, что скорость программного обеспечения уменьшается на половину каждые полтора года, что сводит на нет все преимущества закона Мура. Это может происходить по нескольким причинам: добавление избыточных ненужных функций, плохой код, нежелание программистов дорабатывать программы и плохой менеджмент или частая смена команды.
Закон Паркинсона: программное обеспечение увеличивается в размерах до тех пор, пока не заполнит всю доступную на данный момент память.
Пользователи, как правило, относятся к раздутому программному обеспечению отрицательно.
Но что самое характерное, хотят и просят получать обновления как можно скорее и быстрее.
По мнению Джоэла Спольски, они это делают зря, по следующим причинам:
С прогрессом микроэлектроники аппаратное обеспечение, на котором новая версия способна работать, часто оказывается даже дешевле. Например, Excel 1.0 потреблял 36 долл. дискового пространства по ценам 1993 года, Excel 2000 — 1,03 долл. по ценам 2000 года.
Оптимизация экономически оправдана только в ключевых точках программы. Вовремя вышедшая программа важнее хорошо оптимизированной (в крайнем случае можно выпустить патч).
Хотя типичный пользователь использует 20 % функций, у разных пользователей эти 20 % разные. Поэтому, если написать облегчённую программу, в которой реализованы только 20 % функций, есть риск сильно сузить круг её пользователей.
Подгонка старых программ под новые машины обычно означает такие изменения, при которых новые машины работают как старые. Алан Перлис
Сайт Switched Downloadsquad опубликовал в 2008 году примеры наихудших программ в категории «elephantware», то есть «раздутых программ, которые заставляют новейшие персональные компьютеры загружаться подобно Pentium 2 с 64 MB оперативной памяти»[12]. Были названы следующие программы:
Acrobat Reader
Internet Explorer
Microsoft Outlook.
Я б еще добавил туда Nero, Winamp, MSOffice, превратившиеся из вполне нормальных продуктов в монстров с практически одним и тем же функционалом, либо обрастая ненужными возможностями.
Никто не знает, зачем резалке компакт-дисков нужен встроенный фотошоп и аудиоредактор, когда для этого есть другие специализированные программы, но большинство с удовольствием пользуются.
Если уж так захотелось, то лучше разделить эти возможности на отдельные составляющие продукты, например, как это делает Sysinternals и Яндекс.
Но если у Sysinternals средства и утилиты для управления, диагностики, устранения неполадок и мониторинга весят две-три сотни килобайт и честно выполняют то, для чего они задуманы, то Яндекс это какой-то феерический пиздец:
Во времена шествия наладонных компьютеров - КПК, были Яндекс-карты, дистрибутив которых меньше 2х мегабайт! И ещё меньше пяти лет назад многие пользовались этой замечательной штукой.
Эти карты умели в навигатор, в карты, в маршруты, в камеры, в пробки, в трекинг, в скидывание треков в личный яндекс-кабинет, где можно потом с компьютера посмотреть, в разговорчики и многое другое.
Сейчас же, все эти функции разбиты на отдельные приложения, весят ни меньше 20мб каждая и чтобы иметь функциональность, приходится ставить всё одним скопом.
Смартфон начинает еле ворочаться и ругаться на нехватку памяти.
Ещё больший пиздец, это когда у каждой из этой практически одинаковой программы разный кэш карт!
Огромная компания не в состоянии следить за тем, что выпускает.
Яндекс.Электрички, версия: 2.31 от 27 октября 2014 г. - ( 2,08 МБ )
Оно работало и нормально работало.
Следующая версия у них вышла такая:
Яндекс.Электрички, версия: 3.05 от 16 мая 2016 г. - ( 17,19 МБ )
Что нового
Мы переделали дизайн и добавили новые функции:
«Будильник» напоминает, что скоро электричка.
Виджет показывает расписание прямо на домашнем экране.
Если есть временные изменения или отмены, приложение выводит заметное предупреждение в красной рамочке.
Нахрена, а главное как можно ТАК раздуть программу этими никому ненужными "новшествами"?
Сразу после установки весит в системе 55 метров. Ну вы поняли.
Промолчу про Windows, ламероориентированные Linux- дистрибутивы. Большой привет как минимум Ubuntu с Unity, новым кедам и гномам. Там совсем задница.
И если многих монстров со своими свистелками и перделками ещё можно заменить на что-то адекватное, то у некоторых пользователей просто не остается выбора. Здравствуй Apple.
MenuetOS и русский форк KolibriOS - результаты титанической работы на ассемблере.
Да, это пока ещё некая игрушка, влезающая на дискету и можно только посмеяться, разворачивая свой последний 3DsMax на виртуальной машине, но возможностей у неё - можно и обзавидоваться в узком кругу людей.
Раньше я на нетбуке спокойно сёрфил инет и видео в 720 без тормозов шло, сейчас открыл его, попробовал поюзать - треш-угар-содомия!
Видео в 320 даже хуже, чем слайд-шоу.
Теперь фильмы смотреть только с карточки оффлайн.
Многие программы перестали поддерживать одну из лучших операционных систем Windows XP. А ведь многие до сих пор из принципа сидят на ней.
Первый секрет кроется в самом инсталляторе программы.
Если свежую версию извлечь тем же UniExtract-ом, то программа почему то запускается либо сразу и не выёживается, работая, как надо. Либо там находится ещё один установщик, который теперь позволяет установить эту программу.
У программистов какая-то больная тема, потому что ставят скорость разработки в ущерб производительности. Время - деньги. А жмут их маркетолухи и эффективные менеджеры, которым продукт нужен ещё вчера.
У программистов уже не остается времени делать комментарии, после смены разработчика проще накатить костыль, нарастить новый карман проще, чем разбираться в раннее написанном коде и так по нарастающей.
Основное различие между строителями и программистами состоит в том, что строители знают, когда нужно положить последний кирпич, а программисты — нет. Каждая новая версия программы добавляет что-то к старой. «Вавилонская башня» растет как на дрожжах и в какой-то момент начинает падать. Крис Касперски.
При этом большинство программистов признают, что если не гнаться за деньгами, как поп за дешевизной, то делать будут с удовольствием и качественно.
И это заметно, редкий некоммерческий продукт будет похож на говно.
Если его, конечно, не школьник набросал в окошках с помощью фреймворков и скачанных скриптов, не забыв добавить всевозможной рекламы, чтобы хватило раз в неделю сходить в макдак.
Таким образом мы получаем фонарик для андроида, весом в 15 мегабайт, запрашивающий кучу разрешений. И не важно, что на вашем смартфоне фонарика отродясь не было - будем светить дисплеем на полную яркость и показывать рекламу в пол-экрана, ломясь в интернет через все щели, а после выключения фонарика, вернуть яркость в прежнее состояние мы, конечно же, забудем.
Недавно было повальное использование такого продукта, как Pokemon Go.
Это пример такого монструозного, глючного софтверного решения вывалили на рынок так рано, что любому адекватному программисту было бы чертовски стыдно такое показывать людям.
Снаружи эта игра выглядела расчленёнкой с кишками наружу и попытками скрепить всё это малярным скотчем и каждые два дня выдавать пользователям еще по рулону, дабы всё это не успело развалиться и хоть как-то дышало.
Ёжики плакали, но продолжали жевать кактус.
Плохие программисты очень хотят денег, поэтому они открывают курсы обучения программированию. В следствии чего, появляется категория программистов без понимания каких-то базовых вещей.
Особенно улыбают курсы, например, для веб-разработчиков, где учат устанавливать и настраивать Wordpress. Да чего уж, на ютубе таких видео-уроков превеликое множество.
Интернет превратился в помойку бесполезной информации, где найти крупицу смысла очень тяжело.
Хочешь освоить какую-то новую штуку, например пагинацию. Заходишь в ютуб, ищешь ролики и думаешь, вот сейчас какой-нибудь умный парень на примере все объяснит, по какому принципу пишется, и почему так, а не иначе.
Но находишь видео с гундосым школьником, который за 10 минут объясняет как зайти в настройки очередной CMS и скачать плагин.
Сейчас и программистом-то быть необязательно, чтобы наклепать какую-нибудь быдло-софтину. А вирусы? Раньше это были шедевры, вспомнить хотя бы CIH, а сейчас что? Черви написанные на макросах? Блокировщики-шифровщики на delphi. Сейчас даже PHP, javascript называют языками программирования, а тех кто может написать на них hello world - программистами.
Господи, да сейчас и вирусов то уже никто не пишет, всем лень!
А раньше вирусописательство было целой олимпиадой мирового масштаба и мерянием пиписками с хакерами, крякерами, кодерами и производителями антивирусов!
Код был безумно красив, весил мало, а искусство прятать вирус так, чтобы его никто не смог заподозрить лишь повышало ЧСВ.
Не, ну наверняка современный интернет-червь выглядит так:
ууу: троянский слон
Создатели кейгенов вкладывали в свои кряки столько души, сколько мало какой современный производитель монстрограммы вкладывает в развитие своего продукта.
Для каждого кейгена даже музыку отдельно сочиняли.
Когда производители антивирусов приуныли от скукоты, под шум авторских прав и лицензий они срочно стали добавлять в свои базы не только безвредные кейгены, но и всё, что может поспособствовать созданию вирусов и кейгенов - сплиттеры всякие и архиваторы.
Вставляешь флешку в комп с антивирусом, лезешь в папку с программой, чтобы установить что-нибудь условно-бесплатное. В папке установщик программы и крякер к ней.
Устанавливаешь программу, херась - а крякера и след простыл.
Долго чешешь репу и в итоге находишь этот крякер в карантинной зоне антивируса.
Эта падла даже не удосужилась уведомить, что обнаружила не очень полезное приложение и молча стёрла его с флешки.
Какого хрена эта пакость распоряжается чужими файлами без спроса?
Вообще, сейчас не человек управляет компьютером, а компьютер человеком.
Software is getting slower more rapidly than hardware becomes faster.
Никлаус Вирт 4
Похожие цитаты
— Ги де Мопассан французский писатель 1850 - 1893
Отрывок из очерка «Херсонес Таврический».
— Хилон древнегреческий политический деятель и поэт -600 - -520 до н.э.
— Александр Васильевич Суворов российский полководец 1730 - 1800
— Бенджамин Франклин американский политический деятель, дипломат, учёный, изобретатель, журналист, издатель, масон 1706 - 1790
Лень двигается так медленно, что её довольно быстро догоняет бедность.
Вариант: Лень плетется так медленно, что бедность быстро нагоняет ее.
— Сергей Павлович Королёв советский учёный, конструктор и организатор производства ракетно-космической техники и ракетного оружия СССР, основател… 1906 - 1966
— Маргарет Тэтчер британский политик, премьер-министр Великобритании (1979-1990) 1925 - 2013
— Станислав Ежи Лец польский поэт, философ, писатель-сатирик и афорист XX века 1909 - 1966
— Жан де Лабрюйер французский моралист 1645 - 1696
Источник: Песня Бесконечный дождь
— Сергей Павлович Королёв советский учёный, конструктор и организатор производства ракетно-космической техники и ракетного оружия СССР, основател… 1906 - 1966
— Артемий Андреевич Лебедев российский дизайнер, изобретатель, бизнесмен, блогер, путешественник 1975
«Ководство»;§ 98. Здравствуйте, с вами говорит робот
— Джордж Карлин американский комик 1937 - 2008
Вы замечали: всякий, кто едет медленнее тебя, – идиот, а всякий, кто быстрее, – дебил.
— Джордж Карлин американский комик 1937 - 2008
маньяк? «Посмотри на этого идиота, не, ты только посмотри на этого идиота, просто ползёт. Посмотри на этого маньяка. »
Have you ever noticed when you are driving that everyone who is driving slower than you is an idiot, and anyone driving faster than you is a maniac? "Look at this idiot, would you just look at this idiot, just creeping along. Wow, look at that maniac. "
Программисты славятся своим образным мышлением. И в подтверждение тому — наша подборка из 100 самых ярких цитат программистов.
0. Программирование сегодня — это гонка разработчиков программ, стремящихся писать программы с большей и лучшей идиотоустойчивостью, и вселенной, которая пытается создать больше отборных идиотов. Пока вселенная побеждает.
1. Низкоуровневый язык — это когда требуется внимание к вещам, которые никак не связаны с программами на этом языке.
2. Программирование на С похоже на быстрые танцы на только что отполированном полу людей с острыми бритвами в руках.
3. Не волнуйтесь, если что-то не работает. Если бы всё работало, вас бы уволили.
Mosher’s Law of Software Engineering
4. Для меня долгое время было загадкой, как что-то очень дорогое и технологичное может быть столь бесполезным. И вскоре я осознал, что компьютер — это глупая машина, обладающая способностями выполнять невероятно умные вещи, тогда как программисты — это умные люди, у которых талант делать невероятные глупости. Короче, они нашли друг друга.
5. В хорошем дизайне добавление чего-то стоит дешевле, чем сама эта вещь.
6. В теории, теория и практика неразделимы. На практике это не так.
7. Perl — это тот язык, который одинаково выглядит как до, так и после RSA шифрования.
8. Я изобрел понятие «объектно-ориентированный», и могу заявить, что не имел в виду C++.
9. Иногда лучше остаться спать дома в понедельник, чем провести всю неделю в отладке написанного в понедельник кода.
10. Измерять продуктивность программиста подсчетом строк кода — это так же, как оценивать постройку самолета по его весу.
11. Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan
12. Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня.
13. Большинство программ на сегодняшний день подобны египетским пирамидам из миллиона кирпичиков друг на друге и без конструктивной целостности — они просто построены грубой силой и тысячами рабов.
14. Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
15. Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
16. Программы должны писаться для людей, которые будут их читать, а машины, которые будут эти программы исполнять — второстепенны.
17. Люди, которые думают, что ненавидят компьютеры, на самом деле ненавидят плохих программистов.
18. Если вы дадите человеку программу, то займете его на один день. Если вы научите человека программировать, то займете его на всю жизнь.
19. Язык, который не меняет вашего представления о программировании, недостоин изучения.
20. Мы наблюдаем общество, которое все больше зависит от машин, но при этом использует их все неэффективнее.
21. Иногда лучшие программы создаются на бумажке. Запрограммировать их — второстепенная вещь.
Max Kanat Alexander
22. Отладка кода — это как охота. Охота на баги.
23. Любой дурак сможет написать код, который поймет машина. Хорошие программисты пишут код, который сможет понять человек.
24. Программирование — это разбиение чего-то большого и невозможного на что-то маленькое и вполне реальное.
25. Программисты — не математики, как бы нам этого не хотелось.
Richard P. Gabriel
26. Программирование — это сложно. Основные правила, на которых все строится, очень просты, но по мере разработки программа сама начинает вводить свои правила и законы. Таким образом, программист строит лабиринт, в котором сам же может и потеряться.
27. Функции, которые производят значения, легче комбинировать новыми способами, чем те, которые производят сайд-эффекты.
28. Простота — залог надежности.
Edsger W. Dijkstra
29. Если вы хотите, чтобы код было легко и быстро писать — делайте его удобным для чтения.
Robert C. Martin
30. Если вы хорошо отлаживаете программы, значит, вы провели много времени, делая это. Я не хочу уметь хорошо отлаживать программы.
Michael C. Feathers
31. Работает? Не трогай.
32. При помощи C вы легко можете выстрелить себе в ногу. При помощи C++ это сделать сложнее, но если это произойдёт, вам оторвёт всю ногу целиком.
34. Java — это C++, из которого убрали все пистолеты, ножи и дубинки.
35. Если бы в Java действительно работала сборка мусора, большинство программ бы удаляли сами себя при первом же запуске.
36. Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует.
37. Плохое имя метода сродни предвыборным обещаниям политиков. Вроде о чем-то оно говорит, но если задуматься — непонятно о чем.
38. Неработающая программа обычно приносит меньше вреда, чем работающая плохо.
39. Насколько проще было бы писать программы, если бы не заказчики.
40. Молодые специалисты не умеют работать, а опытные специалисты умеют не работать.
41. Почаще задавайте себе вопрос «Что мне скрыть?» и вы удивитесь, сколько проблем проектирования растает на ваших глазах.
42. Преждевременная оптимизация — корень всех зол.
43. Чтобы написать чистый код, мы сначала пишем грязный код, а затем рефакторим его.
44. Помимо математических способностей, жизненно важным качеством программиста является исключительно хорошее владение родным языком.
Edsger W. Dijkstra
45. Для каждой сложной задачи существует решение, которое является быстрым, простым и неправильным.
46. Механизмы управления доступом в С++ обеспечивают защиту от несчастного случая, но не от мошенников.
47. Думаю, искусство программировать немногим сложнее других человеческих навыков. Программирование делает вас лучше точно так же, как вам помогают развиваться изучение иностранного языка, математики или чтение книг.
48. Аналогично тому, как написание картины является искусством для души, так и написание программы является искусством для разума.
49. Тестирование не позволяет обнаружить такие ошибки, как создание не того приложения.
50. Некоторые люди во время решения некой проблемы думают: «Почему бы мне не использовать регулярные выражения?». После этого у них уже две проблемы…
51. Я не умею делать скриншоты, потому что я обычно работаю на компьютере в текстовом режиме.
52. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
Edward V Berard
54. Учитывая текущее плачевное состояние наших программ, можно сказать, что программирование определенно всё ещё черная магия, и пока мы не можем называть его технической дисциплиной.
55. Намного легче портировать шелл, чем скрипт на шелле.
56. Изучение программирования имеет такое же отношение к проектированию интерактивных систем, как обучение слепой печати к написанию стихов.
57. Сначала учите науку программирования и всю теорию. Далее выработайте свой программистский стиль. Затем забудьте всё и просто программируйте.
58. Трудность работы с программистом заключается в том, что вы не можете понять, что он делает, до тех пор, пока не стало слишком поздно.
59. Меня два раза спрашивали [члены Парламента]: «Скажите на милость, мистер Бэббидж, что случится, если вы введёте в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить, какая путаница в голове может привести к подобному вопросу.
60. С имеет мощь ассемблера и удобство… ассемблера.
61. UNIX невероятно прост, но нужно быть гением, чтобы понять эту простоту.
62. Нельзя доверять коду, который вы не написали полностью сами.
63. Ограничение возможностей языка с целью предотвращения программистских ошибок в лучшем случае опасно.
64. Если вы считаете, что С++ труден, попытайтесь выучить английский.
65. Что бы нового мы ни создавали, мы должны дать людям возможность переходить от старых инструментов и идей к новым.
66. Небольшие программы случайно компилируются и выполняются правильно при первой же попытке. Но если это происходит с любой не тривиальной программой, то это очень и очень подозрительно.
67. Модульность — фундаментальный аспект всех успешно работающих крупных систем.
68. Доказательство с помощью аналогий — это обман.
69. Программа, которая не тестировалась, не является рабочей.
70. Программирование — это не наука, а ремесло.
71. Люди думают, что безопасность — это существительное, что-то, что можно купить. На самом же деле безопасность — это абстрактное понятие, как счастье.
72. Если бы меня попросили выбрать какой-нибудь современный язык на замену Java, я бы выбрал Scala.
73. Проблема С++ в том, что необходимо узнать всё о нём перед тем, как начать писать на нём все что угодно.
74. Дизайн языка программирования — это как прогулка по парку. Парку Юрского Периода.
75. Думаю, это будет новой фичей. Только не говорите никому, что она возникла случайно.
76. Тяжело улучшать код, который до этого уже улучшали много раз.
77. Лень — главное достоинство программиста.
78. Чтобы понять алгоритм, нужно его увидеть.
79. У меня предчувствие, что неизвестные цепочки ДНК расшифруются в копирайты и патенты.
80. Если вы наслаждаетесь используемыми инструментами, то работа будет выполнена успешно.
81. Помните, что обычно есть решение проще и быстрее того, что первым приходит вам в голову.
82. Если оптимизировать всё, что можно, то вы будете вечно несчастным.
83. Алгоритм Евклида — дед всех алгоритмов, потому что это старейший нетривиальный алгоритм, доживший до наших дней.
84. Легче изобрести будущее, чем предсказать его.
85. Программированию обычно учат на примерах.
86. Программы становятся медленнее быстрее, чем «железо» становится быстрее.
87. Я называю это моей ошибкой на миллиард. Изобретение нулевого указателя (null — прим. ред.) в 1965.
88. Некоторые проблемы лучше не решать, а избегать.
89. Одно аккуратное измерение стоит тысячи мнений экспертов.
90. У людей аллергия на перемены.
91. Мы не можем перекладывать свои ошибки на используемые технологии.
92. Лень — естественное состояние программиста, после которого он рождает хороший алгоритм.
93. Магия перестаёт существовать после того, как вы понимаете, как она работает.
94. Программирование — это как бить себя по лицу: рано или поздно ваш нос будет кровоточить.
95. Способ использования интеллекта важнее, чем его уровень.
96. Компьютер позволяет нам совершать ошибки гораздо быстрее, чем любые другие изобретения человечества, за исключением, пожалуй, текилы и оружия.
97. 640 Кб должно хватить для любых задач.
98. Основная проблема программистов состоит в том, что их ошибки невозможно предугадать.
99. Два самых известных продукта, созданных в Университете Беркли — это UNIX и LSD. Это не может быть просто совпадением.
Jeremy S. Anderson
а как же классическое "хуяк, хуяк - и в продакш" ))
Добавлю к цитатам
"В C++ всего 2 вещи получились не так: начальный замысел и реализация."
ждал, что на 4й цитате пост закончится
>Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Дело говорит.
58 и 98 одинаковые
Ответ на пост «Совет»
Из личного опыта (я программист и задаю вопросы).
Мне отвечают и я отвечаю, если нахожу вопрос на 10^(-100500) сложнее чем "абсолютно простой".
Людям обычно не нравится отвечать на вопрос/думать, если:
0) вопрс очень сложный (хотя. это весьма спорно)
1) вопрос сформулирован непонятно
2) автор не прикладывал собственных усилий для решения проблемы
3) автор пишет что-то типа (относится к 2):
Итого: на форумах отвечают, но не стоит надеяться, что форум решит вашу проблему. Самое эффективное - это пытаться самому решить свою проблему. Если на форуме подсказали, то. То вам повезло :)
Бесплатно помогаю пикабушникам учить программирование, часть 30: «О уместности и правилах хорошего тона.»
Повод для написания этого поста был далеко не самый приятный, но, в сложившейся ситуации я считаю необходимым максимально ясно обозначить свою позицию чтобы в будущем избежать противоречий.
Помимо всего этого я всячески против обсуждения политики в чатах, которые связаны с обучением программированию. Это глупо, вредно и неуместно.
В чате по Ruby избавиться от всего этого получилось довольно быстро. Я предупредил несколько раз(4) что желающие поговорить на тему качественности решений политических лидеров могут это сделать в чатах, которые именно для этого и предназначены. В чатах на техническую тему всей этой полит-агитации не место. После этого забанил пятерых участников, которые не согласились принимать такие правила и атмосфера в чате наладилась.
В чате по JavaScript все прошло не так просто. У меня возникли конфликты с несколькими участниками, когда я попросил их не размещать полит-контент там, где ему не место. На их сторону стал и модератор. После 3х попыток не постить полит контент и 3х предупреждений бана за него я удалил из чата нескольких человек.
Я благодарен бывшему модератору и всем не равнодушным к судьбе этих, хоть и небольших, но очень полезных проектов. Несмотря на напряженную обстановку есть очень много людей, которые помогают другим изучать такие сложные дисциплины просто за "спасибо". Я горжусь тем, что эти люди читают меня и мы иногда общаемся лично. Надеюсь, что вы поймете всю глубину тех причин, по которым я так поступил и в будущем аналогичных ситуаций не возникнет.
Что касается обучения новичков, то все предыдущие ресурсы, по прежнему, актуальны. Вот их список:
Мы часто получаем вопросы, которые связаны с оптимизацией работы компьютера.
- что делать если компьютер медленно работает;
- как ускорить работу компьютера без замены деталей и если менять, то как дешевле;
- медленно загружается компьютер, помогите.
Учитывая, что причин из-за которых компьютер стал медленно работать великое множество – дать однозначный ответ очень сложно, поэтому, мы решили собрать наиболее частые проблемы и описать пути их решения в этой статье.
Наверное, у каждого бывали случаи, когда со временем windows начинал тормозить, зависали программы, останавливалась музыка, не проигрывалось видео.
Представляем Вам 10 способов, которые позволят ускорить работу windows:
Способ №1 - необходимо обновить / заменить комплектующие ПК
Это самое первое, что приходит на ум - апгрейд компьютера либо покупка нового.
Итак, если покупать новый ПК, то это "выльется в копеечку", а вот замена его отдельных элементов может стоить не так дорого, при этом, быстродействие увеличится в разы.Но для начала, нужно определиться, что поменять или какую железку добавить.
А. Замена центрального процессора понадобится в том случае, если новый будет производительнее имеющегося на 30-50%. В противном случае, Вы рискуете потратить деньги и совсем незначительно выиграть в приросте производительности системы. Процессоры - это детали не из дешёвых, поэтому, не спешите покупать новый ЦП.
Процессор можно попробовать разогнать (поднять его частоту, тем самым повысить производительность), но в таких ситуациях всегда нужно обращать внимание на подводные камни.
Windows после разгона может работать нестабильно, кроме того, повыситься нагрузка на систему охлаждения, что может привести к постоянному и самопроизвольному выключению компьютера (особенно, если ПК у Вас не новый и давно не чистился от пыли). Такая ситуация может способствовать преждевременному выходу из строя центрального процессора (в том числе из-за перегрева). Не нужно забывать, что производитель процессоров (будь то Intel или AMD) даёт гарантию на его успешную работу при заявленной (заводской) тактовой частоте.
Несмотря на это, находится множество пользователей, которые на свой страх и риск повышают частоту процессоров. На просторах интернета можно найти множество ресурсов, на которых освещаются премудрости таких мероприятий.
B. Оперативная память (ОЗУ или оперативка).
Оперативки, как и денег, много не бывает. Часто заметно, что если компьютер медленно загружается и работает, то проблема в недостатке ОЗУ. Если у вас при запуске "Диспетчера задач" наблюдается постоянная загруженность оперативной памяти (80-100%), то её необходимо увеличить, - добавить планочку или две (конечно если у Вас на материнской плате имеются свободные слоты). Кроме того, необходимо знать тип своей оперативной памяти и её тактовую частоту (для этого можно воспользоваться программой диагностики компьютера Aida64, которую можно бесплатно скачать с нашего сайта). Оперативную память можно купить в любом магазине вычислительной техники, а если Ваш ПК реально устаревший, то только на форумах либо в мастерских. И вот, уже имеется частичный ответ на вопрос о том, как ускорить работу компьютера под windows :).
C. Жёсткий диск (HDD).
Кроме того, стоит обратить внимание на его скорость. На стационарном ПК зачастую используется жёсткие диски со скоростью вращения шпинделя 7200 об/мин, но если у Вас 5400 об/мин, то стоит задуматься о его замене на более скоростной. Лучшее решение ускорить компьютер заключается в том, чтобы заменить старый жёсткий диск на новый, так называемый, SSD-диск. Благо, их сейчас наштамповали много и выбрать есть из чего, но цены, как правило, выше чем у обычных винчестеров. Если Вы установите себе SSD-диск, то мгновенно увидите разницу. Ваша дисковая подсистема будет просто летать. Прирост производительности может быть в 5 раз и выше. Windows будет загружаться быстрей в несколько раз. Многие пользователи, например, устанавливают SSD-диск только для системы (для Виндовс), а файлы, игры, фильмы хранят на обычном винчестере. Теперь, Вы точно не скажите, что у Вас медленно загружается компьютер.
D. Видеокарта или видеоадаптер. Если Вы любите играть в современные игры либо профессионально работаете с графическими приложениями, то Вам, однозначно, нужна новая мощная видеокарта. Если, конечно, Вы испытываете такую необходимость. Ведь если не играть и не работать с графикой, а работать строго с офисными приложениями и серфить по просторам интернета, то этот пункт можно пропустить. Вам нет смысла тратить деньги на покупку новой видеокарты. Ускорить компьютер этот способ поможет незначительно.
Но, если Вы, всё-таки, решили раскошелиться на новую видеокарту, то помните, она должна соответствовать процессору, иначе деньги на ветер. Если у Вас на компьютере установлена ОС Windows 7, Вы можете приблизительно оценить производительность видео-подсистемы ("Панель управления" -> "Система" и кликаем на "Оценить производительность"). По результатам этого теста производительности компьютера можно определить, какое устройство является слабым звеном и подлежит замене.
Способ № 2. Чистка компьютера
Если со временем эксплуатации компьютер стал медленно работать и Вы не знаете что делать, то причина может заключаться в его сильной запыленности. Всё дело в том, что процессор, как главный вычислительный элемент может перегреваться и как следствие система автоматически понижает его тактовую частоту (это делается для того, чтобы не допустить перегрева).
Это может случиться если система охлаждения не справляется со своей задачей. В качестве решения этой проблемы советуем аккуратно прочистить содержимое системного блока, вытянуть пылесосом всю пыль с вентиляторов, чтобы после чистки воздух мог полноценно охлаждать необходимые элементы на материнской плате.
Способ № 3. Дефрагментация диска
Многие недооценивают процедуру дефрагментации жёсткого диска, а ведь она позволяет оптимизировать доступ к нужной информации, хранящейся на винчестере. Всё дело в том, что вся информация на жёстком диске разбита на части и может храниться в разных местах. Так вот, для того, чтобы компьютер начал быстрей работать, ему нужно помочь в сборе этих частей файлов при возникновении такой необходимости. Для этого и выполняется дефрагментация, - для того, чтобы считывающая головка не металась по всему диску, а находила то, что ей нужно поблизости.
После того, как диски будут регулярно дерфрагментироваться (хотя бы раз в месяц), Вы уже не будете спрашивать почему компьютер стал медленно работать.
Для того, чтобы дефрагментация проходила в оптимальной форме и быстрей, на диске должно быть около 30% свободного места.
Способ № 4. Переустановка операционной системы
Иногда, простая переустановка Windows позволяет значительно ускорить компьютер. Конечно, это зависит от того насколько активно эксплуатировалась система и какие программы часто запускались под Windows. Чаще всего замедление Windows компьютера вызвано частой установкой и удалением программ, которые оставляют после себя много мусора в реестре ОС Виндовс.
Лучший вариант в таком случае - это конечно же переустановка операционной системы, что позволит начисто решить проблемы захламлённости OS Windows. Но, если на переустановку нет времени, то можно воспользоваться всем известной программой Ccleaner, в арсенале которой имеется богатый набор средств для оптимизации системы в целом и восстановления реестра Windows в том числе.
Программа Ccleaner способна также произвести очистку операционной системы от ненужного мусора (временных файлов программ, в которых больше нет нужды). Все операции проводятся в автоматическом режиме. В любом случае, ускорение компьютера по результатам выполнения переустановки Windows либо запуска Ccleaner-а гарантированы !
Совет: Если переустановка системы не выполнялась несколько лет, то рекомендуем собраться с силами и сделать это :).
Способ № 5. Использование ПО для оптимизации работы компьютера
В предыдущем разделе мы частично затрагивали вопрос оптимизации или восстановления компьютера с помощью Сиклинера (Ccleaner), но только частично. Теперь, более подробно рассмотрим оптимизацию ОС с помощью программ и других подручных средств.
Одной из самых лучших программ для оптимизации работы компьютера является Auslogics BoostSpeed. Главный её недостаток заключается в том, что она платная, но если Вы раздобудете "лекарство" или приобретёте лицензию, то уверяем, деньги не потратите зря. Она способна ускорить компьютер за счёт внутренних инструментов, таких как ускоритель интернета, чистильщик ненужных файлов, средство ремонта и оптимизации реестра windows и других подпрограмм, которые имеет в своём арсенале.
Совет: при выполнении разного рода манипуляций для оптимизации компьютера, рекомендуем создать точку восстановления системы Windows (на случай, если что-то пойдёт не так). Всегда обращайте внимание на предлагаемые программами действия по очистке компьютера, чтобы случайно не удалить важные данные.
Если на Вашем компьютере установлена ОС Windows 7 или 8, то можно ускорить его работу за счёт отключения анимационных эффектов (иногда они сильно загружают процессор и видеоадаптер, особенно на маломощных системах).
Для этого заходим: "Панель управления -> Система -> Дополнительно -> Параметры", нажимаем "Обеспечить наилучшее быстродействие".
Способ № 6. Кастомизация BIOS
BIOS -это базовая система ввода-вывода. Её предназначение заключается в том, чтобы организовать правильное взаимодействие с устройствами компьютера через операционную систему и другое прикладное программное обеспечение.
При покупке компьютера, настройки BIOS всегда оптимальны и корректировки могут быть произведены только если Вы хорошо понимаете, что делаете. В зависимости от конфигурации системы, в биосе можно поднять частоту процессора, увеличить размер видеопамяти за счёт оперативки (в случае интегрированного видеоадаптера), а также произвести другие настройки.
Важно: если после изменения настроек в биосе, компьютер начал нестабильно работать, верните настройки "по умолчанию". Для этого зайдите в биос и выберите опцию "Load Optimal Settings".
Способ № 7. Отключить "лишние" программы
Если компьютер медленно загружается и работает, то высока вероятность, что при загрузке Windows запускается масса других ненужных программ. В этом, конечно, нет ничего плохого, но бывает, что из-за таких программ процессор используется на всю катушку, забивается оперативка. Это приводит к замедлению работы компьютера и решить проблему можно только путём исключения таких программы из автозагрузки операционной системы (запретить им запускаться вместе с загрузкой Windows).
Кроме всего прочего, обратите внимание на количество значков возле системных часов Windows, если там много всего лишнего, то Вам наверняка необходимо деактивировать хотя бы часть программ.
Для того, чтобы запретить автозагрузку программ, запустите системную утилиту "msconfig". Для её запуска нажмите кнопку с флажком виндовс и кнопку "R" ("Win + R") и введите команду "msconfig" без кавычек.
После того, как откроется системное приложение Windows, выберите вкладку "Автозагрузка" и снимите флажки с ненужных программ.
После проделанных манипуляций перезагрузите компьютер и оцените его быстродействие. Данный способ подходит для опытных пользователей, которые понимают возможные последствия проделанных манипуляций. Иногда, даже мощная система сильно тормозит из-за "параноидального" режима работы антивируса.
Совет: отключите на время антивирус и оцените насколько возросла производительность компьютера. Если значительно, тогда измените его настройки либо установите другое антивирусное ПО. Например Nod32, он достаточно эффективен и что приятно - не грузит систему. Мы рекомендуем именно его, хотя у Вас могут быть собственные предпочтения.
Ещё совет: при работе в интернете не устанавливайте предлагаемое программное обеспечение (без особой необходимости), потому как часто устанавливается много "мусорного софта", важность которого для Вашего ПК сомнительна.
Способ № 8. Установка "свежих" драйверов устройств
Замедление в работе компьютера может быть вызвано неправильно установленными драйверами (когда драйвера от другого устройства) или если драйвера были повреждены (например из-за вирусов либо Вы самостоятельно чистили систему и случайно удалили "лишнее"). В таком случае необходимо выполнить их переустановку / обновление.
Всегда следует помнить, что драйвера необходимо устанавливать сразу после установки операционной системы windows, при этом использовать только последние версии драйверов устройств (скачивать необходимо с официальных сайтов).
Только так можно быть уверенным в том, что Ваше оборудование будет работает наиболее корректно.
Совет: для упрощения процедуры установки и обновления драйверов воспользуйтесь программой DriverPack Solution, которая в автоматическом режиме найдёт и установит необходимые драйвера.
Программа бесплатна, а в комплекте идёт много дополнительного и нужного софта.
Способ № 9. Правильно выбрать операционную систему для компьютера
Данный раздел посвящён правильному выбору операционной системы для Вашего оборудования, так как очень часто пользователи устанавливают на слабое оборудование ресурсоёмкую и "тяжёлую" ОС.
Это сказывается не только на медленной работе компьютера, но и на нервах тех, кто пользуется такими компьютерами.
Совет: не используйте кастомные сборки операционных систем. Они могут содержать много дыр в безопасности, чем удачно пользуются взломщики и с чем не всегда справляются антивирусы.
Кроме всего прочего, они часто глючат без причины. Лучше установите фирменную ОС, после чего активируйте её.
Способ № 10. Вирусы
Это весомый аргумент, из-за которого работа компьютера может быть не только медленной, - он вообще может не загружаться, даже если Windows загрузилась, она может постоянно глючить.
Рекомендация тут одна - постоянно следите за регулярным обновлением Вашего антивируса, проводите полное сканирование компьютера на наличие вирусов. Но если в компьютер попали вирусы, воспользуйтесь лечащей утилитой DrWeb CureIt!. Она позволит устранить угрозу, вылечить систему от вирусов.
Это был обычный вечер четверга. Я вернулся с работы, сел за ноутбук, включил его, запустил Skype и начал привычно ждать, когда же он наконец загрузится полностью и целиком. И тут неожиданно я задумался — а почему он так долго загружается, да еще и система явно тяжело переносит этот процесс?
Я решил заглянуть в Task Manager, чтобы оценить, сколько ресурсов потребляет Skype в фоновом режиме. Но для начала небольшие предварительные расчеты. А сколько вообще это должно потреблять ресурсов? Я сейчас говорю про фоновый режим. Т.е. когда никакой видеосвязи нет, я ни с кем не говорю даже по микрофону. Все, что есть, это список контактов, который отображается в виде иконок и имен, и меню, в котором можно что-то выбрать.
Skype занимает в памяти 158 Мбайт? Вы это серьезно, учитывая, что QIP занимает 35 Мбайт? Ладно, 35 Мбайт это тоже пожалуй многовато, и с этим следовало бы разобраться, но моя заметка не об этом. Мы сейчас о Skype. Почему он занимает столько ресурсов — почти в 5 раз больше, чем QIP? На одну форму со списком контактов это как-то многовато, Вы не находите?
Что интересно, эта проблема волнует не только меня, если вы вобьете в Google "Why does skype consume so much memory", то там вывалится просто портянка различных обсуждений на форумах, почему новые версии Skype так много весят. Особенно радуют ответы. Например, реальный ответ на форуме сообщества Skype (я привожу мой вольный перевод ответа):
А почему вы считаете, что это много? Современные компьютеры имеют 4-8 Гбайт оперативной памяти. 140 Мбайт это такая мелочь по современным меркам, что вы даже этого не заметите при запуске.
Ага, ну да. Конечно. Если так все разработчики ПО будут рассуждать, то этак "никаких волостей не напасешься". Вопрос-то не в том, что мне памяти для Skype жалко (да и жалко тоже). Вопрос в том, что такого нового по функциональности прибавилось в новых версиях Skype (по сравнению со старыми), что они требуют так много памяти?
Но это-то ладно.Куда больше меня интересовал другой вопрос — процессор со Skype в фоновом режиме тоже не особо расслаблялся и периодически показывал даже полную загрузку. Возникает вопрос «Почему и как от этого избавиться?». На самом деле вопрос должен звучать так — как вообще разработчики умудряются создать такие громоздкие приложения? И что с этим делать?
Конечно, любой посетитель данного сайта наверняка хоть раз слышал про закон Мура о повышении производительности систем. В статье Free lunch is over приводится такая любопытная картинка:
Как видно, где-то в 2004-м процессоры достигли потолка в плане тактовой частоты. И последние 10 лет эта частота особо не растет. Следует ли из этого, что закон Мура перестал выполняться? Вообще-то, нет, и в статье ясно и четко объясняется почему. Просто производительность наших компьютеров теперь растет за счет других факторов (кэш и многоядерность). Однако загвоздка в том, что обычным одно-поточным приложениям эти факторы ускориться не помогут. И вот здесь возникает проблема. Дело в том, что многие производители ПО в наши дни ведут себя так, как будто на дворе по прежнему 80-е или 90-е, и оптимизация ПО в плане уменьшения количества тактов не представляет особой проблемы — просто можно немножко подождать, и процессоры станут гораздо быстрее.
Это справедливо не только для Microsoft, однако я сосредоточусь на конкретных примерах для нее. Джоэл Спольски в своей статье упоминает, что Microsoft удалось одержать верх над Lotus в 80-х годах в битве между Excel и 123 за счет того, что менеджеры Lotus допустили одну критическую ошибку — они попытались провести оптимизацию приложения. Конкретно они попытались ужать приложение так, чтобы оно всегда гарантированно умещалось в 640 Кбайт оперативной памяти. Они убили на это полтора года, и за это время Редмонд захватил рынок с помощью Excel, поскольку к этому моменту в строй вступали компьютеры с гораздо большими объемами оперативной памяти. Это решение очень дорого обошлось Lotus.
Однако вот что интересно — в наши дни такая стратегия, пожалуй, могла бы обернуться выигрышем — поскольку ресурсы стандартных десктопных систем уже не растут такими потрясающими темпами как 20-30 лет назад. Проблема в том, что в результате жесткой конкурентной борьбы того периода в выигрыше оказались компании, развивавшие функциональность приложений, игнорируя при этом производительность и оптимизацию. Эти-то компании и сформировали эту идеологию разработки, плоды которой мы пожинаем до сих пор.
К чему же это привело? К весьма любопытному явлению. Я никогда не откажусь от апгрейда оборудования, но внезапно в последнее время начал избегать без необходимости апгрейда ПО, из-за возможной инфляции. Под этим термином я подразумеваю, что тот же самый функциональный набор, который я имел в старой версии, в новой я получаю за большую стоимость в плане ресурсов процессора и оперативной памяти.
В английском языке есть устойчивая идиома, которая на русском звучит как «пытаться починить то, что не было сломано». Ситуация с ПО в последние 10 лет напоминает очень сильно эту идиому. Skype является одним из ярких примеров этого. Судя по форумам, эта проблема с памятью в старых версиях Skype не существовала, например, в версиях 3.x. Что такого усовершенствовали в продукте с тех пор, что он стал стоить настолько дорого в плане оперативной памяти?
То же самое, кстати, касается различных чат-приложений. Лет 15 назад чат, который за раз занимает 30 Мбайт оперативной памяти, выглядел нонсенсом. Однако сейчас это уже норма, хотя что же такого предоставляют нам чаты нынешние, чего не предоставлялось в то время?
Не стоит забывать и Microsoft Office. По-моему, версия для XP удовлетворяла всех. Конечно, как и любой продукт, она имела свои недостатки. Но были ли они настолько критичны, что потребовалось выпускать версии 2007, 2010 и т.д.? Я делаю в них те же самые документы, однако теперь приходится ждать гораздо дольше, пока эти системы загрузятся.
В оправдание мы слышим, что новые версии содержат новые возможности. Это да, я не отрицаю, но разве не выглядит странным, что при этом старые возможности требуют больше ресурсов?
А все-таки, почему больше ресурсов? Здесь все объясняется тем, что большинство приложений достаточно монолитны. Нет, в плане организации кода они наверняка разбиты на модули с правильным разделением ответственности. Однако я называю их монолитными в том плане, что при загрузке приложения обычно загружаются сразу все его модули, хотя зачастую этого не требуется.
Вернемся опять же к Skype. Сейчас он очевидно сделан так, что при простом входе в систему сразу загружается в оперативную память масса модулей, ответственных непосредственно за звук, видео и т.д. Это при том, что обычный вход требует лишь списка пользователей и возможности обмена текстом. Эту систему можно было сделать иначе, загружая лишь самое необходимое. И только когда пользователь хочет реально начать видео-обмен, подгружается все остальное.
Оптимизация тоже важна, из-за того, что разработчики чисто физически не могут разработать весь код «с нуля», а вынуждены использовать уже имеющиеся библиотеки, которые были написаны без особого нажима на оптимизацию.
Представим себе, что разработчик каждой библиотеки сделал свою библиотеку на 5% медленнее, чем она могла бы быть, если бы он затратил дополнительные усилия на оптимизацию. Пусть библиотека 1 в своей работе использует библиотеку 2, а та библиотеку 3, а та библиотеку 4. В этом случае цепочка из 15 библиотек в случае аккумуляции задержек получает результат 1.05^15 = 2.07, т.е. приложение в худшем случае будет работать в два раза медленнее, чем любой из компонентов.
Я прекрасно знаком с фразой о том, что преждевременная оптимизация — это корень всех зол. Однако речь идет о преждевременной оптимизации, а не оптимизации вообще. Этот лозунг был прекрасен во времена, когда процессоры становились все быстрее на глазах. После достижения потолка этот лозунг начинает оборачиваться боком, когда старая версия приложения, написанная лет 15 назад, внезапно начинает выглядеть более предпочтительной, чем версия, выпущенная на прошлой неделе. Кстати, нельзя не отметить тот факт, что зачастую производители ПО пытаются принудительно заставить пользователей обновить ПО, именно потому, что особых мотивов выгоды для потребителя в данном случае нет.
В принципе программную индустрию ждет то же, что автомобильную после нефтяного кризиса 70-х, когда стало ясно, что бензин становится критически дорогим ресурсом. С тех пор автомобильные компании смогли снизить потребление двигателей где-то на треть, если я не ошибаюсь.
Для сравнения, на Glassfish, если вы изменили один из нескольких сотен или тысяч классов, вам надо переустановить весь модуль (war/ear/jar). Горячая замена функций или классов на ходу там есть, но реализована очень слабо по сравнению с Erlang.
Будущее индустрии за приложениями, которые смогут использовать полноценно многоядерность, и не будут загружать сразу все возможные модули для всех фич, что есть в данном продукте. Т.е. программа сможет загружаться в базовой комплектации и потреблять столько ресурсов, сколько потреблял ее предшественник 15 лет назад, и при необходимости на ходу догружать все, что потребуется пользователю.
Читайте также: