Зачем нужны h-файлы?

Reves2

кроме как отделить обЪявление от определения?
как думаете?

vall

ты видел хоть раз программу больше чем из одного модуля?
про библиотеки наверно тоже что-нить слышал?

buka

макросы?
частичная компиляция?
информативные комментарии?

Ivan8209

А зачем вообще нужны файлы?
---
...Я работаю антинаучным аферистом...

Dasar

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

Ivan8209

Вот я смотрю в описание и пытаюсь понять, где же это в PE хранятся сигнатуры функций?
---
...Я работаю антинаучным аферистом...

Dasar

и в чем проблема?

Ivan8209

Например, в доступе к полям записей.
Кроме того, не всё, что занимает 32-разрядную ячейку, принадлежит одному типу.
---
...Я работаю антинаучным аферистом...

Dasar

кто обещал обратное? и зачем это нужно?

Ivan8209

Для проверки правильности связи с ОС хотя бы на уровне убогих средств сей.
Или у тебя стоят исходники винды?
---
...Я работаю антинаучным аферистом...
P.S. Я могу дать правильный ответ разной степени подробности,
от "Так устроен мир" до разъяснений, "откуда есть пошла".

Dasar

забудь C, и открой для себя Java или .net

Ivan8209

> открой для себя Java или .net
Не знаю подробностей про "нет", а ява, насколько помню,
решает задачу тасканием за собой того же /usr/include, только
глубоко спрятанного. Нет?
Кроме того, и ява, и "нет" ущербны по своей сути:
они опираются на дополнительный слой виртуальной машины,
толстый "level of indirection". Полная потеря универсальности,
пропадает низкий уровень, а тогда незачем цепляться за такое
убожество, лучше взять язык с большими способностями к
рефлексии.
---
...Я работаю антинаучным аферистом...

Dasar

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

Ivan8209

> все зависит от того, каких целей ты хочешь добиться
Это не зависит от целей, это зависит от цены,
то есть какой ценой ты хочешь этого добиться.
Ценность сей заключается в том, что на них написана ОС,
даже целое семейство ОС, поэтому наработки на сях почти
готовы к встраиванию. А для явы и "нет" надо тащить всю
виртуальную машину _целиком_. Это кроме интерпретатора.
Итак, уже имеем потери в переносимости.
Допустим, у нас нет ограничений в машинных ресурсах.
Но тогда есть потеря времени разработки на сложных задачах,
поскольку ява слишком низкоуровневый язык, а у "нет" есть
какие-то тёрки с высокоуровневыми языками ML-семейства.
В довесок есть проблемы, как технические, так и нет,
общие для всех систем "single vendor/single implementation".
---
...Я работаю антинаучным аферистом...

timefim

а у "нет" естькакие-то тёрки с высокоуровневыми языками ML-семейства.
Это какие такие терки?

Landstreicher

Может имелось ввиду Nemerle?

nikita270601

Скорее, F#.

timefim

Может, хотя как минимум есть еще три варианта, просто мне совершенно не понятно что за терки NET с ML что они создают потери времени разработки.
Оставить комментарий
Имя или ник:
Комментарий: