Вторник, 26.11.2024
1c всегда!
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » 2015 » Октябрь » 30 » Что такое Код? Часть 3.
15:52
Что такое Код? Часть 3.

 

5.4 Вкратце о большой теме под названием Microsoft

Естественно, если вы работаете с Microsoft, то это не допустимо. Вы не можете позволить, чтобы другие компании проникли в ваш банк и предприятия с помощью этого глупого языка. Вы не можете держать сотрудников, которые контролируют процесс на виртуальных компьютерах, когда они должны работать с Windows, как завещал им Господь Бог и Билл Гейтс.

Никогда не исключайте из своей практики Microsoft. Ее потрясающее корпоративное мастерство всегда заключалось в том, чтобы использовать все странности компьютерных идей и транслировать их для корпораций на языке Руководства Международного Предпринимательства. Чтобы вы не обсуждали в этой статье, Microsoft предлагает, как минимум одно из решений. Статически типизированный, скриптовый, управляемый данными, функциональный – назовите свое неоднозначное прилагательное, и Microsoft готов продать вам нечто, что поможет вам. И вы сможете написать на нем код Windows и прожить жизнь Windows. И это не унижение достоинства; продукты Microsoft могут быть такими же хорошими, если не лучшими, чем другие конкуренты на рынке.

5.5 Ликвидная инфраструктура 

«Корпорация» – это страшное слово среди программистов, поскольку программирование для корпораций означает выполнение огромного объема работ с нулевым конечным результатом. Вспомните healthcare.gov, первую версию, которая была полной катастрофой? Идеальный пример кодирования для корпорации. В то же время, программисты уважают крупные системы – особенно, когда они работают. Мы уважаем амбиции больших тяжеловесных машин, которые работают с большими блоками двоичных данных кода. Мы выросли на публикациях о суперкомпьютерах. Крупногабаритное аппаратное обеспечение – это всегда классно, даже если будущее видится в форме огромных облачных платформ, которые включают в себя огромное количество дешевых компьютеров.

Однако Java широко используется и в Google. Это язык для таких компаний как General Electric и Accenture. Это – не начинающие интернет-компании, но, если сроки выпуска их продуктов сдвигаются, аналогичная ситуация возникает и с доходами, и здесь они «признательны» открытому рынку.  Гигантские корпорации, деятельность которых управляется компьютерами, структурированы вокруг кода и создания программного обеспечения. Но это не означает, что у них огромный штат – компания Amazon известная своим правилом двух коробок с пиццей: «Никогда не проводи совещание там, где двух коробок с пиццей будет недостаточно, чтобы накормить весь персонал» (“Never have a meeting where two pizzas couldn’t feed the entire group”).

Данные компании обладают культурой создания программного обеспечения. У них есть целые отделы, которые занимаются тестированием. Этот процесс очень важный, поскольку существует много волнующих моментов, а некоторые из них даже невозможно увидеть.

Академические исследователи часто производят программы, которые в основном работают, но не имеют интерфейса. Им нужно доказать свои тезисы, опубликовать их и двигаться дальше. Члены сообщества бесплатного программного обеспечения часто создают код, чтобы удовлетворить желания и выпустить этот код для цифровой общественности с тем, чтобы другие могли модифицировать его и применять в личных целях. Несмотря на то, что в большинстве случаев этот процесс ведет в никуда, со временем некоторые проекты захватывают творческое воображение других и становятся частью инфраструктуры мира.

Интересно, что язык Java извлекает прибыль из всего этого. Он разработан для крупных корпоративных проектов и обладает соответствующей инфраструктурой для их поддержки. Этот язык также полезен для выполнения задач среднего размера. Поэтому библиотеки, которые вам нужны для написания программного обеспечения – обработка образов, загрузка файлов, полнотекстовый поиск – быстро появляются, улучшая стандарты, или полностью вытесняя их.

В конце концов, люди поняли, что, если им не нравится язык Java, они могут написать другие языки, которые компилируются в байт-код Java и запускаются на виртуальной машине Java. В настоящий момент существует много языков, которые успешно заменяют Java. Некоторые являются версиями известных языков, например, Jython и JRuby. Другие – полностью новые, например, Scala, один из языков, которым начали пользоваться разработчики Twitter, когда они выросли из одежек Ruby. Есть также Clojure, который является ничем иным, как … Lisp. Clojure берет любимый многими компьютерный язык, созданный в 1950-х годах, модернизирует его под требования 2010 года и обеспечивает ему возможность использовать повторно все классы Java, существующие в мире. Clojure был создан Ричем Хики (Rich Hickey), который решил, что ему понадобится новая современная версия Lisp.

Мне действительно нравится Clojure. Он меня многому научил. Но то, что применимо к Clojure, применимо и к другим языкам, однако он все еще почитаем, как классическая модель, типа электробритвы Braun, или кресла Имса. Хики работал над Clojure на протяжении многих лет, в конечном итоге адаптировав его для запуска на виртуальной машине Java. Это был радикальный и впечатляющий выбор, поскольку он означал, что Clojure получил доступ к библиотеке классов Java в полном объеме.

Сейчас вы заходите в офис, садитесь за свой компьютер и пишете код на Lisp, очень элегантный и хорошо продуманный, отрегулированный и удобный, но у вас есть доступ к тысячам тысяч невероятно хорошо продуманных и полностью функциональных бесплатных библиотек, которые вы можете использовать для выполнения возложенных задач.

Все, на что способен язык Java, может выполнять и Clojure. И, поскольку он построен на виртуальной машине Java, он может выполняться на любом компьютере. Здесь уже было предусмотрено наличие инструментов для редактирования Lisp, поэтому модифицировать их для Clojure не составляло труда. Он был подсоединен к Java, как рыба-прилипала ремора к акуле. Или, если быть более точным, ремора подсоединена к реморе, поскольку виртуальная машина Java – это подделка, которая находится внутри настоящей машины.

Clojure любят многие, но этот язык часто не используется. Возможно, он станет более популярным в будущем. Он появляется в интересных местах. Он используется в магазинах сети Wal-Mart для сбора и контроля приходных данных для бухгалтерии. Он перенесен в мир Microsoft и работает непосредственно внутри Excel, проводит адресацию ячеек и колонок. Это самый безумный язык в цифровом мире. Кто-то создал версию, которая компилируется в JavaScript, поэтому, бабах!, Clojure работает в вашем веб-браузере. Фактически эта версия называется ClojureScript.

Суть в том, что эти вещи – довольно изменчивы и нестабильны в мире программирования. Изменчивы в том виде, в котором не должны быть другие отрасли промышленности. Языки представляют собой ликвидную структуру. Вы загружаете несколько программ и, стоп-стоп, внезапно у вас возникает рабочая среда Clojure, которая фактически является Средой Выполнения Языка Java (Java Runtime Environment). Вы хватаете старый ПК, который пережил все допустимые сроки эксплуатации, загружаете туда Linux и внезапно получаете мощный веб-сервер. Теперь вы можете участвовать в новых  мероприятиях. В семинарах, собраниях, конференциях, блогах, обсуждениях в Твиттере. И вас радушно принимают, поскольку участники заинтересованы в притоке свежей крови, свежих мыслей. Предполагалось, что Java вытеснит язык С и будет работать на умных «побрякушках». В настоящий момент он запускает серверы приложений, служит ресурсом для языков типа Lisp и является базовым языком для операционной системы Android.

Компании Oracle это не понравилось, поэтому она подала судебный иск на Google. Oracle работает с огромным количеством программных продуктов. Она выиграла иск. Языки С и С++, которые она планировала вытеснить, также выиграли. Многие стороны подобных конфликтов становятся победителями, потому что количество компьютеров постоянно растет в огромном количестве. И это странно.

5.6 Имеющийся в наличии

Через несколько недель, когда человек в темно-сером пиджаке находится в своем офисе, и  вы спрашиваете его, есть ли возможность использовать больше имеющихся в наличии компонентов, чтобы найти выход из создавшейся ситуации.

Он корчит мину на лице. Типа этого, выдавливает он из себя, но когда вы создаете систему, которая будет интегрироваться с другими расположенными вокруг нее системами, а ваша компания представляет собой набор таких систем, ничто нельзя определить, как имеющееся в наличии. Существуют инструменты, пакеты и библиотеки, и если у вас вообще есть разум, вы уже используете подтвержденный документами бесплатный код для таких вещей, как проверка достоверности электронной почты (почтового сервера). «Все является edge case (впрограммировании edge case (граничный случай) называют тест, который проверяет граничные условия алгоритма, функции или метода. Серия edge case может быть использована, чтобы определить «границу» работоспособности программы. Если она работает «на грани», то будет работать и в других условиях )», утверждает человек в пиджаке, «Тестирование и edge case». И вы приходите к выводу – Мир сошел с ума.

Посылаем электронное сообщение.

Если вам необходимо, чтобы приложение JavaScript автоматически посылало кому-нибудь электронное сообщение, нужно сделать следующее:

  1. Пищите в поисковой системе Google программный пакет для управления кодом почтового сервера;
  2. Следуйте за первой ссылкой; найдите общий модуль с названием e-mail, который был загружен 5015 раз на протяжении месяца;
  3. Напечатайте npm install e-mail со своей командной строки;
  4. Выделите веб-страницу для модуля, с помощью которого вы можете получить пример кода;
  5. Скопируйте и вставьте код;
  6. Модифицируйте его немного;
  7. Запустите код, напечатав узел (нод) myscript.js;
  8. Закатите глаза в недоумении, если ничего не произойдет;
  9. Уделите шесть или более часов на конфигурирование почтового сервера, чтобы он послал электронное сообщение;
  10. Вышлите на свой электронный адрес столько сообщений, чтобы ваша корпоративная сеть заблокировала вас, как спам;
  11. Махните рукой на это дело и отдохните;
  12. На следующий день попробуйте запустить код электронной почты;
  13. Повторите процедуру тысячи раз с известным чувством отчаяния и страха;
  14. Как только все начнет работать, зарегистрируйте его в репозитории исходного кода, пошлите электронное сообщение коллективу и обновите статус кода в системе отслеживания ошибок;
  15. Пообещайте себе, что вы напишете необходимую документацию и протестируете код завтра;
  16. Никогда не пишите подобных вещей.

5.7 А как же JavaScript?

Помните Netscape, первый огромный коммерческий веб-браузер? В 1995 году, когда Java был весь в цвету, Netscape решал свою проблему. Он демонтировал веб-страницы, которые были не столь привлекательны. У вас могло быть смешное изображение обезьянки на веб-странице, во время передвижения мыши, вы никак не смогли заставить обезьянку танцевать. Разработчик языка Брендан Эйх (Brendan Eich) пытался решить эту задачу. Для этой цели он создал язык под названием JavaScript.

Взаимоотношения между JavaScript и Java довольно деликатные. Самая сильная связь  между языками – это маркетинговое соединение их названий. Ранняя история JavaScript не особенно вдохновляла программистов. А сейчас обезьянка может танцевать. Вы можете работать с курсором, заставляя объекты мерцать, когда мышь коснется их.

По мере того, как количество браузеров увеличивалось, и Веб превращался из платформы доставки документов в платформу доставки программного обеспечения, JavaScript стала наиболее широко развернутой языковой средой исполнения в мире. Если вы написали некий код на языке JavaScript, вы можете работать с ним в любом месте, где есть Веб, то есть везде. На протяжении многих лет JavaScript возился в дикой местности, как, впрочем, и Java, только без решительной поддержки со стороны корпорации, как, например, Sun.

Затем, около десяти лет назад, специалисты начали говорить об Ajax – идея состояла в том, что можно встроить реальное программное обеспечение в веб-страницу, не просто документ, а программу, которая могла выполнять настоящую работу. В зависимости от вводимых в компьютер данных, программы могли отвечать и меняться. Вы можете распространять свое программное обеспечение среди сотен миллионов пользователей, и JavaScript будет работать для них. Он не был таким управляемым, как Java, он был намного медленней, чем скомпилированный в родном формате С, и у него практически отсутствовали тонкости и мелкие детали. И все же: Gmail, Google Maps, Flickr, Twitter, и Facebook. Каждый отдельный пиксель на веб-странице можно сейчас регулировать, тип можно менять, слова можно перемещать, а кнопки нажимать.

Как и с любой другой звездой, существует целая индустрия, посвященная замазыванию изъянов и созданию привлекательного вида. Существуют книги о «достоинствах» JavaScript, есть библиотеки, которые облегчают и позволяют более согласовано создавать программы, такие, как jQuery. Они могут превратить много строк кода, которые необходимы для того, чтобы параграф исчез, в отдельный $(“p.optional”).hide();.

Во времена iPod и раскрашенных Макинтошей, фирма Apple взяла код из открытого Веб-браузера под названием Konqueror и модифицировала его для создания Safari, собственного Веб-браузера, который должен был конкурировать с Microsoft Internet Explorer. Затем, в 2008 году Google начала создавать собственные модификации для веб-подсистемы под Safari, которые получили название Webkit, а также создала собственную версию Chrome с быстро развивающейся программой JavaScript под названием V8. Язык JavaScript создавался быстро. «Разработчики обследуют JavaScript с таким темпом, как будто они мчатся на повозке, однако термоядерный реактор уже давно заменил лошадь», написал в своем Твитере один разработчик. Поисковая система Google функционирует лучше, когда JavaScript  работает быстро.

В 2008 году разработчик по имени Райан Дахл (Ryan Dahl) модифицировал движок V8, который представлял собой бесплатное программное обеспечение, и запустил его вне браузера. До этого существовали автономные версии JavaScript (включая некоторые, которые запускались внутри Java, конечно), но все они работали медленно. Он назвал это дополнительной ветвью Node.js. Однажды JavaScript был запущен внутри Веб-страниц. Но он вышел из «браузерной» тюрьмы. Сейчас он может функционировать в любом месте. Он может касаться вашего жесткого диска, посылать электронные сообщения, удалять все ваши файлы. Это настоящий язык программирования. А клиент… стал сервером.

Язык JavaScript возводит в квадрат несколько цифр для вас:

Знімок екрана 2015-10-28 о 02.17.37

В водовороте событий тысячи разработчиков начали использовать Node.js и создавать модульные библиотеки. Если вы знаете, как JavaScript работает на веб-странице, тогда вы можете дать ему возможность работать на сервере. Существует несколько интересных характеристик этого языка, позволяющие применять его для написания программного обеспечения, которым могут оперировать много одновременных пользователей. Язык JavaScript способен перехватить одновременно массу информации на веб-странице. Перемещение мыши, нажатие клавиши, поступление из Сети некоторых блоков информации. На сервере он может воспринимать одновременно запросы сотен пользователей и выдавать соответствующую информацию по их просьбе.

Вскоре сообщество разработало огромную библиотеку пакетов – битов программного обеспечения, которые выполняют специфические задачи, как например, чтение файлов, обмен информацией с базой данных, или «общение» с инструментами веб-сервисов Amazon. При написании ресурс npmjs.com обладает 150 000 пакетами, и более миллиона копий разнообразных пакетов ежемесячно загружаются в базу данных.

Сокращение NPM расшифровывается, как Node Package Manager (Диспетчер Пакетов Node). Это программное обеспечение, которое помогает инсталлировать пакеты, и, честно говоря, они достаточно громоздкие, поскольку многие из 150 000 пакетов требуют поиска, тестирования и сопровождаются вздохами разочарования. Но, если вам нужно забрать большой объем важной информации бесплатно, вы не будете сожалеть.

Язык JavaScript представляет собой адскую смесь, разработанную в спешке, и он работает на кто его знает каких устройствах. Их количество может достигать миллиарды единиц, поэтому, вы, наверное, сталкивались с этой программой. У ваших клиентов может отсутствовать iPhone, но они, вероятно, так или иначе, пользуются JavaScript.

Вы можете использовать JavaScript для того, чтобы сделать свою Веб-страницу более интересной. Вы можете применить этот язык для создания клиентской стороны полноценного приложения, как, например, Google Docs, которое запускается в браузере. Вы можете использовать его для создания Веб-сервера, который «общается» с браузером, или применить его для программного интерфейса приложения, который передает данные «клиенту» и этим клиентом может быть браузер ноутбука. Однако, за окном у нас 2015 год, и этим клиентом, вполне вероятно является приложение на вашем смартфоне.

5.8 Что я минимально должен знать о PHP?

Вы можете подготовить сайт в состояние минимальной готовности в РНР за несколько минут, и здесь возникает проблема. Он применяется в качестве плохого выбора, который вы сделали, когда вам нужно было что-то реализовать на веб-странице, но увеличившееся количество JavaScript заменило его в качестве плохого выбора по умолчанию.

PHP расшифровывается, как Personal Home Page/ Forms Interpreter (Преобразователь Личной Домашней Страницы в Формы). Идея состоит в том, что, когда вы загрузили свои веб-страницы, код РНР запускается до момента загрузки страницы в интернет. РНР может, например, проверить, были вы зарегистрированы или нет. Если да, он может показать вам ваши сверхсекретные реквизиты, а, если нет, он может попросить вас: «Пожалуйста, зарегистрируйтесь».

Я знаю многих людей, которые пишут программы в РНР, и это умные и хорошие специалисты. РНР приводит в действие Etsy и Facebook, Wikipedia и WordPress. Из огромного количества веб-страниц, большой процент создан с помощью РНР.

Зарабатывать на хлеб путем создания кодов с помощью РНР – не означает подписать себе смертельный приговор. Многие специалисты даже разбогатели на этом. Хотя, работа связана с большим количеством  вырезания и вставок через буфер обмена и многочисленными посещениями дяди «Гугла» с целью выяснить, почему некоторые вещи не работают. Бедный, печальный, незаконнорожденный, невероятно эффективный, потрясающе успешный РНР. Чтение кода РНР сродни чтению  стихов, которые вы сочиняли, будучи на первом курсе колледжа.

Я потратил сотни, а может, тысячи часов, создавая программы в РНР, когда я не знал, что я делаю. Об этом также не имел понятия РНР. Перезагружал веб-страницы, пока мои пальцы не начинали страшно болеть. (Я уже слышу ваши всхлипывания сочувствия). Все было взломано, и  люди проникали на мои страницы. РНР. Я не хочу желать ему зла. Мне приятно видеть, как он смог обойтись без посторонней помощи. Иногда у нас были хорошие времена, но я ни под каким предлогом не хочу туда возвращаться.

6. Как Создаются Приложения?

Одним из преимуществ обладания компьютером Mac является возможность скачивания программы Apple под названием Xcode. Это – IDE, Integrated Development Environment (интегрированная среда разработки программ).

Это огромный массив данных, более 2 гигабайт, или, грубо говоря, размер часовой видео программы DVD-качества. Xcode является сердцем Apple. И это не означает только, каким образом компания пишет программное обеспечение. Это инструментарий для каждого, кто хочет создать программу для Mac, или iPhone.

sec3_xcode

Внутри Xcode находятся целые миры, которые  необходимо исследовать. Например, один компонент – iOS SDK (Software Development Kit – Пакет для Разработки Программного Обеспечения). Вы используете их для написания приложений под iPhone и iPad. Этот пакет состоит из десятков и десятков интерфейсов для прикладных программ APIs (Application Programming Interfaces). Есть интерфейс, который отслеживает место пользователя, есть для анимирования изображений, есть для воспроизведения звуков, отображения текста на экране и сбора информации от пользователей. И так далее.

Возможно, вы начали замечать некоторые элементы взаимосвязи. Помните, как работала окружающая среда Smalltalk, дисплей с большим количеством окон. Нечто похожее есть и в Xcode.

Есть и другие варианты. Я тяготею к созданию большей части моего кода в текстовом редакторе с черным фоном, чтобы значительно меньше увидеть с первого взгляда, а воспринимать все в комплексе. Однако, в данном конкретном случае – это уже нечто серьезное. Вы заполняете несколько полей, скрепляете вместе некоторые комплектующие (действительно, иногда это осуществляется путем соединения виртуальных проводов и виртуальных отверстий) и начинаете создавать код.

Когда представитель фирмы Apple стоит на сцене и объявляет нечто новое, которое заканчивается на слово “Kit,” например, ResearchKit или HealthKit или WatchKit, которые представляют собой набор программ для Apple Watch, то Xcode будет на месте расположения этих пакетов, полностью документирован для того, чтобы использовать его в процессе создания программного обеспечения.

Некоторые функции зарезервированы для производителя. Вам известно, как Apple рекламирует свою продукцию, подчеркивая, что вы можете измерять пульс с помощью Apple Watch? Фирма, правда, еще не задокументировала, каким образом это можно сделать. Возможно, компания беспокоится, что вы каким-то образом неправильно используете это. Возможно, измерение сердцебиения требует бережной работы с аккумулятором. Поскольку упомянутые проблемы уже имели место, то Apple пытается не допустить ухудшения работы, и поэтому не допускает случайных пользователей. Вероятно, что многие пытаются выяснить, каким образом получить доступ к API, позволяющему измерять сердцебиение. Люди всегда остаются любопытными.

В этом плане Apple – молодцы. Они публикуют руководства для создания интерфейсов и дают людям инструментарий для оформления приложений в предсказуемом виде, который будет понятен конечным пользователям. Apple устанавливает набор потоков, которым нужно следовать. Предположим, вы создаете приложение подкастинга, и воспроизведение аудио файла является ключевым фактором. Прекрасно.

Одновременно выполняется много функций, поэтому вы хотите оставить операционной системе отслеживать местонахождение окон. Именно IDE поможет вам реализовать ваши идеи в этом массивном мире с десятками тысяч методик, благодаря чему вы сможете воспроизводить песни, перематывать запись, отслеживать время, когда звучала песня (то есть, вы также должны иметь представление о временных зонах), или отслеживать название песни (а это означает, что вы также должны знать язык, на котором написано название песни, а также знать, как оно отображается – слева направо, или справа налево).

Вам также необходимо знать время звучания песни, а это означает, что у вас должен быть некий механизм для получения времени звучания из музыкального файла. Как только вы его получите – скажем, в миллисекундах – вам нужно разделить полученную цифру на 1000, а затем на 60, чтобы иметь информацию в минутах. А как быть, если композиция является подкастом и время звучания составляет 90 минут? Не хотите ли вы разделить еще раз, чтобы получить в часах? Столько переменных величин!

Я полагаю, что у вас все же есть проблемы, которые необходимо решить, поскольку интегрированная среда разработки программ IDE не сможет все для вас сделать. Самое крупное коммерческое достижение индустрии высоких технологий состоит в том, что, если вы управляете компьютерной средой, вы можете продвигать товар на рынке. Вы можете изменить виды деятельности людей, то, как они слушают музыку, смотрят видеопрограммы и реагируют на рекламу. Специалисты, которые работают в компаниях высоких технологий, должны брать идею и умножать ее на миллионное количество людей, и таким образом зарабатывать миллиарды долларов.

Прекрасный способ для реализации подобных планов – поместить свои намерения в API, SDK и IDE. Вот почему так много единиц программного обеспечения для написания программных продуктов предлагается бесплатно. Это стимулирует развитие еще большего количества программного обеспечения.

Иногда это является результатом корпоративных амбиций. Язык Java был продуктом Sun вплоть до библиотеки классов. То же можно сказать о C# для Microsoft. Но большинство кодов, которые предлагаются бесплатно, были созданы благородными волонтерами на протяжении многих лет для собственных нужд. Тактика взаимных уступок между корпорациями и языками программирования – довольно сложная вещь. Некоторые разработчики языков приглашаются компанией, чтобы работать со своими исходными языками. Работы над Go и Python финансировались в различной степени со стороны Google, а создатель РНР работает в Etsy.

Apple и Microsoft, Amazon и Google: заводы и фабрики. Их интерфейсы для прикладных программ являются результатом многочасового труда огромного количества программистов. Представьте себе, какой был объем выполненных работ. Кому-то нужно управлять пакетом для разработки программного обеспечения. Для этого сотни программистов должны написать код. Сотрудниками необходимо написать документацию и организовать демонстрацию продуктов. Кому-то нужно бороться за функциональные свойства, чтобы получить финансирование и закончить проект. Кто-то обязан удостовериться, что перевод на немецкий язык выполнен и в нем отсутствуют досадные ошибки, которые занесут вирус на Twitter. Кому-то необходимо написать фактически целое программное обеспечение, которое будет способствовать работе встроенного интерфейса накопителя IDE.

Современные операционные системы представляют собой праздник чудес: скоростное видео, музыкальные плееры, сотни кнопок. Фирма Apple, наверное, является лучшим производителем кнопок из всех, которых можно только представить. Просто экранные клавиши – это видимый результат работы. На сегодняшний день существует 15 стилей экранных кнопок, начиная от NSThickSquareBezelStyle и заканчивая NSSmallSquareBezelStyle.

Свобода. (Типа того. Это просто кнопки). Вещи, которые в свое время требовали затрат труда и заботы – чтобы показать карту, вращать пейзаж в трехмерном измерении, – сегодня можно выполнить с помощью нескольких строк кода.

Когда во время Всемирной Конференции Разработчиков, которая проводится Apple в Сан-Франциско, участники и посетители восторженно наблюдают, как некто в дорогой рубашке навыпуск вещает о «ключевых данных», это и есть суть. На сцене, представляя свои наборы программ, представитель Apple переставляет абстрактные понятия и при этом утверждает: «Посмотрите на описанную нами новую реальность, на то, насколько легко можно сейчас управлять некогда сложными вещами, какими яркими стали те вещи, которые недавно казались тусклыми. Ваша вера в нашу платформу и ваша преданность делу, которому вы посвятили тысячи часов своего времени, не пропали зря». Они говорят об этом с небольшим отклонением вот уже на протяжении 30 лет.

В Xcode вы можете скомпилировать все с помощью одной команды и получить программное обеспечение для тестирования в виде всплывающих строк. Вы можете увидеть созданную вами кнопку. Вам нужно нажать на нее, она ждет не дождется этого момента. Она кричит пронзительным визгливым голосом, как нано катализатор на прецизионном микростанке. Все, что находится внутри компьютера, обращается с мольбой ко всему остальному. Это похоже на рэкет. Вы кликаете мышью, и кнопочный «кот» наконец-то удовлетворен. Теперь компьютер может увеличить уровень громкости, сменить цвет, или вывести иконку «скрепка». Предназначение выполнено и тестирование после прохождения многих циклов завершено.

Когда ваше приложение готово, вы можете продать его в магазине программ. И если пользователям оно понравится, они будут стремиться приобрести еще больше приложений. Виток за витком, который дополняет своего предшественника, деньги накапливаются в сундуках снисходительных гигантов программного обеспечения. Создается некая «Экосистема». Кстати, сегодня значение этого слова девальвировано, особенно, если учитывать, что мы сделали по отношению к реальной экосистеме вокруг нас. Но, когда несколько сотен тысяч людей воспитывают своих детей и создают продукты для 100 миллионов, это слово используется ими для названия своей среды.

6.1 Инфраструктура: Младшая двоюродная сестра Пакета для Разработки Программного Обеспечения

Вполне вероятно что, если вы разрабатываете какую-то программу, особенно для веб-приложений, то вы привязаны к определенной инфраструктуре или платформе (framework). Поскольку Пакет для разработки программного обеспечения служит выражением корпоративной философии, то платформа или инфраструктура более похожа на краткое описание продукта. Хотите сэкономить время? Устали от написания того же старого кода? Хотели бы познакомиться с новыми направлениями? Тогда вы используете инфраструктуру графики для написания приложений с графическим интерфейсом, веб-платформу для разработки веб-приложений, а  также инфраструктуру сетей для создания сетевых серверов. Здесь существует сотни платформ, у каждого языка есть, по крайней мере, одна.

Django является популярной платформой Веб-приложений, которая используется для создания кодов на языке Python. Приложение Instagram было перенесено на нее. Когда вы первый раз начинаете работать с Django, то запускаете команду “startproject,” (начать проект). Платформа создает директорию с несколькими файлами и программными установками внутри. Это ваш каталог с проектами. Сейчас у вас есть доступ к библиотекам и сервисам, которые помогут пополнить и улучшить стандартную библиотеку.

Предположим, что мы все еще создаем наш книжный магазин в стиле Amazon с реляционной базой данных, который мы начали «строить» на предыдущих страницах. С помощью платформы Django мы запускаем команду “startproject”. Вы можете попросить  ее запустить приложение, которое называется bookstore (книжный магазин). Затем вы устанавливаете свои модели с помощью команды “set up your models,” а именно, вы определяете, как должны выглядеть ваши данные с использованием идиом Python, которые инфраструктура «переведет» в форму базы данных.

Знімок екрана 2015-10-28 о 02.20.53

А сейчас мы можем создавать каталог книг. (Естественно, что нужно указать дополнительно авторов и тому подобное). Невероятно, однако, благодаря нескольким линиям конфигурации, вы получаете полностью функциональный редактора статей, который работает с использованием интернет-технологий, а именно:

sec3_addbook

Это называется «мнение администратора» и всегда является основной особенностью Django. Вы только начали работать в качестве программиста, но очень скоро после осмысления, ваши пользователи – журналисты, если вы строите платформу для издательства, или испытатели первого варианта программного продукта (альфа-тестировщики), или, может быть, вы сами – можете начать самостоятельно пополнять библиотеку, или брать книги оттуда.

Уделите этому внимание. Вы учите язык программирования Python. Вам необходимо создать веб-сайт, который позволит нескольким десяткам людей одновременно вводить данные. Вы пишете несколько строк кода в Python и создаете учетные записи для лиц, пользующихся правами администратора, чтобы они могли вводить данные. Если вы будете выполнять эту работу несколько раз, то сможете стать очень хорошим специалистом в этой сфере. Через несколько часов вы сможете создать коллектив для работы над этим проектом.

Помните моменты, когда нужно было вводить электронные адреса? Если вы пользуетесь платформой Django, то сможете воспользоваться полем электронной почты “EmailField,” и многие из них (адресов) справляются. Тоже самое касается и многих вопросов, связанных с безопасностью, которые возникают при создании веб-сайтов, типичные злоупотребления, которые совершают нечистоплотные люди. Вы вошли и стали участником пула, включающего в себя многие тысячи других программистов, которые совместно пользуются платформой и предлагают улучшения, которые пишут обучающие программы, плагины, используемые для завершения задач, имеющих отношение к паролям, ведению блогов, контролю за спамом, предоставлению календарей, ускорению работы сайта, созданию дискуссионных форумов, а также интегрированию других сервисов. Таким образом, создается определенная архитектура.

Великолепно! Превосходно! А какой побочный эффект? Ну, платформы замыкают вас в свои рамки мышления. Вы можете смотреть на веб-сайт и натренированным взглядом оценить: «Это сайт, созданный на платформе Ruby on Rails».

Платформы оказывают очевидное влияние на тип работы, который может быть выполнен разработчиком. Некоторые полагают, что платформы способны облегчить много вещей, что они превращаются в опору. Очень легко попасть в трудное положение, а затем пытаться заставить платформу выполнять то, что она не хочет. Например, Django – это не тот инструментарий, который можно применить для создания гигантского чат-приложения, вы также не будете конкурировать с Google Docs, используя интерфейс Django для связи с базами данных. Ради этих удобств вы теряете в скорости и способности управлять процессом. Проблема состоит в том, чтобы понять, сколько скорости, контроля и удобств вам необходимо.

Программисты говорят о «предварительной оптимизации» – при этом слишком долго мудрят с кодом, прежде, чем вы поймете, какие могут быть реальные проблемы, – и описывают людей, ломающих себе голову над программированием, как «астронавтов архитектуры». Существует еще одна часто возникающая тенденция, NIH (“not invented here” – изобретено в другом месте).

Мнения по поводу инфраструктур довольно твердые, но не настолько как Пакет для Разработки Программного Обеспечения. Они плотно связаны в пучок, часто пахнут коммерцией и появляются вместе с рекламными глашатаями, особенно, когда представляют интересы Apple или Microsoft. Платформы могут нанести обиду, потому что они упреждают ваши проблемы и применяются тысячами пользователей. Они предполагают, что ваши проблемы – общие и ежедневные, а не особенные и загадочные, которые требуют решения усилиями только гениальной личности. Основой для платформ является чувство разочарования, они обвязаны тесьмой и попадают в интернет вместе с постом блогера. Там они либо выживают, либо нет. Существуют инфраструктуры разработки веб-приложений для каждого основного языка; в списке, который представлен в Википедии, насчитывается почти 40 различных инфраструктур только для языка Java и почти 30 для РНР.

Большинство хороших платформ бесплатны, они созданы для того, чтобы решить проблемы, а также принести славу и влияние своим создателям, а не богатство и контроль. Они распространяются органически. Заинтересованные лица видят видео урок о том, как можно создать блог за несколько минут. Затем они копируют этот материал, убеждают себя, что это легко, и показывают своим друзьям. Веб-сайты активируются, и программисты говорят о том, как быстро они разработали упомянутые сайты. Если вы создаете веб-приложение, то нужно быть глупцом, чтобы сначала не использовать платформу веб-приложений. Существуют крошечные варианты для маньяков-перестраховщиков, которые сфокусированы на URL-маршрутизации, а также массивные, как, например, Django и Rails, которые преследуют цели, намеченные вначале крупными системами, как например, Smalltalk, еще при царе Горохе. Они дают возможность разрабатывать большие коллективные системы, в которых данные будут обрабатываться и совместно использоваться. Возьмите выполненную для вас работу. Не повторяйтесь.

Просмотров: 460 | Добавил: pasjunja | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Календарь
«  Октябрь 2015  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031
Архив записей
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2024
    Создать бесплатный сайт с uCoz