Обновить
26
ApeCoder@ApeCoder

Разработчик

6
Подписчики
Отправить сообщение
Ну вот, например pycharm не смотря на то, что ни разу не решарпер, но и не блокнот.
А мне было бы интересно посмотреть. Приведите, пожалуйста!
Хабр туповат — за шутку +3, за разжевывание ее смысла +8 :)
А если человек заболел? Сломал руку? Как же тогда быть без: «Братан, посмотри, у меня там в смартфоне записано»?

Там где-нибудь написано «Ни в коем случае не давать альтернативный способ входа, если не сработал основной, как, например, сделано в Windows»?
Если есть хоть какая-то специфика предметной области, функции/классы/методы рационально писать свои чтобы не повторять код в каждом конкретном месте. Вопрос — почему макросы настолько отличаются от функций, что нельзя писать свои.
Лисперы говорят, что к скобочкам привыкаешь и через некоторое время начинаешь сквозь них видеть семантику так же как и на других языках. Вы пробовали? Опишите свои ощущения.
Тут вы правы — я совершеннейшее быдло с быдлозадачами. Мой поинт не в том что ЛИСП синтаксис — манна небесная для всех, а в том, что нельзя сказать что ЛИСП фигня на основании того, что быдлокодеру первые десять минут в нем непривычно. Чтобы понять, так это или не так, надо:
  • во-первых, испытывать его на небыдлокодерских задачах
  • во-вторых, дать себе некоторе время привыкнуть к такому подходу


И вообще понимать, зачем, откуда, что и к чему.
По поводу LISP — не только слышал о нём, но и изучал некоторое время.


Тогда зачем называть синтаксис «как ни у кого». Лисп создавался в 50е.

По поводу неважности синтаксиса — это выражение из той же серии что «главное — это душа».


Кстати, заметил, что при длительном общении с женщинами привыкаешь со временем к каким-то внешним особенностям и перестаешь их видеть.


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


Не «ужасное» а «непривычное».


Возможность создавать свои eDSL можно реализовать и в си-подобном синтаксисе, не так ли?


Есть, например, Nemerle. Но если синтаксис кода отличается от синтаксиса списка, то, если хочется использовать все функции накопленные для обращения со списками, применять постоянно какие-то преобразования.

Простым синтаксисом достигается унификация и уменьшение количества частных случаев, которых надо рассматривать.
Вопрос — что лучше по умолчанию — непропатченная винда или дополнительные деньги за трафик.
Т.е. машинный язык выделяется отдельно, как предел, и не допускается толкование ЦП как интерпретатора. ЦП определен как «техническое средство»).


То есть как только мы используем виртуальную машину у нас компилятор перестает быть компилятором при этом ничуть не изменившись?
Интерпретатор.
Входные данные(Basic)
PRINT «HELLO WORLD»
Выходные данные…


HELLO WORLD


Чорт, мне придется пересмотреть свои взгляды. Я думал, это Hello, world появляется так же при некотором посредничестве операционной системы, аппаратуры и прочего, с которыми интерпретатор общается на каком-то языке. Оказывается, интерпретатор все делает сам :)
Лично у меня складывается ощущение что автор языка создавал синтаксис не по принципу «как будет удобнее» а по принципу «как нет ещё ни у кого».


Это, я думаю, вы просто не очень интересуетесь языками программирования, раз не знаете про LISP.

Зачем? Какая тут реальная польза и удобство для программиста?


Прочитайте про макросы LISP — возможность создавать свои eDSL.

Процитирую классику

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

Главная фича скобочек — это то, что ты программируешь в чистом AST. Соответственно, ты так же легко можешь программно код прочитать и код сгенерить — и это и есть наиболее мощная разновидность метапрограммирования.
Дорогие соединения можно сделать metered — тогда только критичные патчи будут скачиваться.
> результат работы самой интерпертируемой программы.

Программа-интерпретатор написана в терминах какого-то языка: машинного кода, API ОС другого. Соответственно она транслирует искодный язык в выходной. А действия получаются в результате интерпретации этих вызовов нижележащими слоями.
> Тогда ЦП — это по-вашему, транслятор?

его можно рассматривать как

Теперь вокруг винтовки должен быть air gap и dmz
> Я бы не сказал, что interpret — частный случай translate, если уж говорить об английских значениях.

Translator — переводчик ( slovari.yandex.ru/translator/en-ru )
Interpreter — устный переводчик ( slovari.yandex.ru/interpreter/en-ru )

> В таком случае перевод во что мы осуществляем?

В машинный код (в форме вызова предзаписанных его кусочков) так же как устный переводчик представляет целевой языке в виде звуковых волн.

Процессор, вероятно, переводит машкод в электрические сигналы на его выводах.
Спасибо, интересно, в международных/американских стандартах так же?
Я так понял, что автор опирается на книжку по редкому языку, которая ссылается на статью Ершова в части определений. Не очень понятно, где именно у Ершова даны эти определения oberon2005.oberoncore.ru/classics/ae1977.pdf не могли бы вы уточнить? Я там вижу в начале слово трансляция, причем оно не определяется, а рассказывается о его свойствах.

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

Мне кажется, также, что сами термины имеют англоязычные корни и английские значения слов ближе к моей версии.
Перечитайте статью в википедии. Транслятор вообще любой переводчик из одного языка в другой. Интерпретатор — частный случай транслятора когда перевод осуществляется символ за символом — то есть выполнение по мере разбора. Компилятор, когда переводит целиком.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность