C>>Это я уже года с 2005 слышу.
VD>Я с 1997-го.
глубокий анализ предмета!
я надеялся услышать — "у нас круче будет", или "они по-любому не правы" или еще что-то боль-мень конкретное.
когда до этих ребят дойдет, что лучше формы делать дизайнером, а не вручную, уже можно будет этим или таким же пользоваться.
Здравствуйте, _Claus_, Вы писали:
_C_>еще немного, и появится web-программинг с чел. лицом. без метапрограмминга даже.
JS на сервере мы видели еще во времена классического ASP, только нормальные люди хотят чтобы их билды валились если аргументы функции не соответствуют её сигнатуре. Низачот.
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, _Claus_, Вы писали:
_C_>>еще немного, и появится web-программинг с чел. лицом. без метапрограмминга даже.
H>JS на сервере мы видели еще во времена классического ASP, только нормальные люди хотят чтобы их билды валились если аргументы функции не соответствуют её сигнатуре. Низачот.
ловится и отлаживается это легко. быстрее чем в статических ЯП. а статика сама по себе не гарантирует правильности. пример — компилятор.
Здравствуйте, _Claus_, Вы писали:
_C_>я надеялся услышать — "у нас круче будет", или "они по-любому не правы" или еще что-то боль-мень конкретное. _C_>когда до этих ребят дойдет, что лучше формы делать дизайнером, а не вручную, уже можно будет этим или таким же пользоваться.
Конкретно: это хороший современный инновативный веб-фреймворк. Но на этом форуме собрались люди, которым нравится статическая типизация Все остальные пишут на лиспе, руби или js.
_C_>>ловится и отлаживается это легко. быстрее чем в статических ЯП.
проблема в статике, аналогичная неправильному типу в динамике — Null ptr
H>Компилятор совсем не пример, его код очень слабо использует потенциал языка. А переписать начистоту нет времени.
правильная работающая голова нивелирует разницу в статике и динамике. проблема производительности только играет роль.
Re: распупыристый web фрейморк
От:
Аноним
Дата:
12.04.12 14:12
Оценка:
Здравствуйте, _Claus_, Вы писали:
_C_>еще немного, и появится web-программинг с чел. лицом. без метапрограмминга даже.
из того, что попадалось на глаза (статически типизированный caml-based язык, адаптированный для веба):
Opa -- для linux/mac, закос под жабаскрипт, автоматическое раскидывание кода на клиент и сервер W# -- для .net
Если кто-то сподобится что-то подобное изобразить на немерле, то, думаю, стоит обратить внимание на использованные в них идеи.
Здравствуйте, _Claus_, Вы писали:
_C_>>>ловится и отлаживается это легко. быстрее чем в статических ЯП.
_C_>проблема в статике, аналогичная неправильному типу в динамике — Null ptr
Решается запретом null-ссылок на уровне системы типов: т.е. переменная ссылочного типа могущая иметь значение "null" имеет тип option[T], который потребует отдельной обработки None.
Здравствуйте, _Claus_, Вы писали:
_C_>правильная работающая голова нивелирует разницу в статике и динамике.
например с помощью статического анализа
_C_>проблема производительности только играет роль.
заодно и скомпилировать их пробуют
что доказывает, что статическая типизация всё таки необходима для достаточно серьезных приложений.
и вообще тип это только один из контрактов. в с, с++, с#, java и т.п. можно этими контрактами и не пользоваться — void*, object, что кстати не редкость
[можно кстати извращенцы могут к Н прикрутить такой макрос, чтобы им было легче не писать тип]
так вот в Н-Н2 частично существует продвинутая система программирования по контракту в целом
_C_>>проблема производительности только играет роль. P>заодно и скомпилировать их пробуют P>что доказывает, что статическая типизация всё таки необходима для достаточно серьезных приложений.
А кто спорит? Умный компилятор должен строить статику где возможно и динамику, там где нет. по крайней мере, уметь такое.
Здравствуйте, _Claus_, Вы писали:
_C_>А кто спорит? Умный компилятор должен строить статику где возможно и динамику, там где нет. по крайней мере, уметь такое.
Ты споришь.
Ибо выделенное означает что он в место того чтобы сообщить об ошибке скомпилирует динамически типизированный код и будет пытаться его исполнить.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
WH>Ты споришь. WH>Ибо выделенное означает что он в место того чтобы сообщить об ошибке скомпилирует динамически типизированный код и будет пытаться его исполнить.
опционально. например в Boo, если объект имеет интерфейс динамики, и код обращается к несуществующим полям/методам объекта, то вызовы переадресуются
в вызов методов динамо-интерфейса. в остальных случаях все как обычно.