Re[2]: Синтаксический оверхед в C# / Java
От: Павел Кузнецов  
Дата: 05.07.05 19:46
Оценка:
Кодёнок,

> Если бы в С++ был typeof, это можно было бы выразить макросом:

>
> #define DEF_VAR(name, expr) typeof(expr) name = expr
> // т.е.
> DEF_VAR(c,new MyClass(10,20))
> // аналогично
> typeof(new MyClass(10,20)) c = new MyClass(10,20)
>


По-моему, обсуждаемое комитетом auto, все-таки, лучше...
auto c = new MyClass(10,20);
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[3]: Синтаксический оверхед в C# / Java
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.07.05 20:27
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>По-моему, обсуждаемое комитетом auto, все-таки, лучше...

ПК>
ПК>auto c = new MyClass(10,20);
ПК>


Ага. Вот только ради повторного использования ключевых слов не стоит так уж коверкать язык. auto тут как то совсем не к месту. Лучше было ввести новое ключевое слово.

Я конечно понимаю, что есть проблемы совместимости, но все же какой-нить var или def был бы умеснее.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Синтаксический оверхед в C# / Java
От: GarryIV  
Дата: 05.07.05 20:37
Оценка:
Здравствуйте, Кодёнок, Вы писали:

AVK>>Лучше наоборот — по левой части предлагать соответствующие подсказки длоя правой. Кстати о new — современные редакторы после new предлагают список конструкторов в соответствии с типом левой части выражения, так что напрактике его (new) отмена приведет только к большей трудоемкости набора кода.


Кё>Что-то я глубоко сомневаюсь, что IntelliSense когда-нибудь сможет предложить `Some.Namespace.daFunction(new System.Drawing.Point(30,5))` в качестве правой части


А я знаю мегазаклинание introduce variable Оно еще и название для переменной предложит выбрать...
WBR, Igor Evgrafov
Re[4]: Синтаксический оверхед в C# / Java
От: Павел Кузнецов  
Дата: 05.07.05 21:55
Оценка:
VladD2,

> ПК>По-моему, обсуждаемое комитетом auto, все-таки, лучше...

> ПК>
> ПК>auto c = new MyClass(10,20);
> ПК>


> Ага. Вот только ради повторного использования ключевых слов не стоит так уж коверкать язык. auto тут как то совсем не к месту.


Почему? Автоматический вывод типа — вроде, нормально... В своем первоначальном значении auto уже не используется, соответственно вполне можно использовать его для этой цели

> Я конечно понимаю, что есть проблемы совместимости, но все же какой-нить var или def был бы умеснее.


А var или def чем лучше?
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[5]: Синтаксический оверхед в C# / Java
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.07.05 22:19
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Почему? Автоматический вывод типа — вроде, нормально...


Не у всех столь богатая фантазия. А почему не автоматически подсчитывать ссылки? В D вроде бы авто именно так используется.

ПК> В своем первоначальном значении auto уже не используется, соответственно вполне можно использовать его для этой цели


Можно. Но все же нужно и о людях подумать. Зачем их удивлять то?

ПК>А var или def чем лучше?


Понятно и привычно. Все же не первый язык их использует.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Синтаксический оверхед в C# / Java
От: Павел Кузнецов  
Дата: 05.07.05 23:16
Оценка:
VladD2,

> ПК> А var или def чем лучше?

>
> Понятно и привычно. Все же не первый язык их использует.

def в Питоне вообще для других целей используется... var в тех языках, которые пришли мне в голову, тоже не говорит об автоматическом выводе типа из инициализатора, а просто обозначает определение переменной... В общем, пока я не вижу каких-либо серьезных аргументов ни за то, ни за другое...
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[4]: Синтаксический оверхед в C# / Java
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 06.07.05 06:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Трурль, Вы писали:


Т>>А зачем их различать?


VD>1. Чтобы обеспечить различие между вызовом конструктора и функции.


Хороший ответ на вопрос "зачем различать вызов конструкции и функции". Написал бы проще: "а шоб было".

VD>2. Чтобы сократить количество мест где может возникнуть перегрузка.


Хе-хе. А зачем их сокращать? И на сколько оно сокращается?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[5]: Синтаксический оверхед в C# / Java
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.07.05 11:28
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>Хороший ответ на вопрос "зачем различать вызов конструкции и функции". Написал бы проще: "а шоб было".

ANS>Хе-хе. А зачем их сокращать? И на сколько оно сокращается?

Ответы на эти вопросы мне кажутся очевидными. Чтобы не было каши вместо кода.
... << RSDN@Home 1.2.0 alpha rev. 516>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Синтаксический оверхед в C# / Java
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.07.05 11:28
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>VladD2,


>> ПК> А var или def чем лучше?

>>
>> Понятно и привычно. Все же не первый язык их использует.

ПК>def в Питоне вообще для других целей используется...


def появился не в питоне и умрет не в нем.

ПК> var в тех языках, которые пришли мне в голову, тоже не говорит об автоматическом выводе типа из инициализатора, а просто обозначает определение переменной...


var — это стандартный префикс описания переменных еще с Паскля (если не раньше).

ПК> В общем, пока я не вижу каких-либо серьезных аргументов ни за то, ни за другое...


В общем, ты никогда ничего не видишь... если очень того не захочешь.
... << RSDN@Home 1.2.0 alpha rev. 516>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Синтаксический оверхед в C# / Java
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 06.07.05 12:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Andrei N.Sobchuck, Вы писали:


ANS>>Хороший ответ на вопрос "зачем различать вызов конструкции и функции". Написал бы проще: "а шоб было".

ANS>>Хе-хе. А зачем их сокращать? И на сколько оно сокращается?

VD>Ответы на эти вопросы мне кажутся очевидными. Чтобы не было каши вместо кода.


Не увиливай, не в военкомате. (с)

Чтобы сократить количество мест где может возникнуть перегрузка.


Мне достаточно маленького примера каши вместо кода.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[7]: Синтаксический оверхед в C# / Java
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.07.05 14:01
Оценка:
Здравствуйте, Andrei N.Sobchuck, Вы писали:

ANS>

ANS>Чтобы сократить количество мест где может возникнуть перегрузка.


ANS>Мне достаточно маленького примера каши вместо кода.


Пример тут я уже приводил Re[3]: Синтаксический оверхед в C# / Java
Автор: VladD2
Дата: 05.07.05
.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Синтаксический оверхед в C# / Java
От: Павел Кузнецов  
Дата: 07.07.05 05:20
Оценка:
Здравствуйте, VladD2, Вы писали:

ПК>> var в тех языках, которые пришли мне в голову, тоже не говорит об автоматическом выводе типа из инициализатора, а просто обозначает определение переменной...


VD> var — это стандартный префикс описания переменных еще с Паскля (если не раньше).


Нужно ключевое слово, обозначающее автоматический вывод типа, а не являющееся признаком объявления переменной. Не вижу, каким образом var справляется с первой задачей лучше, чем auto...
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[11]: Синтаксический оверхед в C# / Java
От: L.C.R. Россия lj://_lcr_
Дата: 07.07.05 07:20
Оценка: :)
AndrewVK,

О! я нашёл место, где этот new явно лишний:
return new NotImplementedException();
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[12]: Синтаксический оверхед в C# / Java
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.07.05 07:53
Оценка:
Здравствуйте, L.C.R., Вы писали:

LCR>О! я нашёл место, где этот new явно лишний:

LCR>
LCR>return new NotImplementedException();
LCR>


Это чего он там лишний? Что, не может быть функции NotImplementedException()?
... << RSDN@Home 1.2.0 alpha rev. 521>>
AVK Blog
Re[13]: Синтаксический оверхед в C# / Java
От: L.C.R. Россия lj://_lcr_
Дата: 07.07.05 08:47
Оценка:
AndrewVK,

LCR>>О! я нашёл место, где этот new явно лишний:

LCR>>
LCR>>return new NotImplementedException();
LCR>>


AVK>Это чего он там лишний? Что, не может быть функции NotImplementedException()?


У меня просто сработал рефлекс, что после throw обычно идёт создание объекта эксепшна. Я так обрадовался, что про функции совсем забыл

Да, это уже сначала топика понятно, что если убирать new, то тогда жертвовать соблазном называть классы и функции одинаковыми именами.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[14]: Синтаксический оверхед в C# / Java
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 07.07.05 09:07
Оценка:
Здравствуйте, L.C.R., Вы писали:

LCR>У меня просто сработал рефлекс, что после throw обычно идёт создание объекта эксепшна.


Какого throw? У тебя в примере его не было.
... << RSDN@Home 1.2.0 alpha rev. 521>>
AVK Blog
Re[2]: Синтаксический оверхед в C# / Java
От: eugals Россия  
Дата: 07.07.05 13:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>
VD>static void Main()
VD>{
VD>    MyClass c = MyClass(10, 20);
VD>}
VD>

VD>И чем это будет отличаться от вызова функции?
Именем. Вряд ли кому-то взбредет в голову называть функцию "MyClass".
К тому же, что касается Джавы, то там есть общепринятая Naming Convention, в сообветствии с которой классы называются в "паскале", а методы в "кемеле".
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[15]: Синтаксический оверхед в C# / Java
От: IT Россия linq2db.com
Дата: 07.07.05 13:53
Оценка: 1 (1) +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Какого throw? У тебя в примере его не было.


AVK, не веди себя как беспощадный компилятор. Ну ошибся человек, но из контекста же понятно что имеется ввиду
... << RSDN@Home 1.1.4 stable rev. 510>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[16]: Синтаксический оверхед в C# / Java
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 08.07.05 07:17
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>AVK, не веди себя как беспощадный компилятор. Ну ошибся человек, но из контекста же понятно что имеется ввиду


А честно не понял. По началу тоже подумал про throw, но потом внимательнее поглядел и увидел return, чем весьма удивился, потому что не понял в чем совтсвенно хитрость.
... << RSDN@Home 1.2.0 alpha rev. 521>>
AVK Blog
Re[9]: Синтаксический оверхед в C# / Java
От: Трурль  
Дата: 08.07.05 10:09
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Нужно ключевое слово, обозначающее автоматический вывод типа, а не являющееся признаком объявления переменной. Не вижу, каким образом var справляется с первой задачей лучше, чем auto...


Ну, можно попробовать let
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.