На каких языках есть комментарии, которые не являются комментариями?

На каком языке (ах) есть комментарии с побочными эффектами? По сути, комментарии, которые являются комментариями нет ....

Первым языком, который я увидел с опциями для компиляции некоторых комментариев в виде кода, был PL / C, основанный на PL / I. Также в C и C++ было бы справедливо рассматривать большинство директив #pragma как комментарии, за исключением исключений, потому что компиляторы должны игнорировать их, за исключением тех, которые они понимают.

Windows programmer 16.12.2008 02:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
524
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Английский. Я выиграю?

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

Windows programmer 16.12.2008 02:36

Ваш ответ "не связан с программированием" хе-хе

victor hugo 24.05.2009 23:32

CSS для умных кросс-браузерных хаков. Конечно, я бы не стал называть CSS языком.

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

Greg Hewgill 16.12.2008 02:35

Haskell может перевернуть обычные комментарии в парадигме кода, используя код в комментариях - также Mathematica и тому подобное; буквальное программирование - отличная возможность для более математически склонных языков.

Я также считаю, что аннотации в Java похожи на комментарии к поведению.

Другой пример кода в комментариях: встраивание PHP или подобного в комментарий HTML. (Некоторые менее изощренные редакторы с подсветкой синтаксиса пропустят это.)

Stewart 28.07.2009 14:20

Программирование DOS Batch Shell

REM (примечание) позволяет добавить комментарий. Но у него есть побочный эффект изменения переменной ERRORLEVEL на 0.

В некотором смысле это делает последнюю операцию успешной.

Я не знаю, как комментарий может потерпеть неудачу, но если это так, вы защищены.

Первоначально оболочка Bourne не поддерживала комментарии '#'; вы использовали для них оператор ':' и строку. Это будет успешно, поэтому переменная состояния $? будет сброшен на 0.

Jonathan Leffler 28.12.2008 20:36
Ответ принят как подходящий

Я могу вспомнить несколько мест, где комментарии на самом деле не являются комментариями.

  • HTML-теги и теги сценариев (обеспечивающие поддержку браузеров, которые не разрешают или не поддерживают сценарии).

А затем, значительно более неясно:

  • IBM Informix 4GL (I4GL) и Genero от 4J (преемник Informix Dynamic 4GL, D4GL). Обозначение «--#» использовалось D4GL для включения материала, применимого только к D4GL; I4GL воспримет это как комментарий. Обратное обозначение было «--@», что выглядело как комментарий к D4GL, но I4GL рассматривал его как активный материал.

И, что еще более неясно:

  • Я написал файл I4GL, который был двуязычным, используя многочисленные возможности комментирования I4GL. Материал, начинающийся с '#' (хэш), обозначал начало комментария вне строк - до следующей новой строки, как и '--' (двойное тире). Кроме того, «{...}» (фигурные скобки) заключают в себя многострочные комментарии.
  • Верхняя часть исходного файла на самом деле была сценарием оболочки, в основном заключенным в '{...}', что, конечно, совершенно законно для оболочки. Сценарий оболочки представлял собой управляемый данными генератор кода, который копировал себя в начало вывода, а затем генерировал около 100 функций, которые были удручающе похожи, но немного отличались (на языке без шаблонов или препроцессора). Код должен был проверить, что было в базе данных для данного корабля, по входящим данным из внешнего источника (фактически, Lloyds of London), чтобы увидеть, что изменилось с момента последнего получения внешних данных. Нетривиальная работа по сравнению, тем более, что она имела дело с пустыми значениями базы данных (SQL).
  • Этот файл на самом деле не был программой Quine, но у него были некоторые общие черты. В частности, вы можете скормить скрипту сломанный код I4GL, и регенерированный файл снова станет идеальным, в основном потому, что он игнорирует существующий код I4GL.

Затем, конечно, есть "полиглоты" - программы, которые могут быть скомпилированы / выполнены на нескольких языках. Обычно они полагаются на тот факт, что одна и та же строка является комментарием на одном языке, а фактическая строка кода - на другом.

QBasic имеет собственное использование комментариев: REM $STATIC или REM $DYNAMIC устанавливают, как распределяются массивы.

Другой пример: когда веб-браузеры анализируют комментарии <!-- -- -->in<!-- -- -->correctly.

Просто наткнулся на этот старый вопрос, и моей первой мыслью были комментарии javadoc.

Другие вопросы по теме