Программирование: психология компьютеров

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

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

Прежде чем вдаваться в подробности, я остановлюсь на самом простом пункте.

Почему я не собираюсь делать технический пост?

Что ж, для тех, кто читал мой пост про лучшая команда linux, вы узнаете немного о причине этого фокуса. Технологии всегда меняются, и если я напишу что-нибудь сегодня, если пост будет хорошо принят, мне всегда придется обновлять информацию. В наиболее распространенных сегодня языках можно быть уверенным только в изменении. Под этим я подразумеваю (и программисты могут доказать, что я прав) фреймворки всегда растут и модифицируются из своих ядер, это связано с тем, что возникают ошибки, некоторые из них можно считать простыми ошибки, в то время как другие могут стать уязвимости. Это причина, по которой написание сообщения о конкретном языке сегодня может гарантировать мне, может быть, несколько месяцев полезности, в лучшем случае один или два года, но идея не в этом 🙂

Электричество важно

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

Проблема

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

Процессоров

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

Регистры

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

двоичный

Процессоры работают на двоичном уровне, это означает, что они понимают только 0SY 1да. Любопытный факт здесь 😀помните разрешения GNU / Linux? хорошо, Вы когда-нибудь задумывались, как процессор на самом деле распознает эти разрешения? Простой 🙂 бинарный. На самом низком уровне процессор будет понимать разрешения как последовательность нулей и единиц, и именно поэтому восьмеричное число, которое мы формируем, имеет значения для исполнения, 2 для чтения и 4 для письма. Те, кто умеет читать двоичные файлы, поймут, что:

111100101111

Они ставят права на чтение, запись и выполнение для группы другие ставя спектакль и чтение для группы группа и читать только для владельца файла. Для наиболее любопытных, последние три единицы активируют setguid, setuid y el sticky bit. Если вы не знаете, что это за двоичный файл, я могу объяснить его в другом посте, если вы не знаете о setuid, setgid и липком бите, я оставлю это вам 😉 но я также могу объяснить это в другом месте если необходимо.

Когда вызывает любопытство ...

Что ж, если вы следовали за мной здесь, то ваше любопытство должно начать спрашивать о многих вещах, первый, на который я хочу ответить (и, возможно, единственный, который позволит мне этот пост, потому что я уже много пишу): Если звонки одинаковые, почему программы такие разные?

Психология

Программирование - это искусство обучения чтению мыслей 🙂 Я хочу начать этот раздел с цитаты, которую я прочитал много лет назад, - сказал Эдсгер Дейкстра:

Если отладка - это процесс отладки, то программирование должно быть процессом их внедрения.

И я не могу найти лучшего способа объяснить все это 🙂 почему программирование - это искусство вносить ошибки? больше чем один будет задаваться вопросом на этом этапе. Ответ прост, потому что наш разум человеческий, а люди совершают ошибки 🙂 это заложено в нашей природе, и так будет до тех пор, пока человек существует на планете.

Компьютеры не ошибаются

Мы - те, кто ошибается, команды всегда ограничиваются воспроизведением того, что мы им говорим, они ничего не предполагают, они ничего не интерпретируют, они ничего не возражают, они просто читают и действуют. Вот почему в другой книге на C я когда-либо читал что-то вроде этого:

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

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

Все это психология

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

Делай одно дело, и делай это очень хорошо.

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

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

Научитесь читать мысли

Среди программистов довольно распространено высказывание, что есть сотни способов решить одну и ту же проблему. Это правда, но в этом аспекте есть нечто гораздо более глубокое. Чтение исходного кода позволяет вам читать мысли - не просто мысли, а мысли программиста (или программистов), которые его написали. Это своего рода виртуальный и глубокий дневник он позволяет глубоко узнать мысли разработчика, а в случае крупных проектов позволяет увидеть, как их логическое и критическое мышление со временем выросло. Что-то экстраординарное, что очень питает умы самых маленьких, потому что вы можете узнать лучшие пути людей, которым приходилось их открывать 🙂

Быть последовательным

Многие программисты и специалисты говорят, что нужно выходить из зона комфорта, и хотя это правда, это более чем необходимо для поддержания определенных процессов и форматов. Это легко объяснить, наш разум повторяется и уважает структуры. Если вы будете писать код одинаково каждый день, через короткое время вы перестанете думать о форме и сможете сосредоточиться на ней. Fondo. Это позволяет увидеть логика программы вместо синтаксис языка. И поэтому я считаю, что изучение концепций всегда будет важнее обучения формы. Это личное мнение, но я надеюсь, что после прочтения всего этого вы поймете, почему я так считаю также тот, кому приходилось программировать на C, Java, Javascript, Python, Ruby, PHP и др., Расскажет им 🙂 концепции позволяет легко писать код.

В резюме

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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Хавьер Дж. Дельгадо сказал

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

    1.    КрисADR сказал

      Привет, Хавьер, большое спасибо 🙂 Я думаю, это очень важно, потому что они всегда хотели научить меня только воспроизводить код, знаменитый Ctrl + C… Ctrl + V 🙂, но я никогда не позволял себе увлекаться этим, даже если это самая простая проблема в мире, я лучше напишу ее, чем скопирую у кого-то еще, это заставляет меня чувствовать, что это мое творение.
      привет

  2.   Балуа сказал

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

  3.   КрисADR сказал

    Привет Балуа 🙂
    Что ж, я придумаю что-нибудь для следующего. Немного сложно упорядочить все таким образом, чтобы за веткой можно было следить из любого сообщения, но я постараюсь получить это (и несколько других, которые меня просили) очень скоро. Спасибо за ваш комментарий. Ура

  4.   Андерс сказал

    Жемчужина статьи! Надеюсь, в следующий ...