Вопросы с тегом «programming-languages»

56
Держите язык программирования обратно совместимым, а не исправляйте его недостатки

Во-первых, некоторый контекст (вещи, которые большинство из вас все равно знают): Каждый популярный язык программирования имеет четкую эволюцию, большую часть времени отмеченную его версией: у вас есть Java 5, 6, 7 и т. Д., PHP 5.1, 5.2, 5.3 и т. Д. Выпуск новой версии делает доступными новые API,...

55
Поместите язык программирования в свое резюме? [закрыто]

Какой опыт вам необходим для изучения языка, прежде чем вы сможете добавить его в свое резюме? Есть один язык, которым я владею (Java), который я бы определенно включил в резюме, но скажу, что я прошел пару семестровых курсов в колледже, которые включали в себя обширное программирование на C или...

55
Является ли цикл обработки событий циклом for / while с оптимизированным опросом?

Я пытаюсь понять, что такое цикл событий. Часто объяснение заключается в том, что в цикле событий вы что-то делаете, пока не получите уведомление о том, что произошло событие. Затем вы обрабатываете событие и продолжаете делать то, что делали раньше. Для сопоставления приведенного выше определения...

55
Что означает «контекстно-свободный» в термине «контекстно-свободная грамматика»?

Учитывая количество материала, который пытается объяснить, что такое не зависящая от контекста грамматика (CFG), я нахожу удивительным, что очень немногие (в моем примере менее 1 из 20) дают объяснение тому, почему такие грамматики называются «context- свободно". И, на мой взгляд, никому не удается...

54
Какой язык программирования генерирует наименьшее количество труднодоступных ошибок? [закрыто]

Какой язык, по вашему мнению, позволяет среднему программисту выводить функции с наименьшим количеством труднодоступных ошибок? Это, конечно, очень широкий вопрос, и меня интересуют очень широкие и общие ответы и мудрости. Лично я нахожу, что я трачу очень мало времени на поиск странных ошибок в...

51
Почему у Java есть `void` методы?

Нужно ли / почему Java иметь voidметоды? Ссылка : Любой метод, объявленный как void, не возвращает значение. Насколько я могу судить, каждое использование voidбыло бы лучше обслуживать, возвращая флаг состояния, вызываемый объект или null. Это сделало бы каждый вызов оператором, который можно...

50
Почему == оператор сравнения значений строк не попал в Java?

Каждый компетентный Java-программист знает, что вам нужно использовать String.equals () для сравнения строки, а не ==, потому что == проверяет равенство ссылок. Когда я имею дело со строками, большую часть времени я проверяю равенство значений, а не ссылочное равенство. Мне кажется, что было бы...

50
Что такое система типов?

Фон Я проектирую язык, как побочный проект. У меня есть рабочий ассемблер, статический анализатор и виртуальная машина для него. Поскольку я уже могу компилировать и запускать нетривиальные программы, используя созданную мной инфраструктуру, я подумал о том, чтобы выступить с презентацией в моем...

50
Почему Лисп не получил более широкого распространения? [закрыто]

Я начинаю изучать Scheme с видео SICP, и я хотел бы перейти к Common Lisp дальше. Язык кажется очень интересным, и большинство людей, пишущих книги на нем, отстаивают, что он обладает несравненной выразительной силой. CL, кажется, имеет приличную стандартную библиотеку. Почему Лисп не получил более...

50
Почему C ++ имеет «неопределенное поведение» (UB), а другие языки, такие как C # или Java, не имеют?

В этом посте с переполнением стека приведен довольно полный список ситуаций, в которых спецификация языка C / C ++ объявляется как «неопределенное поведение». Однако я хочу понять, почему в других современных языках, таких как C # или Java, нет понятия «неопределенное поведение». Означает ли это,...

49
«Легко рассуждать» - что это значит? [закрыто]

Я много раз слышал, как другие разработчики используют эту фразу, чтобы «рекламировать» некоторые шаблоны или разрабатывать лучшие практики. Большую часть времени эта фраза используется, когда вы говорите о преимуществах функционального программирования. Фраза «Легко рассуждать» использовалась как...

49
Есть ли причина иметь нижний тип в языке программирования?

Тип дна - это конструкция, которая в основном появляется в математической теории типов. Он также называется пустым типом. Это тип, который не имеет значений, но является подтипом всех типов. Если тип возвращаемого значения функции является нижним, это означает, что он не возвращает. Период. Может...

49
Почему точки с запятой и запятые меняются местами в циклах?

На многих языках (широкий список, от C до JavaScript): запятые ,отдельные аргументы (например func(a, b, c)), в то время как точки с запятой ;разделяют последовательные инструкции (например instruction1; instruction2; instruction3). Так почему же это отображение в тех же языках для циклов for : for...

49
Когда целесообразно создавать свой собственный язык программирования?

Существуют ли типы приложений-убийц, классы алгоритмических задач и т. Д., Где в конечном итоге лучше создать свой собственный язык? PS: Просто чтобы быть уверенным, я имею в виду новый язык программирования и компилятор, а не новый компилятор для существующего языка. РЕДАКТИРОВАТЬ : Спасибо за...

48
Как мог первый компилятор C ++ быть написан на C ++?

Страуструп утверждает, что Cfront, первый компилятор C ++, был написан на C ++ ( Stroustrup FAQ ). Однако как вообще возможно, чтобы первый компилятор C ++ был написан на C ++? Код, составляющий компилятор, тоже должен быть скомпилирован, и поэтому первый компилятор C ++ не мог быть написан на C...

48
Что такого уникального в Node.js? [закрыто]

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