Re[26]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 14:59
Оценка:
Здравствуйте, Mamut, Вы писали:

L>>Не надо повторять. Просто напиши что я предложил и посмотри на код, сам все поймешь. Удачи.


M>Что ты предложил? Ты предложил map/fold и т.п.?

M>Я тебе тоже предложил, причем примеры из реальной жизни. Ты почему-то решил отмести их напрочь.

Ты сравниваешь синтаксис лямбд в шарпе и jsvscript-е и утверждаешь, что он в js не хуже и при этом обосновываешь этот вывод на примере, где лямбда — большая. И из этого частного случая делаешь общий вывод. Это некорректно, нужно рассматривать не частные случаи, а все случаи. Если ты перепишешь свой же код, вынеся функционал высасывания rss-а в отдельную функцию и будешь использовать ее в each-е, то ты заметишь громоздкость синтаксиса лямб в js.
Re[18]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 15:02
Оценка:
Здравствуйте, Цыба, Вы писали:

L>>Если спорно, приведи пример, где он кратче.


Ц>var F = function(){}; // лямбду в шарпе так нельзя


можно

Ц>var A = [];


new List<object>();?

Ц>var O = {};


Что это?

Ц>описание объектов, методов, этц


Ц>и это как минимум


Слабовато как-то.

L>>в свете появления dynamic в шарпе, это уже не исключительно преимущество js-а.


Ц>динамика никогда не являлась свойством исключительно джаваскрипта


Зачем тогда приводить это как его преимущество перед шарпом?
Re[18]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 15:05
Оценка:
Здравствуйте, Mamut, Вы писали:

L>>А C#?


M>Процедурное программирование, например


Ты имеешь в виду, что нельзя объявить методы вне класса или что-то другое? Если это, то воспринимай это просто как своего рода namespace.

M>И, насколько я помню, функции все же не first-class objects в C#


Что ты имеешь в виду?
Re[19]: Идеальный веб
От: Цыба Украина  
Дата: 26.05.10 15:30
Оценка:
Здравствуйте, Lloyd, Вы писали:

Ц>>var F = function(){}; // лямбду в шарпе так нельзя

L>можно

нельзя с выводом типа
CS0815: Cannot assign lambda expression to an implicitly-typed local variable
+ не нужно возиться с делегатами

Ц>>var A = [];

L>new List<object>();?

грубо говоря, да

Ц>>var O = {};

L>Что это?

похоже на var O = new Object(); в C#

Ц>>описание объектов, методов, этц

Ц>>и это как минимум
L>Слабовато как-то.

что именно слабовато в описании объектов и методов в JS?

L>>>в свете появления dynamic в шарпе, это уже не исключительно преимущество js-а.

Ц>>динамика никогда не являлась свойством исключительно джаваскрипта
L>Зачем тогда приводить это как его преимущество перед шарпом?

а слишком давно ли вышел динамический 4.0 в шарпе? хотя да, мы лучше мы со временем обвешаем шарп всем-всем-всем, чтобы его можно было использовать везде
Re[20]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 15:37
Оценка:
Здравствуйте, Цыба, Вы писали:

Ц>>>var F = function(){}; // лямбду в шарпе так нельзя

L>>можно

Ц>нельзя с выводом типа

Ц>CS0815: Cannot assign lambda expression to an implicitly-typed local variable

Да, тип добавить нужно. это минус

Ц>+ не нужно возиться с делегатами


Не нужно

Ц>>>var A = [];

L>>new List<object>();?

Ц>грубо говоря, да


Ок.

Ц>>>var O = {};

L>>Что это?

Ц>похоже на var O = new Object(); в C#


Гм. Это преимущество js-а?

Ц>>>описание объектов, методов, этц

Ц>>>и это как минимум
L>>Слабовато как-то.

Ц>что именно слабовато в описании объектов и методов в JS?


а что именно сильно по сравнению с C#-ом?

L>>>>в свете появления dynamic в шарпе, это уже не исключительно преимущество js-а.

Ц>>>динамика никогда не являлась свойством исключительно джаваскрипта
L>>Зачем тогда приводить это как его преимущество перед шарпом?

Ц>а слишком давно ли вышел динамический 4.0 в шарпе? хотя да, мы лучше мы со временем обвешаем шарп всем-всем-всем, чтобы его можно было использовать везде


Недавно вышел. Если учитывать dynamic в 4-м шарпе, остаются какие-либо преимущества js-а или нет?
Re[21]: Идеальный веб
От: Цыба Украина  
Дата: 26.05.10 15:46
Оценка:
Здравствуйте, Lloyd, Вы писали:

Ц>>+ не нужно возиться с делегатами

L>Не нужно

возможно, вы имеете в виду, если не ошибаюсь, Action, Func?.. если не вы, значит за вас

L>Гм. Это преимущество js-а?


я же сказал: одно из
спрашивать меня это сейчас — это всё-равно, что я бы спрашивал вас "ну неужели (x,y)=>x+y*2 лучше function(x,y){return x+y*2;}?"

Ц>>что именно слабовато в описании объектов и методов в JS?


Lloyd?

L>Недавно вышел. Если учитывать dynamic в 4-м шарпе, остаются какие-либо преимущества js-а или нет?


да, нет нужды даже в урезанном BCL, на котором даже обычный foreach стоит (foreach-foreach, мы же ведь о языках)
Re[22]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 15:53
Оценка:
Здравствуйте, Цыба, Вы писали:

Ц>>>+ не нужно возиться с делегатами

L>>Не нужно

Ц>возможно, вы имеете в виду, если не ошибаюсь, Action, Func?.. если не вы, значит за вас


но тем не менее не нужно

L>>Гм. Это преимущество js-а?


Ц>я же сказал: одно из


если "var O = {}" — аналог "var O = new Object()", то почему он считается преимуществом? Или вы что-то недоговариваете, или...

Ц>спрашивать меня это сейчас — это всё-равно, что я бы спрашивал вас "ну неужели (x,y)=>x+y*2 лучше function(x,y){return x+y*2;}?"


Не вижу ничего общего, если честно.

Ц>>>что именно слабовато в описании объектов и методов в JS?


Ц>Lloyd?


Тьфу, в шарпе.

L>>Недавно вышел. Если учитывать dynamic в 4-м шарпе, остаются какие-либо преимущества js-а или нет?


Ц>да, нет нужды даже в урезанном BCL, на котором даже обычный foreach стоит (foreach-foreach, мы же ведь о языках)


а js видимо святым духом выполняется и в нем нет ни string-ов, ни Array-ев. В чем ткое коренное отличие-то?
Re[6]: Идеальный веб
От: I am OK  
Дата: 26.05.10 16:01
Оценка:
Здравствуйте, Mystic, Вы писали:

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


V>>Идеальное устройство — это автомобиль. Хочешь — воспринимай его как руль и педали, хочешь — открой капот и там все есть.


M>Не сказал бы, что оно идеально... Особенно, когда возникнет проблема добавить туда гусеничный ход


Это ж разве проблема...

¯\_(ツ)_/¯
И когда они были в поле, восстал Каин на Авеля, брата своего, и убил его.
Re[23]: Идеальный веб
От: Цыба Украина  
Дата: 26.05.10 16:04
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>но тем не менее не нужно


значит, я не знаю чего-то. my bad. могли бы и указать — я бы вспомнил хоть

L>если "var O = {}" — аналог "var O = new Object()", то почему он считается преимуществом? Или вы что-то недоговариваете, или...

Ц>>спрашивать меня это сейчас — это всё-равно, что я бы спрашивал вас "ну неужели (x,y)=>x+y*2 лучше function(x,y){return x+y*2;}?"
L>Не вижу ничего общего, если честно.

а я вижу. причём даже очень ясно. и вы, пожалуй. лукавите, что "не видите". краткий синтаксис ведь — наше всё сегодня. да или нет?

L>>>Недавно вышел. Если учитывать dynamic в 4-м шарпе, остаются какие-либо преимущества js-а или нет?

Ц>>да, нет нужды даже в урезанном BCL, на котором даже обычный foreach стоит (foreach-foreach, мы же ведь о языках)
L>а js видимо святым духом выполняется и в нем нет ни string-ов, ни Array-ев. В чем ткое коренное отличие-то?

где это я говорил, о святых духах? я выше сказал, что в JS значительно меньше "родных" объектов, чем в C# с его огромным BCL
Re[24]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 16:18
Оценка:
Здравствуйте, Цыба, Вы писали:

L>>но тем не менее не нужно


Ц>значит, я не знаю чего-то. my bad. могли бы и указать — я бы вспомнил хоть


Я имел в виду, раз эти делегаты (Func, Action) есть в стандартной библиотеке, то писать их не нужно.

L>>если "var O = {}" — аналог "var O = new Object()", то почему он считается преимуществом? Или вы что-то недоговариваете, или...

Ц>>>спрашивать меня это сейчас — это всё-равно, что я бы спрашивал вас "ну неужели (x,y)=>x+y*2 лучше function(x,y){return x+y*2;}?"
L>>Не вижу ничего общего, если честно.

Ц>а я вижу. причём даже очень ясно. и вы, пожалуй. лукавите, что "не видите". краткий синтаксис ведь — наше всё сегодня. да или нет?


А, так вот ты о чем. Теперь понятно.
На самом деле, синтаксис шарпа не намного длиннее — достаточно new {};

L>>>>Недавно вышел. Если учитывать dynamic в 4-м шарпе, остаются какие-либо преимущества js-а или нет?

Ц>>>да, нет нужды даже в урезанном BCL, на котором даже обычный foreach стоит (foreach-foreach, мы же ведь о языках)
L>>а js видимо святым духом выполняется и в нем нет ни string-ов, ни Array-ев. В чем ткое коренное отличие-то?

Ц>где это я говорил, о святых духах? я выше сказал, что в JS значительно меньше "родных" объектов, чем в C# с его огромным BCL


Часть BCL-я, необходимая для работы C#-а не такая уж и огромная. Возьми тот же SL — 2 метра всего, а функциональности по сравнению с js — море.
Re[25]: Идеальный веб
От: Цыба Украина  
Дата: 26.05.10 16:26
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Я имел в виду, раз эти делегаты (Func, Action) есть в стандартной библиотеке, то писать их не нужно.


ну да, "за вас", т.е. теперь понятно, о чём вы

L>На самом деле, синтаксис шарпа не намного длиннее — достаточно new {};


эммм, разве здесь не объект анонимного типа создаётся, или это new Object()?

L>Часть BCL-я, необходимая для работы C#-а не такая уж и огромная. Возьми тот же SL — 2 метра всего, а функциональности по сравнению с js — море.


будь у меня доступ к SL-ому BCL прямо из JS — я бы не менее эффективно использовал этот BCL из JS
Re[7]: Идеальный веб
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 26.05.10 19:31
Оценка: :)
Здравствуйте, yoriсk.kiev.ua, Вы писали:

YKU>Ну, если вы хорошо так понимаете JS, обьясните чего у него хорошего. По сравнению с C#, например.


JSON-нотация уже многого стоит... Функции являются first-class object'ами. В C# есть два вида функций — "лябмды" и "обычные функции". Но это уже больше тема "статическая типизация vs динамическая"...
[КУ] оккупировала армия.
Re[26]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 19:42
Оценка:
Здравствуйте, Цыба, Вы писали:

L>>На самом деле, синтаксис шарпа не намного длиннее — достаточно new {};


Ц>эммм, разве здесь не объект анонимного типа создаётся, или это new Object()?


Анонимного.

L>>Часть BCL-я, необходимая для работы C#-а не такая уж и огромная. Возьми тот же SL — 2 метра всего, а функциональности по сравнению с js — море.


Ц>будь у меня доступ к SL-ому BCL прямо из JS — я бы не менее эффективно использовал этот BCL из JS


Соневаюсь как-то по поводу "не менее".
Re[8]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 19:46
Оценка:
Здравствуйте, koandrew, Вы писали:

YKU>>Ну, если вы хорошо так понимаете JS, обьясните чего у него хорошего. По сравнению с C#, например.


K>JSON-нотация уже многого стоит...


ну как бы и в шарпе object initializer никто не отменял.

K>Функции являются first-class object'ами.


Что вы в это понятие вкладываете?

K>В C# есть два вида функций — "лябмды" и "обычные функции".


Да ну? И в чем же отличие?
Re[9]: Идеальный веб
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 26.05.10 20:15
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>ну как бы и в шарпе object initializer никто не отменял.


Ну как бы их нельзя получить из сети... Опять же это следствие динамической типизации JS

K>>Функции являются first-class object'ами.


L>Что вы в это понятие вкладываете?

см. ниже

K>>В C# есть два вида функций — "лябмды" и "обычные функции".


L>Да ну? И в чем же отличие?


class Something
{
    private Func<string, string> m_function = x => x; //это поле типа "делегат"
    private string Function(string s)  //это функция
    {
        return s;
    }
}

JavaScript:

var Function = function(x) { return x; };
function Function(x) { return x; }; //эти две записи _полностью_ эквивалентны
[КУ] оккупировала армия.
Re[10]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 20:33
Оценка:
Здравствуйте, koandrew, Вы писали:

L>>ну как бы и в шарпе object initializer никто не отменял.


K>Ну как бы их нельзя получить из сети...


Ну это как бы относится не к языку, а к наличию библиотеки сериализации, не более того.

K>Опять же это следствие динамической типизации JS


Это не следствие динамической типизации ни разу. Это слдествие наличия eval в стандартной библиотеки.

K>>>Функции являются first-class object'ами.


L>>Что вы в это понятие вкладываете?

K>см. ниже

K>>>В C# есть два вида функций — "лябмды" и "обычные функции".


L>>Да ну? И в чем же отличие?


K>
K>class Something
K>{
K>    private Func<string, string> m_function = x => x; //это поле типа "делегат"
K>    private string Function(string s)  //это функция
K>    {
K>        return s;
K>    }
K>}
K>

K>JavaScript:

K>
K>var Function = function(x) { return x; };
K>function Function(x) { return x; }; //эти две записи _полностью_ эквивалентны
K>


Ну и в чем принципиальное отличие? Только в том, что я не могу изменить значение в том случае, когда функция является методом? Дык я и поле могу сделать readonly.
Re[11]: Идеальный веб
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 26.05.10 20:45
Оценка: +2
Здравствуйте, Lloyd, Вы писали:

L>Ну и в чем принципиальное отличие? Только в том, что я не могу изменить значение в том случае, когда функция является методом? Дык я и поле могу сделать readonly.


Принципиальное отличие в том, что в C# это два разных типа объектов, а в JS они неотличимы и полностью эквивалентны
[КУ] оккупировала армия.
Re[12]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 21:14
Оценка:
Здравствуйте, koandrew, Вы писали:

L>>Ну и в чем принципиальное отличие? Только в том, что я не могу изменить значение в том случае, когда функция является методом? Дык я и поле могу сделать readonly.


K>Принципиальное отличие в том, что в C# это два разных типа объектов,


и в чем будет проявляться отличие в случае сипользования public readonly поля типа Func/Action? если абстрагироваться от метаданых сборки и говорить только о языке.
Re[13]: Идеальный веб
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 26.05.10 21:38
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>и в чем будет проявляться отличие в случае сипользования public readonly поля типа Func/Action? если абстрагироваться от метаданых сборки и говорить только о языке.


В том, что в C# они не взаимозаменяемы. И к чему это ограничение readonly? Они _разные_ и точка. Или всё ещё непонятно, о чём я?
[КУ] оккупировала армия.
Re[14]: Идеальный веб
От: Lloyd Россия  
Дата: 26.05.10 22:15
Оценка:
Здравствуйте, koandrew, Вы писали:

L>>и в чем будет проявляться отличие в случае сипользования public readonly поля типа Func/Action? если абстрагироваться от метаданых сборки и говорить только о языке.


K>В том, что в C# они не взаимозаменяемы. И к чему это ограничение readonly? Они _разные_ и точка. Или всё ещё непонятно, о чём я?


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