Re[17]: C#5 и Java 8
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.10.12 21:57
Оценка:
Здравствуйте, Steamus, Вы писали:

S>Ну-да нуда... Объявили фичу и тут же внедрили. Проснулись утром, а всё на планете рухнуло.


Как бы жабникам этого не хотелось, но такого с дотнтом не было _ни разу_
[КУ] оккупировала армия.
Re[2]: C#5 и Java 8
От: ArtemGorikov Австралия жж
Дата: 11.10.12 22:08
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Вброс негодный, и опоздавший — дотнет уже давно стал лидирующей платформой, и у вас, как у жабника, данный факт вызывает попоболь, отсюда и топики аналогичные этому

...под виндой.
Re[18]: C#5 и Java 8
От: Steamus Беларусь  
Дата: 11.10.12 22:13
Оценка: +1 -5 :)
Здравствуйте, koandrew, Вы писали:

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


S>>Ну-да нуда... Объявили фичу и тут же внедрили. Проснулись утром, а всё на планете рухнуло.


K>Как бы жабникам этого не хотелось, но такого с дотнтом не было _ни разу_


Ну разумеется, не было. Что может рухнуть от изменений в малораспространённом в серъёзной среде инструменте?
Re[18]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 11.10.12 22:18
Оценка:
K>"Год" (один) и "годы" — это совсем разные вещи. По мне так подход МСа куда прагматичнее — придумали фичу, сваяли к ней демку ака CTP, и всё это отдали комьюнити на растерзание — а потом уже по итогам фидбека фичу либо допиливают до продакшена, либо выпиливают обратно... А в мире жабы сначала года 2 тока пишут спеку на фичу, потом ещё года 2 её имплементируют только затем, чтобы выяснить, что результат "не нужен™"

Не ну я согласен. По затягиванию из действующих игроков, Java на гордом втором месте после C++ Что кстати приводит к тому что MS тоже расслабилось и начинает педалить фичи. В прошлые годы что не релиз .NET, то wow-эффект от того сколько всего нового. А .NET 4.5 в плане новинок наверное самый слабый из всех.
Re[19]: C#5 и Java 8
От: xRAZORx  
Дата: 11.10.12 23:49
Оценка: :)
Здравствуйте, hi_octane, Вы писали:

_>Не ну я согласен. По затягиванию из действующих игроков, Java на гордом втором месте после C++ Что кстати приводит к тому что MS тоже расслабилось и начинает педалить фичи. В прошлые годы что не релиз .NET, то wow-эффект от того сколько всего нового. А .NET 4.5 в плане новинок наверное самый слабый из всех.


Потому что скоро мелкософт сольёт дотнет, как и все свои "прогрессивные" технологии. В следующем шарпе вообще только рослин намечается, если верить вики.
Re[20]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 12.10.12 00:19
Оценка:
RAZ>Потому что скоро мелкософт сольёт дотнет, как и все свои "прогрессивные" технологии. В следующем шарпе вообще только рослин намечается, если верить вики.

Ну если конструктивно обсуждать в предложенном стиле, то я обязан ответить — "а в следующей яве досыпят ещё ключей для gc а все фичи перенесут на более следующую ".

Рослин это вообще-то ещё и выход на, хоть и убогое, но метапрограммирование. Кроме того рослин это промежуточный релиз, который делают как раз для того чтобы следующие фичи быстрее выкатывать. Сейчас даже если компилятор что-то умеет, некоторые штуки не пускают в релиз потому что IDE не успевает их полноценно поддержать.
Re[21]: C#5 и Java 8
От: xRAZORx  
Дата: 12.10.12 00:26
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Ну если конструктивно обсуждать в предложенном стиле, то я обязан ответить — "а в следующей яве досыпят ещё ключей для gc а все фичи перенесут на более следующую ".


Java всегда была консервативной и часто фичи откладывали и реализовывали только проверенные временем. Так что это в порядке вещей.

_>Рослин это вообще-то ещё и выход на, хоть и убогое, но метапрограммирование. Кроме того рослин это промежуточный релиз, который делают как раз для того чтобы следующие фичи быстрее выкатывать. Сейчас даже если компилятор что-то умеет, некоторые штуки не пускают в релиз потому что IDE не успевает их полноценно поддержать.


Рослин должен был быть в 5, но не "шмогла". Вообще в каком он состоянии находится?
Re[22]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 12.10.12 01:06
Оценка:
RAZ>Java всегда была консервативной и часто фичи откладывали и реализовывали только проверенные временем. Так что это в порядке вещей.

А можно список фич, которые откладывали, проверяли временем, и таки выкатывали такие чтоб все аж WOW? А то ощущение такое что они их как студенты откладывают, до сессии. А когда наконец выкладывают, народ ругается

RAZ>Рослин должен был быть в 5, но не "шмогла". Вообще в каком он состоянии находится?


Ну вот что поддерживается в последнем CTP
Автор: nikov
Дата: 18.09.12
, и вот что не поддерживается
Автор: Дьяченко Александр
Дата: 22.09.12
. К студии то что есть можно поставить аддоном на поиграться. Но как не берусь поиграться — всё время мне там всё не нравится
Re[23]: C#5 и Java 8
От: Алексей  
Дата: 12.10.12 01:28
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Но как не берусь поиграться — всё время мне там всё не нравится


А что именно не нравится?
Re[21]: C#5 и Java 8
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 12.10.12 03:44
Оценка: 1 (1) +1
Здравствуйте, hi_octane, Вы писали:

_>Ну если конструктивно обсуждать в предложенном стиле, то я обязан ответить — "а в следующей яве досыпят ещё ключей для gc а все фичи перенесут на более следующую ".


Да ладно тебе — я вот уже десяток лет на дотнете пишу, и всё это время жабники грозятся, что МС на нас на всех забьёт и ты ды, и ты пы. Даже здесь они проявляют свой консерватизм — за 10 лет ни одного нового аргумента так и не придумали
А тем временем почему-то забыли, как в версии 1.4 жаба поломала обратную совместимость потому, что разработчики не асилили ввести контекстные ключевики, и как они изгалялись с ключами компилятора "компилить как в 1.3" vs "компилить как 1.4", в то время как новейший компилятор пятого сишарпа без проблем компилирует код, написанный 10 лет назад под первый сишарп, и этот код без проблем работает. Ну и кто после этого надёжней в плане обратной совместимости?
[КУ] оккупировала армия.
Re[22]: C#5 и Java 8
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 12.10.12 03:49
Оценка:
Здравствуйте, xRAZORx, Вы писали:

RAZ>Java всегда была консервативной и часто фичи откладывали и реализовывали только проверенные временем. Так что это в порядке вещей.


Ага, например какие? Кривые дженерики? Или может быть type inference, который вообще очевидно придумали под воздействием каких-то очень сильных веществ, ибо сделали все наоборот — не справа налево, как во всех языках, имеющих эту фичу, а слева направо Или, наконец, параллельные иерархии для элементарных типов, вместо того, чтобы сделать lifted операторы? На жабные замыкания вообще без слёз смотреть нельзя
[КУ] оккупировала армия.
Re[19]: C#5 и Java 8
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 12.10.12 03:52
Оценка: +1
Здравствуйте, Steamus, Вы писали:

Вы бы уже определились — или "всё на планете рухнуло", или "малораспространённый в серъёзной среде инструмент"? Одновременно не бывает. Ох, уж эти жабники
[КУ] оккупировала армия.
Re[19]: C#5 и Java 8
От: Sinix  
Дата: 12.10.12 05:29
Оценка: +1
Здравствуйте, hi_octane, Вы писали:

_>А .NET 4.5 в плане новинок наверное самый слабый из всех.


Мне это очень напоминает холивары пятилетней давности: "В третьем шарпе только linq и какие-то малопонятные лямбды. Кто их будет использовать?!!"
Re[22]: C#5 и Java 8
От: Sinix  
Дата: 12.10.12 05:46
Оценка:
Здравствуйте, xRAZORx, Вы писали:

RAZ>Рослин должен был быть в 5, но не "шмогла". Вообще в каком он состоянии находится?

Не, я понимаю что холивар, НЕНАВИСТЬ и всё такое, передёргивать зачем?

Вот
Автор: Sinix
Дата: 02.10.11
стек технологий, которые затрагивает roslyn. Там работы явно не на два года, поэтому выпустить его вместе с vs2012 невозможно в принципе, об этом говорилось начиная с самых первых презентаций.

RAZ>только рослин

Roslyn по сути — это унифицированное api для работы с AST почти на всех уровнях, начиная от редактора кода в IDE и заканчивая хостингом скриптов у себя в приложении. Code rewrite, AOP, рефакторинг, code analysis, script hosting — ещё примеры нужны?

Даже если будет "только" roslyn — нам и его за глаза хватит
Re[22]: C#5 и Java 8
От: Sinix  
Дата: 12.10.12 05:55
Оценка:
Здравствуйте, koandrew, Вы писали:

K>как новейший компилятор пятого сишарпа без проблем компилирует код, написанный 10 лет назад под первый сишарп, и этот код без проблем работает.

Справедливости ради, всякая экзотика связанная с выведением типов/разрешением методов слегка гуляет от релиза к релизу. Вот например, breaking change в c#4
Автор: nikov
Дата: 20.03.10
.
Re[20]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 12.10.12 10:41
Оценка: +1
_>>А .NET 4.5 в плане новинок наверное самый слабый из всех.
S>Мне это очень напоминает холивары пятилетней давности: "В третьем шарпе только linq и какие-то малопонятные лямбды. Кто их будет использовать?!!"

Ну linq как раз понятный и чуть более продуманный чем async/await получился. linq можно натянуть на всё что угодно, из-за чего выросли linq to sql, linq to entities, linq to xml/dom, linq to regular expressions и ещё Rx немножко. А с async/await всё хуже. Хоть await и можно на всё что реализует IAwaitable, но роспись в конечный автомат делает жёсткий хардкод на System.Threading.Tasks, и никаких средств для исправления ситуации нету
Re[21]: C#5 и Java 8
От: Sinix  
Дата: 12.10.12 11:44
Оценка:
Здравствуйте, hi_octane, Вы писали:

_>Ну linq как раз понятный и чуть более продуманный чем async/await получился.

Ну да, чтобы получился linq, сначала нужны были генерик-версии IEnumerable<T> + синтаксический сахар для порождения новых IEnumerable<T> (yield return).

С await у нас есть сам интерфейс (Task<T>/ICriticalNotifyCompletion/INotifyCompletion), синтаксический сахар для порождения новых async-методов, а вот библиотеки/сахара для их компоновки уровня линка пока не просматривается (RX всё-таки работает с повторяющимися последовательностями).

_>l Хоть await и можно на всё что реализует IAwaitable, но роспись в конечный автомат делает жёсткий хардкод на System.Threading.Tasks, и никаких средств для исправления ситуации нету

Я не сталкивался с необходимостью возвращать что-то кроме Task, из async-метода, так что пока не вижу в этом проблемы. Можно сценарий, когда такой хардкод реально усложняет жизнь?
Re[22]: C#5 и Java 8
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 12.10.12 13:14
Оценка: :)
Здравствуйте, Sinix, Вы писали:

S>Я не сталкивался с необходимостью возвращать что-то кроме Task, из async-метода, так что пока не вижу в этом проблемы. Можно сценарий, когда такой хардкод реально усложняет жизнь?


Какой нафиг сценарий? Ты форумом не ошибся? Здесь люди за идею воюют!
[КУ] оккупировала армия.
Re[22]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 12.10.12 13:16
Оценка: 2 (1)
S>Я не сталкивался с необходимостью возвращать что-то кроме Task, из async-метода, так что пока не вижу в этом проблемы. Можно сценарий, когда такой хардкод реально усложняет жизнь?

Есть клиентский код. Ему про существование каких-то ресурсов, шедулеров и прочих и знать-то не положено, всё равно забудут. async/await так и просится. Но async создаёт задачу и сразу делает ей start, никого не спросив. Ресурса нет, всё валится. Решение в лоб — заворачивать в свой await ресурса, а потом вызов клиентского метода обламывается из-за того что мы не знаем запустит клиент задачу для которой нужен ресурс, или запустит другую которой не нужен, а может вообще ничего не запустит.

Или вот захотелось дерево запущенных задач прямо в программе видеть. Казалось бы пишешь свой шедулер, держишь свой список задач, рисуешь асинхронно, какие проблемы. А вот надо ещё имена задач, имена методов внутри задач, и кой-какую статистику по времени работы собрать. Облом — все порождают только Task из AsyncTaskMethodBuilder, инфы 0, даже поля Tag не сделали. Дали бы возможность хотя-бы порождать MyTask, я бы нашёл через что выкрутиться, а так пичалька
Re[24]: C#5 и Java 8
От: hi_octane Беларусь  
Дата: 12.10.12 13:25
Оценка:
А>А что именно не нравится?

Да я же написал — всё Работать с ним тоже самое что сейчас работать с Expression Tree. Завязанность на C# и VB.NET захардкожена. Адская, просто несуразная, многословность даже для простых вещей. Как берёшь пример в руки — полно работы со строковыми именами, типа symbol.Name == что-то, и другими пакостями.

Да по сравнению с тем что было, точнее с тем что ничего не было, — Roslyn это сто процентов шаг вперёд, но такое впечатление что они прямо с нуля изобретают, будто до них и не было ничего. Слепили бы на скорую руку из динамика или expression tree некое подобие квазицитирования, и на порядок более мощная технология получилась бы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.