В этой статье мы рассмотрим 8 популярных терминов:

  • Backend-разработка
  • Frontend-разработка
  • Языки программирования
  • Алгоритмы
  • API
  • Баг
  • Open Source
  • Crowdsource
А в конце вы найдете отличную подборку полезных ресурсов, которые помогут изучить еще больше терминов и концепций Computer Science.

Backend-разработка

Вы точно слышали этот термин, особенно если проводите много времени в LinkedIn.

Бэкенд – это один из слоев технологического стека разработки. Он включает в себя создание и обслуживание веб-сервисов и баз данных, предназначенных для хранения информации.

Бэкенд-разработка часто ассоциируется со следующими технологиями: Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce и многими другими.

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

Почему это важно

Понимание терминов frontend и backend и различий между ними позволяет определить, из каких компонентов должно состоять приложение, и как они могут взаимодействовать друг с другом.

Frontend-разработка

Фронтенд-разработка – это создание интерфейсов и различных клиентских функций на веб-страницах или в iOS/Android-приложениях.

На данной стороне стека работают такие технологии, как HTML, CSS, JavaScript, jQuery, React, Angular, Swift и многие другие. Некоторые из них не являются языками программирования как таковыми. Например, HTML – это язык разметки страниц, CSS – способ стилизации, а jQuery, React и Angular – библиотеки JavaScript-функций.

Почему это важно

Раньше фронтенд-разработка включала только HTML, CSS и JS. Сегодня это огромная структура с собственным стеком технологий и инструментов сборки. Фронтенд развивается молниеносными темпами. Если вы хотите понимать, что происходит в современном программировании, то вам никуда не деться и от изучения клиентской стороны вопроса.

Язык программирования

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

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

Примеры языков программирования: Java, C++, Python и множество других.

Почему это важно

Изучая языки программирования, вы можете понять, как на самом деле работает все то, что вы видите в интернете – сайты, сервисы, игры. Вы даже сможете сами создавать приложения вроде Candy Crush или Twitter.

Алгоритмы

Алгоритм – это инструкция, представленная в виде последовательности шагов. Мы можем передать его компьютеру, который выполнит все команды одну за одной.

Одна из первых алгоритмических проблем, с которой сталкиваются начинающие программисты, – сортировка коллекций элементов. Задача заключается в том, чтобы отсортировать набор максимально эффективно.

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

Задача сортировки – это увлекательное введение в удивительный мир алгоритмов. Вы можете узнать больше о разных способах упорядочивания наборов из нашей статьи.

Почему это важно

Алгоритмы – это ядро Computer Science. Не понимая, что это, как они работают и зачем нужны, вы не сможете стать хорошим разработчиком ПО.

API

API (application programming interface) – прикладной программный интерфейс, другими словами, источник информации.

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

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

Многие компании делают нечто подобное – они создают «колодец» ценных данных, а затем продают всем желающим доступ к ним через трубу – API.

Почему это важно

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

Баг  🐛

Вы наверняка видели в интернете этот мем, но возможно не понимали, что он означает.

Баг – это ошибка в компьютерной программе, которая не позволяет ей работать должным образом.

Представьте, например, что вы загрузили iOS-приложение, которое должно показывать температуру воздуха в вашем районе в привычных градусах Цельсия. Однако почему-то оно отображает данные по шкале Фаренгейта.

Другими словами, программа работает не так, как ожидалось. Вы вполне можете сказать, что это баг – ошибка.

Баги – настолько распространенное в программировании явление, что разработчики ПО давно превратили его в шутку. Поэтому и появился мем «это не баг, а фича (специально задуманная особенность работы)».

Почему это важно

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

Open Source

Open Source в переводе означает «открытый исходный код».

Представьте, что вы являетесь владельцем лимонадного магазинчика и у вас есть особый рецепт самого лучшего в городе лимонада. Вы ни с кем им не делитесь, потому что не хотите потерять клиентов. Ваш секретный рецепт – это «закрытый исходный код» продукта, кроме вас никто не имеет доступа к нему.

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

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

Почему это важно

Благодаря продуктам с открытым исходным кодом, которых стало очень много в последние годы, интернет развивается стремительными темпами, гораздо быстрее, чем раньше. Каждый должен понимать, почему имеет смысл делать что-то бесплатно и делиться этим со всем миром.

Crowdsourcing

Идея краудсорсинга состоит в том, что к участию в проекте привлекается очень много людей (crowd – толпа), как правило, через интернет.

Вернемся к вашему лимонадному магазинчику. Ваши клиенты говорят, что было бы здорово придумать новый вкус напитка. Чтобы найти идеальный вкус, вы решаете устроить глобальный мозговой штурм: регистрируетесь в Twitter и просите фолловеров поделиться своими лучшими идеями.

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

Почему это важно

Глобальная сеть позволяет объединить огромное количество людей из разных мест планеты и направить их интеллект на решение самых сложных проблем. Это большой шаг вперед для человечества.

Перевод статьи These are the top Computer Science terms you should know if you’re new to programming.