На каком языке программировать?
Всем привет! Этот пост будет больше развлекательно-филлосовский, про то как человек воспринимает программный код и как его воспринимает компьютер.
Что такое программный код? Если подумать то мне на ум приходит аналогия со списком дел, которые один человек пишет другому в той или иной ситуации. Что то вроде:
- Проверь достирала ли стиральная машинка
- Если достирала, то вынь бельё и развесь на сушилке
- Вытри пыль с полок
- Если соберёшься куда то уходить из дому, то вынеси мусор
Точно так же выглядит и программирование, только вы пишите задание для машины на понятном ей языке:
- Следующие действия повтори шесть раз:
- Загадай случайное число от 1 до 6 и запиши его в строку
- Прибавь к концу строки знак переноса <br>
- Напиши это число
Разница в том что если вы допустили грамматическую ошибку в списке заданий для человека, то он пожурит вас за неграмотность но выполнит, машина же, откажется выполнять ваш код, либо полностью, либо выполнит только до строки с ошибкой (в зависимости от языка). Она просто выдаст вам ошибку в стиле "я не понимаю что ты от меня хочешь в строке № 28, я такой команды знать не знаю".
Машина в точности выполняет ваши указания, если они написаны верно.
В каждом языке программирования есть заготовленные функции из разряда стандартных, это набор каких тов вещей которые наиболее часто требуются от языка программирования, например работа со строками(текстом): приведение строки к прописным или заглавным буквам, обрезка строки, переворачивание строки задом наперёд и т.д., а так же стандартные для любого языка вещи, вроде условных операторов - это грубо говоря вилки условий "если - то - иначе". "Если машинка достирала -> вынь из неё бельё", ну и циклы, это как колесо которое проворачивается нужное количество раз, и выполняет заложенный набор действий. "Развешивай аккуратно вещи на сушилке, пока они не кончатся".
Эти вещи в любом языке фиксированы и их ни как нельзя изменять, в отличии от функций которые вы будете в ходе написания программы создавать сами. Здесь вы вольны давать им какие угодно названия, сколь позволяет ваша фантазия. Главное что бы они были понятны в вашем коде не запутались потом ни вы сами ни люди которые будут после вас работать.
Так же есть такая штука как "переменные" - это грубо говоря коробки. Коробки в которые вы что кладёте и подписываете их в стиле: "Старые зарядки от смартфонов", "Инструменты", "Старые игрушки" и т.д.
Переменные нужны что бы "передавать" какие то данные из одного участка кода, в другой.
Грубо говоря у вас есть стиральная машинка, которая после стирки выдаёт вам чистое бельё, вы кладёте его в переменную под названием "Тазик" и несёте к сушилке, где уже из переменной "Тазик" развешиваете бельё на сушилке.
И вот внимание вопрос, на каком языке это всё называть? Общепринято то, что почти все языки программирования имеют в себе названия команд на латинице и следовательно под пишется на ней же.
Здесь на картинке мы видим простейший код слева, и результат его действия справа.

Данный код создаёт функцию, которая прокручивает шесть раз цикл, в котором генерирует случайное число от 1го до 6ти, "приклеивает" к этому число знак переноса строки и отображает его.
Код полностью написан на английском, в плане того что цикл for и функцию rand - мы не могли ни как изменить, но всему остальному, переменным и самому названию функции мы дали названия сами.
Но можно ли писать код на русском? Не стоит задаваться вопросом зачем, просто допустим потому что захотелось!

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

Почему так происходить? Почему все три версии кода работают идеально?
Ответ прост, для машины нет такого понятия как "язык" в плане разговора, для неё любое название созданной пользователем переменной или функции это в первую очередь последовательность символов, её не волнует что они означают.
По этому если задуматься над вопросом "на каком языке писать", мой лично ответ таков: "на каком хотите, это целиком ваша забота", ведь в конечно общем зачёте важно только то работает ваша программа или нет.
Но помните что после вас не резко над вашим кодом могут работать другие люди, по этому лучше если он будет понятен и привычен остальным вашим коллегам по цеху.
Постскриптум: Если посмотреть на код генератора случайных чисел, то можно подумать что генерирует он их как то странно... (или нет), скорей всего если подберу материал, я напишу следующий пост именно об этом. О том, почему считается что компьютер не способен генерировать "случайные" числа, и правильно называть то что он генерирует "псевдослучайными".
Постскриптумскриптум: Извиняюсь за возможные ошибки, и может быть в некоторых местах сбивчивые объяснения, в момент написания поста, меня много отвлекали...
Комментарии