Возможные дубликаты: методологии разработки простого языка программирования Изучение написания компилятора Я хотел бы написать язык программирования с синтаксисом, подобным QBasic, но даже ...
Возникают вопросы о том, почему Java не поддерживает беззнаковые типы и несколько вопросов о работе с беззнаковыми типами. Я немного поискал, и оказалось, что Scala также не поддерживает беззнаковые ...
введите здесь описание ссылки Как компилятору java удается так быстро разрешать межклассовые ссылки, если у вас есть группа классов, которые все ссылаются друг на друга и используют методы друг друга? Я ...
Мне было интересно, почему C # не поддерживает частные виртуальные функции, и я натолкнулся на named Почему частные виртуальные методы запрещены в C #? В принятом ответе Эрик Липперт (кто, вероятно, знает ...
Мне нравится, как я могу обрабатывать списки в Python. Любое рекурсивное решение выглядит простым и понятным. Например, типичная проблема получения всех перестановок элементов в списке в Python ...
Мне было интересно, почему люди, написавшие Файловая библиотека решила сделать аргументы, определяющие, в каком режиме открывается файл, в строках, а не в символах. Например, сейчас это так: ...
От «Эффективной Java» Джошуа Блоха массивы отличаются от универсального типа по двум важным причинам. Первые массивы ковариантны. Обобщения являются инвариантами. Ковариант просто означает, что если X является подтипом Y, то X [] ...
Все согласны с тем, что список из n различных символов имеет n!перестановки. Однако, когда символы неотличимы друг от друга, наиболее распространенным условием в математике и других областях, кажется, является ...
Как я только сейчас заметил, комментируя этот ответ, срезы в Python 3 возвращают мелкие копии всего, что они ' повторная нарезка, а не просмотры. Почему это все еще так? Даже если оставить в стороне numpy ...
(Я знаю, что делает оператор разрешения области видимости, и как и когда его использовать.) Почему в C ++ есть оператор :: вместо использования. оператор для этого? В Java нет отдельного ...
В чем суть разрешения пользователю создавать поток путем расширения класса Thread, когда мы можем достичь той же функциональности, реализовав Runnable и передав его конструктору Thread.
Работая с языком программирования Swift, я с удивлением увидел, что, в отличие от структур и перечислений, классы не поддерживают свойства хранимых типов. Это общая черта других ОО ...
В C++, если вы хотите динамически выделять массив, вы можете сделать что-то вроде этого: int *p;
p = новый int[i]; i — это некоторое число Однако, чтобы удалить массив, вы делаете... исключить[] p; Почему бы и нет...
Согласно спецификации языка Java, конструкторы не могут быть помечены как синхронизированные, потому что другие потоки не могут видеть создаваемый объект до тех пор, пока поток, создающий его, не завершит его. Это ...
Я только что узнал сегодня, что следующий код Java является совершенно допустимым: myBlock: {/ * .. .код ... * / if (doneExecutingThisBlock ()) break myBlock; / * ... еще код ... * /
} Примечание ...
Я читал здесь интересную статью, и в ней был сделан интересный момент об операторе 'case' в vb.net по сравнению с оператором 'switch' в C #, который я вставил ниже: Следующий Visual Basic ...
Как бы вы написали грамматику синтаксического анализа в любом из следующих генераторов синтаксического анализатора (PEG.js, Citrus, Treetop), которые могут обрабатывать Python / Отступы в стиле Haskell / CoffeScript: примеры не -...
Надеюсь, этот вопрос не будет слишком запутанным или расплывчатым. Я знаю, чего хочу в своей голове, поэтому скрестив пальцы, я могу передать это в тексте. Я ищу язык с собственным синтаксисом ...
В качестве фона для побочного проекта я читал о различных конструкциях виртуальных машин, причем JVM, конечно, получила наибольшее распространение. Я также просмотрел BEAM (Erlang), GHC RTS (вроде как, но...
Я прошел курс компиляторов в университете, и это было очень информативно и очень весело, хотя и много работы. Поскольку нам дали спецификацию языка для реализации, одну вещь я не усвоил...
F # 3.0 добавляет провайдеров типа, что делает его в основном ненужным для вручную писать или Создавайте отображения между БД (или другим поставщиком данных) и системой языка / типа, потому что язык может ...
В чем заключается полезность ключевого слова global? Есть ли причины предпочесть один метод другому? Безопасность?
Спектакль?
Что-нибудь еще? Метод 1: функция instanceConcat ($ str1, $ str2)
{return $ ...
Некоторое время назад Oracle решила, что добавление замыканий в Java 8 была бы хорошей идеей. Интересно, как там решаются проблемы дизайна по сравнению со Scala, закрытые с первого дня. Ссылаясь на ...
В Objective-C вы не можете объявлять имена методов, если последний компонент не использует Не спорю. Например, следующее недопустимо. - (void) take: (id) theMoney andRun; t объявлять имена методов, в которых последний компонент не принимает аргументов. Н
Это действительно так. это не вопрос программирования как таковой, но мне было интересно, почему имя тега требуется в закрывающем теге в XML. Например, не может материал
a & ...
Почему присваивание Python является оператором, а не выражением? Если бы это было выражение, которое возвращает значение правой части присваивания, оно позволило бы сделать гораздо менее подробный ...
Мне никогда не нужен конечный символ новой строки, из которого я получаю получает. Половину времени я забываю его перекусить, и это мучительно ... Почему он там?
Я знаю, что есть все виды противоречащие интуиции свойства универсальных типов Java. Вот, в частности, один, который я не понимаю и который, я надеюсь, кто-нибудь сможет мне объяснить. При указании ...
Apart from making a nice symmetry with unary minus, why is unary plus operator defined on Numeric class? Is there some practical value in it, except for causing confusion allowing writing things like +...