Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Здесь важно понимать одну вещь: новичек вряд ли напишет... 23.08.07 11:28 Число просмотров: 5828
Автор: amirul <Serge> Статус: The Elderman
|
> В Си в любом хедере можно написать все что угодно. Конечно, > нужно иметь дисциплину, чтоб всегда было четкое > соответствие .h = .c, но из практики, это слишком часто
Здесь важно понимать одну вещь: новичек вряд ли напишет проект больше, чем, скажем, 1k строк. Полная перекомпиляция такого проекта - пара секунд и особо заботиться о тщательном разрезании такого проекта на независимые модули незачем. А вот за средне-большие проекты берутся чаще всего более менее опытные программисты и если не дай бог по неопытности или по злому умыслу такой проект забудут порезать на модули и выписать их интерфейсы, то длительное время перекомпиляции - это самая меньшая проблема, которая их ожидает при работе над таким проектом.
> нарушается. TP/Delphi требует чтобы все что объявлено в > интерфейсе было реализовано на месте, в том же файле, в > секции implementation.
Насколько я понимаю, *NIX-ы Вам нравятся, тогда Вы несомненно оцените такую фразу:
"UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things."
-- Doug Gwyn
Если учесть, что UNIX и C создавались одними и теми же людьми в одно и то же время, то можно понять что лежит в основе идеологии C.
> Вобщем TP/Delphi линкует объекты - функции, глобальные > переменные и константы. Если в интерфейсе была изменена, > скажем, только одна константа, или прототип одной функции, > то перекомпилироваться будут только те модули, которые > использовали именно эти объекты. В Си - сам язык не > приспособлен к такому, сколько бы ни изворачивался > компилятор.
Если дело обстоит именно так (хотя у меня и есть сомнения на этот счет), то пожалуй признаю, что модульность паскаля оптимальнее модульности C. Но с исходным предложением ("C вообще не модульный") - не соглашусь в любом случае.
> Объединить понятия Key и Value я предлагал только как > способ облегчить WinReg, а к UNIXReg это отношение не > имело. Наверное мне стоило более четко об это сказать.
Ок. Снимается
> Мы топчемся на месте :) 20 уже известных функций это > далеко, далеко не то же самое, что 40 неизвестных, или > специфичных. Это две большие разницы в плане освоения > нового API.
Топчемся :-)
Я к тому, что дьявол то как обычно скрывается в деталях. Этот UR не был бы отдельным проектом, если бы его можно было организовать на простой ФС. Вот здесь то и надо будет перечитать документацию по всем функциям как раз для того, чтобы понять ТОНКОСТИ и отличия. А потом при использовании надо помнить какая из 10 разных тонкостей использования write актуальна в данном месте, я уж не говорю о случаях когда о файловом дескрипторе в функции вообще ничего не известно и надо учитывать ВСЕ тонкости (даже те, которым еще предстоит появиться). Я всего лишь о том, что ожирение семантики худого интерфейса и ожирение самого интерфейса - две разные стороны одной и той же проблемы. Ну нужны программистам интерфейсы - и предоставлять их им надо, а уж куда их тыкать - в старые имена или в новые - вопрос десятый и в общем то не имеет 100% правильного решения.
> Покажите мне, где сказано, что XMLHttpRequest имеет хоть > какое-то отношение к XML кроме названия.
Ну строго говоря по нему можно fetch-ить что угодно, но неявно предполагается (из названия :-) ), что это будет XML.
Если не нравится XML-HTTP в качестве демонстрации того, что XML является интернет стандартом, можно посмотреть на XHTML, RSS, SOAP и др.. Но еще лучше посмотреть КТО занимается стандартизацией XML.
> > Не дерева, а структуры. Есть только один > > неструктурированный текстовы тип данных - raw text. > Для > > всего остального XML пригоден. > > Для графа, например? Конечно, граф можно представить в XML > через одно место, но это не в счет. Нет, XML - это всего > лишь дерево.
Как так для графа непригоден? Граф у нас что? Набор вершин и набор граней, соединяющих эти вершины. В минимальном случае нам понадобятся всего два тега: vertice и edge.
> > Самый крутой язык - brainfuck? Тот вообще меньше > килобайта весит > > Самый крутой язык - это тот, который имеет полную > функциональность, ни в чем не стесняет программиста, > позволяет писать красивый, понятный код, и при этом его > компилятор можно написать хоть на brainfuck :) Пример - > базовый Lisp, как он описан у МакКарти.
Лисп хорош, но динамические языки имеют один СУЩЕСТВЕННЫЙ недостаток: низкая эффективность. Да и плюсы при грамотном использовании позволяют писать красивый, понятный код, а при безграмотном можно прострелить себе ногу с использованием любого инструмента. Что же до написания компилятора: пусть лучше будет сложно написать компилятор языка, чем программы на нем.
|
|
|