Re[12]: Java стала свободной. Что ждет Mono?
От: xvost Германия http://www.jetbrains.com/company/people/Pasynkov_Eugene.html
Дата: 05.12.06 10:23
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>А как он знает, что array.Count не меняется?


Потому что массивы immutable
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Re[8]: Java стала свободной. Что ждет Mono?
От: WolfHound  
Дата: 05.12.06 11:54
Оценка: 15 (2) +2
Здравствуйте, Sheridan, Вы писали:

WH>>А я бы сказал что можно сделать машину котороя уделает обе. Причем она будет даже проще.

S>Можно.
Только учитывая следующею строчку ИМХО ты даже близко не представляешь как это сделать.

S>А можно на асме написать, и уделать и дотнет, и жаву.



S>Выбор идет между скоростью проектирования/программирования и скоростью работы. Я выбираю скорость работы. Корпорации и компании выбирают скорость проектирования. Почемуто простые фрилансеры и мелкие конторы тянутся вслед компаниям, не замечая что заказчика можно победить не только скоростью написания софта но и тем, что этот софт будет прекрасно работать на тех машинах, которые заказчик купил 2 года назад в уцененке, да к томуже что можно установить этот софт и забыть про сервак, пока винт не посыпется.

Так что же ты до сих пор не уделал всяких ламеров которые пишут тормозные поделки на .НЕТ и жабе?
Тут есть две причины:
1)Это сделать просто только языком. Когда попробуешь написать на асме то что на шарпе занимает сотню тысяч строк Короче оно будет постоянно голючить и падать. Да и работать будет скорей всего сильно медленней ибо все ресурсы съест борьба с багами и на оптимизацию времени не останется.
2)Ориентироваться на жмотов которые покупают компы в уценке бесполезно ибо они всеравно софт не купят. И тем болие поддержку не закажут.

Короче окажи услугу себе и окружающим: займись собственным образованием ибо те "знания" что ты демонстрируешь в форуме просто смешны.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[12]: Java стала свободной. Что ждет Mono?
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.12.06 12:09
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>А как он знает, что array.Count не меняется?
В дотнете невозможно изменить длину массива. Сделано специально, чтобы позволять подобные оптимизации.
Если вопрос о компиляторе С++ и произвольной коллекции, то у компилятора может оказаться достаточно информации о том, что происходит внутри цикла, чтобы понять, что результат Count() никогда не изменяется.
Я написал может оказаться потому, что С++, хотя и оборудован средствами коммуникации между разработчиком класса и компилятором, не требует их использовать. В частности, далеко не всегда можно заинлайнить метод Count() и далеко не всегда удастся заинлайнить обращения к коллекции внутри цикла или вывести неизменность из сигнатур используемых методов (оператору [] достаточно быть объявленным как const, чтобы компилятор имел право предполагать неизменность внутренних полей коллекции после его вызова даже без детального анализа кода). В частности, именно эту проблему решают template-based библиотеки типа STL.
S>>Резюме: инструмент поиска причины проблем с производительностью — не глаза, а профайлер. А ему, извини, по барабану, насколько "невинно" выглядит код.
ANS>Это бесспорно.
Ну, люди до сих пор думают, что могут определить степень влияния фрагментов кода на производительность по наличию скобочек, или легко победить back-end промышленного компилятора ассемблерными вставками. И все это духом единым, без костылей типа профайлера.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Java стала свободной. Что ждет Mono?
От: Gajdalager Украина  
Дата: 05.12.06 12:20
Оценка: -1
Здравствуйте, iZEN, Вы писали:

ZEN>Здравствуйте, Андрей Хропов, Вы писали:


АХ>>Ну принципиально то, что они объединаются в одну сущность, а не 2 функции. Да, кстати — это синтаксический сахар, потом внутри MSIL они превращаются в обычные геттеры/сеттеры.


АХ>>Ну и писать

АХ>>

АХ>>button.Width = 15;
АХ>>width = button.Width;

АХ>>как то яснее и приятнее чем
АХ>>
АХ>>button.setWidth(15);
АХ>>width = button.getWidth();
АХ>>

ZEN>Проперти в C# — это завуалированный и неочевидный синтаксис с семантикой. Совершенно непонятно, что скрывается за простым присвоением мемберу (кстати, как отличить public-поле от свойства?) значения и получением от него значения. Вы скажете, что public-поле в ООП-приложении неприлично выставлять, но в некоторых ситуациях это сделать легче (особенно в финальных классах) для описания констант.
Угу.. Вместо того, чтобы поле публичным сделать, лучше добавить еще от 3 до 6 строчек на геттер/сеттер или пропертю в шарпе.. Причем в подавляющем большинстве случаев реализация геттеров/сеттеров тривиальна...
Re[9]: Java стала свободной. Что ждет Mono?
От: Sheridan Россия  
Дата: 05.12.06 12:29
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Так что же ты до сих пор не уделал всяких ламеров которые пишут тормозные поделки на .НЕТ и жабе?

Потому что не поспею. Уж лучше я это время потрачу на изучение Qt.

[RSDN@Home][1.2.0][alpha][668]
[Кто живет надеждой, рискует умереть голодной смертью. [Б. Франклин]]
Matrix has you...
Re[11]: Java стала свободной. Что ждет Mono?
От: prVovik Россия  
Дата: 05.12.06 12:31
Оценка:
Здравствуйте, Gajdalager, Вы писали:

G>Угу.. Вместо того, чтобы поле публичным сделать, лучше добавить еще от 3 до 6 строчек на геттер/сеттер или пропертю в шарпе..

Зачем такие сложности? Нажимаем шорткат и решарпер все сам за нас сделает
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
лэт ми спик фром май харт
Re[13]: Java стала свободной. Что ждет Mono?
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 05.12.06 12:31
Оценка:
Здравствуйте, xvost, Вы писали:

X>Потому что массивы immutable


Ух. Логично. Забыл я уже когда именно массивы последний раз использовал :\
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[12]: Java стала свободной. Что ждет Mono?
От: Gajdalager Украина  
Дата: 05.12.06 12:32
Оценка: -1
Здравствуйте, prVovik, Вы писали:

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


G>>Угу.. Вместо того, чтобы поле публичным сделать, лучше добавить еще от 3 до 6 строчек на геттер/сеттер или пропертю в шарпе..

V>Зачем такие сложности? Нажимаем шорткат и решарпер все сам за нас сделает
Зачем такие сложности? Если никаких дополнительных действий не надо — выносим поле в паблик и никому ни за кого ничего делать не придеться
Re[13]: Java стала свободной. Что ждет Mono?
От: WolfHound  
Дата: 05.12.06 12:34
Оценка: +1
Здравствуйте, xvost, Вы писали:

ANS>>А как он знает, что array.Count не меняется?

X>Потому что массивы immutable
Несколько не корректно. Массивы в .НЕТ еще как mutable у них только размер immutable.
Болие того в .NET вобще нет immutable типов что ИМХО очень плохо.
Эмуляция immutable типов (например string или любой другой класс у которого нет мутирующих методов) приводит к тому что рантайму очень сложно применять агрессивные оптимизации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[11]: Java стала свободной. Что ждет Mono?
От: Mirrorer  
Дата: 05.12.06 12:49
Оценка:
Здравствуйте, Gajdalager, Вы писали:

G>Угу.. Вместо того, чтобы поле публичным сделать, лучше добавить еще от 3 до 6 строчек на геттер/сеттер или пропертю в шарпе.. Причем в подавляющем большинстве случаев реализация геттеров/сеттеров тривиальна...

Если поле сделать публичным, то как можно брякнуться в отладке на попытку изменения поля ?
Или искать все строки
myClass.myPubllicValue = XXX

и ставить там бряки ?
... << RSDN@Home 1.2.0 Pink Floyd — Dogs / Pink Floyd >>
Re[10]: Java стала свободной. Что ждет Mono?
От: WolfHound  
Дата: 05.12.06 12:53
Оценка: +2
Здравствуйте, Sheridan, Вы писали:

WH>>Так что же ты до сих пор не уделал всяких ламеров которые пишут тормозные поделки на .НЕТ и жабе?

S>Потому что не поспею. Уж лучше я это время потрачу на изучение Qt.
Qt это не то на что имеет смысл тратить время.
Все библиотечки всравно не изучишь ибо их легион, а ты один.
Болие того в них нет ничего такого что может тебе дать какие либо преимущества.
Тебе нужны фундаментальные знания, а не глупые библиотечки.
Нужно понимать что как и почему именно так устроено.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Java стала свободной. Что ждет Mono?
От: Klapaucius  
Дата: 05.12.06 13:02
Оценка: :))
Здравствуйте, Sheridan, Вы писали:
S>я оношусь

Что-то я ничего не понял. Это слово что обозначает? Употребление анаши в одиночестве? Но тогда ведь вместо второй "о" все равно останется "а", не так ли?
... << RSDN@Home 1.2.0 alpha rev. 655>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[12]: Java стала свободной. Что ждет Mono?
От: Gajdalager Украина  
Дата: 05.12.06 13:05
Оценка:
Здравствуйте, Mirrorer, Вы писали:

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


G>>Угу.. Вместо того, чтобы поле публичным сделать, лучше добавить еще от 3 до 6 строчек на геттер/сеттер или пропертю в шарпе.. Причем в подавляющем большинстве случаев реализация геттеров/сеттеров тривиальна...

M>Если поле сделать публичным, то как можно брякнуться в отладке на попытку изменения поля ?
M>Или искать все строки
M>
M>myClass.myPubllicValue = XXX 
M>

M>и ставить там бряки ?
В шарпе можно было бы создать одноимённую пропертю и брейк поставить в ней.. Но пропертю я бы создал, только когда нужно (в данном случае, чтобы брэйк поставить).. Остальные публичные поля так и остались бы публичными. А в Жаве пропертей нет Лично мне не хватает..
Re[8]: Java стала свободной. Что ждет Mono?
От: Андрей Хропов Россия  
Дата: 05.12.06 13:07
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>>>Ошибаешся, понимаю. Сколько можно писать, ято я оношусь к дотнету как к ВБ?

АХ>>

S>Ну, ничего другого я не ожидал...

S>Я не могу поверить просто что люди в восторге от подобной технологии. Обещали кроссплатформенную виртмашину типа явы. Что имеем?
Мощную компонентную многоязычную платформу, технологически превосходящую JVM (в частности в плане поддержки рефлексии и динамических языков).
Кроссплатформенность — да, с этим пока похуже, но Mono развивается. FW 1.1 уже полностью поддерживают насколько я знаю.
C# 2.0 — тоже, осталось только доделать BCL 2.0.

S> тормознутую переделку бэйсика на новый лад.

1) Ну давай бенчмарки с тормозами. По моим ощущениям на большинстве невычислительных задач разница с C++ минимальна, а где-то C++ и серьезно проигрывает (особенно где много работы с памятью).
2) Под .NET полно языков, в том числе и Nemerle, который Бейсиком ну никак не назовешь

Я тоже раньше считал, что это тормоза (по сравнению с C++). Погонял бенчмарки и понял что это не так. Да собственно и неудивительно — с точным уплотняющим сборщиком мусора выделение памяти в куче практически так же дешево как не стеке, в отличие от malloc/new.

S> Да, улучшили. Да, поменяли синтаксис. Да, прикрутили студию. И развели сверхмощную рекламную компанию. Про кроссплатформенность я уже и не вспоминаю. Далее, что микрософт проталкивало раньше в массы? Правильно, ВБ.

Задумайся, почему MS отказался от уже раскрученного и весьма популярного ВБ. А ведь его упрашивали, петиции писали, чтобы он этого не делал.

S> А что сделает манагер из МС, если видит, что продукт непопулярен? Начнет думать, как сделать популярным, а заодно и привязать к операционке, дабы не было прецендентов отказа от использования винды. Скажеж дотнет не привязан к винде?

Не привязан

S> А люди глотают полученную наживку, радуются сверхлегкости кодинга, не замечая что все меньше и меньше оставляют себе места для маневра.

Сверхлегкость кодинга — за этим пожалуйста к Python и Ruby
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: Java стала свободной. Что ждет Mono?
От: Сергей  
Дата: 05.12.06 13:16
Оценка: +1
Klapaucius пишет:
> Что-то я ничего не понял.
Хорош гнать, все ты понял.
Posted via RSDN NNTP Server 2.0
Re[9]: Java стала свободной. Что ждет Mono?
От: prVovik Россия  
Дата: 05.12.06 13:20
Оценка: +1 :)
Здравствуйте, Андрей Хропов, Вы писали:


АХ>Да собственно и неудивительно — с точным уплотняющим сборщиком мусора выделение памяти в куче практически так же дешево как не стеке, в отличие от malloc/new.


Почему-то вспомнился анекдот про студентов с финальной фразой: "... а потом начинается сессия!"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
лэт ми спик фром май харт
Re[11]: Java стала свободной. Что ждет Mono?
От: Sheridan Россия  
Дата: 05.12.06 13:21
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Qt это не то на что имеет смысл тратить время.

WH>Все библиотечки всравно не изучишь ибо их легион, а ты один.
Мне пока Qt хватает.

WH>Болие того в них нет ничего такого что может тебе дать какие либо преимущества.

Кроссплатформенность.

WH>Тебе нужны фундаментальные знания, а не глупые библиотечки.

WH>Нужно понимать что как и почему именно так устроено.
Что я не понимаю?

[RSDN@Home][1.2.0][alpha][668]
[Да не будем на авось гадать о величайшем! [Гераклит Эфесский]]
Matrix has you...
Property Vs Public Field
От: Mirrorer  
Дата: 05.12.06 13:27
Оценка:
Здравствуйте, Gajdalager, Вы писали:

G>В шарпе можно было бы создать одноимённую пропертю и брейк поставить в ней.. Но пропертю я бы создал, только когда нужно (в данном случае, чтобы брэйк поставить).. Остальные публичные поля так и остались бы публичными.


Ну и зачем ? Если можно набить prop нажать Tab
и получить заглушку вида.
private int myVar;

        public int MyProperty
        {
            get { return myVar; }
            set { myVar = value; }
        }

Меняем только тип(автоматически меняется и в проперте)
ну и вводим имена.
И вообще мой опыт говорит, что как только ты сделаешь поле public буквально через пару дней придется оборачивать его в пропертю.

И вообще прямой доступ к переменным считаю злом.
... << RSDN@Home 1.2.0 trck0105 >>
Re: Property Vs Public Field
От: Gajdalager Украина  
Дата: 05.12.06 13:40
Оценка: +1
Здравствуйте, Mirrorer, Вы писали:

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


G>>В шарпе можно было бы создать одноимённую пропертю и брейк поставить в ней.. Но пропертю я бы создал, только когда нужно (в данном случае, чтобы брэйк поставить).. Остальные публичные поля так и остались бы публичными.


M>Ну и зачем ? Если можно набить prop нажать Tab

А кода меньше будет.. В классе, допустим, 5 полей, которые по логике публичные, а строчек кода — мама дорогая! И все вида getField/setField, причем тривиальной реализаци.. Сразу и не видно, который делает чего, а который — только устанавливает..
M>И вообще мой опыт говорит, что как только ты сделаешь поле public буквально через пару дней придется оборачивать его в пропертю.
Что, прям таки все или большинство?
M>И вообще прямой доступ к переменным считаю злом.
Тоже так считал.. А потом подумал, ну какая разница — задаём мы значение поля через функцию или напрямую, если функция только то и делает, что присваивает полю значение? Правильно, только в размере кода и в том, что в случае функции нам можно будет добавить дополнительную логику безболезненно.. Если в случае Жавы еще можно понять, зачем сразу геттера писать (чтобы потом не переписывать клиентский по отношению к этому классу код), то зачем в шарпе, где есть пропертя и можно подменить поле на геттер/сеттер совсем без крови и только тогда, когда понадобится?
Re[9]: Java стала свободной. Что ждет Mono?
От: Sheridan Россия  
Дата: 05.12.06 13:46
Оценка:
Торжественное заявление
Автор: Sheridan
Дата: 05.12.06

[RSDN@Home][1.2.0][alpha][668]
[Hедостаточно встать рано, надо еще и проснуться. [Из книги "Ву"]]
Matrix has you...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.