Това са най-важните термини за компютърни науки, които трябва да знаете, ако сте нови в програмирането

Важни терминологии и понятия за CS, обяснени на прост английски език

Тъй като много приятели и семейство от не-CS произход ме питат за различни терминологии и концепции, аз ще се опитам да обясня следните концепции за компютърни науки на възможно най-простия език.

В това кратко ръководство ще научите какво означава всеки термин / концепция и защо има значение :

  • Развитие на бекенда
  • Frontend развитие
  • Програмни езици
  • Алгоритми
  • API
  • Буболечка
  • Отворен код
  • Краудсорсинг

В края на тази статия ще споделя и някои ресурси, за да научите повече!

Развитие на бекенда

Може би сте чували понятието „Развитие на бекенда“ да се хвърля доста. Особено, ако сте се мотали около LinkedIn.

"Backend", в този случай, се отнася до слой от технологичния стек. Това включва най-вече писане или поддържане на уеб услуга с база данни за съхранение на данни.

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

Това е в контраст с разработката отпред, която често се отнася до слоя на потребителския интерфейс (UI) или страната, насочена към клиента.

Защо това е важно

Разбирането на разликите между разработката на интерфейс и бекенд ви позволява да знаете за какви компоненти трябва да помислите, преди да започнете да разработвате приложение в бъдеще.

Frontend развитие

Разработката на Frontend често предполага работа върху функции, насочени към клиентите, като уеб страница или приложение за iOS / Android.

Тук има различни видове технологии, като HTML, CSS, JavaScript, jQuery, React, Angular, Swift и др.

Причината, поради която ги наричам технологии, а не езици за програмиране, е, че някои от тях са рамки, които ви помагат да настроите базите си и да ръководят начина, по който програмирате, но те сами по себе си не са езици за програмиране. Примери за това са React и Angular.

Езикът за програмиране е просто начин за комуникация между хората и компютрите. Някои може да спорят, че HTML е език за програмиране ... Мисля, че това е тема за друг ден. ?

Защо е важно

По-рано разработката на Frontend беше само HTML, CSS и JavaScript. Днес той е цял звяр сам по себе си със собствен технологичен стек и инструменти за изграждане. Технологията Frontend напредва със светкавична скорост. Силно насърчавам изучаването на фронтенд инструменти, за да можете да разберете какво се случва в днешния свят на програмиране.

Програмен език

Компютърът е много добър в изпълнението на командите, които са му казани. За да можем ние, хората, да комуникираме с компютър, ни е необходим общ набор от разбираеми езици - набор от инструкции, с които хората и компютрите могат да се съгласят и да комуникират.

В човешкия свят използваме езици като английски, мандарин, испански и т.н., за да общуваме.

Що се отнася до компютрите, ние го наричаме език за програмиране . Езикът за програмиране позволява на хората и компютрите да общуват . Примери за езици за програмиране са Java, C ++, Python и много други.

Защо е важно

Изучаването на език за програмиране ви позволява да разберете как работи нещо, което виждате в интернет, под капака - все едно да знаете как и защо работи вашата кола. С малко смазка за лакътя ще можете да създавате свои собствени приложения, като Candy Crush или Twitter също.

Алгоритми

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

Компютрите отлично изпълняват инструкции и като софтуерни инженери пишем инструкции за изпълнение на компютрите. Един алгоритъм е списък от стъпки или инструкции, които могат да се извършват с или без компютър, с цел решаване на конкретен проблем.

Един от първите проблеми, които научаваме като студенти по компютърни науки, е проблемът за сортирането. Същността му е да сортирате набор или колекция от предмети по най-ефективния начин.

Има много начини за сортиране. Популярен е Bubble Sort, иначе известен като „сравнително сортиране“. Включва сравняване и избор на по-големия от двата елемента и повтаряне за всички останали елементи, докато в крайна сметка всичко бъде сортирано. Други включват Insertion Sort, Merge Sort и много, много други!

Силно ви насърчавам да ги изследвате, тъй като това е завладяващо въведение в алгоритмите. Ето видеоклип в YouTube, за да научите повече за алгоритмите за сортиране.

Защо е важно

Алгоритмите са ядрото на компютърните науки - разбирането какво са алгоритмите и как работят те прави по-добър софтуерен инженер. Период.

API

API, известен още като интерфейс за програмиране на приложения, известен още като източник на информация. По-конкретно, представете си, че сте имали добре лимонада у дома. Съседите ви искат глътка от вашата лимонада добре, но вие не искате кладенецът да се замърси. Какво правиш тогава?

Решихте да построите маркуч, който се свързва с малък маркуч извън къщата ви. Всички ваши съседи, които искат да вкусят от вашата вълшебна лимонада, ще се подредят и ще отворят маркуча за достъп до вашата лимонада. Всичко това, без никога да се доближавате до кладенеца си, а също така можете да контролирате кога да изпомпвате лимонадата, да сменяте лимонадата, ако някой ден кладенецът ви пресъхне, или може да зареждате хора, които пият много лимонада.

Това е идеята, която стои зад много компании в наши дни - тези компании изграждат „кладенец“ от ценни данни и след това ги продават на други, които желаят да получат достъп до тези данни чрез API.

Защо е важно

Днес интернет разчита на безпроблемна комуникация между различни услуги. Така можем да изградим инструменти / уебсайтове, които си говорят помежду си. API е основният слой, който позволява цялата комуникация да се случи. Ето защо е важно да знаете как и какво използва Интернет за комуникация.

Буболечка ?

Може би сте виждали следния мем в уебсайтовете на социалните медии и може би не сте разбрали какво всъщност означава.

Грешката е грешка в компютърна програма, която пречи на програмата да работи както се очаква.

Например, да предположим, че сте изтеглили приложение за iOS, което е вид компютърна програма, която трябва да показва местната метеорологична температура във Фаренхайт. Приложението за iOS обаче може да показва температурата само в Целзий, вместо във Фаренхайт, който сте очаквали.

В такъв случай програмата не работи според очакванията (трябва да показва Фаренхайт, а не Целзий) и бихте нарекли грешката грешка.

Това е толкова често срещано в индустрията, че софтуерните инженери го превърнаха във вътрешна шега, следователно мемът „това не е грешка, това е функция“.

Защо е важно

Грешки се случват през цялото време. Знаейки това ви помага да навигирате в Интернет и да посочвате нещата, когато видите, че нещо не работи както трябва. Следващия път ще го наречете правилно „бъг“, а не „онова нещо там не витае“.

Отворен код

Ще се опитам да обясня Open Source с проста аналогия, която измислих :)

Представете си, че сте собственик на стойка за лимонада и притежавате специална рецепта за приготвяне на най-добрата лимонада в града. Не споделяте тайната рецепта с никого, защото се страхувате някой друг да я вземе и да открадне вашите клиенти. Вашата тайна рецепта се счита за „Затворен източник“ в този случай, където никой освен вас няма достъп до нея.

Освен това си представете, че споделяте своята рецепта за лимонада свободно онлайн и използвайте силата на интернет, за да ви помогне да я подобрите, така че всеки да може да се наслади и да се възползва от възможно най-добрата лимонада. В този случай вашата рецепта се счита за „Отворен код“, тъй като е предоставена свободно и други могат да я допринесат, използват и / или модифицират.

Този термин стана много по-популярен с възхода на Facebook и вълната от технологични компании, които насърчават интернет общността да участва в развитието на нови и вълнуващи технологии.

Защо е важно

Интернет е напреднал много по-бързо през последните няколко години благодарение на отворения код. Това е революция и всеки трябва да знае защо има смисъл да правите нещата безплатно и да ги споделяте със света.

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

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

Краудсорсингът е идеята да накараме голяма група хора да допринесат за обща кауза.

Да предположим, че отново управлявате същата стойка за лимонада. Вашите клиенти казват, че вашата лимонада се нуждае от нов вкус. Осъзнавате, че използвайки силата на Интернет, можете да помолите хората да ви помогнат да премислите най-добрата рецепта за лимонада.

След това можете да стартирате акаунт в Twitter и да започнете да карате хората да допринасят с най-добрите си рецепти за лимонада от цял ​​свят. Това се нарича краудсорсинг, което е актът, който кара хората да допринесат за обща кауза (в случая производство на лимонада).

Защо е важно

Интернет позволи на цялото население да се обедини и да постави най-добрите си мозъци зад някои от най-трудните предизвикателства в света. Краудсорсингът ни позволи да го направим безпроблемно през Интернет. Мисля, че това е огромна стъпка напред за човечеството.

Препоръчани ресурси

  • Онлайн CS 101 на Станфорд - курсът ви дава основен преглед на терминологиите на CS, как работи Интернет, как се формират и обработват цифрови изображения и т.н. Най-доброто от всичко е БЕЗПЛАТНО!
  • Python Crash Course - Един от най-добрите ресурси за започване на програмиране на Python. Ако искате да си изцапате ръцете с програмиране, препоръчвам да започнете с Python и следващата книга.
  • Python, Практическо ръководство - Това е интересна книга, която да получите, след като приключите с Python Crash Course. Предполагам, че можете да направите повечето неща тук без книгата, но тя ви дава по-подробни инструкции стъпка по стъпка как да го направите. Страхотно за хора, които предпочитат да учат чрез пример.
  • Въведение в алгоритмите - Ако искате да научите повече за алгоритмите, които са основен принцип на компютърните науки, тази книга е силно препоръчителна. Това е THE учебника за много курсове CS.
  • Acing the Coding Interview - Това е моят личен коучинг курс, където ще ви покажа как се подготвих за моите интервюта, моите съвети и трикове за интервю за кодиране и много други.

Zhia Chong е софтуерен инженер в Twitter. Макар да не праща код, той играе тенис, пише статии или прави видеоклипове в Youtube.

Ако тази статия ви е харесала и искате да получите копие от нея в PDF, помислете дали да не се абонирате за моя пощенски списък, където споделям новини от индустрията, програмни парчета, бележки за интервюта и много други!