Програмирање: Психологијата на компјутерите

Сите сме интимно поврзани со програмирањето, било да е тоа како корисник, како администратор, како самиот програмер, но во крајна линија тоа е нешто што ќе биде повеќе поврзано со нашите животи со текот на годините.

Во оваа статија (почеток на мала серија што планирам да ја создадам), Сакам да споделам со вас неколку концепти за она што го откривав за програмирањето со години. Не се преправам дека сум премногу технички, ќе објаснам зошто подоцна. Но, она што мислам е да ги натерам да го видат светот со моите очи, и ако им се допаѓа како изгледа, тогаш нека се навлезат во него малку

Прво ќе ја нападнам наједноставната точка од сите пред да навлезам во детали.

Зошто нема да направам технички пост?

Па за оние кои го прочитаа мојот пост за најдобра команда за Linux, ќе знаете малку за причината за овој фокус. Технологијата секогаш се менува, и ако напишам нешто денес, ако објавата е добро примена, тогаш секогаш ќе треба да ги ажурирам информациите. На денешните најчести јазици, единствената сигурна работа е промената. Под ова мислам (и програмерите можат да ми докажат дека сум во право) рамките секогаш растат и се менуваат од нивните јадра, тоа е затоа што се појавуваат грешки, некои може да се сметаат за едноставни грешки, додека други може да станат ранливости. Ова е причината зошто пишувањето објава за одреден јазик, денес, ќе ми гарантира можеби неколку месеци корисност, во најдобрите случаи една или две години, но тоа не е идејата

Електричната енергија е важна

Оние од вас кои малку истражуваа за најниските програмски јазици ќе знаат дека сето тоа потекнува од електрична енергија. Во минатото, програмирањето се вршеше на ниво на хардвер, тоа значи дека тие стари часовници, калкулатори и многу други уреди, можеа да ја исполнат својата судбина со програмирање од хардвер.

проблемот

Промената на хардверското програмирање е скапа и комплицирана 🙂 (барем така ми рекоа ) Ова е причината зошто се појавија процесори, кои всушност го апстрахираат тој хардверски слој за да ни дадат неколку команди за да можеме да сториме сè што е можно преку хардверот, дури сега во хардверскиот слој. софтвер.

Процесори

Денешните процесори имаат ограничен број на функции, наречени инструкции во многу книги. Овие ви овозможуваат да ги извршите најосновните функции што хардверот може да ги извршува и да мобилизирате информации преку меморијата на компјутерот.

Регистри

Регистрите се простор во кој процесорот зачувува информации за да може да извршува работа на јадрото, во зависност од архитектурата може да имаат различна големина и редослед, но на едноставен начин, нивната функција е да складираат податоци што му кажуваат на процесорот една од следниве видови на работа: преместување на податоци, аритметика и логика и контрола на проток Сè може да се сумира во овие типови на функционалности.

Бинарио

Процесорите работат на бинарно ниво, тоа значи дека тие само разбираат 0си 1да 🙂 Curубопитен факт тукасе сеќавате на дозволите за GNU / Linux? добро,дали некогаш сте се запрашале како процесорот всушност ги препознава тие дозволи? Едноставно 🙂 бинарно. На најниско ниво, процесор ќе ги разбере дозволите како сукцесија од 0 и 1 и тоа е причината зошто окталот што го формираме има вредности за извршување, 2 за читање и 4 за пишување. За оние кои можат да читаат бинарни, тие ќе разберат дека:

111100101111

Тие ги ставаат дозволите за читање, пишување и извршување за групата други при поставување извршување и читање за групата група и читајте само за сопственикот на датотеката. За повеќето iousубопитни, последните три 1 активираат setguid, setuid и sticky bit. Ако не знаете што е овој бинарен, можам да го објаснам во друг пост, ако не го знаете ова за setuid, setgid и лепливиот бит, ќе ви го оставам на вас 😉 но, исто така, можам да го објаснам на друго место ако е потребно.

Кога callsубопитноста ќе повика ...

Па, ако ме следевте овде, тогаш вашата ityубопитност треба да започне да бара многу работи, првата на која сакам да одговорам (а можеби и единствената што ќе ми ја дозволи оваа објава затоа што веќе многу пишувам) е: Ако повиците се исти, зошто програмите се толку различни?

Психологија

Програмирањето е уметност на учење да се читаат умови ... Сакам да го започнам овој дел со цитат што го прочитав многу одамна, Едсгер Дијкстра рече:

Ако дебагирање е процес на дебагирање, тогаш програмирањето мора да биде процес на нивно воведување

И, не можам да најдам подобар начин да го објаснам сето ова ... зошто програмирањето е уметност на воведување грешки? повеќе од тоа што ќе се прашувам во ова време. Одговорот е едноставен, затоа што нашите умови се човечки, а луѓето прават грешки is тоа е во наша природа и ќе трае сè додека човекот постои на планетата.

Компјутерите не грешат

Ние сме тие што правиме грешки, тимовите секогаш ќе се ограничуваат на репродукција на она што ќе им го кажеме, тие не претпоставуваат ништо, не толкуваат ништо, не се спротивставуваат на ништо, само читаат и дејствуваат. Така, во друга книга Ц некогаш прочитав вакво нешто:

Ц е груб јазик, можете многу да направите со него, но никогаш нема да ве спречи да се застрелате во ногата, ако сакате да го сторите тоа, или така да му кажете.

Ова е прилично iousубопитна вистина 🙂 Бидејќи кога работите на толку ниско ниво, можно е многу операции што се извршуваат да бидат деструктивни, нешто што не се случува со јазиците на малку повисоко ниво, бидејќи слоевите за спречување грешки тие се постари.

Сè е психологија

Секој јазик, рамка, програмер, почитува и следи некаква филозофија, и ако не, нема многу ветувачка иднина. Оние од нас кои работат на UNIX и деривати веројатно ќе ја знаат старата фраза:

Направете една работа, и направете го тоа многу добро.

Оваа филозофија е онаа проследена со некои проекти како јадрото, прилично мали функции што прават само една работа, но го прават најдобро што можат.

Ако одиме на други јазици, секој од нив ќе има функција и цел, некои повеќе попустливи, а други порестриктивни, но сите следат свој начин на размислување.

Научете да читате умови

Постои прилично честа изрека меѓу програмерите, дека постојат стотици начини да се реши истиот проблем. Ова е точно, но има нешто многу подлабоко во овој аспект. Читањето на изворниот код ви овозможува да читате умови - не само кој било ум, туку и умот на програмерот (или програмерите) кој го напишал. Тоа е еден вид виртуелен и длабок дневник 🙂 ви овозможува длабоко да го познавате умот на инвеститорот, а во случај на големи проекти, ви овозможува да видите како растело нивното логично и критичко размислување со текот на времето. Нешто извонредно и тоа во голема мера го потхранува умот на најмладите, затоа што можете да ги знаете најдобрите патишта на луѓето кои мораа да ги откријат

Да се ​​биде доследен

Многу програмери и специјалисти велат дека мора да излеземе од нашето удобна зона, и иако е вистина, исто така е повеќе од потребно да се одржат одредени процеси и формати. Ова е едноставно за објаснување, нашите умови се повторуваат и ги почитуваат структурите, ако пишувате код на ист начин секој ден, за кратко време ќе престанете да размислувате за формата и ќе можете да се концентрирате на неа. позадина. Ова ви овозможува да го видите логично на програмата наместо на јазична синтакса. И ова е причината зошто сметам дека учењето на концепти секогаш ќе биде поважно од учењето формите. Ова е лично мислење, но се надевам дека откако ќе го прочитате сето ова, ќе разберете зошто го сметам така ... исто така, кажано од некој што мораше да програмира во C, Java, Javascript, Python, Ruby, PHP и други ... го знаете концепти го олеснува пишувањето код.

Во краток преглед

Па, ова е првиот чекор во серијата што се надевам дека ќе ви помогне да размислите поинаку за уметноста на програмирање, дури и да ве покани да истражувате во концептите што ви овозможуваат да го извршите кодот што сте го напишале стотици пати но тие не престанаа да размислуваат што навистина прави. И, за оние кои не започнале со програмирање, но би сакале, да можат малку да дадат приоритет за тоа што е навистина важно да се знае 🙂 Поздрав


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

5 коментари, оставете ги вашите

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени.

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.

  1.   Хавиер Г. Делгадо dijo

    Многу совесна статија во која се дискутира за програмирање (во овој случај) можеби на нов јазик што програмира во поголема длабочина, мојата поддршка оди на следново.

    1.    Крис АДР dijo

      Здраво Хавиер, многу ти благодарам 🙂 Мислам дека ова е многу важно затоа што тие отсекогаш сакаа да ме научат само да репродуцирам код, познатиот Ctrl + C… Ctrl + V 🙂, но никогаш не сум дозволил да ме влече ова, дури и ако тоа е наједноставниот проблем на светот, повеќе сакам да го напишам отколку да го копирам од некој друг, ме прави да се чувствувам како да е моја креација.
      Со почит

  2.   Балуа dijo

    Веќе чекајќи го следното поглавје, јас престанав да програмирам одамна и мислам дека во подоцнежното поглавје можам да најдам некоја причина за мојата одлука, навистина, бидејќи ова поглавје ја симнувам капа.

  3.   Крис АДР dijo

    Здраво Балуа
    Па, ќе смислам нешто за следниот. Малку е незгодно да се организира сè на таков начин што конецот може да се следи од кој било пост, но ќе се обидам да го имам овој (и неколку други што ме прашаа) многу скоро. Ви благодариме за вашиот коментар На здравје

  4.   Андерс dijo

    Скапоцен камен на една статија! Се надевам дека следната ...