Re[39]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 15.08.07 19:02
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>в статических языках тип переменной определяется текстом программы, в динамических — процессом исполнения. кстати ООП — это динамическая типизация, даже когда она привнесена в статические языки


M>Нет, ООП не противоречит статической типизации. Тип — это набор констрайнтов, определяющих что можно сделать с объектом. Тип в Java ничем не хуже типа в C, это всё тот-же набор операций над объектом.


вопрос на засывку — а зачем тогда понадобился RTTI?
Люди, я люблю вас! Будьте бдительны!!!
Re[40]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 19:14
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

M>>Нет, ООП не противоречит статической типизации. Тип — это набор констрайнтов, определяющих что можно сделать с объектом. Тип в Java ничем не хуже типа в C, это всё тот-же набор операций над объектом.


BZ>вопрос на засывку — а зачем тогда понадобился RTTI?


Не поверишь — просто удобно.
На C++ можно писать без RTTI, и на яве можно писать без рефлекшина. В частности, из J2ME эту библиотеку убрали — просто для экономии места.
Если тебя смущает instanceof — то почему тебя не смущает pattern mathcing в FP?
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[26]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 15.08.07 19:26
Оценка: -2
AVK>>Спорно. Идее ситаксических макросов 200 лет в обед. Однако ж не прижились пока что.

VD>Можно источник? Насколько мне известно превый статически типизированный язык в котором реализованы макросы — это МетаМЛ.


как следует из той де книги, которую я цитировал насчёт pl/1 — синтаксические макросы реализовывадись ещё для алгола в 60-е годы

кстати, если бы в немерле были клозуры, то как я понимаю все эти управляющие структуры, которые ты приводишь (while, foreach) — можно было бы реализовать в виде обычных процедур, как это делается в руби, например
Люди, я люблю вас! Будьте бдительны!!!
Re[27]: Являются ли макросы свидетельством недостаточной выр
От: IT Россия linq2db.com
Дата: 15.08.07 19:46
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>кстати, если бы в немерле были клозуры,


А кто сказал, что их там нет? Они даже в шарпе есть.
Если нам не помогут, то мы тоже никого не пощадим.
Re[27]: Являются ли макросы свидетельством недостаточной выр
От: Курилка Россия http://kirya.narod.ru/
Дата: 15.08.07 19:46
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>кстати, если бы в немерле были клозуры, то как я понимаю все эти управляющие структуры, которые ты приводишь (while, foreach) — можно было бы реализовать в виде обычных процедур, как это делается в руби, например


Или что обещают в 7-й яве после их добавления.
Re[27]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 19:50
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>кстати, если бы в немерле были клозуры, то как я понимаю все эти управляющие структуры, которые ты приводишь (while, foreach) — можно было бы реализовать в виде обычных процедур, как это делается в руби, например


А mutable локальные переменные как апдейтить?
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[28]: Являются ли макросы свидетельством недостаточной выр
От: Курилка Россия http://kirya.narod.ru/
Дата: 15.08.07 20:12
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>кстати, если бы в немерле были клозуры, то как я понимаю все эти управляющие структуры, которые ты приводишь (while, foreach) — можно было бы реализовать в виде обычных процедур, как это делается в руби, например


M>А mutable локальные переменные как апдейтить?


Ммм, а может определение почитать чтоль?
Re[28]: Являются ли макросы свидетельством недостаточной выр
От: Cyberax Марс  
Дата: 15.08.07 20:15
Оценка:
Здравствуйте, mkizub, Вы писали:

BZ>>кстати, если бы в немерле были клозуры, то как я понимаю все эти управляющие структуры, которые ты приводишь (while, foreach) — можно было бы реализовать в виде обычных процедур, как это делается в руби, например

M>А mutable локальные переменные как апдейтить?
А какие проблемы с mutable-переменными, если есть настоящие замыкания?
Sapienti sat!
Re[29]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 20:20
Оценка:
Здравствуйте, Курилка, Вы писали:

M>>А mutable локальные переменные как апдейтить?


К>Ммм, а может определение почитать чтоль?


И что? Что ты хотел сказать этим?
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[29]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 20:20
Оценка:
Здравствуйте, Cyberax, Вы писали:

M>>А mutable локальные переменные как апдейтить?

C>А какие проблемы с mutable-переменными, если есть настоящие замыкания?

Эффективность кода.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[30]: Являются ли макросы свидетельством недостаточной выр
От: Курилка Россия http://kirya.narod.ru/
Дата: 15.08.07 20:23
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, Курилка, Вы писали:


M>>>А mutable локальные переменные как апдейтить?


К>>Ммм, а может определение почитать чтоль?


M>И что? Что ты хотел сказать этим?


Несколько странно задавать вопрос про то, как локальные переменные апдейтить, если в этом основной смысл замыкания
Или это тоже непонятно?
Re[41]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 15.08.07 20:24
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, BulatZiganshin, Вы писали:


M>>>Нет, ООП не противоречит статической типизации. Тип — это набор констрайнтов, определяющих что можно сделать с объектом. Тип в Java ничем не хуже типа в C, это всё тот-же набор операций над объектом.


BZ>>вопрос на засывку — а зачем тогда понадобился RTTI?


M>Не поверишь — просто удобно.

M>На C++ можно писать без RTTI, и на яве можно писать без рефлекшина. В частности, из J2ME эту библиотеку убрали — просто для экономии места.

более того, C++ не ООП язык, поскольку на нём можно писать без классов RTTI — это как раз *следствие* частично-динамической типизации ООП. получая ссылку на A, ты не знаешь, какого на самом деле типа указуемый объект и RTTI сущетсвует как раз чтобы определить этот тип в случае использования техник, основанных на динамической типизации

>Если тебя смущает instanceof — то почему тебя не смущает pattern mathcing в FP?


это один тип. но в плане надёжности проблемы имхо точно такие же — обработка правильного варианта может быть просто не предусмотрена кодом
Люди, я люблю вас! Будьте бдительны!!!
Re[31]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 20:30
Оценка:
Здравствуйте, Курилка, Вы писали:

M>>>>А mutable локальные переменные как апдейтить?


К>>>Ммм, а может определение почитать чтоль?


M>>И что? Что ты хотел сказать этим?


К>Несколько странно задавать вопрос про то, как локальные переменные апдейтить, если в этом основной смысл замыкания

К>Или это тоже непонятно?

Смысл замыканий не в том, чтоб апдейтить локальные переменные.
Впрочем, речь не о том, что их нельзя поменять из замыкания, а о том — как ты это собираешься делать? Физически — как? Указатель на них сохранить в замыкании? И потом работать с локальной переменной по ссылке, а не в регистре/стеке?
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[42]: Являются ли макросы свидетельством недостаточной выр
От: mkizub Литва http://symade.tigris.org
Дата: 15.08.07 20:35
Оценка: +2
Здравствуйте, BulatZiganshin, Вы писали:

BZ>более того, C++ не ООП язык, поскольку на нём можно писать без классов RTTI — это как раз *следствие* частично-динамической типизации ООП. получая ссылку на A, ты не знаешь, какого на самом деле типа указуемый объект и RTTI сущетсвует как раз чтобы определить этот тип в случае использования техник, основанных на динамической типизации


RTTI не нужен для полиморфизма, для него нужен диспатчинг методов в зависимости от ран-тайм типа аргумента. Что никак не противоречит "набору операций, которые можно с данными произвести" — набор операций тот-же самый, вот только код выполнится разный. Не путай динамическую типизацию с полиморфизмом. Да, там унутри есть виртуальные таблици или ещё какая хрень, которая в рантайме предоставляет возможность определения типа. Но это внутренние детали, а проверка типов на этапе компиляции полная.
SOP & SymADE: http://symade.tigris.org , блог http://mkizub.livejournal.com
Re[51]: Являются ли макросы свидетельством недостаточной выр
От: IT Россия linq2db.com
Дата: 16.08.07 00:54
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

IT>>макросы не могут проявить себя никак


ANS>Не "макросы" вообще, а "макросы N", btw


А мы о каких говорим? Или если больше сказать нечего, то нужно обязательно придолбаться к терминологии?
... << RSDN@Home 1.2.0 alpha rev. 717>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[44]: Являются ли макросы свидетельством недостаточной выр
От: Andrei F.  
Дата: 16.08.07 03:41
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>"Мы" это кто? Я имею в виду, что ХМЛ для ползователя удобнее, так как он сможет манипулировать с документом во первых как с обычным текстом (хранить его в системах контроля версий, мерджить и т.п.), а во вторых стандартное структурирование поможет выуживать из документов нужную информацию не прибегая к пропроитарным АПИ, а так же писать собственные редакторы для данных документов (например, резко упрощается создание генераторов отчетов выдающих на выходе воровские файлы).


и опять все сводится к legacy

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


не способно, если проектированием бинарного формата занимался не полный дебил. Хотел бы я посмотреть, как ты будешь сравнивать скорость работы зазипованного XML с database-in-file.

VD>Ты видил спецификации для воровского формата (бинарного)? Не STG, а того что в него пишет Ворд... Нет? Знаешь почему? Потому, что формат этот довольно гнусен и постоянно менялся МС-ом. Им проще было недокументировать данный формат оставляя отвественность за ручную модификацию (или чтение) данного формата на тех хакерах, что сами с ним смогли разобраться (и написали книжки посвященные этому). В вордоском документе запись идет не последовательно и отдельными блоками. Так проще реализовать быстрое сохранение. В купе с тем, что в отдельных блоках данные там хранятся в формате с прямой адресацией (не сериализованные) — это нехило усложняет создание собственных ридеров и райтеров для такого формата. А с ХМЛ проблем нет.


То есть главная и единственная проблема — в том, что MS не помогал разрабатывать 3d-party реализации либ для работы со своим форматом?
Re[30]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 16.08.07 05:22
Оценка: +2
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, Cyberax, Вы писали:


M>>>А mutable локальные переменные как апдейтить?

C>>А какие проблемы с mutable-переменными, если есть настоящие замыкания?

M>Эффективность кода.


это проблема компилятора, который должен уметь их инлайнить
Люди, я люблю вас! Будьте бдительны!!!
Re[43]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 16.08.07 05:39
Оценка:
Здравствуйте, mkizub, Вы писали:

M>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>более того, C++ не ООП язык, поскольку на нём можно писать без классов RTTI — это как раз *следствие* частично-динамической типизации ООП. получая ссылку на A, ты не знаешь, какого на самом деле типа указуемый объект и RTTI сущетсвует как раз чтобы определить этот тип в случае использования техник, основанных на динамической типизации


M>RTTI не нужен для полиморфизма, для него нужен диспатчинг методов в зависимости от ран-тайм типа аргумента. Что никак не противоречит "набору операций, которые можно с данными произвести" — набор операций тот-же самый, вот только код выполнится разный. Не путай динамическую типизацию с полиморфизмом. Да, там унутри есть виртуальные таблици или ещё какая хрень, которая в рантайме предоставляет возможность определения типа. Но это внутренние детали, а проверка типов на этапе компиляции полная.


типы в ООП динамические. секрет успеха ООп именно в том, что он предложил наьбор операций, который похзволяет работать с динамическими, неизвестными в вомент компиляции типами в надёжной, compile-time checked манере. а RTTI — это чистая динамика, предоставляющая доступ к остальным операциям, которые в compile-time не проверишь
Люди, я люблю вас! Будьте бдительны!!!
Re[32]: Являются ли макросы свидетельством недостаточной выр
От: BulatZiganshin  
Дата: 16.08.07 05:41
Оценка:
M>Впрочем, речь не о том, что их нельзя поменять из замыкания, а о том — как ты это собираешься делать? Физически — как? Указатель на них сохранить в замыкании? И потом работать с локальной переменной по ссылке, а не в регистре/стеке?

это в терминах C мыслишь в GC-ed языках всё создаётся в куче — и локальные переменные, и замыкания, которые на них ссылаются. остальное — оптимизации, выполняемые по мере сил и способностей компилятора
Люди, я люблю вас! Будьте бдительны!!!
Re[52]: Являются ли макросы свидетельством недостаточной выр
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 16.08.07 06:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>>>макросы не могут проявить себя никак


ANS>>Не "макросы" вообще, а "макросы N", btw


IT>А мы о каких говорим?


В subj быквы N нетути.

IT>Или если больше сказать нечего, то нужно обязательно придолбаться к терминологии?


Спокойнее. Ты уже мог заметить, что решение ограниченное временем компиляции я считаю ущербным "по умолчанию". Так что мимо такой фразы я просто не смог пройти мимо
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.