OberonCore https://forum.oberoncore.ru/ |
|
Контроль инвариантов языком и изменяемость программы https://forum.oberoncore.ru/viewtopic.php?f=86&t=3054 |
Страница 1 из 1 |
Автор: | Илья Ермаков [ Четверг, 18 Ноябрь, 2010 23:24 ] |
Заголовок сообщения: | Контроль инвариантов языком и изменяемость программы |
(Занятны ниже дифирамбы Руби-и-рельсам... Особенно после других отзывов, которые слышны от людей. Это только укрепляет подозрение, что у "всяких Смоллтоков" действительно всё красиво до того момента, пока не попадётся задача с долгоживущим и сильноизменчивым проектом. А если из раза в раз возводится типовое, сдаётся и забывается, то все и правда могут быть счастливы. Я каждый раз при реинжиниринге какой-нибудь своей системы в ужасе представляю, что творилось бы на языке без статической типизации и проч.) (если пойдёт обсуждение, отделим тему) |
Автор: | Alexey Veselovsky [ Среда, 08 Декабрь, 2010 16:31 ] |
Заголовок сообщения: | Re: Книги по проектированию и архитектуре систем ПО |
Илья Ермаков писал(а): (Занятны ниже дифирамбы Руби-и-рельсам... Особенно после других отзывов, которые слышны от людей. Это только укрепляет подозрение, что у "всяких Смоллтоков" действительно всё красиво до того момента, пока не попадётся задача с долгоживущим и сильноизменчивым проектом. А если из раза в раз возводится типовое, сдаётся и забывается, то все и правда могут быть счастливы. Я каждый раз при реинжиниринге какой-нибудь своей системы в ужасе представляю, что творилось бы на языке без статической типизации и проч.) (если пойдёт обсуждение, отделим тему) Тему можно и отделить. Мне кажется что ужас-ужас при рефакторинге начинается не из за наличия или отсутствия статической типизации, мне кажется что есть некий более общий критерий -- число инвариантов в коде выразимые на языке программирования. Не важно как это выражется. Возможно даже не важно какие это именно инварианты. Важно, что если число, точнее концентрация, инвариантов падает ниже некого критического уровня, то код менять становится банально страшно. Пример: erlang. Типизация динамическая. Проекты большие. Рефакторятся успешно БЕЗ покрытия сплошняком тестами. Потому что задача бьется на мелкие изолированные кусочки, потому что язык функциональный. Данные иммутабельны. В этом плане python, javascript (сейчас пошла мода писать на нем серверные решения) и проч. меня банально пугают. |
Автор: | Info21 [ Среда, 08 Декабрь, 2010 21:17 ] |
Заголовок сообщения: | Re: Книги по проектированию и архитектуре систем ПО |
Alexey Veselovsky писал(а): В этом плане python, javascript (сейчас пошла мода писать на нем серверные решения) и проч. меня банально пугают. Да уж. Этот упорно лезущий ото всюду приматический элемент в кондрашку вгоняет. А без статической типизации хреново. |
Автор: | Alexey Veselovsky [ Среда, 08 Декабрь, 2010 21:30 ] |
Заголовок сообщения: | Re: Контроль инвариантов языком и изменяемость программы |
Ну я не знаю насколько он приматический, но логика примерно такая: - на рынке труда полно веб-девелоперов (клепающих веб-морды). - поскольку их полно, то они дешевы. - веб-девелоперы умеют (или думают что умеют) писать на js. По кр. мере он им знаком и они его не пугаются. - писать надо не только веб-морду, но и серверную часть. желательно максимально уменьшить издержки. - следовательно серверную часть надо писать тоже на js! Ну и вообще как бы считается кошерным когда клиентская и серверная часть писана на одном и том же языке. Кстати, во флеше также используется диалект ECMAScript'a (js это диалект ECMAScript'a) -- ActionScript'ом называется. Так вот -- он статически типизированный. Т.е. компилятор в момент компиляции много чего проверяет. И логика серверная тамошнего rtmp-сервера официального (который идет за немаленькое бабло) пишется тоже на нем, на ActionScript'e. Это в принципе более здоровое решение. Хотя лично мне ECMAScript не нравится в любом обличии. PS. Кстати, js тащут не только на сервера и в веб, его ещё тащут в десктоп-приложения, а также в приложения для смартфонов. Мотивация та же самая -- js-девелоперов много и они дешевы. PPS. Поубивал бы. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |