Це основні терміни інформатики, які ви повинні знати, якщо ви новачок у програмуванні

Вирішальні термінології та поняття CS пояснюються простою англійською мовою

Оскільки багато друзів та сім'ї, що не належать до CS, запитують мене про різні термінології та концепції, я спробую пояснити наступні концепції інформатики якомога простішою мовою.

У цьому короткому посібнику ви дізнаєтесь про те, що означає кожен термін / поняття , і чому це важливо :

  • Розробка бекенда
  • Розробка фронтенду
  • Мови програмування
  • Алгоритми
  • API
  • Помилка
  • Відкрите джерело
  • Краудсорсинг

В кінці цієї статті я також поділюсь деякими ресурсами, щоб ви дізналися більше!

Розробка бекенда

Можливо, ви чули, як термін «розробка вихідних файлів» розкидався досить часто. Особливо, якщо ви тусувалися навколо LinkedIn.

"Бекенд", у цьому випадку, відноситься до рівня стеку технологій. Це здебільшого передбачає написання або ведення веб-служби з базою даних для зберігання даних.

Часто розробка бекенда пов'язана з такими технологіями, як Java, Scala, Python, DynamoDB, MongoDB, nodeJS, MySQL, MapReduce та багатьма, багатьма іншими.

Це на відміну від інтерфейсної розробки, яка часто стосується рівня інтерфейсу користувача (UI) або сторони функції, спрямованої на клієнта.

Чому це важливо

Розуміння відмінностей між розробкою інтерфейсу та бекенда дозволяє вам знати, про які компоненти слід подумати, перш ніж розпочати розробку програми в майбутньому.

Розробка фронтенду

Розробка фронтенду часто передбачає роботу над функціями, спрямованими на клієнта, такими як веб-сторінка або додаток для iOS / Android.

Тут задіяні різні типи технологій, такі як HTML, CSS, JavaScript, jQuery, React, Angular, Swift тощо.

Причиною того, що я називаю їх технологіями, а не мовами програмування, є те, що деякі з них є фреймворками, які допомагають вам встановити основи та керувати способом програмування, але самі по собі вони не є мовами програмування. Прикладами таких є React та Angular.

Мова програмування - це просто спосіб спілкування людей із комп’ютерами. Деякі можуть заперечити, що HTML - це мова програмування ... Я думаю, це тема для іншого дня. ?

Чому це важливо

Раніше розробка фронтенду була просто HTML, CSS та JavaScript. Сьогодні це цілий звір сам по собі зі своїм власним стеком технологій та інструментами для побудови. Технологія Frontend прогресує з блискавичною швидкістю. Я настійно рекомендую вивчати фронтенд-інструменти, щоб ви могли зрозуміти, що відбувається в сучасному світі програмування.

Мова програмування

Комп’ютер дуже добре виконує команди, про які йому сказано. Для того, щоб ми, люди, могли спілкуватися з комп’ютером, нам потрібен загальний набір зрозумілих мов - набір інструкцій, з якими люди і комп’ютери можуть узгодити та спілкуватися.

У людському світі для спілкування ми використовуємо такі мови, як англійська, мандарин, іспанська тощо.

Що стосується комп’ютерів, ми називаємо це мовою програмування . Мова програмування дозволяє людям та комп’ютерам спілкуватися . Прикладами мов програмування є Java, C ++, Python та багато інших.

Чому це важливо

Вивчення мови програмування дозволяє зрозуміти, як щось, що ви бачите в Інтернеті, працює під капотом - це все одно, що знати, як і чому працює ваша машина. За допомогою трохи змащення для ліктя ви зможете створювати власні програми, такі як Candy Crush або Twitter.

Алгоритми

Процес або набір правил, яких слід дотримуватися при розрахунках або інших операціях з вирішення проблем, особливо за допомогою комп’ютера. - Google :)

Комп’ютери чудово виконують інструкції, і як програмні інженери ми пишемо інструкції для виконання комп’ютерами. Алгоритм є списком кроків або інструкцій , які можуть бути виконані з або без комп'ютера, щоб вирішити проблему конкретної.

Однією з перших проблем, яку ми вивчаємо як студенти інформатики, є проблема сортування. Суть цього полягає у найбільш ефективному сортуванні набору чи колекції предметів.

Існує багато способів сортування. Популярним є Bubble Sort, інакше відомий як "порівняння". Він включає порівняння та вибір більшого з двох елементів та повторення для всіх інших елементів, поки все врешті не буде відсортовано. Інші включають сортування вставки, сортування злиття та багато, багато іншого!

Я настійно рекомендую вам вивчити їх, оскільки це захоплююче введення в алгоритми. Ось відео на YouTube, щоб дізнатися більше про алгоритми сортування.

Чому це важливо

Алгоритми - це серцевина комп’ютерних наук - розуміння того, що таке алгоритми та як вони працюють, робить вас кращим інженером-програмістом. Період.

API

API, він же інтерфейс прикладного програмування, він же джерело інформації. Якщо говорити конкретніше, уявіть, що у вас вдома добре був лимонад. Ваші сусіди хочуть ковтка вашого лимонаду добре, але ви не хочете, щоб колодязь забруднився. Що ти тоді робиш?

Ви вирішили побудувати шланг, який з’єднується з невеликим шлангом біля вашого будинку. Усі ваші сусіди, які хочуть скуштувати вашого чарівного лимонаду, вишикуються в чергу та відкриють шланг, щоб отримати доступ до вашого лимонаду. Все це, ніколи не наближаючись до вашої свердловини, і ви також можете контролювати, коли накачувати лимонад, замінювати лимонад, якщо колись у вашій свердловині пересихає, або, можливо, заряджати людей, які п’ють багато лимонаду.

Ця ідея стоїть за багатьма компаніями в наші дні - ці компанії будують «колодязь» цінних даних, а потім продають їх іншим, хто бажає отримати доступ до цих даних через API.

Чому це важливо

Сьогодні Інтернет спирається на безперебійне спілкування між різними службами. Ось так ми можемо створювати інструменти / веб-сайти, які спілкуються між собою. API - це основний рівень, який дозволяє здійснити весь зв’язок. Ось чому важливо знати, як і що використовує Інтернет для спілкування.

Помилка?

Можливо, ви бачили наступний мем на веб-сайтах соціальних мереж і, можливо, не розуміли, що це насправді означає.

Помилка - це помилка в комп'ютерній програмі, яка заважає програмі працювати належним чином.

Наприклад, припустимо, ви завантажили програму iOS, яка є різновидом комп’ютерної програми, яка повинна відображати місцеву температуру погоди у Фаренгейті. Однак додаток iOS може відображати температуру лише за Цельсієм, а не за Фаренгейтом, як ви очікували.

У такому випадку програма працює не так, як очікувалося (має відображати Фаренгейт, а не Цельсій), і ви б назвали помилку помилкою.

Це настільки часто в галузі, що інженери програмного забезпечення перетворили це на внутрішній жарт, отже, мем: "це не помилка, це особливість".

Чому це важливо

Помилки трапляються постійно. Знання цього допомагає вам орієнтуватися в Інтернеті та вказувати на речі, коли бачите, що щось не працює належним чином. Наступного разу ви будете називати це "помилкою" правильно, а не "ця річ там не зависає".

Відкрите джерело

Я спробую пояснити Open Source простою аналогією, яку я придумав :)

Уявіть, що ви є власником підставки для лимонаду, і у вас є спеціальний рецепт приготування найкращого лимонаду в місті. Ви ні з ким не ділитесь секретним рецептом, бо боїтеся, що хтось інший може його взяти і вкрасти ваших клієнтів. У цьому випадку ваш секретний рецепт вважається «закритим джерелом», коли ніхто, крім вас, не має до нього доступу.

Крім того, уявіть, що ви вільно ділитеся своїми рецептами лимонаду в Інтернеті та використовуєте силу Інтернету, щоб допомогти вам вдосконалити його, щоб усі могли насолоджуватися найкращими можливостями лимонаду та отримувати від них користь. У цьому випадку ваш рецепт вважається «відкритим кодом», оскільки він надається у вільному доступі, і інші можуть внести його, використати та / або змінити.

Цей термін став набагато популярнішим із зростанням Facebook та хвилею технологічних компаній, які заохочують Інтернет-спільноту брати участь у розробці нових захоплюючих технологій.

Чому це важливо

Інтернет значно швидше прогресував за останні кілька років завдяки відкритому коду. Це революція, і кожен повинен знати, чому має сенс робити речі безкоштовно і ділитися ними зі світом.

Краудсорсинг

Краудсорсинг - для отримання (інформації або вкладу в конкретне завдання чи проект) шляхом залучення послуг великої кількості людей, як платних, так і безоплатних, як правило, через Інтернет.

Краудсорсинг - це ідея змусити велику групу людей зробити свій внесок у спільну справу.

Припустимо, ви знову запускаєте ту саму підставку для лимонаду. Ваші клієнти кажуть, що ваш лимонад потребує нового смаку. Ви усвідомлюєте, що, використовуючи силу Інтернету, ви можете попросити людей допомогти вам провести мозковий штурм найкращого рецепту лимонаду.

Потім ви можете створити обліковий запис у Twitter і почати змушувати людей писати свої найкращі рецепти лимонаду з усього світу. Це називається краудсорсингом, що означає залучення людей до спільної справи (у даному випадку - виготовлення лимонаду).

Чому це важливо

Інтернет дозволив всьому населенню об’єднатися і поставити свої найкращі мізки за деякі найскладніші виклики у світі. Краудсорсинг дозволив нам зробити це без проблем через Інтернет. Я думаю, що це величезний крок вперед для людства.

Рекомендовані ресурси

  • Інтернет CS 101 у Стенфорді - курс дає базовий огляд термінологій CS, як працює Інтернет, як формуються та обробляються цифрові зображення тощо. Найкраще, це БЕЗКОШТОВНО!
  • Python Crash Course - Один з найкращих ресурсів для початку роботи з програмуванням на Python. Якщо ви хочете забруднити руки програмуванням, рекомендую почати з Python та наступної книги.
  • Python, Практичний посібник - Це цікава книга, яку можна отримати після закінчення курсу Python Crash. Я думаю, ви можете зробити більшість речей тут без книги, але вона дає вам більш детальні покрокові інструкції, як це зробити. Чудово підходить для людей, які вважають за краще вчитися на прикладах.
  • Вступ до алгоритмів. Якщо ви хочете дізнатись більше про алгоритми, які є основним принципом інформатики, ця книга настійно рекомендується. Це підручник для багатьох курсів CS.
  • Acing the Coding Interview - це мій особистий тренерський курс, де я покажу вам, як я готувався до своїх співбесід, мої поради та підказки щодо проведення співбесіди з кодування та багато іншого.

Zhia Chong - інженер-програміст у Twitter. Не будучи кодом, він грає в теніс, пише статті або робить відео на Youtube.

Якщо вам сподобалась ця стаття і ви хочете отримати її копію у форматі PDF, подумайте про підписку на мій список розсилки, де я ділюсь новинами галузі, програмуванням лаконічних записок, примітками до інтерв’ю та багатьма іншими!