Здравствуйте, Serginio1, Вы писали:
S>>>·>Java позволяет решать более широкий спектр проблем, твои тоже. Единственное что в голову приходит, этот спектр не покрывает виндовое формоклёпство. S>>> Дежавю.С++ позволяет решать более широкий спектр проблем, а Delphi отстой, только виндовое формоклёпство. S>·>Правильно. И где этот Delphi сегодня? S> Учитывая, что его создатель Хэйлсберг, он переродился в C#
Как шутка — сойдёт. Но если серьёзно — а много ли общего между этими платформами, кроме одного из авторов?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
S>> Учитывая, что его создатель Хэйлсберг, он переродился в C# ·>Как шутка — сойдёт. Но если серьёзно — а много ли общего между этими платформами, кроме одного из авторов?
Мне после Delphi значительно проще было перейти на C#. В C# нет метаклассов, а так архитектура классов практически та же.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Возможно, но это не отменяет того факта что C# изначально копировался с Java, в том числе и с "врождёнными косяками". Тогда уже было очевидно что чистый ОО без параметрического полиморфизма — совсем не айс. S>> Тогда время еще не подошло.
EP>Чем же оно не подошло? Параметрический полиморфизм к тому времени уже долго был в C++, в том числе уже и в международном стандарте.
Когда в С++ появились дженерики? Помню анекдоты про время компиляции исчисляемые сутками. S>>И это далеко не шаблоны.
EP>Само собой, но здесь это не имеет значения, я же не говорю про метапрограммирование.
Говорить можно, что угодно. Другое дело реализация. Net 1 это была по сути бэтта, но дженерики уже были задуманы еще тогда.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, IT, Вы писали:
IT>·>querydsl и аналоги. IT>По-моему это уже обсуждали. Жалкая поделку по сравнению с LINQ.
jooq есть ещё. В общем, конечно, при желании можно что-то нахитроумить в linq, но обычно хватает на всё. Тем более с появлением java8.
А, вообще говоря, по моему опыту, качественное покрытие тестами+голый sql гораздо лучше, гибче и надёжнее всех этих linq/querydsl вместе взятых.
IT>>>Офигеть. Перечитай ещё раз своё заявление: "Позволяет решать более, но не покрывает". Где логика? IT>·>Да, просто вспомнил одно исключение. IT>Ну понятно
И, похоже, единственное исключение.
IT>·>Или ты формоклёпством занимаешься? Я думал web-apps... тогда да, тебе .net нужен. IT>В том числе. Хотя на текущем проекте главным образом тем, где джависты считаю себя неприкасаемыми — Server side.
Да как неприкасаемыми... Там вообще целая свалка — и python, и js, и даже php/perl, вообще все языки там отметились, я однажды bash встречал.
Хотя, если сравнивать только java и .net в server side, то да, технических преимуществ у .net никаких нет.
IT>>>ЗЫ. Вы там у себя сначала перфиксы для интерфейсов придумайте, прежде чем учить жить других. IT>·>А зачем интерфейсам префиксы? Пользователю SomeSystem не нужно знать класс это или интерфейс, а _если понадобится_ (в реальной ситуации довольно редко) всякая грязь типа SomeSystemImpl, то она появится только внутри wiring кода. IT>Ну не надо, так не надо. Когда дорастёте до понимания зачем это, тогда и будем обсуждать.
Доросли и переросли давно уже.
А зачем вы интерфейсы используете и что даёт префикс "I"?
Кстати, в реальном коде, даже если сравнивать по количеству букв, то сам интерфейс обычно упоминается в гораздо большем количестве мест, потенциально неограниченном — везде где интерфейс используется.
Имплементация интерфейса же (класс с префиксом Impl) — обычно ровно в двух местах: создание инстанса в коде wiring и объявление класса.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, IT, Вы писали:
_>>А зачем тогда при таком раскладе языки типа Java/C#? ) Почему не взять более удобные и продуктивные, типа Питона или Руби? ) IT>Все языки фигня по сравнению с Немерле. Давай возьмём его.
Немерле конечно хорош, но всё же он не динамический, так что он уступит в подобных задачах.
_>>"Ряд наблюдателей заметили, что несовместимость реализации от Microsoft была умышленной, с целью замедлить развитие технологии Java" . Вполне похоже на MS... IT>
Здравствуйте, Steamus, Вы писали:
S>Wicket это как ООП в WEB программировании.
Не ООП, а компонентно-ориентированное программирование. И нормальные люди давно уже поняли, что оно для веба подходит фигово.
S> Реально можно легко делать повторно используемые куски страниц.
Да в MVC вобще то тоже не особо сложно. Без всяких компонентов.
Здравствуйте, ·, Вы писали:
·>А, вообще говоря, по моему опыту, качественное покрытие тестами+голый sql гораздо лучше, гибче и надёжнее всех этих linq/querydsl вместе взятых.
Это вот — наглядное свидетельство, что querydsl даже рядом с linq не стоял, а с linq ты опыта работы не имел.
Здравствуйте, IT, Вы писали:
EP>>Возможно, но это не отменяет того факта что C# изначально копировался с Java, в том числе и с "врождёнными косяками". IT>Ещё раз. Тупо скопировать можно только тупую идею. Хорошие идеи перенимаются. К тому же они все просто витают в воздухе. Повторю ещё раз — джава украла у меня идею коллекций.
Так тебе как раз тут и говорят, что создание в 2000-ом году непараметрических коллекций — это тупая идея, которую наверняка скопировали.
Здравствуйте, Serginio1, Вы писали:
EP>>Чем же оно не подошло? Параметрический полиморфизм к тому времени уже долго был в C++, в том числе уже и в международном стандарте. S> Когда в С++ появились дженерики?
Шаблоны появились в начале 90-х, реализация STL была выложена в 1994, а также представлена коммитету по стандартизации. В 1998 вышел первый стандарт.
В Ada дженерики вообще были с конца 70-x. Тот же Степанов в 80-х работал над Ada Generic Library.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Steamus, Вы писали:
S>>Wicket это как ООП в WEB программировании.
НС>Не ООП, а компонентно-ориентированное программирование. И нормальные люди давно уже поняли, что оно для веба подходит фигово.
S>> Реально можно легко делать повторно используемые куски страниц.
НС>Да в MVC вобще то тоже не особо сложно. Без всяких компонентов.
Компонентно-ориентиорованный подход — это действительно, по своей сути, не совсем ООП. Но рядом. Это разбиение некоего логического (визуального) пространства на части, для упрощения их реализации. Человеку свойственно разделять сложную задачу на простые составляющие. И в этом смысле мы всегда стремимся это сделать. Пусть это ещё не базовые сущности предметной области, но это уже части, которые обозримы мозгом и они существенно упрощают процесс разработки.
И это подходит для программирования всегда. Веб, не Веб... без разницы. Разделяй и властвуй — это общий принцип.
Но — да, для ВЕБа такой подход реализуется заметно сложнее в силу запросной природы Веба. Это не значит, что сам подход подходит фигово, это значит, что его сложнее реализовать в хорошем виде. Но реализовав — программировать проще. На мой взгляд, у Викета очень хорошо получилось. Вот, скажем, JSF — менее элегантен. Хотя, я не чекал последние версии. Быть может есть сдвиги.
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, Steamus, Вы писали:
S>> Поскольку деньги девать было всё равно некуда, они зарядили проект .NET. Смысл этой прослойки был не очень понятен, ибо у компании вся ОС в руках, но видимо хотелось мстить, мстить и мстить… Показывая что у нас тут своя Джава, даже получше вашей. Одноосьная правда, но своя. С автоматическим управлением памятью как во всех приличных джавах.
S>Вот про это я и говорил
Здравствуйте, Yoriсk, Вы писали:
C>>На Java построена инфраструктура в Amazon, заметной части Google, Facebook, LinkedIn и т.д. Y>А вот у FaceBook или Tumblr "заметная часть инфраструктуры" построена на php+mysql. Пока дети играют в java+oracle настоящие профи колбасят на php с mysql!
FaceBook одумались и переводят код на Hack, который есть PHP со статическими типами. Но таки .NET там .НЕТ
C>>На .NET построена... эээ.... Что-то ничего не припоминается кроме StackOverflow. Y>То есть StackExchange — он несерьёзный, чисто "песочница с WPF и WinForms". Напомнило старый анекдот про то, как физик доказывал что все нечётные числа простые: 3,5,7,9,11,13... Ну 9 — это явно ошибка эксперимента.
Вот примерно так и есть.
Y>Так и тут: на .net ничего, ну вообще ничего нельзя сделать. Google, LinkedIn, ̶m̶s̶n̶ ̶b̶i̶n̶g̶ ̶m̶i̶c̶r̶o̶s̶o̶f̶t̶ StackExchange, FB... SE — это очевидно погрешность!
Чиго-чиго? В Google, FB, LinkedIn кода на .NET — в пределах статистической погрешности.
Серьёзный код на .NET среди крупных web-систем — только у самих Microsoft и погрешностей типа StackOverflow.
В общем, индустрия ясно сказала .NET куда ему надо идти.
Здравствуйте, IT, Вы писали:
C>>На .NET построена... эээ.... Что-то ничего не припоминается кроме StackOverflow. IT>Ясен пень тебе ничего не припоминается. У тебя же припоминалка с жёским Джава фильтром на входе.
Ну так а можно тонны примеров гига-систем наподобии Google, только на .NET?
Здравствуйте, IT, Вы писали:
IT>·>И зачем тогда такой трешак упоминать при сравнении производительности? IT>Затем, что ядерщики атомщики идут лесом/садом. Для 99.99999999999999999999999999999999% задач производительность о которой ты говоришь нафиг не нужна, а нужно качество инструмента, среды разработки, доки и прочие вещи, которые называются процессом разработки.
И тут рулит Java однозначно и полностью.
Например, как можно закинуть среду .NET на удалённый сервер и в ней запустить код? На Java всё тупо: "rsync jdk-1.8 code.jar remote.server.net:~; ssh remote.server.net ~/jdk-1.8/bin/java -jar ~/code.jar".
Хочется подключиться к удалённой JVM и собрать телеметрию? Не проблема! Пожалуйста: "ssh -X remote.server.net ~/jdk-1.8/bin/jconsole" и смотрим.
Всё удобно и очевидно, можно все примитивы разработки комбинировать в любых вариантах. Нет никаких извратов с установкой окружения, GAC и прочими извратами.
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Чем же оно не подошло? Параметрический полиморфизм к тому времени уже долго был в C++, в том числе уже и в международном стандарте. S>> Когда в С++ появились дженерики?
EP>Шаблоны появились в начале 90-х, реализация STL была выложена в 1994, а также представлена коммитету по стандартизации. В 1998 вышел первый стандарт. EP>В Ada дженерики вообще были с конца 70-x. Тот же Степанов в 80-х работал над Ada Generic Library.
Разве Ada это С++? АДА это отдельная песня, которая мне очень нравится. Сингулярити так в ресёче и осталась.
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Serginio1, Вы писали:
EP>>Шаблоны появились в начале 90-х, реализация STL была выложена в 1994, а также представлена коммитету по стандартизации. В 1998 вышел первый стандарт. EP>>В Ada дженерики вообще были с конца 70-x. Тот же Степанов в 80-х работал над Ada Generic Library. S>Разве Ada это С++?
Я показал что:
а) к моменту выхода C#, параметрический полиморфизм и vector<T>/etc были в mainstream языке лет восемь.
б) а до этого параметрический полиморфизм уже долгое время был в Ada
Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Здравствуйте, Serginio1, Вы писали:
EP>>>Шаблоны появились в начале 90-х, реализация STL была выложена в 1994, а также представлена коммитету по стандартизации. В 1998 вышел первый стандарт. EP>>>В Ada дженерики вообще были с конца 70-x. Тот же Степанов в 80-х работал над Ada Generic Library. S>>Разве Ada это С++?
EP>Я показал что: EP>а) к моменту выхода C#, параметрический полиморфизм и vector<T>/etc были в mainstream языке лет восемь. EP>б) а до этого параметрический полиморфизм уже долгое время был в Ada EP>
Здравствуйте, Cyberax, Вы писали:
Y>>А вот у FaceBook или Tumblr "заметная часть инфраструктуры" построена на php+mysql. Пока дети играют в java+oracle настоящие профи колбасят на php с mysql! C>FaceBook одумались и переводят код на Hack, который есть PHP со статическими типами. Но таки .NET там .НЕТ
Но таки .java там .НЕТ. Поэтому, по вашей логике, повторяю, php — выбор настоящих профессионалов, java явно непригодна для больших нагруженых систем.
C>>>На .NET построена... эээ.... Что-то ничего не припоминается кроме StackOverflow. Y>>То есть StackExchange — он несерьёзный, чисто "песочница с WPF и WinForms". Напомнило старый анекдот про то, как физик доказывал что все нечётные числа простые: 3,5,7,9,11,13... Ну 9 — это явно ошибка эксперимента. C>Вот примерно так и есть.
Ну так и я об этом. Если факты не вписывается в стройную теорию — тем хуже для фактов.
Y>>Так и тут: на .net ничего, ну вообще ничего нельзя сделать. Google, LinkedIn, ̶m̶s̶n̶ ̶b̶i̶n̶g̶ ̶m̶i̶c̶r̶o̶s̶o̶f̶t̶ StackExchange, FB... SE — это очевидно погрешность! C>Чиго-чиго? В Google, FB, LinkedIn кода на .NET — в пределах статистической погрешности.
Чукча явно не читатель. Единую мысль в двух предложениях вы нарезали на части, откоментили первое предложение и умудрились потерять мысль на втором.
Должен отметить, что это весьма крупный полемический успех, я такого давно не видел.
C>Серьёзный код на .NET среди крупных web-систем — только у самих Microsoft и погрешностей типа StackOverflow.
Так он же там несерьёзный. Все эти азуры, бинги, стековерфлоу — это, как вы метко заметили "формочки в WPF". Я, кстати, понимаю, откуда такая ненависть к WPF — java всегда была образцом вырвиглазного gui.