Search
Write a publication
Pull to refresh
14
-0.4

Инженегр АСУТП

Send message
О, это новое поколение облака! Поздравляю.

Когда невозможно даже найти ответственного за поломанный блок.

/sarcasm

где то тут была статья про восстановление распределенной ФС
Скачал и посмотрел — на С# там как раз только библиотека и написана.

А основа на С++.
Не путаешь с самым .net фреймворком, который написан на C#?

В любом случае пруф бы не помешал.

В данном случае я не разделяю С/С++
Не приметили только слона =)

Ведь C#/IL-код выполняется именно поверх слона — машиной CLI/CLR, которая внезапно написана на С++.

О каком низком уровне можно говорить?
А вот о низкоуровневых возможностях — вполне.
С чего бы? Буфер у каждого вызова свой — там нет реентерабельности.

Надо конечно посмотреть кот, но вряд ли это убирает лок. Скорее всего просто каждый поток выплевывает пачку вызовов cout << x << y<< z <<… << endl единой пачкой через этот буфер, но также по очереди между потоками.
ЗЫ (а вы видели, какой это ад в ассемблере ?)
немного не так. в пределах одного треда/без прерываний — да, в отсутствие оптимизатора — тоже да

но оптимизатор может в другом треде ее заранее закешировать, например вынести из цикла =)

volatile запрещает именно такое поведение. Тем не менее стандарт явно прописывает, что не годится для использования для многопоточного обращения
Был в Win нормальный cscript/jscript. Почему MS решила вдруг сменить язык управления инфраструктурой — для меня загадка.

На PS не пишу принципиально — и язык ужасный, и плюнули в душу похерив все разработки.
Добавил строчку по Расту.

Если осилить синтаксис и концепции, выглядит неплохо.
Справедливости ради, большинство нынешних уязвимостей вызвано скорее ошибками доступа к памяти/ресурсам, а не арифметики как таковой.
К которым приводит неверное вычисление индекса или адреса…

Но в целом в Расте хоть есть выбор — как считать.
Не так. Нужно брать x := g(f1(), f2()) и y := f1() + f2() — порядок вызовов f1 и f2 не определен.

Это конечно играет роль только в случаях с сайд-эффектом, но можно получить при использовании глобальных или просто общих ресурсов.

Тут даже более жесткий пример.
По поводу устойчивости к ошибкам человека надо читать 1ю часть. Простой и понятный и при этом однозначный синтаксис тут в помощь.

Перерасход памяти для строк зависит от реализации. Пусть строка s1 содержит 1024 символа. Сколько будет задействовано памяти (и какой — стек, хип?) после операций s1[14] = 'x'? s1 += 'x'?

>ФП — повсюду — прошу ссылку для оценки

Контроль времени выполнения — это не про рантайм этап, а про время исполнения, например что функция выполнялась не дольше 100мс.

> Можно кастомизировать глобальный аллокатор либо сделать свои арены — тоже прошу ссылку
Просто я совсем не верю в чистое ФП и в применимость его на практике для рассматриваемой области применения (см часть 1). Как элемент ЯП для мультипарадигменных языков — наоборот хорошо, и в таблице выделена отдельная колонка.
Автодоказательство — экзотика, лично мне не встречалось в реальных применениях.

Eiffel — элементарно забыл. Посмотрел сейчас, очень специфический сайт — неудобно находить информацию. Не возьмусь сам оценивать.

Контрактное программирование в таблице даже выделено отдельной колонкой.
Добавлено в таблицу в виде Delphi и ISO 10206 вариантов.
Присоединяюсь к вопросам. Слегка сумбурный стиль изложения.

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

Пришлось погуглить, чтобы понять хоть что то. Хотя ардуинщикам наверное, все очевидно, чтобы объяснять )
Отсеяны в 1й части.

Я за их потери производительности платить не буду. 1:100
Группа — это Паскаль, Оберон, Модула.

Проигрывает АО из-за ручного управления памятью и многопоточностью. Также нетипизированные указатели и приведение типов никуда не делись.

Но поскольку это языки одной группы — разница небольшая.
Я не путаю, я считаю что postblit достаточно. Аналогично с инициализацией структур по умолчанию.

Остальное в этом DIP — абстрактные игры разума, не нужные на практике (ок, наверняка возможно придумать пример нужности).

Такие вещи и угробили D2 — ненужное переусложнение. К огромному моему сожалению — я даже TDPL с Амазона купил (

Information

Rating
Does not participate
Location
Россия
Registered
Activity