четверг, 27 января 2022 г.

Hello World на Паскале

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

И начну со своего любимого языка - с Паскаля.


Итак, вот программа на Паскале, которая выводит сообщение “Hello World”:


program test;


begin

  Write('Hello, World !!!');

end. 


Недавно мне напомнили, что слово program в современном Паскале необязательно. Да, это так. Но я придерживаюсь классической версии. К тому же вполне современные средства разработки Lazarus и Delphi при создании консольного приложения автоматически вставляют слово program. И тратить время на то, чтобы его убрать, совершенно бессмысленно. На размер исполняемого файла это не влияет, а на размер исходного файла влияет, но настолько мало, что это можно не принимать во внимание.


Итак, в классическом Паскале программа начинается с ключевого слова program. Затем следуют операторные скобки - ключевые слова begin и end. После слова end в конце программы обязательно должна быть точка.


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



Работа программы Hello World на Паскале


Для вывода сообщения мы используем процедуру Write. Эта процедура универсальная, она может не только выводить сообщения, но и, например, записывать данные в файл. Подробнее о ней здесь.


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




среда, 26 января 2022 г.

Является ли JavaScript языком программирования

JavaScript – это интерпретируемый язык программирования с объектно-ориентированными возможностями.

Цитата из книги “JavaScript: подробное руководство”.


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


Оппонент утверждал, что JavaScript - это не язык программирования, а скриптовый язык.


Да, его часто так называют - “скриптовый язык” или “язык сценариев”.


Но является ли легковой автомобиль автомобилем? Конечно, да!


И называемый в простонародье “скриптовый язык” также является языком программирования.

Потому что программа (от греческого “про” - пред, “грамма” - запись) - термин, в переводе означающий «предписание», то есть заданную последовательность действий. Данное понятие непосредственно связано с понятием алгоритм.

Иными словами программа - это последовательность действий (алгоритм), записанная каким-либо образом на каком-то носителе информации.


Если вы помните, что такое перфолента или перфокарта, то дырки на этой карте - это и есть способ записи алгоритма. А перфокарта - это и есть программа.


А если это программа, то эти дырки на перфоленте есть ни что иное, как язык программирования (способ записи алгоритма).



Перфокарта. Вот такие вот программы на перфокартах использовали в давние времена. Мне ещё довелось видеть это вживую - когда я работал на заводе (конец 80-х и начало 90-х), то мог наблюдать, как программируют с их помощью станки ЧПУ. Правда, тогда я ещё толком не понимал, что это и для чего. Вот жизнь была у программистов - не по клавишам им стучать приходилось, а дыроколом отверстия в картонках пробивать. А вы говорите, что JavaScript это сложно…


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


Ну а то, что программа на JavaScript не компилируется в исполняемый файл, а интерпретируется, это никак не лишает JavaScript права называться языком программирования.



вторник, 25 января 2022 г.

Зачем нужен Ассемблер, или добро пожаловать в Ад


Мы живём в мире, когда искусственный интеллект может не только писать музыку или управлять транспортом, но и общаться с человеком. А это было невозможно ещё каких-то 15 лет назад.


Причём не просто общаться, но поддерживать разговор на любые темы. И для этого не нужен суперкомпьютер, который занимает несколько комнат. Для этого достаточно смартфона, который есть у каждого в кармане.


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


Так зачем же в наше время нужен язык Ассемблера?


Ответ простой. Если не вдаваться в подробности, то язык Ассемблера - это язык процессора. И пока существуют процессоры, будет нужен и язык Ассемблера. А процессоры, судя по всему, будут существовать ещё долго.


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


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


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




Что такое отличное резюме


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


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


А причина проста - кривое резюме, которое специалист по кадрам сразу отправляет в корзину, даже не читая.


Поэтому составлению резюме надо уделять особое внимание, а если не уверены в своих силах, то лучше обратиться к специально обученным людям (составление резюме стоит обычно от 500 рублей и выше).


Но что же такое отличное резюме? Вот основные показатели качества:


  • Грамотно составленное, конкурентоспособное, призванное привлекать и удерживать внимание.

  • Слишком профессионально составленное для того, чтобы остаться незамеченным.

  • Направленное на получение работы, чётко дающее понять, что вы способны выполнять поставленные задачи.

  • Выглядит привлекательно как в распечатанном виде, так и при просмотре в Интернете или на компьютере. 

  • Составленное с учётом требований конкретной вакансии, а иногда под конкретного работодателя.


Разумеется, на этом хитрости составления резюме не заканчиваются. Следите за новостями - скоро будет продолжение…


Что называется микропроцессором

Сейчас слово “микропроцессор” используется всё реже. Потому что всё чаще в электронных устройствах применяются микроконтроллеры. Однако понимать, что такое микропроцессор, должен каждый электронщик. Даже начинающий. Читать далее...


понедельник, 24 января 2022 г.

Производители электротехнических изделий

Разъяснил некоторые основные термины из области электромонтажа и подготовил раздел для будущих статей о производителях электротехнических изделий и сопутствующих материалов. Читать далее...


Организованный фрилансер это...

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

Сейчас положение дел иное - мои доходы почти полностью зависят от фриланса. А опыта работы именно в таком режиме у меня не так уж и много. Поэтому приходится всё постигать на ходу, как говорится, “ввяжемся в драку, а там посмотрим…”


Сложностей на пути фрилансера немало. И одна из довольно актуальных - организация своего рабочего времени. Ведь начальника над тобой нет, и никто тебя не подгоняет. Это провоцирует на откладывание дел на потом, на отдых и прочие подобные действия. И с этим надо что-то делать. А проблема в том, что кроме вас никто вас не организует. Совершенство недостижимо, но к нему надо стремиться…


Итак, организованный фрилансер - это тот, кто:


  • Осознаёт ценность времени и ценит каждую минуту, а также понимает, что он может сделать за определённый промежуток времени.

  • Хорошо ориентируется в пространстве и знает место для каждой вещи, используемой в работе.

  • Отлично знает инструменты, которые применяет для решения своих задач.

  • Понимает требования времени, не даёт невыполнимых обещаний и не озвучивает заказчику нереальные сроки.

  • Серьёзно занимается самоорганизацией, при необходимости тайм-менеджментом.

  • Уверен и сосредоточен на своей цели.

  • Способен не приступать к выполнению заказов немедленно, если они запланированы на на будущее.

  • Не обязательно имеет ресурсы и помощников, недоступные обычным людям.

  • Считает, что организованность - это не цель, а средство, и поэтому не зацикливается на порядке ради порядка.

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


Являюсь ли я сам таким? В полной мере - нет. Хотя проснуться в 6 утра в выходной для меня не проблема )))


воскресенье, 23 января 2022 г.

HTML - это не язык программирования

В отличие от языков программирования, HTML не позволяет выполнять какие-то команды. Ну во всяком случае, задуман он был не как язык программирования, хотя в HTML5 и CSS3 уже довольно много возможностей, которые близки к программированию. 

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


Например:


<head>

  <title>Документ</title>

</head>

<body>


<h1>Заголовок 1</h1>


<p>

Текст документа

</p>


</body>

</html>


Если в этом документе вы уберёте две последние строки, то большинство браузеров отобразят документ правильно, и пользователь ничего не заметит. Хотя формально это ошибка, потому что теги <head> и <body> являются парными, то есть должны иметь закрывающие теги.


А вот если вы забудете поставить закрывающий тег </h1>, то уже хуже. Потому что это будет означать, что заголовок продолжится до тех пор, пока не будет найден закрывающий тег. Но, поскольку в этом примере такого нет, то стиль заголовка будет применён ко всему документу. То есть “Текст документа” будет выведен в таком же стиле, что и “Заголовок 1”:


Когда забыл закрывающий тег </h1>


Это тоже не смертельно. Потому что пользователь всё-равно увидит весь документ. Правда, выглядеть это будет не так, как задумал автор.


Ну что же, на сегодня всё. Изучайте HTML - это намного проще, чем программирование, но в то же время это такая же ИТ-профессия, и часто не менее высокооплачиваемая, чем программист.



суббота, 22 января 2022 г.

Где раздобыть деньги

Деньги нужны всем. Даже детям. Особенно в наше время, когда в магазинах есть всё. А вот денег всегда не хватает. Потому что как только их начинает хватать - появляются новые потребности и денег снова не хватает. Поэтому вопрос добывания денег актуален для всех и всегда. Читать далее...


Как съесть слона - движемся к цели маленькими шагами

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

Чаще всего такой печальный результат получается потому, что человек переоценил свои возможности. Или недооценил сложность задачи.


Хотел съесть бутерброд на завтрак, но бутерброд оказался размером со слона.


А съесть слона невозможно.


Точнее, невозможно за один подход. Но если разделить его на маленькие кусочки, то очень даже возможно.


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


Зачем ему это было надо - другой вопрос. Но главное не в этом, а в том, что он сделал то, что другим казалось невозможным - съел автомобиль.


Так что невозможное возможно. Главное - выбрать правильную стратегию и тактику. И четко следовать плану.


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


Например, первый день - изучить типы данных, второй - переменные и константы, третий - операторы для управления ходом выполнения программы, четвёртый - циклы, пятый - подпрограммы…


И так шаг за шагом, выделяя на обучение (или другие действия) всего 20...30 минут в день, вы достигните цель, которая когда-то казалась недостижимой…


Пошаговый план становления программистом





пятница, 21 января 2022 г.

Виды ошибок в программах

Все ошибаются. И новички, и профессионалы. Это неизбежно. Но всё же надо стремиться к тому, чтобы совершать ошибки как можно реже. А лучше никогда. Но для этого надо хотя бы знать, какие ошибки вы можете совершить и где. В случае с программированием есть три основных вида ошибок. Читать далее...


четверг, 20 января 2022 г.

Что такое JavaScript


Как стать программистом JavaScript


Впервые о JavaScript я узнал достаточно давно. И сначала он мне не понравился. Потому что он был очень похож на С++, а с С++ у меня сложные отношения до сих пор.


С одной стороны - это мощный и интересный язык. Но с другой - очень запутанный и сложный (это я про С++).


Однако, как потом выяснилось, JavaScript избавился от многих недостатков С++, на основе которого он был разработан. Кроме того, JavaScript изначально был создан для того, чтобы делать программы для веб-браузеров, то есть программы для сайтов в Интернете (ну и не только в Интернете).


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


К тому же Python начал своё наступление на полях веб-программирования относительно недавно, а JavaScript на этой поляне уже не один десяток лет. И за эти годы накопилось огромное количество кода и сайтов, которые надо развивать и поддерживать.


Так что если вы фрилансер, то обратите внимание на JavaScript. Потому что программистов на Питоне сегодня уйма, и конкуренция среди них будет только расти. А вот программистов на JavaScript становится всё меньше, хотя на их век работы точно хватит.


Не могу считать себя знатоком JavaScript. Однако я, по мере возможности, продолжаю его изучать, а уже изученные вопросы иногда выкладываю в виде статей и видео, которых накопилось уже немало. Все их вы можете найти здесь:


Все мои статьи и видео о JavaScript




среда, 19 января 2022 г.

Надо ли увольнять профессора из-за взятки

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


Стоит ли изучать Python

Все способы изучить Python

Не буду говорить о недостатках Python (а они есть, как и у любого языка), расскажу о преимуществах. Итак:


  • Простой язык, который сегодня изучают почти во всех школах.

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

  • Это интерпретируемый язык. И это означает, что вам не надо заморачиваться с вопросом - будет ли ваша программа работать на другом компьютере и другой операционной системе. Главное, чтобы там был интерпретатор Python.

  • Это интерпретируемый язык. Не, я не ошибся, написав это  преимущество второй раз. Просто кроме вышесказанного это ещё означает, что для того, чтобы доработать вашу программу, вам достаточно любого простого текстового редактора - необязательно иметь специальные средства разработки.

  • Python сегодня поддерживается почти всеми веб-серверами. А это означает, что изучив Python, вы можете создавать крутые сайты. И для этого вам не потребуется ничего больше знать: ни JavaScript, ни PHP…

  • Для Python создано огромное количество библиотек и прочих ништяков, с помощью которых начинающие программисты могут создавать программы такой сложности, которые не смогут сделать даже профессионалы на других языках. Например, распознавание речи или машинное зрение.


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


...научиться программировать на Python с нуля




вторник, 18 января 2022 г.

Зачем создавать ненужные сообщения

У меня есть несколько сайтов, все они привязаны к Яндекс.Метрике, и я время от времени получаю от Яндекса письма об изменениях, произошедших на моих сайтах. Например, сколько страниц добавлено в поиск, сколько удалено и т.п.

Всё это замечательно. Однако иногда я получаю письма вот с таким содержимым:




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


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


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


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


Ну да ладно. Здесь главное - не повторять таких ошибок. Кстати, подобных примеров довольно много описано в легендарной книге Психбольница в руках пациентов. Советую почитать на досуге…




Кто управляет Россией и чей Крым

Вопрос “чей Крым”, по крайней мере в России, задают всё реже и реже. Но у меня вот спросили. Я решил ответить отдельной статьёй. Читать далее...


понедельник, 17 января 2022 г.

Технические средства автоматизации

Инженер умных устройств

Технические средства автоматизации (ТСА) - это разнообразные устройства, которые используются для воплощения “в железе” автоматизированных систем управления (АСУ).


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


Поскольку основные функции любой АСУ следующие:


  • Сбор данных

  • Обработка данных

  • Управление исполнительными механизмами

  • Взаимодействие с оператором


То и ТСА можно попробовать сгруппировать по этим функциям:


  • Сбор данных: датчики, измерители, кнопки управления, внешние информационные системы…

  • Обработка данных: преобразователи сигналов и интерфейсов, приборы автоматики (например, модули ввода), ПЛК, компьютеры…

  • Управление исполнительными механизмами: реле, пускатели, электромагниты, пневмо- и гидроприводы…

  • Взаимодействие с оператором: индикаторные лампы, панели оператора, мониторы…


Это, конечно, достаточно упрощённая классификация. Больше сведений о ТСА можно найти здесь.


Автоматизация - профессия будущего




воскресенье, 16 января 2022 г.

Программирование микроконтроллеров для чайников

Я начинал с электроники. Увлекался с детства. Выписывал журналы "Радио", читал их от корки до корки. И из этих журналов узнал о микроконтроллерах (МК). Они меня сильно заинтересовали, поскольку схемы устройств на МК были значительно проще, чем на транзисторах или даже микросхемах. Но научиться использовать МК я тогда не смог. В журналах было недостаточно сведений, а книг тогда по этой теме не было. Другое дело сейчас - способов научиться программировать МК много. Осталось только выбрать подходящий. Читать далее...


суббота, 15 января 2022 г.

Стандартные функции языка Паскаль


Первые шаги в программирование


Я начал изучать программирование по первой попавшейся в магазине книге. Книга была неплохая. Плохо было другое - у меня тогда даже компьютера не было, и опробовать всё на практике я не мог.


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


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


  • Не бывает плохих языков программирования - бывают плохие программисты.

  • Изучение языка - это дело десятое. Язык программирования знать надо. Но главное - это уметь программировать, а не знать язык. Например, все жители России знают русский язык. Но не все могут написать роман или сочинить стихотворение. Потому что они не поэты и не умеют этого делать. Так же и с программированием. Можно ещё провести аналогию с музыкой - если вы знаете названия нот, то это не означает, что вы сможете сложить эти ноты в песню, тем более в хорошую.

  • На основе Паскаля создано немало современных языков, которые используются в современных средствах разработки. Например, это Object Pascal, Pascal Script, ST, Delphi.


Кстати, по поводу Делфи. Эту среду тоже многие считают мёртвой. И это тоже заблуждение. Делфи живёт и развивается, выходят новые версии. И, например, я работаю как фрилансер и для основного моего заказчика я использую именно Делфи (не я так решил, просто там уже очень много чего сделано на Делфи, и переделывать смысла нет).


Ну ладно. Я немного отвлёкся от темы. А тема была - стандартные функции Паскаля. Я в основном создаю обучающие материалы для новичков в программировании. Поэтому стараюсь всё подробно разъяснять. И по стандартным подпрограммам Паскаля (точнее, уже Object Pascal), у меня накопилось немало статей и видео. Все их вы можете найти здесь:


Стандартные функции языка Паскаль