>> «порт ускорения согласования (ACP) для увеличения эффективности общего кэша, что повышает производительность и делает чипы более надежными и эффективными.»
Bullshit bingo! :) А если по теме, то вот то, что выше — это же звучит как малоосмысленный набор слов, вы так не думаете?
/Me смотрит на PIC1X (X < 8), блюёт хардварными стеками и долбанутой адресацией. Может, для новичков попроще что-нть нашлось бы, ну, те же MCS51/i8051 от Philips?
Да вы гоните. Где в лицензии на Java SE указано «проекту Apache Harmony разрешается декомпилировать и копипиздить стдлибу java»?
В приведенных кусках кода практически любой оператор/наименование/поле/другую строку можно объяснить либо стандартом Java Google Code, либо требования java Beans и техническими аспектами самой java. Не более. Надеюсь, вы пишете на java и понимаете, что я вам тут написал.
Слово «очевидный» вспоминают тогда, когда формальных доказательств недостаточно. Почитайте еще раз мой коммент про очевидность копипаста блоков кода.
Ппц, привести тривиальные/очевидные имплементации крошечных классов (особенно 7ой порадовал), и на основании этого говорить, что всё украдено. Это как если бы я написал метод
public bool Contains(object[] array, object candidate) {
//…
}
и подавал бы иск к каждому, кто внутри делает foreach() и возвращает true, если нашелся элемент == candidate.
Внутри Android портированная версия Apache Harmony. Почему к ней нету претензий?
Когда я был маленький junior, нам ведущие программисты наши нежные пальчики «отсушивали прикладами», когда видели еще на этапе правки кода, что мы пытаемся фрагмент скопипастить. Ну, в смысле, это было грубой ошибкой, влияющей на твои позиции в компании. Вполне успешно, кстати.
Я бы убивал за такое изменение окружения :)
В смысле, работа небесполезная, именно потому что с++ такой с++. Если для примера взять Java, то там однажды оттранслированный клас с его метаданными не транслируется повторно. Это обеспечивается в том числе дизайном языка.
В рамках одной единицы трансляции — да.
Но вам тут второй раз говорят — в рамках разных единиц.
Еще раз пример: есть два файла, a.cpp и b.cpp. Если они оба инклюдят файл d.h, то файл d.h будет разобран, отпарсен, провалидирован и т.д. и т.п. 2 раза.
Второй раз — по сути, бесполезная работа, но по-другому никак, ибо компилер (грубо) забыл всё, что знал из d.h, при переходе от одного cpp к другому.
>> ИзвИните, но в любой языке есть такие включения, иначе откуда брать объявления функций?
В языке XXX заголовочный файл парсится, и затем везде используется уже распарсеный-оттранслированный код. В с++ хедер парсится заново, и парсится, и парсится, и…
Впрочем, автор лукавит, это не так актуально — в VC++ есть precompiled headers, и тулы инкрементальная сборка тоже есть; как в gcc — не знаю
Как тока мне вернут мою карму на место, так сразу… Иш, потянулись уже ручонки у кого-то.
Шутка.
На самом деле, вы уже написали половину ответа.
Тот Select, который вы делаете по IEnumerable[T], требует наличия сущностей в памяти. Поэтому IQueryable приводится к IEnumerable (своего рода слайсинг) единственным доступным ему способом — он делает то, что в ORM называется материализацией сущностей. После чего навигационный доступ в памяти по одному отправляет запросы в БД за параметрами.
Во втором случае IQueryable[T] комбинирует запрос, достраивая join. Потому что он знает целевой язык (sql), и потому что результаты первой части запроса еще не материализованы, а представлены в виде Expression[Func[T]].
Я кончил (доклад) и закурил
Ммм. Отлично. Было бы еще лчше, если бы другие избранные, про которых вы говорите, вам с самого начала пояснили, почему в вашем случае linq-запрос не достраивался, а распадался на sql-objects-sql, потому что такую «засаду» вы выяснили чисто случайно :) Надеюсь, в вашем проекте это было единственное место.
P.S. У нас бы за такое в процессе codereview погнали бы ссаными тряпками.
Local retention and protection and hiding of state process там есть: между акторами (Erlang-процессами) никакие сущности не разделяются, обмен между процессами идет только посредством посылки сообщений друг другу, чтобы использовать кодо-функцию из модуля, её надо импортировать.
Насчёт late-binding по отношению Erlang не могу сказать, о чем нужно тут говорить: но, например, аргументы импортированных из модулей функций не типизируются, и есть горячая замена кода
Скорее, не размять, а разжижить :) А в целом, интересно написали.
А вы не подскажете, какие редакторы распространены и удобны для lua?
Bullshit bingo! :) А если по теме, то вот то, что выше — это же звучит как малоосмысленный набор слов, вы так не думаете?
В приведенных кусках кода практически любой оператор/наименование/поле/другую строку можно объяснить либо стандартом Java Google Code, либо требования java Beans и техническими аспектами самой java. Не более. Надеюсь, вы пишете на java и понимаете, что я вам тут написал.
Слово «очевидный» вспоминают тогда, когда формальных доказательств недостаточно. Почитайте еще раз мой коммент про очевидность копипаста блоков кода.
public bool Contains(object[] array, object candidate) {
//…
}
и подавал бы иск к каждому, кто внутри делает foreach() и возвращает true, если нашелся элемент == candidate.
Внутри Android портированная версия Apache Harmony. Почему к ней нету претензий?
В смысле, работа небесполезная, именно потому что с++ такой с++. Если для примера взять Java, то там однажды оттранслированный клас с его метаданными не транслируется повторно. Это обеспечивается в том числе дизайном языка.
Но вам тут второй раз говорят — в рамках разных единиц.
Еще раз пример: есть два файла, a.cpp и b.cpp. Если они оба инклюдят файл d.h, то файл d.h будет разобран, отпарсен, провалидирован и т.д. и т.п. 2 раза.
Второй раз — по сути, бесполезная работа, но по-другому никак, ибо компилер (грубо) забыл всё, что знал из d.h, при переходе от одного cpp к другому.
В языке XXX заголовочный файл парсится, и затем везде используется уже распарсеный-оттранслированный код. В с++ хедер парсится заново, и парсится, и парсится, и…
Впрочем, автор лукавит, это не так актуально — в VC++ есть precompiled headers, и тулы инкрементальная сборка тоже есть; как в gcc — не знаю
Шутка.
На самом деле, вы уже написали половину ответа.
Тот Select, который вы делаете по IEnumerable[T], требует наличия сущностей в памяти. Поэтому IQueryable приводится к IEnumerable (своего рода слайсинг) единственным доступным ему способом — он делает то, что в ORM называется материализацией сущностей. После чего навигационный доступ в памяти по одному отправляет запросы в БД за параметрами.
Во втором случае IQueryable[T] комбинирует запрос, достраивая join. Потому что он знает целевой язык (sql), и потому что результаты первой части запроса еще не материализованы, а представлены в виде Expression[Func[T]].
Я кончил (доклад) и закурил
P.S. У нас бы за такое в процессе codereview погнали бы ссаными тряпками.
Насчёт late-binding по отношению Erlang не могу сказать, о чем нужно тут говорить: но, например, аргументы импортированных из модулей функций не типизируются, и есть горячая замена кода