
Введение
Программное обеспечение повсюду. Оно управляет нашими телефонами, автомобилями, банками, больницами, развлечениями и связью. Это одно из самых важных и влиятельных изобретений в истории человечества. Оно позволяет нам создавать удивительные вещи, решать сложные проблемы и связываться друг с другом по всей планете.
Но программное обеспечение также испорчено. Оно медленное, ошибочное, небезопасное и ненадежное. Оно часто вызывает разочарование, путает и разочаровывает. Оно постоянно меняется, но не всегда к лучшему. Оно становится все более сложным, но не более изящным.
Почему это происходит? Почему качество программного обеспечения снижается в эпоху изобилия и инноваций? Почему мы удовлетворяемся посредственным программным обеспечением, когда у нас есть потенциал создать нечто великое?
В этой статье я буду аргументировать, что снижение качества программного обеспечения является симптомом более глубокой проблемы: снижения качества человечества. Я буду использовать цитату «Тяжелые времена создают сильных людей, сильные люди создают хорошие времена, хорошие времена создают слабых людей, а слабые люди создают тяжелые времена» в качестве основы для объяснения того, как программное обеспечение отражает цикл процветания и регресса в обществе. Я также предложу некоторые способы прерывания этого цикла и создания лучшего программного обеспечения и лучших людей.
Как тяжелые времена создают сильное программное обеспечение
Цитата «Тяжелые времена создают сильных людей» подразумевает, что необходимы трудности и вызовы для роста и развития человека. Когда люди сталкиваются с трудностями, им приходится адаптироваться, учиться, преодолевать и выживать. Им приходится быть изобретательными, креативными, дисциплинированными и смелыми. Им приходится быть сильными.
То же самое относится к программному обеспечению. Когда программное обеспечение создается в тяжелые времена, оно должно быть эффективным, надежным, устойчивым и безопасным. Оно должно решать реальные проблемы, удовлетворять реальные потребности и приносить реальную ценность. Оно должно быть простым, изящным и красивым.
Некоторые примеры программного обеспечения, созданного в тяжелые времена:
Unix: Семейство операционных систем, разработанное в 1970-х годах исследователями из Bell Labs, которые хотели портативную, надежную и гибкую систему для своей работы.
C: Язык программирования, разработанный в 1970-х годах Деннисом Ритчи как преемник B, который в свою очередь был упрощенной версией BCPL. C был создан для реализации Unix и других приложений низкого уровня, требующих прямого доступа к оборудованию.
TCP/IP: Набор протоколов, разработанный в 1970-х годах исследователями в DARPA, которые хотели устойчивую и масштабируемую сеть, способную выжить при частичных сбоях и поддерживать несколько видов связи.
LaTeX: Система подготовки документов, созданная в 1980-х годах Лесли Лэмпортом как расширение TeX, который в свою очередь был разработан Дональдом Кнутом в 1970-х годах в ответ на плохое качество верстки в его книгах. LaTeX был разработан для создания высококачественных научных и технических документов с минимальными усилиями.
Эти примеры показывают, что программное обеспечение, созданное в тяжелые времена, обычно:
Фокусируется на решении реальных проблем, а не на создании искусственных.
Движимо любопытством и страстью, а не хайпом и прибылью.
Основано на прочных основах, а не на трендах.
Оптимизировано для производительности, а не для внешнего вида.
Протестировано на надежность, а не на популярность.
Документировано для ясности, а не для непонятности.
Обслуживается для долговечности, а не для новизны.
Другими словами, программное обеспечение, созданное в тяжелые времена, обычно является сильным.
Как сильное программное обеспечение создает хорошие времена
Цитата «Сильные люди создают хорошие времена» подразумевает, что сила приводит к успеху и процветанию. Когда люди сильны, они могут достигать своих целей, преодолевать свои препятствия и улучшать свои условия. Они могут создавать богатство, счастье и мир. Они могут создавать хорошие времена.
То же самое относится к программному обеспечению. Когда программное обеспечение сильно, оно может позволить своим пользователям делать удивительные вещи, решать сложные проблемы и улучшать свои жизни. Оно может создавать ценность, удовлетворение и радость. Оно может создавать хорошие времена.
Некоторые примеры программного обеспечения, создающего хорошие времена:
Всемирная паутина: Система взаимосвязанных гипертекстовых документов, позволяющая пользователям получать доступ к информации из любой точки интернета. Веб был изобретен в 1989 году Тимом Бернерс-Ли как способ поделиться своими исследованиями со своими коллегами в CERN. Веб революционизировал коммуникацию, образование, развлечения, коммерцию и социальное взаимодействие.
Google: Поисковая система, позволяющая пользователям находить актуальную информацию с миллиардов веб-страниц. Google был основан в 1998 году Ларри Пейджем и Сергеем Брином как исследовательский проект в Университете Стэнфорда. Google трансформировал способ доступа людей к информации.
Linux: Ядро операционной системы с открытым исходным кодом, которое управляет всем, начиная от серверов, рабочих станций и смартфонов, заканчивая встраиваемыми устройствами. Запущенное Линусом Торвальдсом в 1991 году как хобби-проект, Linux способствовал движению в направлении совместной разработки и сегодня стоит как свидетельство силы совместного инновационного процесса.
Facebook и социальные медиа: Платформы, переформировавшие взаимодействие людей. Основанный в 2004 году Марком Цукербергом и его однокурсниками, Facebook проложил путь для эры социальных медиа, где обмен личными историями, новостями и формирование глобальных сообществ стали нормой. Социальные медиа переопределили способы подключения, общения людей и даже инициирования социальных изменений.
Эти примеры демонстрируют, как сильное программное обеспечение может способствовать хорошим временам:
Обеспечивая беспрепятственную коммуникацию и связь по всему миру.
Демократизируя доступ к информации и ресурсам.
Содействуя инновациям в бизнесе и открывая новые рыночные возможности.
Усиливая личные и коллективные голоса для позитивных изменений.
Оптимизируя процессы и улучшая эффективность в различных секторах.
В сущности, сильное программное обеспечение не только упрощает сложные задачи, но также играет ключевую роль в продвижении общества, стимулировании экономического роста и развитии глобального сотрудничества.
Как хорошие времена могут способствовать созданию слабого программного обеспечения
«Хорошие времена создают слабых людей» предполагает, что в периоды процветания и комфорта существует возможность стать удовлетворенным. По мере уменьшения вызовов у людей снижается необходимость инноваций или поддержания той же строгости, которая привела к первоначальному успеху.
Перенося это на программное обеспечение, хорошие времена могут привести к:
Разработке на основе трендов, а не реальных потребностей мира.
Чрезмерной зависимости от фреймворков без понимания их основных принципов.
Приоритетности эстетики над функциональностью.
Пренебрежению безопасности и надежности ради быстрого развертывания.
Большему вниманию маркетинговым трюкам, а не истинному улучшению продукта.
Например, рынок приложений переполнен бесчисленными приложениями с перекрывающимися функциональностями, что приводит к избыточности. Более того, с развитием культуры «двигаться быстро и ломать вещи» некоторые компании придают приоритет скорости стабильности, что приводит к выпуску программного обеспечения с ошибками.
Как мы можем способствовать созданию сильного программного обеспечения в хорошие времена
Чтобы обеспечить постоянное качество программного обеспечения в периоды процветания:
Акцентировать внимание на образовании и развитии навыков, гарантируя, что инженеры по разработке программного обеспечения хорошо разбираются в основах.
Способствовать культуре постоянного обучения и инноваций.
Награждать программное обеспечение, решающее реальные потребности и вызовы пользователей, а не просто следующее за трендами.
Придавать приоритет безопасности, надежности и пользовательскому опыту на каждом этапе разработки программного обеспечения.
Содействовать сотрудничеству и разработке программного обеспечения с открытым исходным кодом, чтобы воспользоваться разнообразными точками зрения и коллективным интеллектом.
Заключение
Качество программного обеспечения, подобно циклам общества, может иметь свои взлеты и спады. Однако понимание влияния общественного процветания на качество программного обеспечения может предложить идеи по предотвращению потенциальных подводных камней. Путем ценности истинного инновационного подхода, акцентирования на образовании и создания среды совместной разработки, мы можем стремиться к непрерывному производству сильного программного обеспечения независимо от фазы общества, в которой мы находимся.