Поговори с машиной: как ваш компьютер и телефон понимают, чего вы от них хотите

0   14   0

Информатика
22 янв. 14:29


56a2128a5f1be7154a000898

Что происходит, когда вы нажимаете цифры в калькуляторе или набираете сообщение в мессенджере? Молодой ученый Сергей Лисицын в рамках проекта «Физтех.Читалка» рассказал T&P, как устроены переводчики с человеческого языка на машинный, а именно компиляторы, и как принцип их работы может помочь нам выучить два языка и больше.


Что нужно знать прежде всего

Сергей Лисицын, студент 4-го курса МФТИ, сотруд...

Сергей Лисицын, студент 4-го курса МФТИ, сотрудник кафедры микропроцессорных технологий

Языки программирования и программы, на них написанные, заполнили нашу жизнь. По разным оценкам, на данный момент существует от двух с половиной до десяти тысяч языков программирования — формальных знаковых систем. С их помощью записывается программа — совокупность шагов, которые необходимо выполнять машине. За любым нашим действием в компьютере, планшете и телефоне стоит множество языков, на которых строго по определенным правилам описано все, что мы потенциально можем совершить. И лишь небольшая часть таких языков умеет общаться с компьютером напрямую, то есть взаимодействовать непосредственно с машинным кодом, состоящим из нулей и единиц. Для всех остальных языков вроде C++ или Java нужны переводчики, которые перепишут нашу программу в понятную компьютеру форму. Одна из разновидностей таких переводчиков и называется компилятором.

Неудивительно, что составление и написание переводчиков — целая наука, крайне актуальная и разносторонняя. До ее появления жизнь программистов была тяжела и неказиста: специалистам приходилось писать свои программы в виде машинного кода, то есть совокупности нулей или единиц. Он выглядел очень громоздко, его было крайне затруднительно читать, а тем более править. Но на смену машинному коду пришли языки программирования, с помощью которых гораздо проще объяснять компьютеру поставленные задачи. А для таких языков, соответственно, нужны были переводчики. Первый переводчик в СССР — или, как его тогда называли, ПП, программирующая программа — был написан еще в 1954 году. Сегодня переводчики бывают самые разные: бесплатные для скачивания и редактирования (или с открытым исходным кодом) и платные, которые корректировать нельзя.

Вжиться в роль компилятора

Переводить язык программы на язык компьютера можно по-разному. Существует вариант брать отдельно каждую строчку и объяснять ее компьютеру, однако часто правильнее прочитать всю программу целиком, обработать ее, сделать более оптимальной для понимания компьютером, а затем уже оформить в виде машинного кода. Переводчики первого типа называются интерпретаторами, а второго — компиляторами. Существует также множество промежуточных форм. Вжиться в роль компилятора или интерпретатора легко, представив себя переводчиком, например, с корейского на русский. Можно переписывать текст на другой язык, переводя каждое предложение отдельно, а можно целиком прочитать книгу, осмыслить ее, задуматься, как на другом языке будут лучше звучать те ли иные средства выразительности. Если ваша цель — донести основную мысль, можно даже убирать лишние на ваш взгляд главы и называть персонажей иными именами. Все зависит от поставленной перед переводчиком задачи.

© Javier Jaen

© Javier Jaen

Однако стоит пояснить еще один крайне важный момент. Если вы переводчик-интерпретатор, то для каждого прочтения перевода вы переписываете каждую строчку заново. Иначе говоря, книги на полке с финальным переводом с корейского языка на русский у вас не остается. В случае, если вы старательный переводчик-компилятор, плод ваших трудов — перевод — оформляется в отдельную книгу, которую можно поставить на полку, любоваться, смахивать с нее пыль и доставать в любой удобный момент. На языке компьютера такая книга, написанная на языке, понятном машине, называется исполняемым файлом. Однако если после раздумий над текстом автор книги, которую вы переводите, решил внести еще пару предложений или лишнюю запятую, вам придется делать все заново: читать полностью новую книгу, осознавать, обдумывать и ставить на полку рядом со старым переводом новый том. Причем два полученных труда могут даже не различаться между собой, однако чтобы это однозначно выяснить, вам придется переводить все снова.

Читать дальше.


Автор: tany_savelieva

Источник: T&P


0



Для лиц старше 18 лет