Мы все тесно связаны с программированием, будь то как пользователь, как администратор, как сам программист, но в конечном итоге это то, что с годами будет больше связано с нашей жизнью.
В этой статье (начало небольшой серии, которую я планирую создать), Я хочу поделиться с вами несколькими идеями о том, что я обнаружил в программировании за эти годы. Я не претендую на чрезмерную техничность, позже объясню почему. Но что я действительно собираюсь, так это заставить их увидеть мир моими глазами, и если им нравится, как он выглядит, то пусть они немного в него вникнут
Прежде чем вдаваться в подробности, я остановлюсь на самом простом пункте.
Почему я не собираюсь делать технический пост?
Что ж, для тех, кто читал мой пост про лучшая команда linux, вы узнаете немного о причине этого фокуса. Технологии всегда меняются, и если я напишу что-нибудь сегодня, если пост будет хорошо принят, мне всегда придется обновлять информацию. В наиболее распространенных сегодня языках можно быть уверенным только в изменении. Под этим я подразумеваю (и программисты могут доказать, что я прав) фреймворки всегда растут и модифицируются из своих ядер, это связано с тем, что возникают ошибки, некоторые из них можно считать простыми ошибки, в то время как другие могут стать уязвимости. Это причина, по которой написание сообщения о конкретном языке сегодня может гарантировать мне, может быть, несколько месяцев полезности, в лучшем случае один или два года, но идея не в этом 🙂
Электричество важно
Те из вас, кто провел небольшое исследование самых простых языков программирования, знают, что все это восходит к электричеству. В прошлом программирование осуществлялось на аппаратном уровне, это означает, что старые часы, калькуляторы и многие другие устройства могли выполнить свое предназначение, запрограммировав аппаратные средства.
Проблема
Изменение аппаратного программирования дорого и сложно 🙂 (по крайней мере, так они мне сказали 🙂 ). Вот почему появились процессоры, которые фактически абстрагируют этот аппаратный уровень, чтобы дать нам несколько команд, позволяющих делать все, что было возможно через аппаратное обеспечение, только теперь на аппаратном уровне. .
Процессоров
Современные процессоры имеют ограниченное количество функций, называемых инструкции во многих книгах. Это позволяет вам выполнять самые основные функции, которые может выполнять оборудование, и мобилизовать информацию через память компьютера.
Регистры
Регистры - это пространство, в котором процессор хранит информацию, позволяющую выполнять работу с ядром, в зависимости от архитектуры они могут иметь разный размер и порядок, но, проще говоря, их функция заключается в хранении данных, которые сообщают процессору один из следующих видов работ: перемещать данные, арифметику и логику, а также управлять течь. В этих типах функций можно резюмировать все.
двоичный
Процессоры работают на двоичном уровне, это означает, что они понимают только 0SY 1да. Любопытный факт здесь 😀помните разрешения GNU / Linux? хорошо, Вы когда-нибудь задумывались, как процессор на самом деле распознает эти разрешения? Простой 🙂 бинарный. На самом низком уровне процессор будет понимать разрешения как последовательность нулей и единиц, и именно поэтому восьмеричное число, которое мы формируем, имеет значения 1 для исполнения, 2 для чтения и 4 для письма. Те, кто умеет читать двоичные файлы, поймут, что:
111100101111
Они ставят права на чтение, запись и выполнение для группы другие ставя спектакль и чтение для группы группа и читать только для владельца файла. Для наиболее любопытных, последние три единицы активируют setguid
, setuid
y el
sticky bit
. Если вы не знаете, что это за двоичный файл, я могу объяснить его в другом посте, если вы не знаете о setuid, setgid и липком бите, я оставлю это вам 😉 но я также могу объяснить это в другом месте если необходимо.
Когда вызывает любопытство ...
Что ж, если вы следовали за мной здесь, то ваше любопытство должно начать спрашивать о многих вещах, первый, на который я хочу ответить (и, возможно, единственный, который позволит мне этот пост, потому что я уже много пишу): Если звонки одинаковые, почему программы такие разные?
Психология
Программирование - это искусство обучения чтению мыслей 🙂 Я хочу начать этот раздел с цитаты, которую я прочитал много лет назад, - сказал Эдсгер Дейкстра:
Если отладка - это процесс отладки, то программирование должно быть процессом их внедрения.
И я не могу найти лучшего способа объяснить все это 🙂 почему программирование - это искусство вносить ошибки? больше чем один будет задаваться вопросом на этом этапе. Ответ прост, потому что наш разум человеческий, а люди совершают ошибки 🙂 это заложено в нашей природе, и так будет до тех пор, пока человек существует на планете.
Компьютеры не ошибаются
Мы - те, кто ошибается, команды всегда ограничиваются воспроизведением того, что мы им говорим, они ничего не предполагают, они ничего не интерпретируют, они ничего не возражают, они просто читают и действуют. Вот почему в другой книге на C я когда-либо читал что-то вроде этого:
C - грубый язык, с ним можно многое сделать, но он никогда не помешает вам выстрелить себе в ногу, если вы захотите это сделать или вы так скажете.
Это довольно любопытная истина 🙂 Так как при работе на таком низком уровне возможно, что многие выполняемые операции могут быть разрушительными, чего не происходит с языками немного более высокого уровня, поскольку уровни предотвращения ошибок у них старше.
Все это психология
Каждый язык, фреймворк, программист уважает и следует какой-то философии, а если нет, то у них нет очень многообещающего будущего. Те из нас, кто работает с UNIX и его производными, вероятно, знают старую фразу:
Делай одно дело, и делай это очень хорошо.
Этой философии придерживаются некоторые проекты, такие как ядро, довольно маленькие функции, которые делают только одно, но делают это как можно лучше.
Если мы перейдем к другим языкам, у каждого из них будет своя функция и цель, некоторые будут более разрешительными, а другие более ограничительными, но все они будут следовать своему собственному образу мышления.
Научитесь читать мысли
Среди программистов довольно распространено высказывание, что есть сотни способов решить одну и ту же проблему. Это правда, но в этом аспекте есть нечто гораздо более глубокое. Чтение исходного кода позволяет вам читать мысли - не просто мысли, а мысли программиста (или программистов), которые его написали. Это своего рода виртуальный и глубокий дневник он позволяет глубоко узнать мысли разработчика, а в случае крупных проектов позволяет увидеть, как их логическое и критическое мышление со временем выросло. Что-то экстраординарное, что очень питает умы самых маленьких, потому что вы можете узнать лучшие пути людей, которым приходилось их открывать 🙂
Быть последовательным
Многие программисты и специалисты говорят, что нужно выходить из зона комфорта, и хотя это правда, это более чем необходимо для поддержания определенных процессов и форматов. Это легко объяснить, наш разум повторяется и уважает структуры. Если вы будете писать код одинаково каждый день, через короткое время вы перестанете думать о форме и сможете сосредоточиться на ней. Fondo. Это позволяет увидеть логика программы вместо синтаксис языка. И поэтому я считаю, что изучение концепций всегда будет важнее обучения формы. Это личное мнение, но я надеюсь, что после прочтения всего этого вы поймете, почему я так считаю также тот, кому приходилось программировать на C, Java, Javascript, Python, Ruby, PHP и др., Расскажет им 🙂 концепции позволяет легко писать код.
В резюме
Что ж, это первый шаг в серии, которая, я надеюсь, поможет вам по-другому взглянуть на искусство программирования, даже предложит вам углубиться в концепции, которые позволяют выполнять код, который вы написали, возможно, сотни раз, но они не переставал думать о том, что он на самом деле делает. И для тех, кто еще не начал программировать, но хотел бы иметь возможность немного расставить приоритеты в том, что действительно важно знать 🙂 Приветствую
Очень добросовестная статья, в которой говорится (в данном случае) о программировании, возможно, на новом языке, который программирует более глубоко, я поддерживаю следующее.
Привет, Хавьер, большое спасибо 🙂 Я думаю, это очень важно, потому что они всегда хотели научить меня только воспроизводить код, знаменитый Ctrl + C… Ctrl + V 🙂, но я никогда не позволял себе увлекаться этим, даже если это самая простая проблема в мире, я лучше напишу ее, чем скопирую у кого-то еще, это заставляет меня чувствовать, что это мое творение.
привет
Уже дожидаясь следующей главы, я давно перестал программировать и думаю, что в какой-нибудь более поздней главе я найду причину своего решения, действительно, поскольку в этой главе я снимаю шляпу.
Привет Балуа 🙂
Что ж, я придумаю что-нибудь для следующего. Немного сложно упорядочить все таким образом, чтобы за веткой можно было следить из любого сообщения, но я постараюсь получить это (и несколько других, которые меня просили) очень скоро. Спасибо за ваш комментарий. Ура
Жемчужина статьи! Надеюсь, в следующий ...