Вопросы с тегом «c»

111
Почему бы нам не сохранить синтаксическое дерево вместо исходного кода?

У нас много языков программирования. Каждый язык анализируется и синтаксис проверяется перед переводом в код, поэтому создается абстрактное синтаксическое дерево (AST). У нас есть это абстрактное синтаксическое дерево, почему бы не сохранить это синтаксическое дерево вместо исходного кода (или...

108
Какую бизнес-логику должна реализовать база данных?

Я работал в некоторых проектах, где большая часть бизнес-логики была реализована в базе данных (в основном через хранимые процедуры). С другой стороны, я слышал от некоторых коллег-программистов, что это плохая практика («Базы данных существуют для хранения данных. Приложения делают для...

108
Почему опрос принят в веб-программировании?

В настоящее время я работаю над проектом Ruby on Rails, который показывает список изображений. Обязательным для этого проекта является то, что он показывает новые сообщения в режиме реального времени без необходимости обновления веб-страницы. После поиска я наткнулся на некоторые решения и сервисы...

103
Разве принципы асинхронного / ожидающего использования в C # не противоречат понятиям хорошей архитектуры и многоуровневой абстракции?

Этот вопрос касается языка C #, но я ожидаю, что он охватит другие языки, такие как Java или TypeScript. Microsoft рекомендует лучшие практики по использованию асинхронных вызовов в .NET. Среди этих рекомендаций давайте выберем две: измените сигнатуру асинхронных методов, чтобы они возвращали Task...

101
Зачем объявлять переменную в одной строке, а присваивать ей в следующей?

Я часто вижу в коде C и C ++ следующее соглашение: some_type val; val = something; some_type *ptr = NULL; ptr = &something_else; вместо some_type val = something; some_type *ptr = &something_else; Сначала я предполагал, что это привычка, оставшаяся со времен, когда вам приходилось объявлять...

97
Чем ссылка Java отличается от указателя C?

В C есть указатели, а в Java есть так называемые ссылки. У них есть что-то общее в том смысле, что все они указывают на что-то. Я знаю, что указатели в C хранят адреса, на которые они указывают. Ссылка также хранит адрес? Чем они отличаются, кроме того, что указатель более гибкий и подвержен...

97
Вредные соблазны в программировании

Просто любопытно, какие соблазны в программировании оказались действительно вредными в ваших проектах? Например, когда вы действительно чувствуете желание что-то сделать, и вы верите, что это принесет пользу проекту, иначе вы просто обманываете себя, полагая, что это так, и через неделю вы...

96
Язык программирования C все еще используется?

Я программист на C #, и большая часть моей разработки предназначена для веб-сайтов вместе с несколькими приложениями Windows. Что касается C, я давно не использовал его, так как в этом не было необходимости. Меня удивило, когда одна из моих подруг сказала, что ей нужно изучать C для тестирования...

96
Почему языки программирования, особенно C, используют фигурные скобки, а не квадратные?

Определение «языка C-Style» практически может быть упрощено до «использования фигурных скобок ( {})». Почему мы используем этот конкретный символ (и почему не что-то более разумное, например [], которое не требует клавиши Shift, по крайней мере, на клавиатурах США)? Есть ли какая-то реальная выгода...

94
Есть ли фундаментальная разница между обратными вызовами и обещаниями?

При выполнении однопоточного асинхронного программирования я знаком с двумя основными приемами. Наиболее распространенным является использование обратных вызовов. Это означает передачу функции, которая асинхронно действует как функция обратного вызова в качестве параметра. Когда асинхронная...

91
Что делает C таким популярным в эпоху ООП? [закрыто]

Я много пишу на C и C ++, но не ожидал, что C будет вторым по популярности языком, немного уступая Java. Индекс сообщества программистов TIOBE Мне любопытно, почему в этом веке ООП C все еще так популярен? Обратите внимание, что 4 из 5 популярных языков программирования являются «современными»...

89
Нужно ли юным умам изучать концепции указателей?

Почему мастер Си Деннис Ричи ввел указатели в Си? И почему другие языки программирования, такие как VB.NET, Java или C #, устранили их? Я нашел несколько пунктов в Google, и я тоже хочу выслушать ваши комментарии. Почему они исключают концепции указателей в современных языках? Люди говорят, что C...

88
Оценка короткого замыкания, это плохая практика?

Что-то, что я знал некоторое время, но никогда не рассматривал, это то, что в большинстве языков можно отдавать приоритет операторам в операторе if на основе их порядка. Я часто использую это как способ предотвращения исключений нулевой ссылки, например: if (smartphone != null &&...

88
Почему некоторые программы на C написаны в одном огромном исходном файле?

Например, инструмент SysInternals "FileMon" из прошлого имеет драйвер режима ядра, исходный код которого полностью находится в одном файле из 4000 строк. То же самое для первой когда-либо написанной программы ping (~ 2000...

86
Почему OCaml не более популярен?

Я всегда слышал, что C - это язык, который выбирают для встраиваемых систем, или что-то, что должно работать на максимальной скорости. Я никогда не развивал любовь к C, в основном потому, что я не люблю арифметику указателей, а язык едва ли стоит выше ассемблера. С другой стороны, языки ML являются...

86
Флаги предупреждения Clang для разработки Objective-C

Как программист C & Objective-C, я немного параноик с флагами предупреждения компилятора. Я обычно пытаюсь найти полный список флагов предупреждений для используемого мной компилятора и включать большинство из них, если только у меня нет веской причины не включать его. Лично я считаю, что это...

86
В чем разница между государством и лицом без гражданства?

Книги и документация по MVC просто нагромождают использование терминов без учета состояния и состояния. Честно говоря, я просто не могу понять, о чем говорят книги. Они не приводят пример, чтобы понять какое-либо из этих состояний, вместо того, чтобы просто сказать, что HTTP не имеет состояния и с...

86
Лучше ли документировать функции в заголовочном файле или исходном файле?

На языках, которые различают исходный файл и файл заголовка (в основном C и C ++), лучше документировать функции в заголовочном файле: (ворованный из CCAN ) /** * time_now - return the current time * * Example: * printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec); */ struct timeval...

82
Как лучше всего найти отличного программиста на собеседовании?

В обстановке собеседования: Как лучше всего определить, когда кто-то является отличным программистом . Под этим я подразумеваю, что он один из тех, кто в 10-15 раз более эффективен / быстр / лучше, чем его сверстники по направлению к нижнему краю спектра. Многие из нас слышали о проблеме FizzBuzz...

81
Какой HTTP-глагол мне следует использовать для запуска действия в веб-службе REST?

Я внедряю веб-сервис RESTful, и одно из доступных действий будет reload. Он будет использоваться для перезагрузки конфигураций, кеша и т. Д. Мы начали с простого GETURI, подобного этому: ${path}/cache/reload(параметры не передаются, вызывается только URI). Я знаю, что данные не должны быть изменены...