Re[2]: Расскажите профессионально, чем Java разработка быст
От: astral_marine  
Дата: 01.06.07 08:08
Оценка: +2 -11 :))
Здравствуйте, Baudolino, Вы писали:

B>1. Реальная, а не условная стандартизация (в отличие от Java стандарт С++ допускает очень много вольностей).


Да, стандарт С++ более свободен и открыт для изменений. Любой разработчик компиляторов может вводить свои локальные вкусности. И это дает свободу выбора: хочеш пиши межплатформенный код для разных компиляторов, хочеш пиши код с жесткой привязкой к операционной системе, юзая все возможности ее без ограничений. Скажем, спрятать приложение в SystemTray в С++ это сущий пустяк, а вот в Java надо уже заморачиватся. Без гимора там не поюзаеш специфичиские для платформы вещие, а в С++ это делается легко и непренужденно.
Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.

B>2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).


Java прост, прост до примитивности, в этом ему до С++ действительно далеко. А хорошо ли это? Если задачи простые — то да! А вот если сложные, то тут можно уже поспорить, хотя бы взять ту ситуацию с макросами, что я описал выше. Пару строчек сложно кода бывают лучше чем пару сотен строчек примитивного кода.
Да еще вот дженерики сдвинули Java не в сторону упрощения самого языка.

B>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.


Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом. Информация о типе нарушает принцыпи объектно ориентрированного программирования — инкапсуляцию. К сожалению эта зараза уже добралась в С++ в виде библиотеке boost::typeof, хотя не в таких масштабах как в Java и .NET.

B>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).


А в С++ этого нет? Вы, видимо, полохо знаете С++. STL, boost, wxWidgets, Qt, lib**** — это только начальный список межплатформенных бибиотек. А вот сколько есть межплатформенный библиотек для работы с XML, базами данных, сетью, потоками уже не перечесть.

B>5. В связи с 2, упрощается создание мощной среды разработки. Анализ и рефакторинг кода, управление зависимостями, возможности поиска и динамической подсветки — уже существующие возможности в Eclipse или Intellij IDEA перечислять можно долго. Ни одна среда разработки для С++ и близко не подобралась к такому.


На вкус и цвет приятеля нет. Я считаю, что Visual Studio куда намного удобней Eclipse и Intellij IDEA. Это ваше утверждение очень спорно.

B>6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.


В свое время я изучил Basic, Pascal, C++ и Java. И мне необходимо было выбирать какой язык я буду использовать. Я выбрал С++ поскольку он позволяет создавать быстрые приложения со сложной логикой относительно просто. Недостатком С++ является относительная сложность синтаксиса и отсутствие дизайнеров, это фактичекски закрывает этот язык для непроффесионалов.

Сабж меня тоже очень интересует. Я почитал посты в этой теме, но так и не нашел причин, которые могли бы увеличить мою производительность на Java. Язык проще? А меня и так на С++ никто не заставляет использовать сложные вещи. И я с ужасом представляю переписанный парсер с ипользованием boost::spirit на Java.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:30
Оценка: 1 (1) +3 :))) :))) :))
Здравствуйте, Константин Л., Вы писали:

КЛ>Если бы ты его читал, то знал бы, что там не только про синтаксис


Я читал и подтверждаю. Не только. Еще страуступ много времени уделил истории формирования грабель в С++ и их стандартизации.

Еще есть волшебник Александреску который очень познавательно писал о том как С++-ные шаблоны можно превратить в функциональный язык программирования работающий во время компиляции и какие внеполовые извращения из этого получаются. Те у кого не опухает мозг в конце тоже сильно смеются. Те кто до этого изучал Лисп ржут все время чтения книги.

КЛ>зы: сам не читал, но представление имею


зы: сам читал и смеялся.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Расскажите профессионально, чем Java разработка быс
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.06.07 05:22
Оценка: 5 (3) :))) :)))
Здравствуйте, OdesitVadim, Вы писали:

VD>>Повторяю последний раз. Вопросы сформулированы не корректно.

OV>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
Не могу удержаться:

Ему дали тест на проверку умственных способностей. Первая задача по математике была такой: порт Смит на 100 миль выше по течению, чем порт Джонс. Скорость течения — 5 миль в час. Скорость лодки — 10 миль в час. За какое время лодка доберется из порта Смита в порт Джонс? За какое время она проделает обратный путь?
Лоуренс тут же понял, что задачка с подвохом. Нужно быть полным идиотом, чтобы предположить, будто течение увеличивает и уменьшает скорость лодки на 5 миль в час. Ясно, что 5 миль в час — всего лишь средняя скорость. Течение быстрее в середине реки, медленнее — у берегов; более сложные вариации следует ожидать на излучинах реки. По сути это вопрос гидродинамики, который решается с помощью хорошо известных дифференциальных уравнений. Лоуренс нырнул в задачку и быстро (или так ему казалось) исписал вычислениями десять листов. По ходу он осознал, что одна его посылка вместе с упрощенным уравнением Навье-Стокса приводит к очень занятной семейке частных дифференциальных уравнений. Он не успел очухаться, как доказал теорему. Если это не подтверждает его умственный уровень, то что тогда подтверждает?
Тут прозвенел звонок и собрали работы. Лоуренс сумел спасти черновик. Он отнес листок в казарму, перепечатал на машинке и отправил в Принстон одному из наиболее демократичных преподавателей математики, который тут же договорился о публикации в парижском журнале.
Лоуренс получил два свежих бесплатных оттиска несколько месяцев спустя, при раздаче почты на борту линкора «Невада». На корабле был оркестр, и Лоуренсу поручили играть в нем на глокеншпиле: тест показал, что ни на что более умное он не способен.

... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Расскажите профессионально, чем Java разработка быс
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 03.06.07 05:29
Оценка: 34 (5) +1 -2
Здравствуйте, VladD2, Вы писали:

OE>>головная боль тут-же возвращается, как только нужно передать копию объекта

VD>И в чем тут головная боль? Сложно написать метод Clone?

всем ссылочным полям и полям полей объекта до десятого колена? так же просто как завернуть все указатели в какой-нибудь smart_ptr и перестать "контролировать время жизни объектов вручную"

VD>И если это вдруг действительно головная боль, то куда она девается если изчезает GC?


все передается по-значению, копию имеем автоматом.

Но ты прав, головная боль от исчезновения GC никуда не девается, как впрочем и от его появления, просто переходит из одного полушария в другое, взять хотя бы классические примеры:

public static void Main() 
{ 
   System.Threading.Timer t = new System.Threading.Timer(TimerCallback, null, 0, 2000); 
   Console. ReadLineO; 
   t.DisposeO; // surprise! без этой строки GC может снести t в любой момент после создания
}

и

   System.Windows.Forms.Timer t = new System.Windows.Forms.Timer();
   t.Tick += t_Tick;
   t.Interval = 1000;
   t.Start();

   t.Enabled = false; // surprise! без этого GC никогда не тронет первый таймер и t_Tick не перестанет срабатывать
   t = new System.Windows.Forms.Timer();
   t.Tick += t_Tick1;
   t.Interval = 1000;
   t.Start();


Так что мы имеем с GуCя? вместо простого знания, что память не освободится, пока мы ее не освободим и связанной с этим (немаленькой, согласен) головной боли имеем необходимость знания нетривиальных алгоритмов GC, особенностей реализации в этом отношении объектов, и surprise! все еще необходимое ручное управление освобождением памяти, правда теперь уже в виде исключений, но голова от этих исключений болит ничуть не меньше чем от правил
... << RSDN@Home 1.2.0 alpha rev. 679>>
Re: Расскажите профессионально, чем Java разработка быстрее
От: Baudolino  
Дата: 31.05.07 17:32
Оценка: 1 (1) +7
Здравствуйте, flashinc, Вы писали:

F>Здравствуйте,

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
F>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
F>Говорят что разработка на java быстрее и дешевле. Так ли это?

1. Реальная, а не условная стандартизация (в отличие от Java стандарт С++ допускает очень много вольностей).
2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).
3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.
4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).
5. В связи с 2, упрощается создание мощной среды разработки. Анализ и рефакторинг кода, управление зависимостями, возможности поиска и динамической подсветки — уже существующие возможности в Eclipse или Intellij IDEA перечислять можно долго. Ни одна среда разработки для С++ и близко не подобралась к такому.
6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:02
Оценка: +1 :))) :)))
Здравствуйте, Cyberax, Вы писали:

C>А так... Некоторые вещи на С++ делаются не медленнее, чем на Java.


Несоменно. Я даже знаю отличный пример — баги.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: DPH Россия  
Дата: 01.06.07 10:18
Оценка: 9 (4) +2
Здравствуйте, flashinc, Вы писали:

F>Мне интересно, насколько будут приведены реальные примеры,

F>насколько реальность отличается от обещаний.

У меня была возможнось сравнить на одной задаче скорость работы Java программистов и C++
Задача: реализация некоторого простого UI в браузере, 2004 год.
С одной стороны: Applet, AWT, JBuilder (т.е. наихудшее для Java разработки сочетание)
два программиста сделали за 2 месяца, работает быстро и надежно.
С другой стороны: ActiveX + IE, MS VS
два программиста делали три месяца, результат работает быстро, но в зависимости от
версии IE и погоды на марсе падает.

Общая зарплата у сишной группы была чуть больше, так что реальная эффективность — где-то 2 к 1.

Второй пример.
Задача: довольно сложный UI и требование "программа должна смотреться профессионально", 2006 год
1 группа: 2 C++ программиста, MS VS (опыт работы с VS в разработке интерфейсов — более года)
Через три месяца есть отдельные окошки, все вместе смотрится ужасно, возможности быстро добавлять логику — нет.
2 группа: 2 Java программиста (один, правда, segnor), Eclipse RCP (опыт работы с RCP — 0)
Через три недели реализована вся функциональность, сделанная первой группой, приложение легко модифицируется,
выглядит вполне профессионально.

Зарплаты обеих групп (в месяц) одинаковы. Реальная эффективность — где-то 5 к 1 в пользу Java,
по результатам опыта было принято решение закрыть разработку на VC и продолжать на Java.
Так как Eclipse RCP использует нативные компоненты, скорость работы приложений одинаковая (эклипс даже побыстрее).

==============
Конечно, тут есть тонкости — тот же Eclipse RCP позволяет очень быстро делать многое, но если хочется
экзотики — то увы, ее делать будет очень дорого, не дешевле C++
Время разработки аналогичного функционала на Swing будет больше, месяца два ушло бы (с использованием
дополнительных библиотек, понятное дело), но зато можно делать все. Ну и скорость работы может быть заметна для пользователей.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:02
Оценка: 3 (1) +1 -1 :)))
Здравствуйте, Дмитрий В, Вы писали:

ДВ>Одна контора решила привнести в джаву специфичные моменты для конкретной ОС, так её потом по судам затаскали


Это ты выдумываешь. Попробуй найти ссылки...

Рельно было немного не так. Одна контора пришла к Сану и предложила свои расширения. Причем не специфичные для ОС, а просто удобные (события, делегаты и т.п.). Сан сказал, что он любит ООП так что каня на камне от этих идей не оставит. Тогда другая контора создала такую же яву как у других но другую (с). А потом Сан писал открытые письма, чтобы та контора не выкидывала Яву из своих операционок.

В итоге мы получили кокнурирующие продукты с бизкой идеологией. Что вполне не плохо.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Константин Л. Франция  
Дата: 02.06.07 20:36
Оценка: -1 :))) :))
Здравствуйте, VladD2, Вы писали:

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


F>>Еще там много по stl. Что характерно — часто с пояснениями, почему сделано именно так и чем это хорошо.


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


Я понял! Для тебя с++ как баба, которая не дала. Так и хочется ее после этого вспомнить добрыми словами
Re[2]: Расскажите профессионально, чем Java разработка быст
От: Glоbus Украина  
Дата: 01.06.07 09:06
Оценка: +3 -2
Здравствуйте, Baudolino, Вы писали:

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


F>>Здравствуйте,

F>>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
F>>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
F>>Говорят что разработка на java быстрее и дешевле. Так ли это?

B>1. Реальная, а не условная стандартизация (в отличие от Java стандарт С++ допускает очень много вольностей).

Агащас.

B>2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).

Не понимаю, как средства автоматического управления памятью помогут в написании десктопных аппликух.

B>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.

А к десктопным аппликухам как это относится? Я вот на плюсах пишу ни один год и мне пока еще ни разу не требовалось во время исполнения создавать новые типы.

B>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).

А что, qt какой-нить на плюсах уже отминили?

B>5. В связи с 2, упрощается создание мощной среды разработки. Анализ и рефакторинг кода, управление зависимостями, возможности поиска и динамической подсветки — уже существующие возможности в Eclipse или Intellij IDEA перечислять можно долго. Ни одна среда разработки для С++ и близко не подобралась к такому.

Да ладно уж там — и близко... Теже мс-вижы — весьма удобная среда.

B>6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.

В разы это во сколько — 2, 3, 4? Что, реально при переходе на жабу проект вместо 12 месяцев делался за 4 или за 3? Полная фигня.

З.Ы. На самом деле, языки типа С++, жабы, дотнета и т.п. — это просто гаечные ключи, которые применяются при решении задач — все эти ключи умеют крутить гайки. при том одни лучше крутят одни гайки, другие лучше крутят другие, плюсы например хорошо крутят все гайки, но для пользования этим ключам нужно иметь может чуть более высокую квалификацию, чем для других. И все эти разговоры типа "производительность после перехода с плюсов на жабу повысилась в разы" — профанация чистейшей воды. Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.
Удачи тебе, браток!
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Lloyd Россия  
Дата: 01.06.07 09:44
Оценка: +2 :)))
Здравствуйте, Glоbus, Вы писали:

G>Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.


Дык, оно так уже и есть
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: Расскажите профессионально, чем Java разработка быс
От: flashinc  
Дата: 01.06.07 19:25
Оценка: -5
IT>Например, форма подписывается на события от какого-либо объекта, который живёт дольше формы. Если форму не отписать от событий объекта, когда она уже не нужна, то она будет болтаться в памяти пока не умрёт объект. А с ней вместе будут жить и объекты, которые она использует. Типичная и довольно трудно уловимая ошибка, которую можно поймать только если ты вообще в курсе о такой проблеме.

Да, вот и весь автоматический memory management.... Остальные "приколы" можно найти на sun bug parade по поиску "leak".

Вообще, во многом восприятие той или иной "фичи" базируется на психологии. Смотря как подать. Memory-management в Java подан как friendly, safe, и т.д..

Но может быть и такая точка зрения, что "Java — это платформа с постоянно текущей памятью, где memory leak узаконен. Просто периодически специальный механизм устраняет эти утечки." И согласитесь, ничто не мешает быть этой точке зрения законной, здравой.



Дискуссия в конечном итоге свалиается в обсуждение языковых или платформенных фич.
Приводятся примеры вида "взяли" N java программистов и M c++ программистов. У N Все работало, в то время как у M все падало итд.. Это хорошо, но не является доказательством чего-либо. Все это не то.

Хочется услышать мнение касаемо именно технологии Java. Неоспоримые факты. Я хочу узнать правду, сильные и слабые стороны — насчет скорости и стоимости разработки итд.

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

Это не Holy War. Хочу четко знать сильные стороны Java. Помогите мне в этом.
Пока что (вследствие бедноты знаний) могу перечислить только слабые стороны платформы.

Проприетарность платформы (доказаная судебными притязаниями)
Очень медленное и слабое развитие (более 10 лет уже минуло) — причем развитие было инициировано и произведено в 99% случаев community, а не Sun.
Невозможность контролировать политику использования памяти и отсюда — Ненормальные (оторваные от жизни) требования к памяти.
Низкая производительность (compared to...)
Наличие только одной парадигмы программирования — OO
Высокий уровень абстракции и как следствие изолированность от нижележащеего слоя абстракции (платформы/OS).
Низкая полиморфность данных/вызовов (плата за safety).
Существуют и другие провалы в других областях, обещаных, но не реализованых. Так например, провал апплетов и "Internet applications" во многом обеспечен самой sun — отсутствие механизмов взаимодействия апплетов с браузером/os и отсюда функционирования апплетов только в качестве бесполезных визуальных "игрушек". Это отчасти покрыто в java 5,6. Но когда?

Некоторые плюсы мне рассказали (стандартизация), но там не все так радужно.
В осное своей это не проблемно-ориентированные frameworks. Куча всего, но реально, в большинстве случаев, это абстрактный run-time "сахар", россыпь классов. Его использоввание не решает конечную проблему, как это принято в среде c++.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Baudolino  
Дата: 01.06.07 10:09
Оценка: 2 (2) +2
_>Да, стандарт С++ более свободен и открыт для изменений. Любой разработчик компиляторов может вводить свои локальные вкусности. И это дает свободу выбора: хочеш пиши межплатформенный код для разных компиляторов, хочеш пиши код с жесткой привязкой к операционной системе, юзая все возможности ее без ограничений. Скажем, спрятать приложение в SystemTray в С++ это сущий пустяк, а вот в Java надо уже заморачиватся. Без гимора там не поюзаеш специфичиские для платформы вещие, а в С++ это делается легко и непренужденно.
Холивар разводите? В Java SE 6 есть поддержка System Tray. Но это так, к слову. Все сказанное вами не имеет отношения к скорости разработки, а есть предмет отдельного разговора. Универсальных платформ для разработки не существует, поэтому вполне естественно, что есть задачи, для которых С++ подходит лучше всего. Под конкретную задачу должна выбираться конкретная платформа.

_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.

_>Java прост, прост до примитивности, в этом ему до С++ действительно далеко. А хорошо ли это? Если задачи простые — то да! А вот если сложные, то тут можно уже поспорить, хотя бы взять ту ситуацию с макросами, что я описал выше. Пару строчек сложно кода бывают лучше чем пару сотен строчек примитивного кода.

Давайте тихо замнем тему с макросами, пока не набежал народ. Если вы под сложной задачей подразумеваете написание мозгодробительного выражения — пожалуйста, сколько угодно. На этом, правда, сложно заработать. Работодатели и заказчики больше любят понятный, легко поддерживаемый и гибкий код, написанный в рамках сроков и бюджета, и на 100% соответствующий поставленной задаче. "Понятный" в данном случае означает, что код может быть прочитан и понят любым разработчиком знакомым с синтаксисом языка, без необходимости долго разбирать, что намутил его предшественник. "Поддерживаемый" означает, что время устранения ошибки должно быть минимально. А для этого код должен быть отлаживаемым и хорошо структурированным. Ваши хваленые макросы в эту концепцию не вписываются, уж извините. То же касается и гибкости: инкапсуляция, полиморфизм и наследование нам даны для того, чтобы всегда иметь возможность сделать с кодом что-то, что не планировалось изначально. Случай из моей практики: некая компания пишет софт для обработки трафика с коммутаторов сотовой связи. Софт для коммутатора А и коммутатора Б отличается процессом сборки. Если определен макрос С, то у метода Foo::bar() компилируется одна ветка, если не определён, то другая. Представьте себе мой "восторг", когда меня попросили написать программу, которая работает с обоими типами коммутаторов. Объем кода был около десятка мегабайт.

_>Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом. Информация о типе нарушает принцыпи объектно ориентрированного программирования — инкапсуляцию.

Мне кажется вы недостаточно хорошо владеете ООП. В общем случае инкапсуляция — это сокрытие информации о внутренней структуре некоторой сущности. Это никак не противоречит возможности во время выполнения получить информацию о внешнем интерфейсе этой сущности. Привет "специалистам, которые занимаются рефакторингом" (это в С++, видимо, нужно быть специалистом, чтобы заниматься рефакторингом?).

_>А в С++ этого нет? Вы, видимо, полохо знаете С++. STL, boost, wxWidgets, Qt, lib**** — это только начальный список межплатформенных бибиотек. А вот сколько есть межплатформенный библиотек для работы с XML, базами данных, сетью, потоками уже не перечесть.

ANSI С++ я знаю хорошо, так же как и многие библиотеки Qt, MFC и им подобные функционально проигрывают Eclipse RCP/EMF/GEF. Работой с XML или сетью вы никого не удивите, потому что в Java это входит в стандарт уже очень давно. Про работу с базой данных будете рассказывать, когда на С++ появится ORM уровня Hibernate.

_>На вкус и цвет приятеля нет. Я считаю, что Visual Studio куда намного удобней Eclipse и Intellij IDEA. Это ваше утверждение очень спорно.

Это ВАШЕ утверждение спорно. Речь идет не о личных предпочтениях, а о возможностях, которые IDE предоставляет разработчикам. Я-то как раз привел примеры функциональности, в которых упомянутые мной IDE сильно выигрывают.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:38
Оценка: 1 (1) +3
Здравствуйте, aka50, Вы писали:

A>А в Java есть аннтоации и постпроцессинг (в купе с рефлекшином) это дает возможности реализовать вещи (типа AOP) которые в C++ не реализуемы (или очень сложно с кучей условностей).


В С++ есть метапрограммирование на шаблонах с помощью которого реализуемо очень многое. Но получается через зад автокеном.

Реально метапрограммирование отлично реалзовано только в Лиспе, Немерле, Скриптах вроде Питона и Руби и еще нескольких нестандартных расширениях мало известных публике. Остальные языки в этой области полные нули. Ява тут не исключение. От того она и обрастает фрэймворками в которых ява уже почти не присутствует, а вместо нее во всю используются кривейшие DSL-и созданные на базе XML. В прочем, С++ тут тоже все совсем печально.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Расскажите профессионально, чем Java разработка быстрее
От: c-smile Канада http://terrainformatica.com
Дата: 01.06.07 19:42
Оценка: +1 -3
Здравствуйте, flashinc, Вы писали:

F>Здравствуйте,

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
F>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
F>Говорят что разработка на java быстрее и дешевле. Так ли это?

F>большая просьба! Не устраивать неинформативный флейм Java vs C++ !!!


Посылка неправильная. Java разработка не быстрее чем разаработка на X, Y, Z.
Ровно столько же занимает (9 месяцев в среднем на проект). Просто задачи разные для Java и для X, Y, Z.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 02.06.07 16:44
Оценка: 6 (1) :))
Здравствуйте, VladD2, Вы писали:

VD>VladD2 умеет создавать быстрые приложения и на .NET...


И давно?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Расскажите профессионально, чем Java разработка быстрее
От: Cyberax Марс  
Дата: 31.05.07 18:43
Оценка: 2 (2) +1
Здравствуйте, flashinc, Вы писали:

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??

В основном тем, что Java не нужно изучать в течение 3 лет для того, чтобы не делать глупых ошибок.

А так... Некоторые вещи на С++ делаются не медленнее, чем на Java.
Sapienti sat!
Re: Расскажите профессионально, чем Java разработка быстрее
От: tavr  
Дата: 01.06.07 09:23
Оценка: 1 (1) +2
Здравствуйте, flashinc, Вы писали:

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??

F>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
десктопные приложения не являются главным "коньком" явы
история развития языков программирования начиналась с десктопных приложений, и на текущий момент почти все языки программирования имеют средства для их быстрой разработки. Поэтому пишите на том языке и с использованием тех библиотек, которые хорошо знаете — это и есть самая бысрая разработка.

F>Говорят что разработка на java быстрее и дешевле. Так ли это?

ява позволяет отвлечься от низкоуровневых вещей, сосредоточась на самом бизнес-просессе
для меня лично стало открытием. когда я на яве мог писать код целый день, под вечер в первый раз запустить пиложение и получить именно тот результат, на который рассчитывал, без единой баги
Re[12]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 11:39
Оценка: 1 (1) +1 :)
Здравствуйте, IT, Вы писали:

IT>На самом деле всё, конечно же, гораздо глубже. GC кроме просто подбора мусора ещё решает пару других задач:


IT>- устраняет проблему циклических ссылок;

IT>- делает практически бесплатным создание короткоживущих объектов;

Главное, что устраняет GC — это необходимость контролировать время жизни объектов вручную. Это приводит к устранению проблем с передачей обектов в/из функций. В общем, пропадает огромная головная боль и постоянный источник ошибок.

Я тут вынужден был написать несколько строк на Дельфи 7. Это привело к тому, что я вспомнил все "прелести" неуправляемого мира (в дельфи еще и деструкторов автоматичеких нет). Скажу честно — это ужасно. Поубивал бы тех дебилов которые детей учат на Дельфи программировать в институтах.

IT>Как минимум, это позволяет использовать принципиально новые подходы к проектированию структур данных.


Эти новые подходы еще в 60-ых применялись в Лиспе .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Didro Россия home~pages
Дата: 02.06.07 21:07
Оценка: :)))
Здравствуйте, Константин Л., Вы писали:

КЛ>Здравствуйте, VladD2, Вы писали:


КЛ>[]


VD>>Да он вообще поживет, так как есть не мало контро готовых платить в 10 раз болше за выигрышь в памяти. Только это особый рынок. А 3D уже очень скоро пересядит с С++. Ну, разве что отдельные оптимизации будут на нем писаться. Процесс уже пошел.

КЛ>с++ == Герострат

VD>>Процесс уже пошел.

Точно — уровень абстрактности С++ уже стремительно падает

Windows Vista предоставляет разработчикам новые и интересные технологии, включая WWF,WCF,WPF. Фактически в Windows Vista™ было представлено настолько много технологий, совместимых с .NET, что становится сложно отметить все новые возможности и функции, которые разработчики машинных кодов на C/C++ могут использовать в своих приложениях.

В этой статье мы рассмотрим некоторые новые возможности Windows Vista, которые затрагивают разработчиков машинных кодов на C/C++.

здесь
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Sinclair Россия https://github.com/evilguest/
Дата: 01.06.07 09:37
Оценка: 3 (1) +1
Здравствуйте, flashinc, Вы писали:
F>Дайте примеры библиотек чтобы сразу уж знать
Дело не в библиотеках. Дело в том, что пока комитет С++ решал, стоит ли стандартизовать коллекции, в Java стандартизовали сетевой ввод-вывод, поддержку HTTP, HTML, почты, XML, XSL, криптографии, компрессии, persistency и еще очень-очень много чего. Я даже список стандартов привести затрудняюсь.
И практически для каждого есть открытая reference реализация и несколько штук коммерческих. А это означает, что ты не должен мучиться и выбирать, к примеру, какого криптопровайдера использовать, а просто опираешься на стандарт. И потом выбираешь одного из десятка взаимозаменяемых провайдеров, принимая решение на основе всяческих разных требований. Плюсам такая роскошь не снилась и в эротическом сне. Библиотеки слабо совместимы между собой, а уж взаимозаменяемости ты не найдешь.

З.Ы. Писать быстрее всего на том, что хорошо знаешь. Независимо от количества библиотек и наличия рефлекшна.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:38
Оценка: 1 (1) :)
Здравствуйте, tavr, Вы писали:

T>- препроцессинг исходного кода лучше делать не средствами самого языка а внешними инструментами


С этого момента по подобнее, если можно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 01.06.07 02:20
Оценка: +2
Здравствуйте, flashinc, Вы писали:

F>Что именно удешевляет разработку.

Сокращение времени разработки (за счет большего времени на функционал, нежели борьбу с хитрым компилятором) и отладки (проблемы работы с памятью в Java тоже имеют место, но носят не такой критический характер, как в неуправляемых языках).

F>Ну вот пример — если нужно сляпать формочку с полем ввода и кнопкой то чем java будет быстрее чем взять visual basic или delphi?

Ничем. С начальными условиями: не знаю Java, не знаю Delphi — эту задачу быстрее решить на Delphi. Я серьезно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[3]: Расскажите профессионально, чем Java разработка быст
От: mrozov  
Дата: 01.06.07 09:45
Оценка: +2
Здравствуйте, flashinc, Вы писали:

F>Вы знаете, я все-так много слышу про синтаксис. И еще много "генерализации", типа "много библиотек", "устоявшийся фреймворк"... А таки можно конекртное услышать?

F>Интересует вообще не сервер и не "бизнес". Каких библиотек? Чем Java фреймворк лучше
F>тех же скажем VCL? Чем он "устоявшееся"? Или лучше, чем какая-нибудь Crt, MFC, WTL, Qt, Stl, boost?

Тут нет (имхо) какого-то одного-двух супер ответов. Нет ничего такого, чтобы это узнать/выучить — и сразу "да, с++ отстой, на нем работать нельзя". Да очень даже можно. Просто есть 1001 мелочь, которые, складываясь вместе, дают выигрыш в скорости работы в разы (не всем).

Обработка исключений в с++ например — печальная история. Ведь исключением может быть что угодно, включая число/строку. У каждой библиотеки есть свой базовый класс. В java — базовый класс один и это здорово. Сколько усилий нужно предпринять в сях для получения стека вызова при исключении и насколько это легко в java. Я на сях без специализированной, построенной на макросах, библиотеки обработки исключений программировать попросту не сяду — а тут она есть и на блюдечке, причем на другом качественном уровне.

Работа с памятью — да, постоянно используя врапперы, соблюдая дисциплину кодирования и заучив десяток правил, ты сведешь проблемы к минимуму. А в Java для того, чтобы такие проблемы возникли, нужно очень постараться. Это освобождает ресурсы головного мозга для более важных вещей.

Про более грамотные среды разработки тут упомянули не просто так. В силу простоты языка распознавание конструкций, рефакторинг и поиск синтаксических ошибок в реальном времени делаются намного проще и качественней. Это мелочь, но без этой мелочи мне уже как-то жить некомфортно... Ну вот недавно мне нужно было написать switch по большому enum-у — а средство рефакторинга любезно сделало это за меня, съэкономив мне несколько минут тупого кодирования — для сей что-то такое сделать очень сложно.

Рефлекшн недооценивать не стоит. Это и Hibernate и Spring и JUnit и log4... все эти примеры особенно хороши потому, что хотя порты на с++ и существуют, но их возможности и удобство использования сильно ниже. Очень сильно.

Вот этот список можно продолжать очень долго. Ничего особенно убойного в нем нет — иначе все давным-давно на с++ забили. Но он большой и вкусный Это не значит, что у с++ нет сильных сторон и своей области применения — есть. Но для мэйнстрима, особенно корпоративного, он уже не является лучшим выбором. как когда-то.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 01.06.07 14:07
Оценка: +2
Здравствуйте, astral_marine, Вы писали:

_>Да, стандарт С++ более свободен и открыт для изменений. Любой разработчик компиляторов может вводить свои локальные вкусности. И это дает свободу выбора: хочеш пиши межплатформенный код для разных компиляторов, хочеш пиши код с жесткой привязкой к операционной системе, юзая все возможности ее без ограничений. Скажем, спрятать приложение в SystemTray в С++ это сущий пустяк, а вот в Java надо уже заморачиватся. Без гимора там не поюзаеш специфичиские для платформы вещие, а в С++ это делается легко и непренужденно.

_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.

Мдя... Макросы в C++...

После Лиспа и Nemerle ЭТО даже макросами называть противно.
... << RSDN@Home 1.2.0 alpha rev. 672>>
Re: Расскажите профессионально, чем Java разработка быстрее
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 20:41
Оценка: +1 -1
Здравствуйте, flashinc, Вы писали:

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??


Тем что Ява хотя и довольно убогих по фичам, но все же типобезопасный язык с автоматическим управлением памятью обладающий хрошим рантаймом и огромным количеством практически стандартных бибилотек. Плюс ко всему прочему для Явы созданы сразу несколько велиполепных IDE резко ускоряющих работу в режиме проектирование/тестирование (игрового прототипирования). Еще можно прибавить фрэймворки вроде Струтса/Шале и т.п. Но это уже скорее костыли позволяющие обойти убогость самого языка.

F>Для конкретики возьмем, скажем, Microsoft Visual C++.


А это по фигу что брать. С++ он и в африке С++. Ну, разве что С++/CLI немного в этом плане отличается.

F> Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..


Главная методология в Яве заключается в том, что не нужно постоянго лечить геморрой возникающий благодаря тому, что постоянно попадающие под ноги грабли глубого впиваются в анальное отверстие.

F>Говорят что разработка на java быстрее и дешевле. Так ли это?


100%. Любой кто скажет тебе обратное — это идиот, фанатик или понтующий ламер. У С++ есть только одно неоспоримое приемущество. На сегодно на нем можно создавать приложения которые более бережно относятся к ресурсам компьютера (памяти и процессору). Так что если у тебя нет много бабок и времени на вынимание граблей из задницы, то Ява — это неплохая альтернатива. В прочем не единственная.

F>большая просьба! Не устраивать неинформативный флейм Java vs C++ !!!


Без флэйма тут никуда не деться, так как есть много фанатиков С++ которые сейчас начнут рвать на себе рубахи.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Расскажите профессионально, чем Java разработка быстрее
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 20:50
Оценка: +1 :)
Здравствуйте, flashinc, Вы писали:

Да, забыл сказать об альтернативе.

Если выбр стоит как Ява vs. С++. Причем ява как платформа, то можно ко всему прочему вместо языка Ява взять язык Скала. Тогда С++ будет в глубокой заднице по всем параметрам, так как кроме премущество перечисленный мной в предыдущем сообщении вы получите один из самых современных и гибких языков программирования.

Другой альтернативой может стать .NET и C# 3.0, а еще лучше .NET и Nemerle. Вот тут С++ просто кромко давится бычками, а его фанаты тщетно бьются головой о бетонный пол .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:30
Оценка: +1 :)
Здравствуйте, fmiracle, Вы писали:

F>Еще там много по stl. Что характерно — часто с пояснениями, почему сделано именно так и чем это хорошо.


Ага. Все пояснения начинаются с того, что компьютеры были слабенькими... оптимизаторы никакие... наследине С между ног мешало... приходилось удалять гланды через зад автогеном причем постоянно думать как не повредить наследие болтающиеся между ног.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 22:39
Оценка: :))
Здравствуйте, Андрей Хропов, Вы писали:

АХ>

АХ>У С++ есть только одно неоспоримое приемущество. На сегодно на нем можно создавать приложения которые более бережно относятся к ресурсам компьютера (памяти и процессору).

АХ>(C) VladD2

VladD2 умеет создавать быстрые приложения и на .NET, а память дело нажывное .

АХ>Я думаю что скажем в нишах видеокодеков, 3д- и физических движков, матрасчетах C++ еще будет жить приличное время


Да он вообще поживет, так как есть не мало контро готовых платить в 10 раз болше за выигрышь в памяти. Только это особый рынок. А 3D уже очень скоро пересядит с С++. Ну, разве что отдельные оптимизации будут на нем писаться. Процесс уже пошел.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка: +2
Здравствуйте, Odi$$ey, Вы писали:

OE>головная боль тут-же возвращается, как только нужно передать копию объекта


И в чем тут головная боль? Сложно написать метод Clone?
И если это вдруг действительно головная боль, то куда она девается если изчезает GC?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 21:51
Оценка: -2
Здравствуйте, minorlogic, Вы писали:

M>Влад забыл написать конечто что это может быть альтернативой если вы пишете под WIN и ТОЛЬКО под win. Как мне кажется , это сравнительно небольшой сегмент ИТ.


Ага. Еще забы сказать, про Салярку, Линукс и т.п. Так же забыл указать, что это актульно только если у вас есть Пентиум-совместимый компьютер, вы знаете как его включать и как им пользоваться. Так же забыл упомянуть, что жить при этом нужно в 21 веке и не болеть синдромом Дауна.

Может быть что-то еще не очень очевидное забыл?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Расскажите профессионально, чем Java разработка быст
От: IT Россия linq2db.com
Дата: 03.06.07 03:42
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Я ничего не путаю. При наличии в руках хороших средств МП об АОП не возникает даже мыслей.


Если не вдаваться в детали реализации, то АОП — это определённый тип паттернов, называемых аспектами. Если их реализовывать средствами МП, то они не перестанут от этого быть аспектами.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: IT Россия linq2db.com
Дата: 03.06.07 03:42
Оценка: :))
Здравствуйте, Константин Л., Вы писали:

КЛ>Я понял! Для тебя с++ как баба, которая не дала. Так и хочется ее после этого вспомнить добрыми словами


Не, обманула, но по другому. Дать дала, а замуж не вышла.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.06.07 06:43
Оценка: +1 -1
Здравствуйте, aka50, Вы писали:

A>Я знаю как работает AOP. Без рефлекшина — он работать не будет. это раз. Второе, он работает в комапайл-тайм (weaving), load-time (classloader) и как прокси (т.е. фактически рантайм, т.к. можно обвесить любой нужный объект.


АОП используется прежде всего в deploy-time. Потому что смысла в аспектах, вкомпиленых заранее, вобщем то немного, те же задачи можно решить средствами классического ООП. Непосредственно для deploy-time, как я уже писал, МП бесполезно. Единственное, чем МП может помочь — вставить точки перехвата в код автоматом (при условии, что в точки перехвата можно потом напихать аспекты в рантайме). Но это не самое лучшее решение, потому что полагается на то, что исходную сборку кто то специально заточит под использование АОП. Правильный АОП должен уметь накладываться на уже скомпилированную сборку, ничего ни про какой АОП не знающую.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[17]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 04.06.07 12:52
Оценка: +1 -1
Здравствуйте, AndrewVK, Вы писали:

IT>>Всё смешалось в доме Облонских Причём тут КОП вообще?

AVK>При том, что и Java, и .NET среды компонентные.

Они ещё и объектно-ориентированные и обе используют JIT, что означает, что АОП не имеет смысла без ООП и особенно без JIT.

IT>> Совместимость с КОП, это, конечно же, очень здорово, только я что-то впервые слышу, что АОП без КОП не имеет смысла.

AVK>А я и не говорил этого. Имеет конечно, но в рамках компонентных сред несовместимость с КОП налагает существенные ограничения.

Да абсолютно никаких. Разве что только в твоих задачах.

IT>>Идея АОП в разделении сквозного кода от бизнес-логики.


AVK>Смешно. Видишь ли, разделение сквозного кода от бизнес-логики, оно конечно здорово, но это нифига не АОП, это куда более общий принцип. Согласно этой идее строятся и практически все структурные паттерны GoF, и MVC/MVP, и IoC контейнеры, и куча всяких фреймворков (WCF к примеру, или даже банальный ремоутинг).

AVK>Так что я совсем не против советсеой власти.

Покури тогда, что ли, определение АОП Я даже не знаю что и посоветовать в данном случае.

AVK>>>Ну я бы так не сказал.

IT>>О подобных архитектурных решениях я слышал только от тебя.

AVK>Тут, в этом топике, как минимум JBoss поминали, причем не я.


Где именно?

IT>> И я ничего не имею против этого и вполне допускаю, что в твоём конкретном случае это было единственно правильное решение.

AVK>При чем тут мой случай? Я вобще что то про свой случай говорил?

Т.е. про твой?

IT>> Вот только я не понимаю почему ты считаешь, что это решение должно быть единственно правильным и для всех остальных

AVK>Потому что меня пока не убедил никто в обратном.

Анекдот про Неуловимого Джо ещё помнишь?

AVK>>>Только я пока не видел этого рулящего неподецки применения АОП в компайл-тайме.

IT>>Потому что для этого пока нет соответствующих средств.

AVK>А, ну ну. Яйца, значит, мешают.


Не яйца, а кость вместо мозга у некоторых товарищей.

AVK>>>Ну понеслась. Только теперь тем, что я первый начал ты не отмажешься. Сдается мне, это твой опыт однобок, коль скоро деплоймент тебе кажется убогим.

IT>>Может дашь ссылочку где я это утверждал?
AVK>Что утверждал?

См. выделенное из тобой же написанного.

IT>> В отличии от некоторых я отношусь к своему опыту критически

AVK>Заметно. Почему то ты с завидной регулярностью скатываешься на подобные аргументы.

На аргументы я скатываюсь, когда меня начинают необоснованно обвинять в том, чего я никогда не делал и додумывать за меня то, что я никогда не думал.

AVK>>>Это в BLToolkit то?

IT>>У тебя есть какие-то конкретные притензии к BLToolkit? Высказывай, не стесняйся.
AVK>Притензий нет. Только там аспекты того, динамические.

Это всего лишь реализация. Сделаем версию для Nemerle будут статические.

IT>>Ещё раз повторяю специально для тех, кто в танке. Я не считаю себя вправе навязывать другим своё видение архитектуры вообще и решать за людей что для них лучше, использовать XML или атрибуты, в частности.


AVK>Это понятно. Но ведь что то тея заставило реализовать такое решение, не так ли?


Ещё в RFD после опубликования статьи на CodeProject народ развил бурную дискуссию на эту тему. А в BLToolkit XML был с самого начала. При этом некоторым хотелось странного — XML, но в ресурсах, чтобы лишние файлы где попало не болтались. Странный подход, не так ли? И, кстати, в основном народ просил XML ссылаясь на Java, но в ней на тот момент атрибутов вообще не было.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[30]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 10.06.07 20:09
Оценка: +1 :)
Здравствуйте, SergeyGotsulyak, Вы писали:

VD>>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.
Вот только Паскаль придумался в ту пору, когда еще горячо спорили о необходимости добавления поддержки рекурсии в язык. Сейчас он устарел и не позволяет делать многие нужные вещи.

Ну а язык в Дельфи — это скорее рвотная масса, а не язык — жуткий монстрик, заточеный только под одну задачу.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже

Ассемблеры — это полезно, особенно для понимания в разница между CISC- и RISC-системами и почему в современных процессорах ее нет.
Sapienti sat!
Re[19]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 13.06.07 21:54
Оценка: +2
Здравствуйте, VladD2, Вы писали:

AVK>>Такой идиотизм встречается, к примеру, в огромном количестве алгоритмов DSP. Или вот в 3D геометрии их тож навалом.

VD>С DSP не вазился, а вот фиксированных мариц в 3D не видел. Все как одна были динамическими.
Алло! А как же матрицы афинного преобразования — самый частый случай?
Sapienti sat!
Re[9]: Расскажите профессионально, чем Java разработка быст
От: IT Россия linq2db.com
Дата: 01.06.07 16:45
Оценка: 3 (1)
Здравствуйте, CreatorCray, Вы писали:

CC>>>Прибрать? В жабе?

R>>Да. А что вас удивляет?
CC>Мне интересно как вы собираетесь делать "приборку".

Например, форма подписывается на события от какого-либо объекта, который живёт дольше формы. Если форму не отписать от событий объекта, когда она уже не нужна, то она будет болтаться в памяти пока не умрёт объект. А с ней вместе будут жить и объекты, которые она использует. Типичная и довольно трудно уловимая ошибка, которую можно поймать только если ты вообще в курсе о такой проблеме.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Расскажите профессионально, чем Java разработка быс
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 02.06.07 14:16
Оценка: 3 (1)
Здравствуйте, VladD2, Вы писали:

VD>Главное, что устраняет GC — это необходимость контролировать время жизни объектов вручную. Это приводит к устранению проблем с передачей обектов в/из функций. В общем, пропадает огромная головная боль и постоянный источник ошибок.


головная боль тут-же возвращается, как только нужно передать копию объекта
... << RSDN@Home 1.2.0 alpha rev. 679>>
Re: Расскажите профессионально, чем Java разработка быстрее
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 31.05.07 17:41
Оценка: +1
Здравствуйте, flashinc, Вы писали:

Вот здесь про Java все лаконично собрано в одну кучу: Технология Java для новичков

Лично мне управляемые платформы (Java/.NET) нравятся тем, что на этапе разработки компилятор дает мне больше времени на бизнес-логику приложения, т.е. на то, что собственно и нужно заказчику, в то время как во время опытов с C++, к примеру, приходилось "бороться" с памятью, т.е. речь об автоматическом управлении памятью (сборщике мусора) и других функции контроля исполняемых сред.

Именно Java, нежели .NET, предпочитаю, потому что это уже зарекомендовавшая себя состоявшаяся платформа программирования бизнес-приложений. Говорю это абсолютно безпредвзято, потому как занимаюсь и Java, и C# в силу сложившихся исторических абстоятельств в отношении фифти-фифти, и вижу достоинства-недостатки обеих платформ. .NET пока еще слишком молод и жадно впитывает готовые решения других: это и практическая идентичность синтаксиса флагманского языка .NET — C# языку Java, это и переписывание библиотек, платформ, некогда разработанных для Java, на .NET (Spring .NET, nHibernate, nUnit, Aspect# и т.д. и т.п. — слизано, причем, как говорят многие, пока еще не очень хорошо) и т.п. С другой стороны, C# имеет несомненные синтаксические достоинства: обобщенное программирование времени выполнения, замыкания, делегаты-события, выведение типов локальных переменных и прочий синтаксический сахар.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: flashinc  
Дата: 31.05.07 19:43
Оценка: -1
Вы знаете, я все-так много слышу про синтаксис. И еще много "генерализации", типа "много библиотек", "устоявшийся фреймворк"... А таки можно конекртное услышать?
Интересует вообще не сервер и не "бизнес". Каких библиотек? Чем Java фреймворк лучше
тех же скажем VCL? Чем он "устоявшееся"? Или лучше, чем какая-нибудь Crt, MFC, WTL, Qt, Stl, boost?

Что именно удешевляет разработку. Что вот конкретно в сравнении с той же Visual Studio или Дельфёй/Билдером можно взять и сделать быстрее? Как-нибудь "на пальцах" бы кто-нибудь рассказал бы.. И почему это было б быстрее и дешевле.

Я потому взываю к конкретике, потому что хотелось бы наконец услышать конкретику. Не сравнение синтаксиса. Ну вот пример — если нужно сляпать формочку с полем ввода и кнопкой то чем java будет быстрее чем взять visual basic или delphi?

Огромная просьба, опять же, не раздаражаться, я спрашиваю от незнания. Я не совсем новичок в программировании (пишу не на java).
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Baudolino  
Дата: 31.05.07 21:47
Оценка: +1
F>Стандарт языка? А что это дает? Вот тот же Pascal или Ada — они еще жестче по синтаксису, но лучше ли? Почему тогда Java лучше них?
Ява — не язык, а платформа. Намного проще работать, когда у тебя действительно определены null, размер типов, строки и т.д. Если вы не думаете о необходимости портировать код, а просто следуете стандарту, вы пишете код быстрее. Сравнение Java с паскалем и адой — тема для отдельного разговора.

B>>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.

F>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?
Валидация, сериализация, динамическое построение пользовательского интерфейса и т.д.

B>>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).

F>Дайте примеры библиотек чтобы сразу уж знать
Оmfg. Вы осознаете вообще, что просите? Зайдите на sourceforge, eclipse.org или apache.org и полюбуйтесь.

B>>5. В связи с 2, упрощается создание мощной среды разработки. Анализ и рефакторинг кода, управление зависимостями, возможности поиска и динамической подсветки — уже существующие возможности в Eclipse или Intellij IDEA перечислять можно долго. Ни одна среда разработки для С++ и близко не подобралась к такому.

F>А delphi 2007 скажем? или свежая Visual Studio?
Свежая студия ничего интересного с С++ не умеет. Дельфи не видел, но опять же — это совсем другая опера.

B>>6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.

F>А на каких конкретно участках, ну, что делали?
Разработка кросс-платформенных средств разработки для сектора потребительской электроники. Подробности под NDA,извините.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 08:57
Оценка: +1
Здравствуйте, astral_marine, Вы писали:

_>Да, стандарт С++ более свободен и открыт для изменений. Любой разработчик компиляторов может вводить свои локальные вкусности. И это дает свободу выбора: хочеш пиши межплатформенный код для разных компиляторов, хочеш пиши код с жесткой привязкой к операционной системе, юзая все возможности ее без ограничений. Скажем, спрятать приложение в SystemTray в С++ это сущий пустяк, а вот в Java надо уже заморачиватся.

Есть библиотека jdic, с помощью которой это легко делается.
_>Без гимора там не поюзаеш специфичиские для платформы вещие, а в С++ это делается легко и непренужденно.
Одна контора решила привнести в джаву специфичные моменты для конкретной ОС, так её потом по судам затаскали
Я б сказал это сила языка, хотя конечно в то же время его слабость в какой то мере.
_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.
В принципе проблема копипаста решается с помощью ООП
_>Java прост, прост до примитивности, в этом ему до С++ действительно далеко. А хорошо ли это? Если задачи простые — то да! А вот если сложные, то тут можно уже поспорить, хотя бы взять ту ситуацию с макросами, что я описал выше. Пару строчек сложно кода бывают лучше чем пару сотен строчек примитивного кода.
Простые, сложные задачи — это все относительно. Но есть задачи, где многие низкоуровневые возможности языка могут вносить только путаницу.
В принципе java и не претендует на роль языка для кулхацкеров
_>Да еще вот дженерики сдвинули Java не в сторону упрощения самого языка.
По-моему с дженериками стало намного понятнее код читать. Также никто не заставляет их использовать.
_>Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом. Информация о типе нарушает принцыпи объектно ориентрированного программирования — инкапсуляцию. К сожалению эта зараза уже добралась в С++ в виде библиотеке boost::typeof, хотя не в таких масштабах как в Java и .NET.
Не. рефлекшн это добро, по-моему при реализации системных моментов без него почти никак. Конечно лучше им не злоупотреблять.
_>А в С++ этого нет? Вы, видимо, полохо знаете С++. STL, boost, wxWidgets, Qt, lib**** — это только начальный список межплатформенных бибиотек. А вот сколько есть межплатформенный библиотек для работы с XML, базами данных, сетью, потоками уже не перечесть.
С++ по-моему еще более наколенный, чем Java Благодаря её стандартизации и вниманию серьезных контор, иногда получаются неплохие фреймворки. Например был Hibernate, потом он так распространился, что его уже нельзя было не замечать. При этом Оракл успел сделать свой Toplink, и затем уже какое то общее решение было оформлено в стандарте JPA. Если раньше многие конторы презрительно относились к Hibernate, то теперь JPA стандарт по работе с БД на деле, а не на словах.

_>На вкус и цвет приятеля нет. Я считаю, что Visual Studio куда намного удобней Eclipse и Intellij IDEA. Это ваше утверждение очень спорно.

А я на Idea после Eclipse смотреть не могу — разные рефлексы и фсе такое

_>В свое время я изучил Basic, Pascal, C++ и Java. И мне необходимо было выбирать какой язык я буду использовать. Я выбрал С++ поскольку он позволяет создавать быстрые приложения со сложной логикой относительно просто. Недостатком С++ является относительная сложность синтаксиса и отсутствие дизайнеров, это фактичекски закрывает этот язык для непроффесионалов.


_>Сабж меня тоже очень интересует. Я почитал посты в этой теме, но так и не нашел причин, которые могли бы увеличить мою производительность на Java. Язык проще? А меня и так на С++ никто не заставляет использовать сложные вещи. И я с ужасом представляю переписанный парсер с ипользованием boost::spirit на Java.


По-моему при выборе языка надо в первую очередь определиться, чем ты хочешь заниматься. Возможно от этого выбора при выборе языка разработки вариантов просто не останется.
Java впервую очередь рулит на уровне enterprise приложений, поддержываемая многими девелоперскими конторами, такими как Oracle, IBM, WebLogic и др.. j2ee стандарт смог их обьединить.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: JavaBean Украина  
Дата: 01.06.07 09:01
Оценка: +1
Здравствуйте, astral_marine, Вы писали:

_>Да, стандарт С++ более свободен и открыт для изменений. Любой разработчик компиляторов может вводить свои локальные вкусности. И это дает свободу выбора: хочеш пиши межплатформенный код для разных компиляторов, хочеш пиши код с жесткой привязкой к операционной системе, юзая все возможности ее без ограничений. Скажем, спрятать приложение в SystemTray в С++ это сущий пустяк, а вот в Java надо уже заморачиватся. Без гимора там не поюзаеш специфичиские для платформы вещие, а в С++ это делается легко и непренужденно.


И что тут сложного?
SystemTray.isSupported()
SystemTray tray = SystemTray.getSystemTray();

и все рисуй менюшки и слушатели

_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.


вот тут можно поподробней? не очень монял что была за задача и вчем неудобство ее решения

B>>2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).


_>Да еще вот дженерики сдвинули Java не в сторону упрощения самого языка.

Дженерик в яве достаточно простой, плюс пердоставляет дополнительные проверки типов при компилации. соответсвенно убираются ненужные конструции на проверку типа в коде.

_>Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом. Информация о типе нарушает принцыпи объектно ориентрированного программирования — инкапсуляцию. К сожалению эта зараза уже добралась в С++ в виде библиотеке boost::typeof, хотя не в таких масштабах как в Java и .NET.


при нормальном подходе к проектировнию приложения это не используется

B>>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).


_>А в С++ этого нет? Вы, видимо, полохо знаете С++. STL, boost, wxWidgets, Qt, lib**** — это только начальный список межплатформенных бибиотек. А вот сколько есть межплатформенный библиотек для работы с XML, базами данных, сетью, потоками уже не перечесть.


_>На вкус и цвет приятеля нет. Я считаю, что Visual Studio куда намного удобней Eclipse и Intellij IDEA. Это ваше утверждение очень спорно.

Согласен — IDE не сранивает! Это уж очень субьективно

_>Сабж меня тоже очень интересует. Я почитал посты в этой теме, но так и не нашел причин, которые могли бы увеличить мою производительность на Java. Язык проще? А меня и так на С++ никто не заставляет использовать сложные вещи. И я с ужасом представляю переписанный парсер с ипользованием boost::spirit на Java.


И не мучайся. Мне как-то в юниксе нужно было переименовать в директории, и далее рекурсивно, файли. Я написао програмку на яве а не на bush — потому что я ее знаю а з башем еле знаком. Хотя я и понимаю что человек знающий баш сделал бы это более быстро.

Так что от себя хочу добавить. О повышение продуктивности можна говорить только при налчии определенного опыта в использовании языка иначе нужно не забывать что первое время это будет время потраченое на адаптацию.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: tavr  
Дата: 01.06.07 09:06
Оценка: +1
Здравствуйте, astral_marine, Вы писали:

_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.

какое именно применение макросов вы считаете небходимым?
— простое вынесение общего кода в отдельный метод учат даже в простейших языках
— препроцессинг исходного кода лучше делать не средствами самого языка а внешними инструментами
Re[4]: Расскажите профессионально, чем Java разработка быст
От: CreatorCray  
Дата: 01.06.07 09:28
Оценка: :)
Здравствуйте, rsn81, Вы писали:

R>Сокращение времени разработки (за счет большего времени на функционал, нежели борьбу с хитрым компилятором) и отладки (проблемы работы с памятью в Java тоже имеют место, но носят не такой критический характер, как в неуправляемых языках).

Угу, помницца я как то работал в одной веселой конторе, там писали на жабе систему документооборота. Так вот проблема памяти там стояла очень остро. Потому как система непрерывно хавала память, когда она физически кончалась запускался GC — становилось полегче и так по кругу. На девелоперских машинах это было почти незаметно. Трабл вылез только когда начали ставить систему заказчику — вот тогда геморроя было хоть отбавляй...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Расскажите профессионально, чем Java разработка быст
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 01.06.07 09:43
Оценка: +1
Здравствуйте, JavaBean, Вы писали:

JB>вот тут можно поподробней? не очень монял что была за задача и вчем неудобство ее решения

Согласен с astral_marine, в Java, пожалуй, этого действительно не хватает. С другой стороны, есть волна о том, чтобы в JSE7 включили замыкания, думаю, это решит подобные проблемы. Если же повторяемость кода "горизонтальная" (то есть в отношении вертикальной иерархии наследования объектов), с этим отлично уже сейчас справляется дополняющий ООП — АОП, который в Java представлен в виде AspectJ.

JB>Дженерик в яве достаточно простой, плюс пердоставляет дополнительные проверки типов при компилации. соответсвенно убираются ненужные конструции на проверку типа в коде.

Я бы даже сказал — слишком простой, а хотелось бы как в .NET, то есть runtime generics.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[2]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 09:50
Оценка: +1
У меня знакомый, который после трех лет разработки на плюсах (парень серьезный, сетевым программированием занимется, линукс патчит), страуструпа иногда с собой носил — говорит перечитывает.
Я был немного удивлен — в отличие от С++ Java почти на интуитивном уровне понятна.
Я сейчас тоже книжки по яве с собой ношу, но это книжки по фреймворкам, либо по различным стандартам, но никак не по синтаксису языка.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: aka50 Россия  
Дата: 01.06.07 10:47
Оценка: +1
Здравствуйте, astral_marine, Вы писали:

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


_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.

Текстовые макросы в топку.
А в Java есть аннтоации и постпроцессинг (в купе с рефлекшином) это дает возможности реализовать вещи (типа AOP) которые в C++ не реализуемы (или очень сложно с кучей условностей).

_>Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом.

Примерчик бы... что то не очень понятно. Возможно Вы не умеете его готовить. Рефлекшн ведь разный бывает.
1. чистый invoke в коде — зло
2. автоматизированный invoke на базе аннтоаций — добро (например декларативные транзакции или тот же AOP) и к рефакторингу не имеет никакого отношения
3. если очень не хватает макросов — можно создавать классы в рантайме (плохо, но иногда очень надо) или инструментировать байткод — но это тоже зло

_>На вкус и цвет приятеля нет. Я считаю, что Visual Studio куда намного удобней Eclipse и Intellij IDEA. Это ваше утверждение очень спорно.

Тут не "вкус/цвет", а простой количественный подсчет. Хочу поглядеть на поддержку для C++ (у Idea много и других плюшек): http://www.jetbrains.com/idea/features/code_analysis.html
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Blazkowicz Россия  
Дата: 01.06.07 11:09
Оценка: +1
Здравствуйте, aka50, Вы писали:

_>>Информация о типе во время выполнения — это зло, так считаю я и многие специалисты, которые занимаются рефакторингом.

A>Примерчик бы... что то не очень понятно. Возможно Вы не умеете его готовить. Рефлекшн ведь разный бывает.

Достаточно вспомнить что большинство движков сериализаций и маппингов XML и ORM работают именно через reflection. Реализации использующие другой механизм (на сколько я знаю JiBX и что-то из JDO) зачастую от этого и страдают.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: Blazkowicz Россия  
Дата: 01.06.07 20:02
Оценка: +1
Здравствуйте, flashinc, Вы писали:

F>Проприетарность платформы (доказаная судебными притязаниями)

Демагогия?

F>Очень медленное и слабое развитие (более 10 лет уже минуло) — причем развитие было инициировано и произведено в 99% случаев community, а не Sun.

Ну, это с точки зрения JCP. А вот с точки зрения opensource — развитие самое что ни на есть обычное. Все современные концепции в той или иной интерпретации предствлены. Так что никакого особого отставания от других платформ.

F>Невозможность контролировать политику использования памяти и отсюда — Ненормальные (оторваные от жизни) требования к памяти.

Политику как раз можно контролировать. А вот конкретные объекты — нет. Оценки "ненормально" и "оторвано" провоцируют только на флейм, и отдают непонятной субъективностью.

F>Низкая производительность (compared to...)

Да, ну? Это если мерять операциями инкремента или выделения памяти, то может быть. А если взять 2 приложения с одинаково сложной функциональностью, то в заметной разницы не будет.

F>Наличие только одной парадигмы программирования — OO

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

F>Высокий уровень абстракции и как следствие изолированность от нижележащеего слоя абстракции (платформы/OS).

Это интересно почему к недостаткам? "Написано однажды, работает везде!"

F>Низкая полиморфность данных/вызовов (плата за safety).

Это как?

F>Существуют и другие провалы в других областях, обещаных, но не реализованых. Так например, провал апплетов и "Internet applications" во многом обеспечен самой sun — отсутствие механизмов взаимодействия апплетов с браузером/os и отсюда функционирования апплетов только в качестве бесполезных визуальных "игрушек". Это отчасти покрыто в java 5,6. Но когда?

По-моему взаимодействие с JS было ещё за долго до Java 5. А провалились апплеты совсем по другим причинам.

F>В осное своей это не проблемно-ориентированные frameworks. Куча всего, но реально, в большинстве случаев, это абстрактный run-time "сахар", россыпь классов. Его использоввание не решает конечную проблему, как это принято в среде c++.

Сказанул ни о чем. Какую тебе конечную проблему решить? Подберем библиотечку.

В общем судя по всему ветка скоро действительно во флейм улетит. Ты исходишь не из позиции "разобраться", а из позиции "Java говно". О каком конструктиве может идти речь?
Re[3]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:02
Оценка: +1
Здравствуйте, astral_marine, Вы писали:

_>Вот еще в Java нет макросов, мне приходилось писать кучу повторяющегося кода вместо нескольких десятков строчек кода с макросами.


Советую подумать на тему того "почему программисты на Яве не применяют С++-ный препроцессор хотя он прекрасно может быть применен к любому текстовому файлу?". Не упертых товарищей это обычно приводитк к просветлению.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Расскажите профессионально, чем Java разработка быс
От: Дм.Григорьев  
Дата: 02.06.07 08:55
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Можно попробовать разве что на личном примере продемонстрировать, тыксызыть, вехи пути, впечатления C++ программиста переходящего на .NET, если, конечно, это кому-то интересно.


Интересно.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: aka50 Россия  
Дата: 02.06.07 14:23
Оценка: +1
Здравствуйте, Odi$$ey, Вы писали:

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


VD>>Главное, что устраняет GC — это необходимость контролировать время жизни объектов вручную. Это приводит к устранению проблем с передачей обектов в/из функций. В общем, пропадает огромная головная боль и постоянный источник ошибок.


OE>головная боль тут-же возвращается, как только нужно передать копию объекта


Дык зато убирается проблема double delete... А аналог clone в ++ тоже приходится руками писать. Другое дело, что в Java не структур... это да
Re[5]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 17:33
Оценка: :)
Здравствуйте, eao197, Вы писали:

VD>>VladD2 умеет создавать быстрые приложения и на .NET...


E>И давно?


C 2001 года.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 02.06.07 19:28
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Метапрограммирование же это более мощьное средство нежели АОП.


Ты сравниваешь теплое с мягким. АОП это прежде всего принцип вынесения аспектов. Метапрограммирование здесь всего лишь один из возможных инструментов для реализации.
АОП в этом плане ближе к ООП или ФП — использовать его можно и в обычных языках, но часть работы придется сделать руками.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[15]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 02.06.07 19:46
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Мы ведь с тобой сами через это прошли, так что нам нечего скрывать.


А я и не скрываю. Более того могу честно признаться, что впервые увидев джаву 10 лет назад, отверг её не задумываясь исключительно по причине костности мышления. Просветление начало наступать не сразу, приходилось по капле выдавливать из себя "крутого C++ программиста" и я всё ещё не уверен, что этот процесс завершён.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 02.06.07 20:26
Оценка: +1
Здравствуйте, aka50, Вы писали:

VD>>Это полнейшее заблуждение. АОП никакого отношения к компайл-тайму или рантайму не имеет. Все зависит от реализации. Самый известный АОП-инструкмент — это AspectJ. Он работает исключительно в компайлтайме.

A>Я знаю как работает AOP. Без рефлекшина — он работать не будет. это раз. Второе, он работает в комапайл-тайм (weaving), load-time (classloader) и как прокси (т.е. фактически рантайм, т.к. можно обвесить любой нужный объект. К тому же aspectj доступен и в рантайме в виде api.
Доктор, скажите, а AspectC++ — это галлюцинация?

Weaving на этапе компиляции вполне себе без reflection'а возможен.
Sapienti sat!
Re[8]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 20:30
Оценка: +1
Здравствуйте, aka50, Вы писали:

A>Я знаю как работает AOP.


Не похоже.

A> Без рефлекшина — он работать не будет. это раз.


Курим, к примеру AspectC++, а лучше начать с http://en.wikipedia.org/wiki/Aspect-oriented_programming

То что ты видил некоторые реинкарнации АОП (скороее всего в Ява) не влияет на сам АОП.

A> Второе, он работает в комапайл-тайм (weaving), load-time (classloader) и как прокси (т.е. фактически рантайм, т.к. можно обвесить любой нужный объект. К тому же aspectj доступен и в рантайме в виде api.


Еще раз. Все зависит от реалзации. В принципе нет никакой необходимости что-то делать в рантайме.

A> http://www.eclipse.org/aspectj/doc/next/runtime-api/index.html так что его использование не ограничивается только адвайсами секурити или транзакций.


В самой яве и дотнете тоже есть рефлекшен и можно даже код динамичемки генерировать, но это не отменяет того факта, что компиляторы компилируют код и реализуют все что нужно для ООП еще на стадии компиляции. Точно так же АОП может поддерживаться как в рантайме, так и в компайлтаме. Не будешь же ты утверждать, что тот же компилятор AspectJ вообще ничего не делает?

A> Другой вопрос, что он редко применяется динамическим образом в рантайме.


Потому что не нужно. Еще раз. Как ООП не имеет отношения к рантайму или дизайтайту (это парадигма), так и АОП. Любая парадигма программирования может быть реализована как в рантайме, так и во время компиляции.

A> Но все равно, я считаю, что АОП — это динамическая технлогия,


Мало ли кто что считает? Есть факты. Спорить с ними не размуно.

A> в отиличии от макросов — они статичны. Естественно, макросы могут внедрять код какой-то библиотеки (той же Aspectj), но это не обсценивает идею АОП.


Опять ошибашся. Например, макросы в Лиспе вообще не ясно когда работают. Они полностью динамичны. Так что макросы в Немрле — это просто одна из возможных реализаций. Выбор в данном случае был сделан осознанно, так как это дает ряд премуществ. Да и никто не мешает запускать компилятор в рантайме.

VD>>Метапрограммирование же это более мощьное средство нежели АОП. Средствами МП воспроизвести АОП ничего не стоит. А вот обратное не верно.

A>? Мы кажется о разных вещях говорим. Есть механика внедрения АОП, а есть рантайм этого АОП. Более того метапрограммирование (как программирование на уровне АСТ, а не байткода) ничего особо великого сделать не сможет, если код уже скомпилирован и лежит в jar-е, а АОП (как методология) — сможет

Ты глубого заблуждаешся. АОП это детская поделка по сравнению с правильно приготовленным МП.

А костыли вроде Спринга, Струтса и Шале вообще никогда бы не появились будь в Яве хоть бледное подобие макросов.

A>(например тот же spring позволит навесить нужный аспект без перекомпиляции)


Ага. Потому что по факту Сприно использует интпретатор кривенького ДСЛ-я запакованного в ХМЛ. Вместо перекомпиляции будет интерпретации я никаких гарантий, что приложение не ляжет при подъеме. Таким образом программист просто переносит отвественность с себя на того кто будет конфирурировать систему.

VD>>Одно время меня интересовал АОП, но потом я понял, что это детские потягушки. Просто метапрограммированием нужно заниматься на подобающих инструментах. Не на шаблонах С++ уж точно.

A>Возможно, но как инструмент для обвешивания кода разными фкусностями в рантайме — очень даже ничего... Во всяком случае в сочетании с Java

Для этого достаточно КОП. Еще раз повторюсь, что Струтсы и Спринги — это реакция рынка на убогость Явы как языка. Фактически ява снабжается специализированными языками с ужасным ХМЛ-синтаксисом и дополнительными рантайм-модулями. И все это выдается за мега крутость и еще приправляется умными словами типа АОП.

Для Явы конечно Спринги и Струтсы позволяют решить ряд проблем и упростить разработку. Например, они помогают отказаться от привязки к конкретному контейнеру EJB, но все тоже самое можно было бы сделать и без излишней динамики. Или с динамикой, но не такой уж страншной. По крайней мере приплетение ХМЛ-ДСЛ-ей было точно перебором.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 20:43
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

VD>>АОП это костыли к ООП. Причем весьма посредственные. В ФП АОП просто не мыслим.

C>Почему это? Вполне так и мыслим.

Он там как неуловимый джо.

C>AOP — это хороший способ выносить из кода то, чего там не должно быть — работу с security, транзакции и т.п. С этим AOP очень неплохо справляется. Просто некоторые товарищи его пытались пихать везде, куда только можно.


АОП — это хреновый способ думать. Отого все рассказы про ООП заканчиваются примерамми логирования.

Что касается "справляется" хрошее МП справляется еще лучше и универсальнее. Ты можешь не просто припаивать куски тиупого кода (в смысле кода который нельзя гибко адаптировать) к неким разбросанным другим кускам кода, а можешь делать осмысленную трансформацию кода в том числе и вставляя некие куски по некоторому правилу. Причем и правило ты можешь сам придумать, и вставляемый код адаптировать к нужному месту.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: minorlogic Украина  
Дата: 02.06.07 21:24
Оценка: :)
Здравствуйте, VladD2, Вы писали:

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


VD>Да, забыл сказать об альтернативе.


VD>Если выбр стоит как Ява vs. С++. Причем ява как платформа, то можно ко всему прочему вместо языка Ява взять язык Скала. Тогда С++ будет в глубокой заднице по всем параметрам, так как кроме премущество перечисленный мной в предыдущем сообщении вы получите один из самых современных и гибких языков программирования.


VD>Другой альтернативой может стать .NET и C# 3.0, а еще лучше .NET и Nemerle. Вот тут С++ просто кромко давится бычками, а его фанаты тщетно бьются головой о бетонный пол .


Влад забыл написать конечто что это может быть альтернативой если вы пишете под WIN и ТОЛЬКО под win. Как мне кажется , это сравнительно небольшой сегмент ИТ.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: minorlogic Украина  
Дата: 02.06.07 21:26
Оценка: :)
Представил описанный процесс програмирования владом на C++ , грабли впиваются в ... потом вынимаются , впиваются потом вынимаются.

цитата из анекдота "Спустя месяц Щерлок Холмс так и не бросил курить , а вот Ватсон без трубки уже не мог"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 23:59
Оценка: :)
Здравствуйте, alexeiz, Вы писали:

A>Не ты?


A>

В роторе точно на Шарпе. Так что не я хочу, а люди пишут.

A>здесь
Автор: VladD2
Дата: 02.06.07


Сори, очепятка.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 03.06.07 14:12
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Еще есть волшебник Александреску [...] Те кто до этого изучал Лисп ржут все время чтения книги.


КЛ>>зы: сам не читал, но представление имею


VD>зы: сам читал и смеялся.


Не примазывайся.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[9]: Расскажите профессионально, чем Java разработка быст
От: IT Россия linq2db.com
Дата: 03.06.07 17:26
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

AVK>Правильный АОП должен уметь накладываться на уже скомпилированную сборку, ничего ни про какой АОП не знающую.


С каких это пор появились такие требования к АОП?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.06.07 18:26
Оценка: -1
Здравствуйте, IT, Вы писали:

AVK>>Правильный АОП должен уметь накладываться на уже скомпилированную сборку, ничего ни про какой АОП не знающую.


IT>С каких это пор появились такие требования к АОП?


Требования к реализации АОП. Иначе львиную долю полезности АОП теряет.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[11]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 03.06.07 18:59
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

IT>>С каких это пор появились такие требования к АОП?


AVK>Требования к реализации АОП. Иначе львиную долю полезности АОП теряет.


Я так не думаю. Впрочем, не исключаю, что для небольшого круга задач это справедливо.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 03.06.07 19:56
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

IT>> Впрочем, не исключаю, что для небольшого круга задач это справедливо.


AVK>Полезность в качестве универсального средства решения всех задач АОП уже наглядно продемонстрировал.


С этим никто и не спорит. Для меня под большим сомнением твоё утверждение, что АОП рулит только, когда накладывается на уже скомпилированную сборку. Повторю ещё раз. Возможно это справедливо для небольшого круга задач, где действительно необходимо конфигурирование системы во время деплоймента. Но такие решения не являются широко применяемой практикой и скорее относятся к экзотическим. Для обычных задач АОП точно так же рулит не по-децки, если его применять с умом. Никакой разницы между применения его к уже скомпилированной или ещё нет сборке я не вижу в принципе.

AVK>В задачках оборачивания прикладного кода системными средствами внутри некоей инфраструктуры АОП рулит неподецки. Но тама как правило нужен деплоймент как отдельный этап или как отдельная процедура в рантайме. А в остальном АОП зачастую выступает в роли китайской артиллерии для нанесения вреда поголовью пернатых из семейства врановых.


Весьма однобокий взгляд, основанный, скорее всего, на однобоком опыте. Мне почему-то великолепно удаётся применяется АОП без всяких отдельных деплойментов.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.06.07 20:12
Оценка: -1
Здравствуйте, IT, Вы писали:

IT>С этим никто и не спорит. Для меня под большим сомнением твоё утверждение, что АОП рулит только, когда накладывается на уже скомпилированную сборку.


Тут, как раз, все очень просто. Возможность работать с скомпилированной сборкой определяет совместимость с КОП. Это как нетовские дженерики vs плюсовые шаблоны. Если забить на КОП, то и АОП, работающая в компайл-тайме, будет приемлемым. Но на такое забивание в рамках .NET должно быть очень серьезное основание. Поэтому мне и кажется, что АОП, не способное работать с скомпилированным кодом, в качестве универсального фреймворка имеет очень небольшуюценность.

IT> Повторю ещё раз. Возможно это справедливо для небольшого круга задач, где действительно необходимо конфигурирование системы во время деплоймента. Но такие решения не являются широко применяемой практикой и скорее относятся к экзотическим.


Ну я бы так не сказал.

IT> Для обычных задач АОП точно так же рулит не по-децки, если его применять с умом.


Только я пока не видел этого рулящего неподецки применения АОП в компайл-тайме.

IT> Никакой разницы между применения его к уже скомпилированной или ещё нет сборке я не вижу в принципе.


С точки зрения применения техник МП разница принципиальная.

IT>Весьма однобокий взгляд, основанный, скорее всего, на однобоком опыте.


Ну понеслась. Только теперь тем, что я первый начал ты не отмажешься. Сдается мне, это твой опыт однобок, коль скоро деплоймент тебе кажется убогим.

IT> Мне почему-то великолепно удаётся применяется АОП без всяких отдельных деплойментов.


Это в BLToolkit то? Странно, что ты там догадался, что карту меппинга нужно вынести в отдельный файл, а не размечать прямо по исходникам. Или это была не твоя идея?
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[10]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.07 20:49
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Если не вдаваться в детали реализации, то АОП — это определённый тип паттернов, называемых аспектами. Если их реализовывать средствами МП, то они не перестанут от этого быть аспектами.


Проблема в том, что АОП в том виде в котором он задуман и реализован — это очень убогая технология. В ней нет главного — возможности порождать гибкий и адаптируемый код. А тупое "прививание" готовых фрагментов кода дает слишком малый простор для фантазии.

Так что конечно МП можно использовать для релазации АОП, но если при этом ограничиваться только этим, то ничего хорошего не выйдет.

Так что из АОП можно взять только саму идея внедрения кода в разные части рукописного кода. Но это настлько примитивная возможность, что ее даже нет смысла рассматривать отдельно. В общем, на парадигму это никак не тянет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.07 20:49
Оценка: -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Не примазывайся.


К чему Гена? Какой смысл примазываться к тому от чего тебе блевать охота?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.06.07 21:48
Оценка: +1
Здравствуйте, OdesitVadim, Вы писали:

OV>ну есть два варианта.

OV>первый — передать массив так
OV>
OV>procedure proc(a:array of array of tipelem);
OV>

OV>теперь в коде вовсю будут работать функции low и high

Агащазблин. Я по логике конечно так и должно быть. Но на практике если написать:
procedure PrintMatrix(msg : string; matrix : array of array of ElemType);

то получаешь:
(блин, в этой дертмовой среде даже сообщение об ошибке скопировать нельзя )

Identifier expected but 'ARRAY' found

Задница, в общем.

OV>или другой вариант

OV>
OV>type
OV>  TMyArr = array[1..col,1..row] of tipelem;
OV>var a:TMyArr;
OV>procedure proc(x:TMyArr);
OV>

OV>а так писать нельзя
OV>
OV>procedure proc(a:array[1..col,1..row] of tipelem);
OV>


Хащазблинещераз. Как же. Это я тоже пробовал. При попытке передать матрицу в процедуру где параметр описан как:
type
  ElemType   = Integer; // Aano?aae?oainy io oeia yeaiaioa ianneaa
  TMyArr = array[1..3,1..5] of ElemType;
...
procedure PrintMatrix(msg : string; const matrix : TMyArr);
...
PrintMatrix('Before swap:', matrix); // Ia?aoaai enoiaiia niaa??eiia iao?eou

получаем:

Incompatible types: 'TMyArr' and 'Array'

Маразм, вобщем.

И это при том, что на Шарпе или Немреле подобных проблем нет как класс.

OV>Нет, просто мы стоим на другом уровне сознания (понимания задач). Я видел несколько преподов, которые такие вещи толкают — супер. А студенты их непонимают. Причина — препод не умеет опуститься до уровня студента, а потом за уши подтянуть. Ведь в этом их задача.


Какой к черту другой уровень? Если задачу предназначенную для первакурсников не могут понять два взрослых мужика-программиста, то о чем еще можно говорить?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 11:36
Оценка: -1
Здравствуйте, OdesitVadim, Вы писали:

OV>Промазал.С одномерными — можно так. Да и в Си и им подобным передать двомерный масив, не указывая ниодной размерности — тоже проблема.


В С таких проблем нет, так как нет (по сути) массивов. Там двумерный массив всегда передается как TYPE**. В C# это будет или TYPE[][] (массив массивов), или TYPE[,] (реальная матрица). Проблем с их передачей нет. Так что не надо наговаривать.

VD>>

Identifier expected but 'ARRAY' found

VD>>Задница, в общем.
OV>А вы пробывали? всё можно! просто нужно выбрать сообщение и нажать Ctrl+C. Незнаете — не ругайте.

Пробовал. Не помогает.

VD>>

Incompatible types: 'TMyArr' and 'Array'

VD>>Маразм, вобщем.
OV>А вот это странно. Хотя если переменная matrix не была обявленна как TMyArr, (судя с ошибки — это так и есть) то вполне логично. Делфи тут прикапывается, так как обявленный через type новый тип не совместим со старым.

Маразм — это. Мааараазм! В языке нет способа передать матрицу в качестве массива, а описать ее таки можно. За такое проектирование нужно с работы выгонять.

VD>>И это при том, что на Шарпе или Немреле подобных проблем нет как класс.

OV>Ну да, там всё классы.

На самом деле — нет. Массвы встроены в CLR, т.е. поддерживаются рантаймом и JIT-ом напрямую. ОО-форму они принимают так как язык эмулирует это поведение.

Да и пофигу это. Главное, что все логично и удобно. А в Дельфи это сделано просто через задницу. И если я это еще могу понять и попытаться найти обходной путь, то первокурсник просто подумает, что он дурак и не может справиться с задачей.

Внимание, вопрос! Кому на фиг нужно такое обучение? Мы специально недоучек клепаем? Или чем больше трудностей тем лучше?

OV>О том что эти два взрослых мужика-программиста умеют решать сложные задачи, но не там языке. Это всё равно, что вы сейчас сочинение на украинском писать начнёте. Вроде и знаете, что язык подобен русскому, а нет, есть подковырки. Так и здесь. (я не хотел разжигать межнациональные споры этой фразой)


Повторяю последний раз. Вопросы сформулированы не корректно. В них присуствуют неоднозначности. Языки тут не причем. После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде.

В общем, не надо пытаться найти недостатки во мне. Просто нужно усвоить два факта. 1. Те кто придумывал эти задачи бараны. 2. Дельфи хреновый инструмент для подобных задач.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Расскажите профессионально, чем Java разработка быс
От: Lloyd Россия  
Дата: 08.06.07 12:17
Оценка: +1
Здравствуйте, OdesitVadim, Вы писали:

VD>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


OV>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.


Да не, что-то видимо произошло недавно, т.к. раньше он был гораздо более "пушистым".
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[33]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 13.06.07 07:22
Оценка: +1
WH>В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет.
WH>А возможность обобщенного автоматического управления ресурсами могого стоит.
WH>Плюс строготипизированные обобщенные коллекции и многое другое.
WH>Так что не надо.

Тем не менее знаю как минимум два серьезных проекта, которые ничуть не пострадали от того, что были реализованы на Делфи — движок полнотекстового поиска в Arhivarius3000 (один из самых мощных и быстрых в своем классе) — и серверная+клиентская часть сервиса RDM+ (удаленный десктоп на мобилах).

Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.06.07 21:40
Оценка: -1
Здравствуйте, AndrewVK, Вы писали:

AVK>Такой идиотизм встречается, к примеру, в огромном количестве алгоритмов DSP. Или вот в 3D геометрии их тож навалом.


С DSP не вазился, а вот фиксированных мариц в 3D не видел. Все как одна были динамическими.

Ну, да в любом случае тем хуже для Дельфи.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Расскажите профессионально, чем Java разработка быстрее C++
От: flashinc  
Дата: 31.05.07 16:47
Оценка:
Здравствуйте,
мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
Говорят что разработка на java быстрее и дешевле. Так ли это?

большая просьба! Не устраивать неинформативный флейм Java vs C++ !!!

01.06.07 12:53: Перенесено модератором из 'Java' — Blazkowicz
04.06.07 10:11: Перенесено из 'Философия программирования'
Re[2]: Расскажите профессионально, чем Java разработка быст
От: flashinc  
Дата: 31.05.07 19:53
Оценка:
Прежде всего, огромное, душевное спасибо!!!!

B>1. Реальная, а не условная стандартизация (в отличие от Java стандарт С++ допускает очень много вольностей).


Стандарт языка? А что это дает? Вот тот же Pascal или Ada — они еще жестче по синтаксису, но лучше ли? Почему тогда Java лучше них?

B>2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).


Ну это всё про язык опять же...

B>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.


А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?


B>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).


Дайте примеры библиотек чтобы сразу уж знать

B>5. В связи с 2, упрощается создание мощной среды разработки. Анализ и рефакторинг кода, управление зависимостями, возможности поиска и динамической подсветки — уже существующие возможности в Eclipse или Intellij IDEA перечислять можно долго. Ни одна среда разработки для С++ и близко не подобралась к такому.


А delphi 2007 скажем? или свежая Visual Studio?

B>6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.


А на каких конкретно участках, ну, что делали?
Re[3]: Расскажите профессионально, чем Java разработка быст
От: den123 Израиль http://den123.smugmug.com
Дата: 31.05.07 20:24
Оценка:
Здравствуйте, flashinc, Вы писали:

...
B>>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.

F>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?


В одном из проектов мы применили Reflection для динамического создания объектов. Исходной информацией является XML, результатом — готовый объект, созданный на лету.

Собственно код Reflection занимает строк 10.

Сделано это было давно, однако на протяжении многих лет список "рефлектуемых" классов увеличился во много раз и это без каких либо изменений в методе "рефлектующем" классы!

Не уверен, что это можно сделать только на Java, но сомневаюсь, что это можно сделать также легко на других языках.
WBR — Yuriy
Re[4]: Расскажите профессионально, чем Java разработка быст
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 01.06.07 02:24
Оценка:
Здравствуйте, den123, Вы писали:

D>Не уверен, что это можно сделать только на Java, но сомневаюсь, что это можно сделать также легко на других языках.

Можно, к примеру, в .NET рефлексия, точнее типы — функциональнее.

PS И вообще, пакость это — рефлексия, по-моему.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[3]: Расскажите профессионально, чем Java разработка быст
От: dev1024  
Дата: 01.06.07 03:18
Оценка:
Здравствуйте, flashinc, Вы писали:

B>>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.


F>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?


Hibernate.
Позволяет взять готовый класс и с минимальными усилиями сохранять/восстанавливать его экземпляры в БД.
Информацию о названиях и типах полей для правильного отображения их на таблицу(ы) БД Hibernate сам вытаскивает из класса через Reflection.
Re: Расскажите профессионально, чем Java разработка быстрее
От: Дмитрий В  
Дата: 01.06.07 09:42
Оценка:
Здравствуйте, flashinc, Вы писали:

F>Здравствуйте,

F>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
F>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
F>Говорят что разработка на java быстрее и дешевле. Так ли это?

F>большая просьба! Не устраивать неинформативный флейм Java vs C++ !!!


А в этом сообщении вопрос Java vs C++ переведен на более осязаемое понятие, а именно — деньги:
http://rsdn.ru/forum/message/2510299.1.aspx
Автор: flashinc
Дата: 01.06.07


Возьму риск сделать feedback по наблюдению темы.
(вопрос был немного в другом, но сишники занялись как всегда любимым делом — отслеживанием инициализации ссылок, итд...)


В оригинальном письме содержалось:

не могу найти программиста-профессионала C++: все приходят либо 4.0K+ и ничего делать не хотят ("давайте я будут обсуждать архитектуру, а в свободное от этого время — писать код"), либо 1.5K и в глазах вопрос...
а посередине никого не осталось???

Так вот дело в том, все верно, что не можете найти С++.
Ибо C++ программист, это дело такое — он должен быть либо высочайшим профессионалом, либо он не должен быть C++ программистом. Посередине не должно быть. По определению C++ программиста. А вы хотите посредине. Вот отсюда и этот life concept misunderstanding. Или платите деньги и нанимайте профессионалов (найти будет очень сложно, они уже все расхватаны). Или студентов, но миритесь. Везде должен быть компромисс.


Потом второе. Последив за дискуссией, стал понятен ваш метод отсева программистов (я называю их программистами — хотя ваш подход прослеживающийся в дискуссии — это "кодописатель-который-идеально-знает-язык-си-плас-плас"). Некоторые довольно мудрые люди уже заметили, что студент легко справляется с вопросами касаемо синтаксиса языка. А как же быть, если программа не линкуется? Нужно подключить third-party библиотеку? Найти memory leak в этой библиотеке?

Сделайте упор все-таки на практическую сторону. А именно — дайте вначале простейший тест с вопросами (без лимита по времени), затем посадите человека за конкретный инструмент, написать что-то конкретное, по вашей специфике. В некоторых случаях можно получить удивительные результаты. И может случиться так, что они вас удовлетворят.

Вот пример — мне знаком человек, который не ответит на вопросы по ссылкам, виртуальным деструкторам, и уж тем более — темплейтам. То есть он, не "высочайший C++ профессионал". (Соответсвенно, не просит $2-3K, зарплата <1K)
Но зато он очень и очень быстро само-обучаем, способен читать любой ассемблер (и мгновенно разобрать структуру программы) и написать очень функциональный, очень робастный код, снабженный отличными комментариями. Причем, программы/алгоритмы которые он пишет сам, не задавая нигде вопросов, весьма сложны — это, например, эмуляторы микропроцессоров с динамической рекомпиляцией и анализом микропроцессорного кода, и эмуляторы hardware (заметьте, я говорю — сложны программы, а не "C++ текст", как раз C++ текст у него прост). Он понимает общие концепции ООП и использует их с умом. А не лепит везде классы, гуарды, темплейты и ссылки. Ему достаточно указателей. И главное — все работает исключительно хорошо.

Так вот, может быть стоит:
a) Изменить подход к отсеву кандидатов (после ответа на вопрос, кто нужен — "идеальный C++ кодописатель" или "талантливый C++ программист")
б) Выбрать другую платформу? Java? .NET ?

Re[5]: Расскажите профессионально, чем Java разработка быст
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 01.06.07 09:50
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Угу, помницца я как то работал в одной веселой конторе, там писали на жабе систему документооборота. Так вот проблема памяти там стояла очень остро. Потому как система непрерывно хавала память, когда она физически кончалась запускался GC — становилось полегче и так по кругу. На девелоперских машинах это было почти незаметно. Трабл вылез только когда начали ставить систему заказчику — вот тогда геморроя было хоть отбавляй...

Есть ведь методики устранения избыточного выделения памяти без сильного рефакторинга на основе гибких, слабых, мнимых ссылок — и это намного проще, нежели отследить все выделения памяти, за которыми забыл прибрать.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[4]: Расскажите профессионально, чем Java разработка быст
От: flashinc  
Дата: 01.06.07 09:51
Оценка:
Мне интересно, насколько будут приведены реальные примеры,
насколько реальность отличается от обещаний.

Потенциал — не всегда работает в реальности. Тому много причин.
Ferrari, Porche — в потенциале очень и очень быстры. У них есть потенциал и большая мощь двигателя. Немножко отъезжаем за москву. Ставим Ferrari на проселочную дорогу... Вот и всё.
Понятно, что незачем так делать. Однако, в случае с java везде заявляется абстрактный потенциал. А мне нужна грубая проселочная дорога "реалий".

hibernate, reflection — это механизмы повышения абстракции. (программисты занимаюстся в основе своей повышением абстракции). я не вижу ни в hibernate, ни в возможности reflection чего-то такого, что невозможно было бы выполнить на других платформах.

касаемо приведенного примера с reflection и созданием объектов из XML...
Ну хорошо, допустим есть у нас такой механизм — воссоздается run-time структура объектов (скорее всего дерево?). А чем оно полезно, что вы будете делать с каждым новым объектом который создался из нового XML-описания? Каждый новый объект требует новой функциональности, не той что уже есть в приложении. Согласитесь, Вам ее необходимо написать.

И тут я на данном этапе не вижу разницы, как создавать конечную функциональность, описав в неведомом XML файле новый объект для того чобы он загружался с помощью рефлексии, или описав новый c++ класс, или дописав c++ код с тем чтобы он понимал новые ветки XML документа.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 10:03
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

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


F>>Здравствуйте,

F>>мне хотелось бы услышать ответ, чем именно разработка на десктопной Java (SE) быстрее разработки на C++ ??
F>>Для конкретики возьмем, скажем, Microsoft Visual C++. Вопрос не про язык, именно про скорость разработки, про утилиты, библиотеки, методики итд..
F>>Говорят что разработка на java быстрее и дешевле. Так ли это?

F>>большая просьба! Не устраивать неинформативный флейм Java vs C++ !!!


Гыгы, автору темы его же сообщение процитировал
Ну кто ж знал что у него уже есть на этот счет определенное мнение?
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Константин Л. Франция  
Дата: 01.06.07 10:04
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>У меня знакомый, который после трех лет разработки на плюсах (парень серьезный, сетевым программированием занимется, линукс патчит), страуструпа иногда с собой носил — говорит перечитывает.

ДВ>Я был немного удивлен — в отличие от С++ Java почти на интуитивном уровне понятна.
ДВ>Я сейчас тоже книжки по яве с собой ношу, но это книжки по фреймворкам, либо по различным стандартам, но никак не по синтаксису языка.

Если бы ты его читал, то знал бы, что там не только про синтаксис

зы: сам не читал, но представление имею
Re[6]: Расскажите профессионально, чем Java разработка быст
От: CreatorCray  
Дата: 01.06.07 10:05
Оценка:
Здравствуйте, rsn81, Вы писали:

R>Есть ведь методики устранения избыточного выделения памяти без сильного рефакторинга на основе гибких, слабых, мнимых ссылок — и это намного проще, нежели отследить все выделения памяти, за которыми забыл прибрать.

Прибрать? В жабе?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Расскажите профессионально, чем Java разработка быст
От: fmiracle  
Дата: 01.06.07 10:15
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>...страуструпа иногда с собой носил — говорит перечитывает.

ДВ>Я был немного удивлен — в отличие от С++ Java почти на интуитивном уровне понятна.

Эээ? А ты читал Страуструпа?
Я его как-то перечитывал даже после того, как полностью на .NET перешел. Там ведь очень много интересного и полезного по ООП и вообще разработке и архитектуре.

Еще там много по stl. Что характерно — часто с пояснениями, почему сделано именно так и чем это хорошо.
Но по синтаксису языка??? Да там его и нет почти.
Re[2]: Расскажите профессионально, чем Java разработка быст
От: flashinc  
Дата: 01.06.07 10:19
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>А в этом сообщении вопрос Java vs C++ переведен на более осязаемое понятие, а именно — деньги:

ДВ>http://rsdn.ru/forum/message/2510299.1.aspx
Автор: flashinc
Дата: 01.06.07


...

...некоторое время находился в полном ступоре, увидев здесь полный пост, который я делал
в другую тему, в другом RSDN форуме (всмысле до того как модератор перенес темы). были подозрения на глюк форума, затем на какой-то подвох с вашей стороны )))))))
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Glоbus Украина  
Дата: 01.06.07 10:26
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Glоbus, Вы писали:


G>>Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.


L>Дык, оно так уже и есть


Индия еще не весь мир
Удачи тебе, браток!
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Lloyd Россия  
Дата: 01.06.07 10:27
Оценка:
Здравствуйте, Glоbus, Вы писали:

L>>Дык, оно так уже и есть


G>Индия еще не весь мир


Это вопрос времени.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Baudolino  
Дата: 01.06.07 10:31
Оценка:
B>>2. Простота языка и наличие множества типовых решений. Средства автоматического управления памятью (в Java утечки памяти связаны исключительно с ошибками в архитектуре; в C++ труднообнаружимая утечка может стать следствием невнимательности).
G>Не понимаю, как средства автоматического управления памятью помогут в написании десктопных аппликух.
JFYI, в Swing у компонентов нет даже методов dispose. Окошко закрылось — все почистилось самостоятельно. Рисков попасть не в ту область памяти — ноль.

B>>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.

G>А к десктопным аппликухам как это относится? Я вот на плюсах пишу ни один год и мне пока еще ни разу не требовалось во время исполнения создавать новые типы.
Я думаю, вам и в космос не приходилось летать. Задачи-то разные бывают. Например, есть у вас приложение для построения отчетов и есть ERP-система, с которой это приложение взаимодействует. Хранить в приложении объектную модель, аналогичную ERP, смысла нет никакого. Проще предоставить ему интерфейсы объектов: приложение сгенерирует на их основе прокси для удаленного вызова геттеров и всё. Соответствующие технологии в Java есть, ничего придумывать не надо, кода писать — минимум.

B>>4. Огромное количество библиотек и мощных фреймворков. Они быстро плодятся и развиваются, т.к. редко возникает необходимость в портировании (платформно-зависимый код встречается нечасто).

G>А что, qt какой-нить на плюсах уже отминили?
А вы сравните его с Eclipse RCP/EMF/GEF и т.п.

B>>6. Возможно, что-то забыл. Во всяком случае, я наблюдал, как коллеги пересаживались с С++ (с многолетним опытом) на Java и их производительность увеличивалась в разы.

G>В разы это во сколько — 2, 3, 4? Что, реально при переходе на жабу проект вместо 12 месяцев делался за 4 или за 3? Полная фигня.
Многие задачи реально в разы быстрее делаются. Например инструменты для редактирования иерархических моделей данных. Полчаса на генерацию прототипа из XML-схемы (модель данных, command layer, иерархическое представление в GUI и визуальный редактор свойств), три месяца на бизнес-логику (merge tool для групповой работы, валидация, генераторы документов) и юзабилити (мастера, иконки и т.д.). На плюсах то же самое делается за год.

G>З.Ы. На самом деле, языки типа С++, жабы, дотнета и т.п. — это просто гаечные ключи, которые применяются при решении задач — все эти ключи умеют крутить гайки. при том одни лучше крутят одни гайки, другие лучше крутят другие, плюсы например хорошо крутят все гайки, но для пользования этим ключам нужно иметь может чуть более высокую квалификацию, чем для других. И все эти разговоры типа "производительность после перехода с плюсов на жабу повысилась в разы" — профанация чистейшей воды. Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.

Я знаю как минимум одну крупную международную компанию, всерьез рассматривающую переход с Qt на Eclipse RCP. Так что смотрите, не проснитесь слишком поздно.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: rsn81 Россия http://rsn81.wordpress.com
Дата: 01.06.07 10:33
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Прибрать? В жабе?

Да. А что вас удивляет? Сборщик мусора не решает все проблемы.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Baudolino  
Дата: 01.06.07 10:34
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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


R>>Есть ведь методики устранения избыточного выделения памяти без сильного рефакторинга на основе гибких, слабых, мнимых ссылок — и это намного проще, нежели отследить все выделения памяти, за которыми забыл прибрать.

CC>Прибрать? В жабе?

Да. Утечки памяти случаются, если у разработчиков руки через одно место растут. Тривиальный пример — синглтон, у которого есть непрерывно пополняемая коллекция. Если по какой-то причине объекты из коллекции не уходят, это приводит (иногда через весьма длительный срок) к OutOfMemoryError.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Blazkowicz Россия  
Дата: 01.06.07 10:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Я даже список стандартов привести затрудняюсь.


Вот он:
http://jcp.org/en/jsr/all
Re[6]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 10:44
Оценка:
Здравствуйте, DPH, Вы писали:

DPH>Общая зарплата у сишной группы была чуть больше, так что реальная эффективность — где-то 2 к 1.


Java программисты — это тяжелая артиллерия, закаленная в разработке корпоративных проектов
Re[6]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 10:50
Оценка:
Здравствуйте, DPH, Вы писали:

В свое время я редактор некоторого XML описания бизнес процессов написал за полтора-два месяца. Писалось все с помощью elcipse RCP, потому что в бизнес процессе был java код и шаблоны velocity (для их редактирования соответственно использовались встроенные плагины еклипса). Рисовалка там тоже была, но я её с нуля писал, потому что про GEF не слышал
Когда же затем встала задача опять реализовать редактор некоторого xml формата, я стал писать это все таки на свинге Eclipse это конечно круто, но.. иногда это слишком круто и не совсем надо геммороя с ним хватает
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 10:52
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

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


ДВ>В свое время я редактор некоторого XML описания бизнес процессов написал за полтора-два месяца. Писалось все с помощью elcipse RCP, потому что в бизнес процессе был java код и шаблоны velocity (для их редактирования соответственно использовались встроенные плагины еклипса). Рисовалка там тоже была, но я её с нуля писал, потому что про GEF не слышал

ДВ>Когда же затем встала задача опять реализовать редактор некоторого xml формата, я стал писать это все таки на свинге Eclipse это конечно круто, но.. иногда это слишком круто и не совсем надо геммороя с ним хватает


Но если проект большой и разработчиков несколько, то лучше все таки Eclipse RCP наверное использовать — потому как у программиста будет меньше возможностей придумывать велосипеды, чтобы потом все с ними разбирались
Re[5]: Расскажите профессионально, чем Java разработка быст
От: mrozov  
Дата: 01.06.07 10:53
Оценка:
Здравствуйте, CreatorCray, Вы писали:

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


R>>Сокращение времени разработки (за счет большего времени на функционал, нежели борьбу с хитрым компилятором) и отладки (проблемы работы с памятью в Java тоже имеют место, но носят не такой критический характер, как в неуправляемых языках).

CC>Угу, помницца я как то работал в одной веселой конторе, там писали на жабе систему документооборота...

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

Я как-то видел проект (существует много лет, коммерчески очень успешный, конкуренты отдыхают) в котором access violation-ы генерятся и давятся не постоянной основе, никого не удивляя и не смущая, каждые несколько секунд. Ну да, иногда все валится к чертям, иногда сроки срываются из-за того, что подобрать конфигурацию, при которой это могло бы заработать оказывается крайне непросто... ну и что, искать источник проблемы — себе дороже. Слышал, они это творение на .net портировать хотели — интересно, чем дело закончилось.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: flashinc  
Дата: 01.06.07 11:28
Оценка:
S>И практически для каждого есть открытая reference реализация и несколько штук коммерческих. А это означает, что ты не должен мучиться и выбирать, к примеру, какого криптопровайдера использовать, а просто опираешься на стандарт. И потом выбираешь одного из десятка взаимозаменяемых провайдеров, принимая решение на основе всяческих разных требований. Плюсам такая роскошь не снилась и в эротическом сне. Библиотеки слабо совместимы между собой, а уж взаимозаменяемости ты не найдешь.

Хорошо кстати. А... нельзя ли озвучить примерный алгоритм поиска необходимой библиотеки и реализации? Реестр есть? Если нет, по каким ресурсам ходить, на что смотреть.

p.s.
всегда хотел спросить, почему Sinclair, не Amiga например или C64? ;-)
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Blazkowicz Россия  
Дата: 01.06.07 11:29
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>И практически для каждого есть открытая reference реализация и несколько штук коммерческих.

Это, к сожалению, не совсем так. Спецификациий с множеством реализаций не так уж и много, это те которые отосятся к JEE, XML и persistence. Много спецификаций базирующихся на одной единственной реализации. Иногда даже если реализаций несколько то бывает что есть одна которая является бесспорным лидером и смотреть на остальные смысла нет. Но.
Есть такой нюанс что в качестве альтернативы отдельно взятой спецификации очень часто можно найти opensource решение которое будет ничем не хуже. Например, Hibernate в свое время был альтернативой спецификации JDO, спецификацию под хибер разработали позже. А Spring, в свою очередь, во многом рулит по сравнению с EJB.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: CreatorCray  
Дата: 01.06.07 11:36
Оценка:
Здравствуйте, rsn81, Вы писали:

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


CC>>Прибрать? В жабе?

R>Да. А что вас удивляет?
Мне интересно как вы собираетесь делать "приборку". В моем понимании "прибрать" = вернуть все запрошенные ресурсы назад здесь и сейчас.
Писалось тогда все на свинге + crystal reports + elixir reports + еще куча всякого такого

R>Сборщик мусора не решает все проблемы.

Разумеется.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Расскажите профессионально, чем Java разработка быст
От: Константин Л. Франция  
Дата: 01.06.07 11:48
Оценка:
Здравствуйте, DPH, Вы писали:

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


F>>Мне интересно, насколько будут приведены реальные примеры,

F>>насколько реальность отличается от обещаний.

DPH>У меня была возможнось сравнить на одной задаче скорость работы Java программистов и C++

DPH>Задача: реализация некоторого простого UI в браузере, 2004 год.
DPH>С одной стороны: Applet, AWT, JBuilder (т.е. наихудшее для Java разработки сочетание)
DPH> два программиста сделали за 2 месяца, работает быстро и надежно.
DPH>С другой стороны: ActiveX + IE, MS VS
DPH> два программиста делали три месяца, результат работает быстро, но в зависимости от
DPH>версии IE и погоды на марсе падает.

DPH>Общая зарплата у сишной группы была чуть больше, так что реальная эффективность — где-то 2 к 1.


Не ясна квалификация с++ и джава девелоперов. AX и IE сами по себе глючные

DPH>Второй пример.

DPH>Задача: довольно сложный UI и требование "программа должна смотреться профессионально", 2006 год
DPH>1 группа: 2 C++ программиста, MS VS (опыт работы с VS в разработке интерфейсов — более года)
DPH> Через три месяца есть отдельные окошки, все вместе смотрится ужасно, возможности быстро добавлять логику — нет.
DPH>2 группа: 2 Java программиста (один, правда, segnor), Eclipse RCP (опыт работы с RCP — 0)
DPH> Через три недели реализована вся функциональность, сделанная первой группой, приложение легко модифицируется,
DPH>выглядит вполне профессионально.

опять же вопрос про квалификацию остается открытым.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Blazkowicz Россия  
Дата: 01.06.07 11:59
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>Не ясна квалификация с++ и джава девелоперов. AX и IE сами по себе глючные


Вот это-то и расстраивает. Я всего месяц работаю с удаленной .NET командой и уже раза 3 слышал от них что во всех бедах виноват MS. Кто-нибудь слышал чтобы Java девелопер жаловался что программа глючит, потому что у Sun глючная JVM? Да и другие решения. вроде серверов приложений. Они стабильнее того же IIS.

КЛ>опять же вопрос про квалификацию остается открытым.

Вопрос про квалификацию не остается открытым. Более квалифицированые разработчики трубуют больше финансовых затрат.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Blazkowicz Россия  
Дата: 01.06.07 12:03
Оценка:
Здравствуйте, flashinc, Вы писали:

F>Хорошо кстати. А... нельзя ли озвучить примерный алгоритм поиска необходимой библиотеки и реализации? Реестр есть? Если нет, по каким ресурсам ходить, на что смотреть.


Для начала это гугл. Здесь
Автор: Baudolino
Дата: 01.06.07
камрад ссылок уже накидал.
Есть ещё такой сайт http://java-source.net, но даже там нет многих полезных решений.
Потом навыки поиска приходят с опытом. И ты просто будешь знать где какой framework заюзать и какие у него есть альтернативы.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 12:08
Оценка:
Здравствуйте, flashinc, Вы писали:

S>>И практически для каждого есть открытая reference реализация и несколько штук коммерческих. А это означает, что ты не должен мучиться и выбирать, к примеру, какого криптопровайдера использовать, а просто опираешься на стандарт. И потом выбираешь одного из десятка взаимозаменяемых провайдеров, принимая решение на основе всяческих разных требований. Плюсам такая роскошь не снилась и в эротическом сне. Библиотеки слабо совместимы между собой, а уж взаимозаменяемости ты не найдешь.


F>Хорошо кстати. А... нельзя ли озвучить примерный алгоритм поиска необходимой библиотеки и реализации? Реестр есть? Если нет, по каким ресурсам ходить, на что смотреть.


F>p.s.

F> всегда хотел спросить, почему Sinclair, не Amiga например или C64?

Реестр самих библиотек есть http://repo1.maven.org/maven2/
Там еще частенько исходники есть.
Описания там нет, искать надо отдельно.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: Lloyd Россия  
Дата: 01.06.07 12:12
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Вот это-то и расстраивает. Я всего месяц работаю с удаленной .NET командой и уже раза 3 слышал от них что во всех бедах виноват MS.


Не обращай внимание. Это традиция — винить во всех бедах микрософт.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Расскажите профессионально, чем Java разработка быст
От: JavaBean Украина  
Дата: 01.06.07 12:22
Оценка:
Здравствуйте, rsn81, Вы писали:

F>>Ну вот пример — если нужно сляпать формочку с полем ввода и кнопкой то чем java будет быстрее чем взять visual basic или delphi?

R>Ничем. С начальными условиями: не знаю Java, не знаю Delphi — эту задачу быстрее решить на Delphi. Я серьезно.

Только с появлением Matisse в NetBeans 5.0 эту задачу стало так же легко сваять в яве.
В NetBeans 6 будет поддержка Java Beans Binding которая позволит так же как в делфи легко связать твою форму с базой данных.
Вообще последнее время Sun достаточно много внимания уделяет разработке GUI приложений
Re[6]: Расскажите профессионально, чем Java разработка быст
От: JavaBean Украина  
Дата: 01.06.07 12:57
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Для начала это гугл. Здесь
Автор: Baudolino
Дата: 01.06.07
камрад ссылок уже накидал.

B>Есть ещё такой сайт http://java-source.net, но даже там нет многих полезных решений.
B>Потом навыки поиска приходят с опытом. И ты просто будешь знать где какой framework заюзать и какие у него есть альтернативы.

Хотел бы еще добавить
http://www.koders.com/
http://www.docjar.com/

Оба ресурса имеют плагин для еклипсы
Re[8]: Расскажите профессионально, чем Java разработка быст
От: Константин Л. Франция  
Дата: 01.06.07 13:27
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Константин Л., Вы писали:


КЛ>>Не ясна квалификация с++ и джава девелоперов. AX и IE сами по себе глючные


B>Вот это-то и расстраивает. Я всего месяц работаю с удаленной .NET командой и уже раза 3 слышал от них что во всех бедах виноват MS. Кто-нибудь слышал чтобы Java девелопер жаловался что программа глючит, потому что у Sun глючная JVM? Да и другие решения. вроде серверов приложений. Они стабильнее того же IIS.


они обосновали хоть?

КЛ>>опять же вопрос про квалификацию остается открытым.

B>Вопрос про квалификацию не остается открытым. Более квалифицированые разработчики трубуют больше финансовых затрат.

все вы хотите и рыбку съесть и кое-куда сесть
Re[5]: Расскажите профессионально, чем Java разработка быст
От: IT Россия linq2db.com
Дата: 01.06.07 16:19
Оценка:
Здравствуйте, rsn81, Вы писали:

R>PS И вообще, пакость это — рефлексия, по-моему.


Это вы, батенька, не умеете её правильно готовить. Например, здесь показано как в результате использования Reflection можно вообще не писать кучу тупого кода. Вместо этого одной декларации метода достаточно для его генерации в рантайм.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Андрей Хропов Россия  
Дата: 01.06.07 20:12
Оценка:
Здравствуйте, Glоbus, Вы писали:

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


L>>Здравствуйте, Glоbus, Вы писали:


G>>>Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.


L>>Дык, оно так уже и есть


G>Индия еще не весь мир


US :

Dice.com :

НазваниеКол-во вакансийКомментарий
Java15460
С/C++8564C++ — 7934
Visual Basic6343(2775 + VB(2851) + VBA(717))
C#5891
......
(Статистика востребованности знания языков
Автор: Андрей Хропов
Дата: 08.11.06
)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 01.06.07 20:18
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>(Статистика востребованности знания языков
Автор: Андрей Хропов
Дата: 08.11.06
)

А если посмотреть на сайт rabota.ru, то java вакансий — 118, C++ и C#(сайт объединяет) — 109 .
Получается, что java стабильно набирает обороты, С++ продолжает терять популярность, а пузырь дотнета после недавнего роста потихоньку сдувается (еще недавно у java не было такого перевеса, я точно помню)
Re[12]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 01.06.07 20:31
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

F>>Наличие только одной парадигмы программирования — OO

B>Ну, можно и на процедурное скатится при желании. А какие парадигмы представлены в плюсах?
Процедурное программирование на Java не очень удобное. Тех же указателей на функции не хватает.

А в плюсах еще много других парадигм (ой, сейчас Гена придет...) есть: метапрограммирование, generic-программирование, низкоуровневое программирование и т.п.

Мне вот в Java не хватает нормальных шаблонов
Sapienti sat!
Re[11]: Расскажите профессионально, чем Java разработка быс
От: Дмитрий В  
Дата: 01.06.07 20:36
Оценка:
Здравствуйте, flashinc, Вы писали:

F>Проприетарность платформы (доказаная судебными притязаниями)

F>Очень медленное и слабое развитие (более 10 лет уже минуло) — причем развитие было инициировано и произведено в 99% случаев community, а не Sun.
F>Невозможность контролировать политику использования памяти и отсюда — Ненормальные (оторваные от жизни) требования к памяти.
F>Низкая производительность (compared to...)
F>Наличие только одной парадигмы программирования — OO
F>Высокий уровень абстракции и как следствие изолированность от нижележащеего слоя абстракции (платформы/OS).
F>Низкая полиморфность данных/вызовов (плата за safety).
F>Существуют и другие провалы в других областях, обещаных, но не реализованых. Так например, провал апплетов и "Internet applications" во многом обеспечен самой sun — отсутствие механизмов взаимодействия апплетов с браузером/os и отсюда функционирования апплетов только в качестве бесполезных визуальных "игрушек". Это отчасти покрыто в java 5,6. Но когда?
Программируй на сях
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:02
Оценка:
Здравствуйте, Lloyd, Вы писали:

G>>Если бы все было так, то весь мир был уже писал на жабе: шутка ли — сократить сроки разработки в 3 раза.


L>Дык, оно так уже и есть


Ага. Почти так. Конечно не весь мир, но большая часть разработко действительно пишется на Яве. На С++ правда тоже не мало пишут. Но тут уже люди или не понимают что творят, или осознанно жертвуют скоростью разработки и надежностью получаемого софта ради уменьшения потребления ресурсов компьютера.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 01.06.07 21:17
Оценка:
VladD2 wrote:
> C>А так... Некоторые вещи на С++ делаются не медленнее, чем на Java.
> Несоменно. Я даже знаю отличный пример — баги.
Ну... Баги — это тоже фичи. Только странные...

А вообще, хачу парсер байт-кода CLR на С++!
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[3]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:30
Оценка:
Здравствуйте, Glоbus, Вы писали:

G>З.Ы. На самом деле, языки типа С++, жабы, дотнета и т.п. — это просто гаечные ключи, которые применяются при решении задач — все эти ключи умеют крутить гайки.


Ага. У слесарей именно такое мнение. У инженеров и ученых правда другое. Но спор слесаря и инженера или слесаря и ученого никогда не будет конструктивным.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:30
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>Получается, что java стабильно набирает обороты,


Не небирает, а набрала. Тендеция резко не меняется.

ДВ>С++ продолжает терять популярность,


Вот это правда. С++ востребован в основном там где гонются за скоростью и малым потреблением памяти.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Тех же указателей на функции не хватает.


Вообще-то там для этого анонимные инлайн-классы придумали и наклепали горы однометодных интерфейсов. Через зад конечно, но не более через зад нежели ФП в С++.

C>А в плюсах еще много других парадигм (ой, сейчас Гена придет...) есть: метапрограммирование, generic-программирование, низкоуровневое программирование и т.п.


С каких пор выделенное стало парадигмой. А generic-программирование и в Яве есть.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:38
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K>Мдя... Макросы в C++...


K>После Лиспа и Nemerle ЭТО даже макросами называть противно.


Я думаю Ричи намеренно пытался дескридитировать идею макросов Лиспа .
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 21:44
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А вообще, хачу парсер байт-кода CLR на С++!


На фиг он тебе? Вообще-то такой есть. Называется Phoenix. Только он на C++/CLI и похоже не развивается с 2005-го года. В прочем, я им давно не интересовался.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 22:09
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Вот это-то и расстраивает. Я всего месяц работаю с удаленной .NET командой и уже раза 3 слышал от них что во всех бедах виноват MS. Кто-нибудь слышал чтобы Java девелопер жаловался что программа глючит, потому что у Sun глючная JVM? Да и другие решения. вроде серверов приложений. Они стабильнее того же IIS.


Согласен. Во всех бедах Явщиков тоже виноват Майкрософт!

А IIS конечно дико не стабилен, но что-то наш сервер падает из-за ННТП написанного на дотнете без IIS-а. А сайт вроде как неплохо живет под IIS-ом.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Андрей Хропов Россия  
Дата: 01.06.07 22:09
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

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


АХ>>(Статистика востребованности знания языков
Автор: Андрей Хропов
Дата: 08.11.06
)

ДВ>А если посмотреть на сайт rabota.ru, то java вакансий — 118, C++ и C#(сайт объединяет) — 109 .
ДВ>Получается, что java стабильно набирает обороты, С++ продолжает терять популярность, а пузырь дотнета после недавнего роста потихоньку сдувается (еще недавно у java не было такого перевеса, я точно помню)

job.ru смотри, там намного больше вакансий. : Вот что увидел сейчас
Автор: Андрей Хропов
Дата: 02.06.07
.

Java осталась примерно на том же уровне (~1000)
C++ остался примерно на том же уровне (815 vs 807)
С# и VB подсдали (536 vs 586 и 428 vs 523)

зато Web- и Unix- ориентированные языки (PHP,JavaScript,Perl,Python,Ruby) прут вверх.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Расскажите профессионально, чем Java разработка быст
От: Андрей Хропов Россия  
Дата: 01.06.07 22:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>Да, забыл сказать об альтернативе.


VD>Если выбр стоит как Ява vs. С++. Причем ява как платформа, то можно ко всему прочему вместо языка Ява взять язык Скала. Тогда С++ будет в глубокой заднице по всем параметрам, так как кроме премущество перечисленный мной в предыдущем сообщении вы получите один из самых современных и гибких языков программирования.


VD>Другой альтернативой может стать .NET и C# 3.0, а еще лучше .NET и Nemerle.


+100

VD>Вот тут С++ просто кромко давится бычками, а его фанаты тщетно бьются головой о бетонный пол .


У С++ есть только одно неоспоримое приемущество. На сегодно на нем можно создавать приложения которые более бережно относятся к ресурсам компьютера (памяти и процессору).

(C) VladD2

Я думаю что скажем в нишах видеокодеков, 3д- и физических движков, матрасчетах C++ еще будет жить приличное время
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 01.06.07 22:12
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Тех же указателей на функции не хватает.

VD>Вообще-то там для этого анонимные инлайн-классы придумали и наклепали горы однометодных интерфейсов. Через зад конечно, но не более через зад нежели ФП в С++.
Так если классы — уже не процедурное программирование

C>>А в плюсах еще много других парадигм (ой, сейчас Гена придет...) есть: метапрограммирование, generic-программирование, низкоуровневое программирование и т.п.

VD>С каких пор выделенное стало парадигмой. А generic-программирование и в Яве есть.
В Java нет нормальных generic'ов — там есть авто-caster'ы.

А низкоуровневая программирование, ИМХО, тоже вполне себе парадигма. Не каждый язык допускает ассемблерные вставки
Sapienti sat!
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 01.06.07 22:14
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>А вообще, хачу парсер байт-кода CLR на С++!

VD>На фиг он тебе? Вообще-то такой есть. Называется Phoenix. Только он на C++/CLI и похоже не развивается с 2005-го года. В прочем, я им давно не интересовался.
Потихоньку запускаем .NET for LLVM — сейчас спеку пишу. Поэтому ищу заранее инструменты — проект будет на С++.

Phoenix не пойдет из-за лицензии.
Sapienti sat!
Re[15]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 22:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Так если классы — уже не процедурное программирование


Ага. Но ты будешь смеяться — это фунциональное программирование .
Они так замыкания эмулируют.

C>В Java нет нормальных generic'ов — там есть авто-caster'ы.


Нормальные, не нормальные, а свой червонец в день имеют.

C>А низкоуровневая программирование, ИМХО, тоже вполне себе парадигма. Не каждый язык допускает ассемблерные вставки


Ага. Ассемблер, например.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 22:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Phoenix не пойдет из-за лицензии.


Тогда только на С++ не выйдет. Есть только Рефлекторовский и Моновский. Вроде оба на Шарпе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 01.06.07 23:02
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Так если классы — уже не процедурное программирование

VD>Ага. Но ты будешь смеяться — это фунциональное программирование .
VD>Они так замыкания эмулируют.
Ну так я знаю. Вот и получается, что в Java нет ни нормального процедурного программирования, ни нормальной функциональщины.

C>>В Java нет нормальных generic'ов — там есть авто-caster'ы.

VD>Нормальные, не нормальные, а свой червонец в день имеют.
Просто это не больше generic-программирование получается, чем было в предидущих Java.

C>>А низкоуровневая программирование, ИМХО, тоже вполне себе парадигма. Не каждый язык допускает ассемблерные вставки

VD>Ага. Ассемблер, например.
Ну..
Sapienti sat!
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 01.06.07 23:03
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Phoenix не пойдет из-за лицензии.

VD>Тогда только на С++ не выйдет. Есть только Рефлекторовский и Моновский. Вроде оба на Шарпе.
Ну, в Моно он на чистом С (а на чем ты еще предлагаешь парсер байткода писать? ), да и еще лицензия LGPL — жуткто не хочется его использовать.
Sapienti sat!
Re[17]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 23:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну так я знаю. Вот и получается, что в Java нет ни нормального процедурного программирования, ни нормальной функциональщины.


Почти как в С++ . Только там нет нормального ООП и нормального ФП, но есть нормальный С для процедурного программирования.

C>Просто это не больше generic-программирование получается, чем было в предидущих Java.


Ну, то перегиб. Все же главную задачу оно решает — защищает от рантайм-ошибок связанных с типами. Производительность конечно хромает. Но все же.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.06.07 23:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну, в Моно он на чистом С (а на чем ты еще предлагаешь парсер байткода писать?


В роторе точно на Шарпе. Так что не я хочу, а люди пишут.
Для Моно конечно это проблематично, так как Моно не бустрипится.

C> ), да и еще лицензия LGPL — жуткто не хочется его использовать.


LGPL это как раз для тебя приемлемо. Да и С — это не так плохо. Ты ведь привык к трудностям?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 01.06.07 23:42
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Ну, в Моно он на чистом С (а на чем ты еще предлагаешь парсер байткода писать?

VD>В роторе точно на Шарпе. Так что не я хочу, а люди пишут.
VD>Для Моно конечно это проблематично, так как Моно не бустрипится.
Ну ладно, после JVM на Java (Jikes RVM) я уже во что угодно поверю.

C>> ), да и еще лицензия LGPL — жуткто не хочется его использовать.

VD>LGPL это как раз для тебя приемлемо. Да и С — это не так плохо. Ты ведь привык к трудностям?
Ну вот не люблю я чистый C. Мне в нем шаблонов вечно не хватает

LGPL, кстати, тоже не очень приемлимо.
Sapienti sat!
Re[9]: Расскажите профессионально, чем Java разработка быст
От: alexeiz  
Дата: 02.06.07 02:50
Оценка:
Здравствуйте, VladD2, Вы писали:

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


C>>Ну, в Моно он на чистом С (а на чем ты еще предлагаешь парсер байткода писать?


VD>В роторе точно на Шарпе. Так что не я хочу, а люди пишут.


sscli20\clr\src\md\compiler? Не оно? Парсер на C++.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 02.06.07 02:56
Оценка:
Здравствуйте, flashinc, Вы писали:

F>Да, вот и весь автоматический memory management.... Остальные "приколы" можно найти на sun bug parade по поиску "leak".


Проблемы, конечно есть, но их на несколько порядков меньше чем в плюсах. Фактически приведённый случай на практике встречается довольно редко и, например, в качестве вопроса на интервью может использоваться для дополнительной проверки знаний довольно продвинутых чуваков. При этом, знание проблемы должно безусловно идти в плюс, а незнание ни в коем случае не должно идти в минус.

F>Вообще, во многом восприятие той или иной "фичи" базируется на психологии. Смотря как подать. Memory-management в Java подан как friendly, safe, и т.д..


Подача здесь не важна. Просто для C++ программистов трудно свыкнуться с тем, что память больше не ресурс.

F>Но может быть и такая точка зрения, что "Java — это платформа с постоянно текущей памятью, где memory leak узаконен. Просто периодически специальный механизм устраняет эти утечки." И согласитесь, ничто не мешает быть этой точке зрения законной, здравой.


Если так понятней, то для начала сойдёт
На самом деле всё, конечно же, гораздо глубже. GC кроме просто подбора мусора ещё решает пару других задач:

— устраняет проблему циклических ссылок;
— делает практически бесплатным создание короткоживущих объектов;

Как минимум, это позволяет использовать принципиально новые подходы к проектированию структур данных.

F>Приводятся примеры вида "взяли" N java программистов и M c++ программистов. У N Все работало, в то время как у M все падало итд.. Это хорошо, но не является доказательством чего-либо. Все это не то.


Согласен. Вообще, любые количественные оценки при подобном сравнении работают крайне плохо. Эффект нужно искать не в количестве и качестве программистов, а в различии подходов. Но сделать это совсем непросто по простой причине — для полноценного общения двух людей нужно, чтобы они разговаривали на одном языке и могли в полной мере оперировать обсуждаемыми понятиями. Учитывая, что C++ и Java/.NET — это два разных мира, то найти консенсус можно только при обоюдном желании сторон.

F>Хочется услышать мнение касаемо именно технологии Java. Неоспоримые факты. Я хочу узнать правду, сильные и слабые стороны — насчет скорости и стоимости разработки итд.


Боюсь, для этого прежде всего придётся напрячься тебе самому. Временно отбросить догмы и попытаться, как говорят буржуи, open your mind.

F>Формулировка должна звучать так — "разработка на Java будет более быстра, и более дешева если использовать там и там разработчиков одинаково низкого уровня". А если взять там и там профессионалов в своей области?


Может тогда лучше взять профессионала в обоих областях и послушать что он скажет?

F>Это не Holy War. Хочу четко знать сильные стороны Java. Помогите мне в этом.


Можно попробовать разве что на личном примере продемонстрировать, тыксызыть, вехи пути, впечатления C++ программиста переходящего на .NET, если, конечно, это кому-то интересно.

F>Пока что (вследствие бедноты знаний) могу перечислить только слабые стороны платформы.


F>Проприетарность платформы (доказаная судебными притязаниями)


К тебе это точно не относится.

F>Очень медленное и слабое развитие (более 10 лет уже минуло) — причем развитие было инициировано и произведено в 99% случаев community, а не Sun.


С приходом на рынок другого игрока — .NET, ситуация существенно изменилась.

F>Невозможность контролировать политику использования памяти и отсюда — Ненормальные (оторваные от жизни) требования к памяти.


Для 99% задач политика использования памяти вообще не должна иметь никакой политики. Исключения бывают, но из-за одного 1% жертвовать таким счастьем как GC — это уже, извините, паранойя.

F>Низкая производительность (compared to...)


Догмы. Наверняка ты до сих пор полагаешь, что джава — это интерпретатор байт кода. Сознавайся

F>Наличие только одной парадигмы программирования — OO


Чушь. Одна парадигма — это как раз в C++. OK, одна с половиной. Джава как минимум поддерживает КОП, не в лучшем виде метапрограммирование и АОП, а с появлением Scala и ФП.

Кстати, .NET в этом смысле пошёл даже немного дальше.

F>Высокий уровень абстракции и как следствие изолированность от нижележащеего слоя абстракции (платформы/OS).


Вообще-то, это должно быть в другой колонке, там где ставят плюсы, а не минусы. Впрочем, если уж так сильно нужна жёсткая привязка к платформе, то опять же заходите в .NET, у нас для вас есть специально обученный DllImport атрибут. Хардкод платформы гарантирован

F>Низкая полиморфность данных/вызовов (плата за safety).


Не улавливаю связи.

F>Существуют и другие провалы в других областях, обещаных, но не реализованых. Так например, провал апплетов и "Internet applications" во многом обеспечен самой sun — отсутствие механизмов взаимодействия апплетов с браузером/os и отсюда функционирования апплетов только в качестве бесполезных визуальных "игрушек". Это отчасти покрыто в java 5,6. Но когда?


Аплеты — это сильно кастрированная джава. Причём кастрированная не по прочине ограниченности джавы, а по причине ограничений веба вообще и конкрентных браузеров в частности.

F>В осное своей это не проблемно-ориентированные frameworks. Куча всего, но реально, в большинстве случаев, это абстрактный run-time "сахар", россыпь классов. Его использоввание не решает конечную проблему, как это принято в среде c++.


Интересно, какую проблемно-ориентированную вещь решает stl, boost, mfc, atl?
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Расскажите профессионально, чем Java разработка быст
От: Alexander Pazdnikov  
Дата: 02.06.07 08:10
Оценка:
Здравствуйте, VladD2, Вы писали:

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


T>>- препроцессинг исходного кода лучше делать не средствами самого языка а внешними инструментами


VD>С этого момента по подобнее, если можно.


Советую отправить сообщения Михаилу Задоронову. Я просто ухахатался над С-наследием, стандартизацией С++ и вот этим.
Настроение отличное!
Re[8]: Расскажите профессионально, чем Java разработка быст
От: Дмитрий В  
Дата: 02.06.07 09:38
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Java осталась примерно на том же уровне (~1000)

АХ>C++ остался примерно на том же уровне (815 vs 807)
АХ>С# и VB подсдали (536 vs 586 и 428 vs 523)
Ну ты тоже круто поступил — для расчета java вакансий выкинул из них javascript — а java в БОЛЬШЕЙ части сейчас используется для веба, и не сомневаюсь, что ты много java вакансий выкинул. rabota.ru в этом плане более объективна — javascript не попадает в результат, правда С++ и С# объединяет
АХ>зато Web- и Unix- ориентированные языки (PHP,JavaScript,Perl,Python,Ruby) прут вверх.
С PHP я соглаен — за последние годы ощутимо зарплаты выросли. В свое время на PHP пришлось забить и перейти на яву, потому как платили копейки
Re[10]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 11:39
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну ладно, после JVM на Java (Jikes RVM) я уже во что угодно поверю.


Ссылки как всегда приветствуются.

C>Ну вот не люблю я чистый C. Мне в нем шаблонов вечно не хватает


Тебе то что? Ты же им как АПИ будешь пользоваться. Ну, а если захочешь развивать, то можешь это делать и на плюсах. Хотя С в этом отношении конечно имеет неоспаримое приемущесто — переносимость.

C>LGPL, кстати, тоже не очень приемлимо.


А в чем проблема? LGPL позволяет делать коммерческие проекты использующие код в виде ДЛЛ-и. Мне кажется тебе это более чем приемлемо. Исходники опять же доступны под GPL, так что если что можно и багу пофиксить, и фичу дописать. Ну, прийдется все это отдать людям. Не страшно...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 11:39
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>sscli20\clr\src\md\compiler? Не оно? Парсер на C++.


Этим пользоваться вообще нельзя. Ротор предназначен исключительно для развлекательно-позновательных целей.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 11:39
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>Ну ты тоже круто поступил — для расчета java вакансий выкинул из них javascript — а java в БОЛЬШЕЙ части сейчас используется для веба,


Скати ты на ява-скрипте что-то серьезное писал?

У этих языков общего только часть названия. Один (Ява) чистейший классический ООЯ линейки Симулы на котором почти невозможно писать полноценный фукнциональный код. Второй — это язык основанный на функциональном подходе и эмулиющий прототипный стиль эмуляци ООП.

Это как земля и небо. Смешивать их просто недопустимо!

ДВ>С PHP я соглаен — за последние годы ощутимо зарплаты выросли. В свое время на PHP пришлось забить и перейти на яву, потому как платили копейки


Просто всем платить стали больше. Спрос на работников выше предложения.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 02.06.07 12:12
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Ну ладно, после JVM на Java (Jikes RVM) я уже во что угодно поверю.

VD>Ссылки как всегда приветствуются.
http://jikesrvm.org/

C>>Ну вот не люблю я чистый C. Мне в нем шаблонов вечно не хватает

VD>Тебе то что? Ты же им как АПИ будешь пользоваться. Ну, а если захочешь развивать, то можешь это делать и на плюсах. Хотя С в этом отношении конечно имеет неоспаримое приемущесто — переносимость.
Сама LLVM написана на С++, так что переносимость лучше не станет. А API там в Mono просто жуткий — он не отделен от основного кода, причем сильно зависит от GLIB.

В общем, придется переписывать.

C>>LGPL, кстати, тоже не очень приемлимо.

VD>А в чем проблема? LGPL позволяет делать коммерческие проекты использующие код в виде ДЛЛ-и. Мне кажется тебе это более чем приемлемо. Исходники опять же доступны под GPL, так что если что можно и багу пофиксить, и фичу дописать. Ну, прийдется все это отдать людям. Не страшно...
Тут другие проблемы — иногда нужно менять софт для платформ, на которые документация отдается под NDA. Например, поэтому LGPL-ные движки нельзя использовать на XBox и подобных системах.
Sapienti sat!
Re[5]: Расскажите профессионально, чем Java разработка быст
От: aka50 Россия  
Дата: 02.06.07 12:49
Оценка:
Здравствуйте, VladD2, Вы писали:

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


A>>А в Java есть аннтоации и постпроцессинг (в купе с рефлекшином) это дает возможности реализовать вещи (типа AOP) которые в C++ не реализуемы (или очень сложно с кучей условностей).


VD>В С++ есть метапрограммирование на шаблонах с помощью которого реализуемо очень многое. Но получается через зад автокеном.

Я про другое. Дело в том, что тот же AOP дает возможность изменять поведение в рантайме. Шаблоны — это все таки compile-time.
Re[18]: Расскажите профессионально, чем Java разработка быс
От: Igor Trofimov  
Дата: 02.06.07 12:59
Оценка:
VD>Ну, то перегиб. Все же главную задачу оно решает — защищает от рантайм-ошибок связанных с типами. Производительность конечно хромает. Но все же.

Защищает? хм... А ты в курсе, с java-generics что можно ненароком в якобы-genric-поле записать значение не соответствующего типа, а потом получить исключение на чтении этого поля?

Это называется защита от рантайм ошибок???

Java-generics — это катастрофа, вызыванная очень сильным желанием не менять jvm.
До кучи, там хватает и других дебильных ограничений, уж не знраю, чем вызыванных. Короче, смешные очень эти java-generics. Плакать хочется.
Re[10]: Расскажите профессионально, чем Java разработка быс
От: Дмитрий В  
Дата: 02.06.07 13:33
Оценка:
Здравствуйте, VladD2, Вы писали:

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


ДВ>>Ну ты тоже круто поступил — для расчета java вакансий выкинул из них javascript — а java в БОЛЬШЕЙ части сейчас используется для веба,


VD>Скати ты на ява-скрипте что-то серьезное писал?


А то нет!
Я говорю, что обычно бывает так, что требуется java-web-программист, соответственно в вакансии будет написано знание и java, и javascript, вот например вакансия http://job.ru/entry.jsp?mode=queryVacById&amp;submode=do&amp;id=52e4e939979dca4b5fa1ad4e2c8d19e3

VD>У этих языков общего только часть названия. Один (Ява) чистейший классический ООЯ линейки Симулы на котором почти невозможно писать полноценный фукнциональный код. Второй — это язык основанный на функциональном подходе и эмулиющий прототипный стиль эмуляци ООП.

Мне например тоже javascript не нравится, особенно ajax, потому что нетривиально это. На swing писать интерфейсы намного проще, понятнее и вообще приятней. А еще проще конечно вообще никаких графических интерфейсов не писать, и орать, что ни за что не буду заниматься формоклепательством, консоль форевер и фсе такое
VD>Это как земля и небо. Смешивать их просто недопустимо!
А никто и не сравнивает! JavaScript даже более распространен чем java, но не может похвастаться такой стандартизацией, поэтому разработка интерфейсов под разные броузеры отдельное ремесло, и на это уходят время и деньги
Re[9]: Расскажите профессионально, чем Java разработка быст
От: Андрей Хропов Россия  
Дата: 02.06.07 13:34
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

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


АХ>>Java осталась примерно на том же уровне (~1000)

АХ>>C++ остался примерно на том же уровне (815 vs 807)
АХ>>С# и VB подсдали (536 vs 586 и 428 vs 523)
ДВ>Ну ты тоже круто поступил — для расчета java вакансий выкинул из них javascript — а java в БОЛЬШЕЙ части сейчас используется для веба, и не сомневаюсь, что ты много java вакансий выкинул.

Там стоит ">" если ты заметил. И общее число тоже приведено. Ну я не виноват, что в job.ru такая примитивная система, что не позволяет искать именно отдельные слова .

ДВ> rabota.ru в этом плане более объективна — javascript не попадает в результат, правда С++ и С# объединяет


Это намного менее популярный сайт (сам видишь, вакансий там на порядок меньше).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Расскажите профессионально, чем Java разработка быст
От:  
Дата: 02.06.07 15:06
Оценка:
Hello, c-smile!
You wrote on Fri, 01 Jun 2007 19:42:15 GMT:

c> Посылка неправильная. Java разработка не быстрее чем разаработка

c> на X, Y, Z.
c> Ровно столько же занимает (9 месяцев в среднем на проект).

Это как средняя температура по больнице, да?
Posted via RSDN NNTP Server 2.1 beta
Re[13]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 02.06.07 17:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Главное, что устраняет GC — это необходимость контролировать время жизни объектов вручную. Это приводит к устранению проблем с передачей обектов в/из функций. В общем, пропадает огромная головная боль и постоянный источник ошибок.


Это и так понятно. Объяснять это никому не нужно.

IT>>Как минимум, это позволяет использовать принципиально новые подходы к проектированию структур данных.

VD>Эти новые подходы еще в 60-ых применялись в Лиспе .

Если бы мы говорили о переходе с Лиспа на Джаву, то твоё замечание было бы в самую точку. А для C++ программиста те же циклические ссылки (а можно ещё COM вспомнить со счётчиками) — это ночной кошмар. С большим количеством короткоживущих объектов тоже может быть проблема из-за дефрагментации хипа.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Тут другие проблемы — иногда нужно менять софт для платформ, на которые документация отдается под NDA. Например, поэтому LGPL-ные движки нельзя использовать на XBox и подобных системах.


Что то я не улавливаю проблемы. Меняй. Кто тебе не дает? Просто все что ты изменишь именно в движке чтения IL-а ты будешь обязан выложить по лицензии LGPL. Это не проблема. А весь продукт будет как и раньше под удобной тебе лицензией.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка:
Здравствуйте, IT, Вы писали:

IT>Это и так понятно. Объяснять это никому не нужно.


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

IT>Если бы мы говорили о переходе с Лиспа на Джаву, то твоё замечание было бы в самую точку. А для C++ программиста те же циклические ссылки (а можно ещё COM вспомнить со счётчиками) — это ночной кошмар. С большим количеством короткоживущих объектов тоже может быть проблема из-за дефрагментации хипа.


Я это к тому сказал, что новое оно исключительно от недостатка знаний. Люди упирются в С++ и иже сним и даже не знаю, что вокруг огромный и разнообразный мир.

Мы ведь с тобой сами через это прошли, так что нам нечего скрывать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка:
Здравствуйте, aka50, Вы писали:

A>Я про другое. Дело в том, что тот же AOP дает возможность изменять поведение в рантайме. Шаблоны — это все таки compile-time.


Это полнейшее заблуждение. АОП никакого отношения к компайл-тайму или рантайму не имеет. Все зависит от реализации. Самый известный АОП-инструкмент — это AspectJ. Он работает исключительно в компайлтайме.

Более того. АОП — это ограниченная технология которая может очень не много. А Шбалоны — это в первую очередь средство обобщенного программирования и уже только как побочный эффект от перенавороченности оных в С++ они позволяют заниматься метапрограммированием.

Метапрограммирование же это более мощьное средство нежели АОП. Средствами МП воспроизвести АОП ничего не стоит. А вот обратное не верно.

Одно время меня интересовал АОП, но потом я понял, что это детские потягушки. Просто метапрограммированием нужно заниматься на подобающих инструментах. Не на шаблонах С++ уж точно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка:
Здравствуйте, Дмитрий В, Вы писали:

ДВ>А то нет!

ДВ>Я говорю, что обычно бывает так, что требуется java-web-программист, соответственно в вакансии будет написано знание и java, и javascript, вот например вакансия http://job.ru/entry.jsp?mode=queryVacById&amp;submode=do&amp;id=52e4e939979dca4b5fa1ad4e2c8d19e3

Мло ли, что там пересекается. Не менее часто требуются PHP в купе с JavaScript. Что же теперь знание ПХП приравнивать к знанию Явы?

ДВ>Мне например тоже javascript не нравится, особенно ajax,


Блин. Причем тут Ажакс? Он к языку отношение почти не имеет. Просто в броузерах с дури прижился именно ЯваСкрипт. Вот и все. Какоя-то каша в рассуждения получается .

ДВ>На swing писать интерфейсы намного проще, понятнее и вообще приятней.


Что я могу сказть. Все зависит. Почитай http://rsdn.ru/article/mag/200701/jQuery.xml
Автор(ы): Dmitrii 'Mamut' Dimandt
Дата: 11.04.2002
В статье описана библиотека jQuery. Разобраны ключевые моменты работы с библиотекой — нахождение элементов на странице, манипуляция объектной моделью документа, базовая анимация, работа с технологией AJAX. В статье приведено большое количество примеров работающего кода.
и возможно твое мнение резко изменится.

В любом случае нельзя сравнивать языки по тому какие АПИ из них используются.

Да и вообще в данном случае нет смысла сравнивать языки. Нам важен только один факт. Ява и ЯваСкрипт совершенно разные языки и нельзя зачитывать знание одного, за знание другого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 19:13
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

VD>>Ну, то перегиб. Все же главную задачу оно решает — защищает от рантайм-ошибок связанных с типами. Производительность конечно хромает. Но все же.


iT>Защищает?


Ага.

iT>хм... А ты в курсе, с java-generics что можно ненароком в якобы-genric-поле записать значение не соответствующего типа, а потом получить исключение на чтении этого поля?


Может и можно, но очень не просто. В любом случае их применение намного более безопасно нежели работа на Ява без них.

iT>Это называется защита от рантайм ошибок???


Ага. Если ошибку сделать труднее, то это защита.

iT>Java-generics — это катастрофа, вызыванная очень сильным желанием не менять jvm.


Согласен, что лажавато сделано. Но все же лучше чем ничего.

iT>До кучи, там хватает и других дебильных ограничений, уж не знраю, чем вызыванных. Короче, смешные очень эти java-generics. Плакать хочется.


Там есть и приемущества вроде ко/контрвариантности.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: aka50 Россия  
Дата: 02.06.07 20:05
Оценка:
Здравствуйте, VladD2, Вы писали:

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


A>>Я про другое. Дело в том, что тот же AOP дает возможность изменять поведение в рантайме. Шаблоны — это все таки compile-time.


VD>Это полнейшее заблуждение. АОП никакого отношения к компайл-тайму или рантайму не имеет. Все зависит от реализации. Самый известный АОП-инструкмент — это AspectJ. Он работает исключительно в компайлтайме.

Я знаю как работает AOP. Без рефлекшина — он работать не будет. это раз. Второе, он работает в комапайл-тайм (weaving), load-time (classloader) и как прокси (т.е. фактически рантайм, т.к. можно обвесить любой нужный объект. К тому же aspectj доступен и в рантайме в виде api. http://www.eclipse.org/aspectj/doc/next/runtime-api/index.html так что его использование не ограничивается только адвайсами секурити или транзакций. Другой вопрос, что он редко применяется динамическим образом в рантайме. Но все равно, я считаю, что АОП — это динамическая технлогия, в отиличии от макросов — они статичны. Естественно, макросы могут внедрять код какой-то библиотеки (той же Aspectj), но это не обсценивает идею АОП.

VD>Метапрограммирование же это более мощьное средство нежели АОП. Средствами МП воспроизвести АОП ничего не стоит. А вот обратное не верно.

? Мы кажется о разных вещях говорим. Есть механика внедрения АОП, а есть рантайм этого АОП. Более того метапрограммирование (как программирование на уровне АСТ, а не байткода) ничего особо великого сделать не сможет, если код уже скомпилирован и лежит в jar-е, а АОП (как методология) — сможет (например тот же spring позволит навесить нужный аспект без перекомпиляции)
VD>Одно время меня интересовал АОП, но потом я понял, что это детские потягушки. Просто метапрограммированием нужно заниматься на подобающих инструментах. Не на шаблонах С++ уж точно.
Возможно, но как инструмент для обвешивания кода разными фкусностями в рантайме — очень даже ничего... Во всяком случае в сочетании с Java
Re[8]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 20:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ты сравниваешь теплое с мягким. АОП это прежде всего принцип вынесения аспектов.


Я ничего не путаю. При наличии в руках хороших средств МП об АОП не возникает даже мыслей.
По факту АОП — это техника приклеивания кода "сбоку". МП же это техника полного контроля над кодом (генераци, модификация, анализ, трансформация).

AVK> Метапрограммирование здесь всего лишь один из возможных инструментов для реализации.

AVK>АОП в этом плане ближе к ООП или ФП — использовать его можно и в обычных языках, но часть работы придется сделать руками.

АОП это костыли к ООП. Причем весьма посредственные. В ФП АОП просто не мыслим.
В общем, АОП — это полумера к которой пытаются прибечь потому что не видят более комплексных и универсальных решений.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Расскажите профессионально, чем Java разработка быст
От: Cyberax Марс  
Дата: 02.06.07 20:24
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>АОП это костыли к ООП. Причем весьма посредственные. В ФП АОП просто не мыслим.

Почему это? Вполне так и мыслим.

VD>В общем, АОП — это полумера к которой пытаются прибечь потому что не видят более комплексных и универсальных решений.

AOP — это хороший способ выносить из кода то, чего там не должно быть — работу с security, транзакции и т.п. С этим AOP очень неплохо справляется. Просто некоторые товарищи его пытались пихать везде, куда только можно.
Sapienti sat!
Re[3]: Расскажите профессионально, чем Java разработка быст
От: iZEN СССР  
Дата: 02.06.07 20:27
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>

АХ>У С++ есть только одно неоспоримое приемущество. На сегодно на нем можно создавать приложения которые более бережно относятся к ресурсам компьютера (памяти и процессору).

АХ>(C) VladD2

АХ>Я думаю что скажем в нишах видеокодеков, 3д- и физических движков, матрасчетах C++ еще будет жить приличное время


Необязательно. Достаточно на C++ написанной JVM.
Re[20]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 02.06.07 20:38
Оценка:
Здравствуйте, VladD2, Вы писали:

iT>>хм... А ты в курсе, с java-generics что можно ненароком в якобы-genric-поле записать значение не соответствующего типа, а потом получить исключение на чтении этого поля?

VD>Может и можно, но очень не просто. В любом случае их применение намного более безопасно нежели работа на Ява без них.
Элементарно просто. Уже не раз отлаживал подобный код коллег:

BasicList<User> list=.....;
setList(list); //Здесь принимается BasicList без параметров

...
BasicList<Role> roles=(BasicList<Role>)getList();
//Упс...


iT>>Java-generics — это катастрофа, вызыванная очень сильным желанием не менять jvm.

VD>Согласен, что лажавато сделано. Но все же лучше чем ничего.
Лучше, но на отдельную парадигму не тянет.

iT>>До кучи, там хватает и других дебильных ограничений, уж не знраю, чем вызыванных. Короче, смешные очень эти java-generics. Плакать хочется.

VD>Там есть и приемущества вроде ко/контрвариантности.
Ты видел КАК оно сделано внутри?
Sapienti sat!
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Константин Л. Франция  
Дата: 02.06.07 20:39
Оценка:
Здравствуйте, VladD2, Вы писали:

[]

VD>Да он вообще поживет, так как есть не мало контро готовых платить в 10 раз болше за выигрышь в памяти. Только это особый рынок. А 3D уже очень скоро пересядит с С++. Ну, разве что отдельные оптимизации будут на нем писаться. Процесс уже пошел.


с++ == Герострат
Re[21]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 20:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Элементарно просто. Уже не раз отлаживал подобный код коллег:

C>

C>BasicList<User> list=.....;
C>setList(list); //Здесь принимается BasicList без параметров

C>...
C>BasicList<Role> roles=(BasicList<Role>)getList();
C>//Упс...


Ну, и хрен ли ты хочешь если люди сами лепят приведения типов. Любое приведение типов — это потенциальный вилет. Привет любителям динамики .

C>Лучше, но на отдельную парадигму не тянет.


Тут согласен.

C>Ты видел КАК оно сделано внутри?


Я теоритически знаком.

В общем, я даже не собираюсь спорить, что это криво. Сам это много раз говорил. Но это лучше чем ничего. Да и приемущества все же какие-некакие, но есть.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 20:59
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>Я понял! Для тебя с++ как баба, которая не дала. Так и хочется ее после этого вспомнить добрыми словами


Не, как баба, что дала, но оказалась такой дурой и/или стервой, что я сам ее прогнал поганой метлой.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 02.06.07 21:03
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>АОП это костыли к ООП. Причем весьма посредственные. В ФП АОП просто не мыслим.

C>>Почему это? Вполне так и мыслим.
VD>Он там как неуловимый джо.
Как и все ФП в целом?

C>>AOP — это хороший способ выносить из кода то, чего там не должно быть — работу с security, транзакции и т.п. С этим AOP очень неплохо справляется. Просто некоторые товарищи его пытались пихать везде, куда только можно.

VD>АОП — это хреновый способ думать. Отого все рассказы про ООП заканчиваются примерамми логирования.
Почему же, можешь посмотреть JBoss — там оно очень даже широко используется. Там с помощью AOP делаются такие вещи, как прозрачное кэширование объектов.

Есть еще Terracotta как пример супер-AOP — там с помощью инструментации байт-кода делается прозрачная кластеризация приложений.

VD>Что касается "справляется" хрошее МП справляется еще лучше и универсальнее. Ты можешь не просто припаивать куски тиупого кода (в смысле кода который нельзя гибко адаптировать) к неким разбросанным другим кускам кода, а можешь делать осмысленную трансформацию кода в том числе и вставляя некие куски по некоторому правилу. Причем и правило ты можешь сам придумать, и вставляемый код адаптировать к нужному месту.

Просто с помощью МП можно реализовать АОП, никто с этим не спорит. Мне очень нравится современный АОП в Spring Framework'е, например, — по делу и без наворотов.

Другой вопрос, что МП можно намного проще abuse'ить.
Sapienti sat!
Re[22]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 02.06.07 21:12
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, и хрен ли ты хочешь если люди сами лепят приведения типов. Любое приведение типов — это потенциальный вилет. Привет любителям динамики .

Часто приходится из-за того, что Swing в Java не за-generic-фицирован.
Sapienti sat!
Re[9]: Расскажите профессионально, чем Java разработка быст
От: aka50 Россия  
Дата: 02.06.07 21:22
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>То что ты видил некоторые реинкарнации АОП (скороее всего в Ява) не влияет на сам АОП.

Мы о java или о чем? Конкретно для java есть AspectJ. Вот о нем и говорю, так как с другими реализациями не работал.

VD>Еще раз. Все зависит от реалзации. В принципе нет никакой необходимости что-то делать в рантайме.

> Я про другое. Дело в том, что тот же AOP дает возможность изменять поведение в рантайме. Шаблоны — это все таки compile-time.
Это полнейшее заблуждение. АОП никакого отношения к компайл-тайму или рантайму не имеет. Все зависит от реализации. Самый известный АОП-инструкмент — это AspectJ. Он работает исключительно в компайлтайме.

Ты сказал, что оно работает в компайл тайм... я тебе возразил, что aspectj замечательно работает как угодно. И в основном за счет рефлекшина. Что он умеет или не умеет по сравнению с МП мне в принципе все равно.

A>> http://www.eclipse.org/aspectj/doc/next/runtime-api/index.html так что его использование не ограничивается только адвайсами секурити или транзакций.


VD>В самой яве и дотнете тоже есть рефлекшен и можно даже код динамичемки генерировать, но это не отменяет того факта, что компиляторы компилируют код и реализуют все что нужно для ООП еще на стадии компиляции. Точно так же АОП может поддерживаться как в рантайме, так и в компайлтаме. Не будешь же ты утверждать, что тот же компилятор AspectJ вообще ничего не делает?

Не буду. Он делает. Эту часть вполне допускаю удобнее сделать с помощью МП. Но некоторых вещей (Cyberax уже написал каких) МП сам по себе не сделает...

VD>Да и никто не мешает запускать компилятор в рантайме.

Код уже скомпилирован (это допустим внешняя библиотека) и тогда это уже будет не компилятор, а "инструментатор"... И макросы тут будут хмм... ну тогда и сам AspectJ движок можно сразу макросом обозвать...

Про дсл-и и спринги не хочу в очередной флейм лезть... бо у меня самого абсолютно неоднозначное к ним отношение...
Re[3]: Расскажите профессионально, чем Java разработка быст
От: aka50 Россия  
Дата: 02.06.07 21:25
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Влад забыл написать конечто что это может быть альтернативой если вы пишете под WIN и ТОЛЬКО под win. Как мне кажется , это сравнительно небольшой сегмент ИТ.

Ща тебе про mono напишут...
Re[12]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 21:32
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Есть еще Terracotta как пример супер-AOP — там с помощью инструментации байт-кода делается прозрачная кластеризация приложений.


Остается только гадать как Эланг умудряется без нее обходиться .

C>Просто с помощью МП можно реализовать АОП,


Просто с помощью МП можно реализовать намного больше и интереснее.

C>никто с этим не спорит. Мне очень нравится современный АОП в Spring Framework'е, например, — по делу и без наворотов.


Погляди Шале понравится еще больше. Но дело не в этом. Дело в том, что это костыли убогой Яве.

C>Другой вопрос, что МП можно намного проще abuse'ить.


Я не знаю что значит abuse, но правильно приготовленный МП — это сепер-орижие в умелых руках. Как сказл IT — главное использовать его в мирных целях.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Расскажите профессионально, чем Java разработка быст
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 21:32
Оценка:
Здравствуйте, Didro, Вы писали:

D>..В этой статье мы рассмотрим некоторые новые возможности Windows Vista, которые затрагивают разработчиков машинных кодов на C/C++.


Профан переводил, только и всего. Там на верняка было слово native.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Расскажите профессионально, чем Java разработка быст
От: Didro Россия home~pages
Дата: 02.06.07 21:38
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>

D>>..В этой статье мы рассмотрим некоторые новые возможности Windows Vista, которые затрагивают разработчиков машинных кодов на C/C++.


VD>Профан переводил, только и всего. Там на верняка было слово native.

Так и есть, это вроде как шутка была... только и всего
Re[13]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 02.06.07 21:44
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Есть еще Terracotta как пример супер-AOP — там с помощью инструментации байт-кода делается прозрачная кластеризация приложений.

VD>Остается только гадать как Эланг умудряется без нее обходиться .
Так в Эрланге кластиризация не автоматом делается А в Terracotta вообще полностью все на автопилоте — оно синхронизирует локальное состояние объектов по границам synchronized-блоков.

C>>Просто с помощью МП можно реализовать АОП,

VD>Просто с помощью МП можно реализовать намного больше и интереснее.
И с еще большим числом граблей.

C>>никто с этим не спорит. Мне очень нравится современный АОП в Spring Framework'е, например, — по делу и без наворотов.

VD>Погляди Шале понравится еще больше. Но дело не в этом. Дело в том, что это костыли убогой Яве.
Что такое "Шале"? По Shale ничего путного не находит (кроме фреймворка для Java ).

Убогость Явы — это да, согласен. Но вот иногда убогость как раз плюсом бывает.

C>>Другой вопрос, что МП можно намного проще abuse'ить.

VD>Я не знаю что значит abuse, но правильно приготовленный МП — это сепер-орижие в умелых руках. Как сказл IT — главное использовать его в мирных целях.
Ну так и С++ станет Java, если туда добавить Boehm GC и пару библиотек из Boost'а
Sapienti sat!
Re[10]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 21:51
Оценка:
Здравствуйте, aka50, Вы писали:

A>Мы о java или о чем? Конкретно для java есть AspectJ. Вот о нем и говорю, так как с другими реализациями не работал.


Мы уже о АОП.

A>Ты сказал, что оно работает в компайл тайм...


Я сказал, что это не компонет, чтобы ему где-то работать. Это подход. И он может работать когда угодно.

A>Не буду. Он делает. Эту часть вполне допускаю удобнее сделать с помощью МП. Но некоторых вещей (Cyberax уже написал каких) МП сам по себе не сделает...


Нет того, что нельзя было бы сделать с помощью МП. Есть то, что проще написать без него.

VD>>Да и никто не мешает запускать компилятор в рантайме.

A>Код уже скомпилирован (это допустим внешняя библиотека) и тогда это уже будет не компилятор, а "инструментатор"... И макросы тут будут хмм... ну тогда и сам AspectJ движок можно сразу макросом обозвать...

Это ты описывашь один из подходов. Он не единственный.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: alexeiz  
Дата: 02.06.07 22:06
Оценка:
Здравствуйте, VladD2, Вы писали:

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


A>>sscli20\clr\src\md\compiler? Не оно? Парсер на C++.


55VD>Этим пользоваться вообще нельзя. Ротор предназначен исключительно для развлекательно-позновательных целей.


Не понял. Вроде кто-то там говорил, что в роторе парсер на шарпе?

И, кстати, код CLR и SSCLI один и тот же, за некоторыми исключениями (GC, JIT). VM, MD, BCL — практически одинаковые.
Re[14]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 22:18
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>И с еще большим числом граблей.


Идейская изба вам (фиг вам)

C>Что такое "Шале"? По Shale ничего путного не находит (кроме фреймворка для Java ).


http://shale.apache.org/

C>Убогость Явы — это да, согласен. Но вот иногда убогость как раз плюсом бывает.


Ага. А иногда двумя .

C>Ну так и С++ станет Java, если туда добавить Boehm GC и пару библиотек из Boost'а


Ага Техаская Ява бензопилой...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.06.07 22:25
Оценка:
Здравствуйте, alexeiz, Вы писали:

A>Не понял. Вроде кто-то там говорил, что в роторе парсер на шарпе?


Да? Ну, тогда у него и спроси. Это был точно не я.

Ты видимо меня ен понял. Я говорил о Рефлекторе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Расскажите профессионально, чем Java разработка быс
От: alexeiz  
Дата: 02.06.07 22:41
Оценка:
Здравствуйте, VladD2, Вы писали:

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


A>>Не понял. Вроде кто-то там говорил, что в роторе парсер на шарпе?


VD>Да? Ну, тогда у него и спроси. Это был точно не я.


Не ты?

В роторе точно на Шарпе. Так что не я хочу, а люди пишут.

здесь
Автор: VladD2
Дата: 02.06.07


VD>Ты видимо меня ен понял. Я говорил о Рефлекторе.


Тогда хоть прочитывай свои сообщения перед тем, как посылать, что-ли. Ты уже переходишь с опечаток на оговорки.
Re[3]: Расскажите профессионально, чем Java разработка быст
От: c-smile Канада http://terrainformatica.com
Дата: 03.06.07 05:52
Оценка:
Здравствуйте, YК, Вы писали:

YК>Hello, c-smile!

YК>You wrote on Fri, 01 Jun 2007 19:42:15 GMT:

c>> Посылка неправильная. Java разработка не быстрее чем разаработка

c>> на X, Y, Z.
c>> Ровно столько же занимает (9 месяцев в среднем на проект).

YК>Это как средняя температура по больнице, да?


По моей собственной больнице, да.

Из тех реальных проектов которые мне известны на Java все достаточно ёмкие.

Тут проблема даже не в Java а в некоем вселенском принципе "проект должен вызреть".
У меня были проекты для которых я код писал меньше месяца (на С++). Но это
ничего не значит. Я думал много перед тем как — года три с перерывами.

Если есть сомнения по поводу девяти месяцев — назови реальный проект — будет предметный разговор.
Re[12]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.06.07 19:18
Оценка:
Здравствуйте, IT, Вы писали:

IT>Я так не думаю.


Ну а я думаю.

IT> Впрочем, не исключаю, что для небольшого круга задач это справедливо.


Полезность в качестве универсального средства решения всех задач АОП уже наглядно продемонстрировал. В задачках оборачивания прикладного кода системными средствами внутри некоей инфраструктуры АОП рулит неподецки. Но тама как правило нужен деплоймент как отдельный этап или как отдельная процедура в рантайме. А в остальном АОП зачастую выступает в роли китайской артиллерии для нанесения вреда поголовью пернатых из семейства врановых.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[15]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 03.06.07 20:45
Оценка:
AndrewVK wrote:
> IT> Для обычных задач АОП точно так же рулит не по-децки, если его
> применять с умом.
> Только я пока не видел этого рулящего неподецки применения АОП в
> компайл-тайме.
Дело в том, что для Java/.NET нет особого смысла делать AOP на этапе
компиляции (хотя AspectJ именно так и работает). Наоборот, даже ПРОЩЕ
делать weaving в runtime'е. Но это не значит, что AOP принципиально не
может работать без deployment'а.

И использование AOP на любом коде тоже необязательно. Например, в Java
очень часто используют аннотации для обозначения pointcut'ов.
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[16]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.07 20:49
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>всем ссылочным полям и полям полей объекта до десятого колена? так же просто как завернуть все указатели в какой-нибудь smart_ptr и перестать "контролировать время жизни объектов вручную"


Это называется глубоко клонирование. Оно нужно не часто, но реализвоать его не так сложно. Просто нужно чтобы все объекты входящие в граф поддерживали глубокое клонирование. Далее остается только вызвать метод Clone рекурсивно.

Ну, а в большинстве случаев вообще подходит поверхностноне клонирование.

VD>>И если это вдруг действительно головная боль, то куда она девается если изчезает GC?


OE>все передается по-значению, копию имеем автоматом.


Я извиняюсь, но в чем проблема все что нужно так же передавать по значению при наличии GC?

OE>Но ты прав, головная боль от исчезновения GC никуда не девается, как впрочем и от его появления,


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

OE>Так что мы имеем с GуCя? вместо простого знания, что память не освободится, пока мы ее не освободим и связанной с этим (немаленькой, согласен) головной боли имеем необходимость знания нетривиальных алгоритмов GC, особенностей реализации в этом отношении объектов, и surprise! все еще необходимое ручное управление освобождением памяти, правда теперь уже в виде исключений, но голова от этих исключений болит ничуть не меньше чем от правил


Поток заблуждений котолрые даже обсуждать не охота. Если у тебя есть неуправляемые ресурсы, то говорить что-то там о памяти уже просто бессмысленно. Нужно говорить об управлении временем жизни этих ресурсов. При грамотной реализации оберток всю заботу о ресурсах можно переложить на ний, или по крайней мере свести эту заботу к минмуму.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 03.06.07 21:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так что из АОП можно взять только саму идея внедрения кода в разные части рукописного кода. Но это настлько примитивная возможность, что ее даже нет смысла рассматривать отдельно. В общем, на парадигму это никак не тянет.


С этим я согласен. Поэтому и предпочитаю называть это не парадигмой, а типом паттернов.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Расскажите профессионально, чем Java разработка быс
От: IT Россия linq2db.com
Дата: 03.06.07 21:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Тут, как раз, все очень просто. Возможность работать с скомпилированной сборкой определяет совместимость с КОП. Это как нетовские дженерики vs плюсовые шаблоны. Если забить на КОП, то и АОП, работающая в компайл-тайме, будет приемлемым.


Всё смешалось в доме Облонских Причём тут КОП вообще? Совместимость с КОП, это, конечно же, очень здорово, только я что-то впервые слышу, что АОП без КОП не имеет смысла.

AVK>Но на такое забивание в рамках .NET должно быть очень серьезное основание. Поэтому мне и кажется, что АОП, не способное работать с скомпилированным кодом, в качестве универсального фреймворка имеет очень небольшуюценность.


Это тебе только кажется. Идея АОП в разделении сквозного кода от бизнес-логики. КОП здесь никаким боком и может учитываться только при рассмотрении конкретной реализации.

IT>> Повторю ещё раз. Возможно это справедливо для небольшого круга задач, где действительно необходимо конфигурирование системы во время деплоймента. Но такие решения не являются широко применяемой практикой и скорее относятся к экзотическим.


AVK>Ну я бы так не сказал.


О подобных архитектурных решениях я слышал только от тебя. И я ничего не имею против этого и вполне допускаю, что в твоём конкретном случае это было единственно правильное решение. Вот только я не понимаю почему ты считаешь, что это решение должно быть единственно правильным и для всех остальных

IT>> Для обычных задач АОП точно так же рулит не по-децки, если его применять с умом.


AVK>Только я пока не видел этого рулящего неподецки применения АОП в компайл-тайме.


Потому что для этого пока нет соответствующих средств.

IT>> Никакой разницы между применения его к уже скомпилированной или ещё нет сборке я не вижу в принципе.


AVK>С точки зрения применения техник МП разница принципиальная.


Ну и что? Это же всего навсего реализация.

IT>>Весьма однобокий взгляд, основанный, скорее всего, на однобоком опыте.


AVK>Ну понеслась. Только теперь тем, что я первый начал ты не отмажешься. Сдается мне, это твой опыт однобок, коль скоро деплоймент тебе кажется убогим.


Может дашь ссылочку где я это утверждал? В отличии от некоторых я отношусь к своему опыту критически и не склонен зацикливаться на одном решении для всех подряд решаемых мной задач. И уж утвержать такую, простите, чушь, как АОП хорош только совместно с КОП или только без КОП я уж точно не буду, т.к. в разных ситуациях решения могут быть принципиально разными.

IT>> Мне почему-то великолепно удаётся применяется АОП без всяких отдельных деплойментов.


AVK>Это в BLToolkit то?


У тебя есть какие-то конкретные притензии к BLToolkit? Высказывай, не стесняйся.

AVK>Странно, что ты там догадался, что карту меппинга нужно вынести в отдельный файл, а не размечать прямо по исходникам. Или это была не твоя идея?


Ещё раз повторяю специально для тех, кто в танке. Я не считаю себя вправе навязывать другим своё видение архитектуры вообще и решать за людей что для них лучше, использовать XML или атрибуты, в частности. BLToolkit позволяет использовать любой из способов, совместно оба или даже изобрести свой собственный. И личное дело каждого какое решение использовать в каждом конкретном случае. Поверь мне, люди вполне нормально с этим справляются, особенно, если к ним не лезут со всякими дурацкими советами, основанными на личном восприятии мира, увиденного лишь через одну замочную скважину.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.06.07 22:27
Оценка:
Здравствуйте, IT, Вы писали:

IT>С этим я согласен. Поэтому и предпочитаю называть это не парадигмой, а типом паттернов.


Можно назвать и так. Только он недодуманный, что ли. В АОП сказано "А", но не сказано "Б", то есть, выдвинута идея о том, что есть некая сквозная функциональность которую можно прикливать куда нужно по контесту, но не проработано то как формировать прикрпеляемый код. А меж тем, в большинстве задач вопрос формирования кода куда важнее самого прикрепления. Потому как просто готовый код почти никогда не может быть полезен. Ну, разве что для логирования. Вот и получается, что все статьи по АОП на этом логировании просто таки зациклены.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 03.06.07 22:39
Оценка:
VladD2 wrote:
> IT>Если не вдаваться в детали реализации, то АОП — это определённый тип
> паттернов, называемых аспектами. Если их реализовывать средствами МП, то
> они не перестанут от этого быть аспектами.
> Проблема в том, что АОП в том виде в котором он задуман и реализован —
> это очень убогая технология.
Ну да, как и все ООП. Добавили, понимаешь, диспатчинг через виртуальную
таблицу и считают себя целой парадигмой.

> В ней нет главного — возможности порождать гибкий и адаптируемый код.

А для АОП это совсем и не нужно.

> Так что конечно МП можно использовать для релазации АОП, но если при

> этом ограничиваться только этим, то ничего хорошего не выйдет.
На самом деле, для АОП вообще почти не нужно средств
метапрограммирования. Даже больше, я бы сказал, что АОП вообще не
относится к метапрограммированию (т.е. к "программам, которые делают
программы").

Тем не менее, AOP доказал свою полезность в определенных областях. А на
приз имени серебряной пули он вроде и не номинировался.

> Так что из АОП можно взять только саму идея внедрения кода в разные

> части рукописного кода. Но это настлько примитивная возможность, что ее
> даже нет смысла рассматривать отдельно. В общем, на парадигму это никак
> не тянет.
Ну да, возможность примитивная — как и диспатчинг методов по виртуальной
таблице. Или возможность квази-цитирования.
Posted via RSDN NNTP Server 2.1 beta
Sapienti sat!
Re[4]: Расскажите профессионально, чем Java разработка быст
От:  
Дата: 04.06.07 07:41
Оценка:
Hello, c-smile!
You wrote on Sun, 03 Jun 2007 05:52:02 GMT:

c>>> Посылка неправильная. Java разработка не быстрее чем

c>>> разаработка на X, Y, Z.
c>>> Ровно столько же занимает (9 месяцев в среднем на проект).

YК>> Это как средняя температура по больнице, да?


c> По моей собственной больнице, да.


c> Из тех реальных проектов которые мне известны на Java все

c> достаточно ёмкие.

c> Тут проблема даже не в Java а в некоем вселенском принципе "проект

c> должен вызреть".

c> Если есть сомнения по поводу девяти месяцев — назови реальный

c> проект — будет предметный разговор.

Дело не в девяти месяцах, а в бессмысленности показателя "среднее время длительности проекта" без выделения общих характеристик проектов. Для чего его можно использовать? Ты вот использовал этот показатель для сравнения скорости разработки на Java и С++, не учтя даже, что применяются эти языки большей частью в разных предметных областях.
Posted via RSDN NNTP Server 2.1 beta
Re[16]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.06.07 08:59
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Дело в том, что для Java/.NET нет особого смысла делать AOP на этапе

C>компиляции (хотя AspectJ именно так и работает). Наоборот, даже ПРОЩЕ
C>делать weaving в runtime'е. Но это не значит, что AOP принципиально не
C>может работать без deployment'а.

А разве я говорил что он не может работать без деплоймента? Я немножко другое говорил — смысла в нем без рантайма не очень много.
... << RSDN@Home 1.2.0 alpha rev. 675>>
AVK Blog
Re[16]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.06.07 09:10
Оценка:
Здравствуйте, IT, Вы писали:

IT>Всё смешалось в доме Облонских Причём тут КОП вообще?


При том, что и Java, и .NET среды компонентные.

IT> Совместимость с КОП, это, конечно же, очень здорово, только я что-то впервые слышу, что АОП без КОП не имеет смысла.


А я и не говорил этого. Имеет конечно, но в рамках компонентных сред несовместимость с КОП налагает существенные ограничения.

AVK>>Но на такое забивание в рамках .NET должно быть очень серьезное основание. Поэтому мне и кажется, что АОП, не способное работать с скомпилированным кодом, в качестве универсального фреймворка имеет очень небольшуюценность.


IT>Это тебе только кажется.


Естественно.

IT>Идея АОП в разделении сквозного кода от бизнес-логики.


Смешно. Видишь ли, разделение сквозного кода от бизнес-логики, оно конечно здорово, но это нифига не АОП, это куда более общий принцип. Согласно этой идее строятся и практически все структурные паттерны GoF, и MVC/MVP, и IoC контейнеры, и куча всяких фреймворков (WCF к примеру, или даже банальный ремоутинг).
Так что я совсем не против советсеой власти.


AVK>>Ну я бы так не сказал.


IT>О подобных архитектурных решениях я слышал только от тебя.


Тут, в этом топике, как минимум JBoss поминали, причем не я.

IT> И я ничего не имею против этого и вполне допускаю, что в твоём конкретном случае это было единственно правильное решение.


При чем тут мой случай? Я вобще что то про свой случай говорил?

IT> Вот только я не понимаю почему ты считаешь, что это решение должно быть единственно правильным и для всех остальных


Потому что меня пока не убедил никто в обратном.

AVK>>Только я пока не видел этого рулящего неподецки применения АОП в компайл-тайме.


IT>Потому что для этого пока нет соответствующих средств.


А, ну ну. Яйца, значит, мешают.

AVK>>Ну понеслась. Только теперь тем, что я первый начал ты не отмажешься. Сдается мне, это твой опыт однобок, коль скоро деплоймент тебе кажется убогим.


IT>Может дашь ссылочку где я это утверждал?


Что утверждал?

IT> В отличии от некоторых я отношусь к своему опыту критически


Заметно. Почему то ты с завидной регулярностью скатываешься на подобные аргументы.

AVK>>Это в BLToolkit то?


IT>У тебя есть какие-то конкретные притензии к BLToolkit? Высказывай, не стесняйся.


Притензий нет. Только там аспекты того, динамические.

IT>Ещё раз повторяю специально для тех, кто в танке. Я не считаю себя вправе навязывать другим своё видение архитектуры вообще и решать за людей что для них лучше, использовать XML или атрибуты, в частности.


Это понятно. Но ведь что то тея заставило реализовать такое решение, не так ли?

IT>Поверь мне, люди вполне нормально с этим справляются, особенно, если к ним не лезут со всякими дурацкими советами, основанными на личном восприятии мира, увиденного лишь через одну замочную скважину.


Да, аргументики у вас, однако.
... << RSDN@Home 1.2.0 alpha rev. 675>>
AVK Blog
Re[15]: Расскажите профессионально, чем Java разработка быс
От: Андрей Хропов Россия  
Дата: 04.06.07 13:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Odi$$ey, Вы писали:


OE>>головная боль тут-же возвращается, как только нужно передать копию объекта


VD>И в чем тут головная боль? Сложно написать метод Clone?


Проблема в том, что в .NET-языках нет семантики владения для ссылочных типов.
Если у нас есть член класса

private SomeClass _member;


то нам, вообще говоря, не ясно является этот член разделяемым объектом или же он принадлежит данному классу (и при клонировании его надо клонировать). Тут уже придется разбираться в каждом конкретном случае.

В С++ же проще:
MyClass1                                         _member1; // этим мы владеем
boost::shared_ptr<MyClass2> _member2; // этот мы разделяем


, при этом по умолчанию сгенерируется правильный конструктор копирования. Правда с полиморфным копированием уже хуже . Нужен clone_ptr и реализация виртуального метода clone (правда, тривиальная) во всех объектах.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[9]: Расскажите профессионально, чем Java разработка быст
От: jenyavb  
Дата: 05.06.07 09:04
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


B>>Вот это-то и расстраивает. Я всего месяц работаю с удаленной .NET командой и уже раза 3 слышал от них что во всех бедах виноват MS.


L>Не обращай внимание. Это традиция — винить во всех бедах микрософт.


Ну их за дело ругают . Плохо только то, что МС эти баги даже не исправляет.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Re[7]: Расскажите профессионально, чем Java разработка быст
От: AndreiF  
Дата: 05.06.07 13:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Тогда только на С++ не выйдет. Есть только Рефлекторовский и Моновский. Вроде оба на Шарпе.


Есть еше Abstract IL Toolkit. Но он тоже managed.
Re[16]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.06.07 23:48
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Проблема в том, что в .NET-языках нет семантики владения для ссылочных типов.


Это не проблема. Это приемущество.

АХ>Если у нас есть член класса


АХ>
АХ>private SomeClass _member;
АХ>


АХ>то нам, вообще говоря, не ясно является этот член разделяемым объектом или же он принадлежит данному классу (и при клонировании его надо клонировать).


А что там думать то? Есть метод Clone — вызывай его. Нет? Ну, что поделать? Значит или автор объекта дурак, или он считает его неизменяемым, а значит и не требующим клонирования.

АХ> Тут уже придется разбираться в каждом конкретном случае.


Есть такое понятие "стратегия". Когда ты пишешь код ты должен придерживаться некой стратегии. Небывает так, чтобы тебе нужно было засунуть в иерархию случайные объекты.

АХ>В С++ же проще:

АХ>
АХ>MyClass1                                         _member1; // этим мы владеем
АХ>boost::shared_ptr<MyClass2> _member2; // этот мы разделяем
АХ>


Ты меня извини, но boost::shared_ptr ты ведь сам написал? Откуда взялась информаци, что "этот мы разделяем"? Это та же стратегия, только ты ее в данном случае вручную отрабатываешь. Это называется "закат солнца вручную".

Корче, не пудрите мне мозг недоязком вроде С++. Нет в нем нихрена ценного кроме скорости компилтяоров.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Расскажите профессионально, чем Java разработка быс
От: iZEN СССР  
Дата: 06.06.07 07:33
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Корче, не пудрите мне мозг недоязком вроде С++. Нет в нем нихрена ценного кроме скорости компилтяоров.


Да и скорости компиляторя, честно говоря, тоже нет.
Javac работает гораздо быстрее.
Re[18]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.06.07 21:58
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Да и скорости компиляторя, честно говоря, тоже нет.

ZEN>Javac работает гораздо быстрее.

Я не верно выразился. Я говорил о скорсоти кода который порождает компилятор.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[13]: Расскажите профессионально, чем Java разработка быс
От: Gajdalager Украина  
Дата: 07.06.07 08:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Я тут вынужден был написать несколько строк на Дельфи 7. Это привело к тому, что я вспомнил все "прелести" неуправляемого мира (в дельфи еще и деструкторов автоматичеких нет). Скажу честно — это ужасно. Поубивал бы тех дебилов которые детей учат на Дельфи программировать в институтах.


А можно текст задачки? Мне чисто так, для себя, поржать (с) Гадя Хренова
Re[14]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.06.07 11:45
Оценка:
Здравствуйте, Gajdalager, Вы писали:

VD>>Я тут вынужден был написать несколько строк на Дельфи 7. Это привело к тому, что я вспомнил все "прелести" неуправляемого мира (в дельфи еще и деструкторов автоматичеких нет). Скажу честно — это ужасно. Поубивал бы тех дебилов которые детей учат на Дельфи программировать в институтах.


G>А можно текст задачки? Мне чисто так, для себя, поржать (с) Гадя Хренова


Задач было несколько в основном их текст не сохранился (он лично мне не нужен). Одна из задачей вот:

4.2.6
Задача на разработку перограммы с использованием созданной по условию процедуры, составить программу с разработкой и использоваинем
указанной в задании процедуры.

В матрице А(3 стр, 5 стл) поменять местами наименьшие элементы во второй и третьей строке. Для поиска номера наименьшей элемента в
произвольной строке матрицы использовать процедуру.

И решение:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  ElemType   = Integer; // Абстрагируемся от типа элемента массива

// Находит индекс минимального элемента одномерного массива.
procedure IndexOfMinElem(const ary : array of ElemType; var index : Integer);
  var min : ElemType;
  var minIndex, i : Integer;
begin
  // По-умолчанию считаем, что минимальный элемент - это первый элемент массива.
  minIndex := Low(ary);
  min      := ary[minIndex];

  // Перебираем элементы массива за исключением первого элемента...
  for i := Low(ary) + 1 to High(ary) do
    // ... и проверяем не является ли он меншим нежели минимальный элемент найденный до этого.
    if ary[i] < min then begin
      // Если текущий элемент меньше минимального, то запоминаем его индекс и значение
      // в перменных minIndex и min соотвественно.
      minIndex := i;
      min := ary[i];
    end;

  index := minIndex; // возвращаем индекс наименьшего элемента массива.
end;

// Обменивает значение параметра месчтами. var позволяет нам менять
// содержимое значений в исходных перменных или ячейках массива, а ни их копиях.
procedure Swap(var x : ElemType; var y : ElemType);
  var temp : ElemType;
begin
  temp := x;
  x := y;
  y := temp;
end;

// Матрица 3 х 5.
var matrix : array[1..3, 1..5] of ElemType;

// Эта процедура печатает сообщение и текущее содержимое матрицы.
procedure PrintMatrix(msg : string);
  var i, k : Integer;
begin
  WriteLn(msg); // Печатаем сообщение
  // Перебираем все строки матрицы
  for i := Low(matrix) to High(matrix) do begin
    // Перебираем все колонки матрицы
    for k := Low(matrix[Low(matrix)]) to High(matrix[Low(matrix)]) do begin
      // Печатаем элемент матрицы.
      Write(matrix[i, k]);
      Write(' ') // Печатаем разделяющий пробел.
    end;

    WriteLn(''); // Печатаем разделяющий конец строки.
  end;

  WriteLn('');
end;


var indexOfMinElemInLine2, indexOfMinElemInLine3 : Integer;

begin
  // Инициализируем матрицу некоторыми значениями
  matrix[1, 1] := 5; matrix[1, 2] := 2; matrix[1, 3] := 7; matrix[1, 4] := 3; matrix[1, 5] := 9;
  matrix[2, 1] := 9; matrix[2, 2] := 4; matrix[2, 3] := 8; matrix[2, 4] := 7; matrix[2, 5] := 5;
  matrix[3, 1] := 4; matrix[3, 2] := 3; matrix[3, 3] := 7; matrix[3, 4] := 9; matrix[3, 5] := 1;

  PrintMatrix('Before swap:'); // Печатаем исходное содержимое матрицы

  // Получаем индекс минимального значения для второй строки
  IndexOfMinElem(matrix[2], indexOfMinElemInLine2);
  // Функция IndexOfMinElem возвращает индекс отсчитываеймй с нуля,
  // так что для его коррекции нужно к нему прибавить индекс нижнего элемента.
  indexOfMinElemInLine2 := indexOfMinElemInLine2 + Low(matrix[2]);
  // Получаем индекс минимального значения для третьей строки
  IndexOfMinElem(matrix[3], indexOfMinElemInLine3);
  indexOfMinElemInLine3 := indexOfMinElemInLine3 + Low(matrix[3]);
  // Производим обмен значений найденных ячеек.
  Swap(matrix[2, indexOfMinElemInLine2], matrix[3, indexOfMinElemInLine3]);

  PrintMatrix('After swap:'); // Печатаем содержимое матрицы после перестоновки минимальных значений

  ReadLn;
end.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 07.06.07 12:06
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>В матрице А(3 стр, 5 стл) поменять местами наименьшие элементы во второй и третьей строке. Для поиска номера наименьшей элемента в

VD>произвольной строке матрицы использовать процедуру.[/q]
Задачка на пять минут.
Кстати, делфи — это не шарп. теги форматирования неверные
VD>И решение:
VD>
VD>program Project1;

[scip]
//это единственная абстракция в этом коде.
VD>type
VD>  ElemType   = Integer; // Абстрагируемся от типа элемента массива

VD>// Находит индекс минимального элемента одномерного массива.
//Тут лучше функцию использовать. Не надо так слепо верить условию. Хотя эту процедуру можно оптимальней написать.
VD>procedure IndexOfMinElem(const ary : array of ElemType; var index : Integer);
//Двойной var ? зачем?
VD>  //var min : ElemType;
VD>  var minIndex, i : Integer;
VD>begin
VD>  // По-умолчанию считаем, что минимальный элемент - это первый элемент массива.
VD>  minIndex := Low(ary);
VD>  //min      := ary[minIndex];

VD>  // Перебираем элементы массива за исключением первого элемента...
VD>  for i := Low(ary) + 1 to High(ary) do
VD>    // ... и проверяем не является ли он меншим нежели минимальный элемент найденный до этого.
VD>    if ary[i] < ary[minIndex] then //begin
VD>      // Если текущий элемент меньше минимального, то запоминаем его индекс и значение
VD>      // в перменных minIndex и min соотвественно.
VD>      minIndex := i;
VD>      //min := ary[i];
VD>    //end;

VD>  index := minIndex; // возвращаем индекс наименьшего элемента массива.
VD>end;
[scip]
Вот за это - по пальцам
VD>// Матрица 3 х 5.
VD>//var matrix : array[1..3, 1..5] of ElemType;
надо так
const 
   M_COL = 3;
   M_ROW = 5;
   var matrix : array[1..M_COL, 1..M_ROW] of ElemType;
     
VD>// Эта процедура печатает сообщение и текущее содержимое матрицы.
VD>procedure PrintMatrix(msg : string);
VD>  var i, k : Integer;
VD>begin
VD>  WriteLn(msg); // Печатаем сообщение
VD>  // Перебираем все строки матрицы
//тут теперь можно поставить константы, а не изврат с функций.
VD>  for i := Low(matrix) to M_COL do begin
VD>    // Перебираем все колонки матрицы
VD>    for k := Low(matrix[Low(matrix)]) to M_ROW do begin
VD>      // Печатаем элемент матрицы.
VD>      Write(matrix[i, k]);
VD>      Write(' ') // Печатаем разделяющий пробел.
VD>    end;

VD>    WriteLn(''); // Печатаем разделяющий конец строки.
VD>  end;

VD>  WriteLn('');
VD>end;


VD>var indexOfMinElemInLine2, indexOfMinElemInLine3 : Integer;

VD>begin
[scip]

VD>  ReadLn;
VD>end.
VD>

Но глобальный массив порадовал. Мне бы в своё время за этот код поушам надавали...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.06.07 12:58
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Задачка на пять минут.

Ну, на 10, но надо учитывать еще трах с массивами который возник совершеено не кстати то, что я Дельфи последний раз видел в 1998-ом, и то, что хэлп фактически не работал и пришлось заниматься танцами в присядку.

Другие задачки заняли куда больше времени.

OV>Кстати, делфи — это не шарп. теги форматирования неверные


Да, привычка. У меня этот тег на шорткате .

OV>Но глобальный массив порадовал. Мне бы в своё время за этот код поушам надавали...


Плевать. Задачу это решает. В условиях нигде не указано каким он должен быть. Откровенно говоря я так и не понял как корректно передать статически объявленную матрицу в качестве параметар (чтобы передать ее в универсальную процедуру печати), плюнул и сделал его глобальным.

А вообще, в задаче просто убило, что поиск нужно сделать процедурой, а не функцией. Извращенцы, блин.

ЗЫ

Это, кстати, еще пример довольно внятно сформулирован. Другие были вообще бредовые. Так что за такое обучение нужно руки ампутировать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.06.07 13:02
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Вот за это — по пальцам

VD>>// Матрица 3 х 5.
VD>>//var matrix : array[1..3, 1..5] of ElemType;
OV>надо так
OV>const
OV> M_COL = 3;
OV> M_ROW = 5;
OV> var matrix : array[1..M_COL, 1..M_ROW] of ElemType;

Предраться что ли было не к чему?

Какая разница? Я вот за такое наименование по пальцам бы двавал.
А вообще, такой идиотизм как фиксированные матрицы обычно только в примерах и встречается. В рельной жизни все обычно динамическое.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[17]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 07.06.07 13:10
Оценка:
Здравствуйте, VladD2, Вы писали:

OV>>Но глобальный массив порадовал. Мне бы в своё время за этот код поушам надавали...


VD>Плевать. Задачу это решает. В условиях нигде не указано каким он должен быть.

Вот это самое большое заблуждение. Если это было сказано к реальной задаче — заклевали бы. А люди учаться на простых задачах, вырабатывается привычка. А потом и кодят.
VD>Откровенно говоря я так и не понял как корректно передать статически объявленную матрицу в качестве параметар (чтобы передать ее в универсальную процедуру печати), плюнул и сделал его глобальным.

ну есть два варианта.
первый — передать массив так
procedure proc(a:array of array of tipelem);

теперь в коде вовсю будут работать функции low и high
или другой вариант
type
  TMyArr = array[1..col,1..row] of tipelem;
var a:TMyArr;
procedure proc(x:TMyArr);

а так писать нельзя
procedure proc(a:array[1..col,1..row] of tipelem);


VD>А вообще, в задаче просто убило, что поиск нужно сделать процедурой, а не функцией. Извращенцы, блин.


VD>ЗЫ


VD>Это, кстати, еще пример довольно внятно сформулирован. Другие были вообще бредовые. Так что за такое обучение нужно руки ампутировать.

Нет, просто мы стоим на другом уровне сознания (понимания задач). Я видел несколько преподов, которые такие вещи толкают — супер. А студенты их непонимают. Причина — препод не умеет опуститься до уровня студента, а потом за уши подтянуть. Ведь в этом их задача.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 07:34
Оценка:
Здравствуйте, VladD2, Вы писали:
[scip]
VD>Агащазблин. Я по логике конечно так и должно быть. Но на практике если написать:
VD>
VD>procedure PrintMatrix(msg : string; matrix : array of array of ElemType);
VD>

VD>то получаешь:
VD>(блин, в этой дертмовой среде даже сообщение об ошибке скопировать нельзя )
Промазал.С одномерными — можно так. Да и в Си и им подобным передать двомерный масив, не указывая ниодной размерности — тоже проблема.
VD>

Identifier expected but 'ARRAY' found

VD>Задница, в общем.
А вы пробывали? всё можно! просто нужно выбрать сообщение и нажать Ctrl+C. Незнаете — не ругайте.
OV>>или другой вариант
OV>>
OV>>type
OV>>  TMyArr = array[1..col,1..row] of tipelem;
OV>>var a:TMyArr;
OV>>procedure proc(x:TMyArr);
OV>>

OV>>а так писать нельзя
OV>>
OV>>procedure proc(a:array[1..col,1..row] of tipelem);
OV>>


VD>Хащазблинещераз. Как же. Это я тоже пробовал. При попытке передать матрицу в процедуру где параметр описан как:

VD>
VD>type
VD>  ElemType   = Integer; // Aano?aae?oainy io oeia yeaiaioa ianneaa
VD>  TMyArr = array[1..3,1..5] of ElemType;
VD>...
VD>procedure PrintMatrix(msg : string; const matrix : TMyArr);
VD>...
VD>PrintMatrix('Before swap:', matrix); // Ia?aoaai enoiaiia niaa??eiia iao?eou
VD>

VD>получаем:
VD>

Incompatible types: 'TMyArr' and 'Array'

VD>Маразм, вобщем.
А вот это странно. Хотя если переменная matrix не была обявленна как TMyArr, (судя с ошибки — это так и есть) то вполне логично. Делфи тут прикапывается, так как обявленный через type новый тип не совместим со старым.
VD>И это при том, что на Шарпе или Немреле подобных проблем нет как класс.
Ну да, там всё классы.
OV>>Нет, просто мы стоим на другом уровне сознания (понимания задач). Я видел несколько преподов, которые такие вещи толкают — супер. А студенты их непонимают. Причина — препод не умеет опуститься до уровня студента, а потом за уши подтянуть. Ведь в этом их задача.

VD>Какой к черту другой уровень? Если задачу предназначенную для первакурсников не могут понять два взрослых мужика-программиста, то о чем еще можно говорить?

О том что эти два взрослых мужика-программиста умеют решать сложные задачи, но не там языке. Это всё равно, что вы сейчас сочинение на украинском писать начнёте. Вроде и знаете, что язык подобен русскому, а нет, есть подковырки. Так и здесь. (я не хотел разжигать межнациональные споры этой фразой)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 11:36
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Вот это самое большое заблуждение. Если это было сказано к реальной задаче — заклевали бы. А люди учаться на простых задачах, вырабатывается привычка. А потом и кодят.


Люди учатся процедуры вызвать. Им не до высоких материй. Понятно, что в реальных проектах такой фигн быть не должно. Но и Делфи в реальных проектах тоже вряд ли уже встретится. А значит и проблем с массивами не будет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[21]: Расскажите профессионально, чем Java разработка быс
От: Lloyd Россия  
Дата: 08.06.07 11:52
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В общем, не надо пытаться найти недостатки во мне. Просто нужно усвоить два факта. 1. Те кто придумывал эти задачи бараны. 2. Дельфи хреновый инструмент для подобных задач.


Вообще-то эти как ты выражаешься бараны в данный момент разрабатывают язык, которым пользуются миллионы. А вот VladD2 кроме громких криков о том, что все кругом бараны, пока что ничем не прославился. Что-то тут не так.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 11:59
Оценка:
Здравствуйте, Lloyd, Вы писали:

VD>>В общем, не надо пытаться найти недостатки во мне. Просто нужно усвоить два факта. 1. Те кто придумывал эти задачи бараны. 2. Дельфи хреновый инструмент для подобных задач.


L>Вообще-то эти как ты выражаешься бараны в данный момент разрабатывают язык, которым пользуются миллионы.


Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)

L> А вот VladD2 кроме громких криков о том, что все кругом бараны, пока что ничем не прославился. Что-то тут не так.


Как тебе сказать. Это твое мнение, и мне на него ср... плевааать. Можно было бы конечно поговорить о твоих достижениях, но мне и не тебя плевааать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[23]: Расскажите профессионально, чем Java разработка быс
От: Lloyd Россия  
Дата: 08.06.07 12:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>>>В общем, не надо пытаться найти недостатки во мне. Просто нужно усвоить два факта. 1. Те кто придумывал эти задачи бараны. 2. Дельфи хреновый инструмент для подобных задач.


L>>Вообще-то эти как ты выражаешься бараны в данный момент разрабатывают язык, которым пользуются миллионы.


VD>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


L>> А вот VladD2 кроме громких криков о том, что все кругом бараны, пока что ничем не прославился. Что-то тут не так.


VD>Как тебе сказать. Это твое мнение, и мне на него ср... плевааать. Можно было бы конечно поговорить о твоих достижениях, но мне и не тебя плевааать.


Что-то тут не так. (с)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[21]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:09
Оценка:
Здравствуйте, VladD2, Вы писали:

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


OV>>Промазал.С одномерными — можно так. Да и в Си и им подобным передать двомерный масив, не указывая ниодной размерности — тоже проблема.


VD>В С таких проблем нет, так как нет (по сути) массивов. Там двумерный массив всегда передается как TYPE**.

Ага. Через одно место. Потом это дело надо назад приводить. Размерности помнить.
OV>>А вы пробывали? всё можно! просто нужно выбрать сообщение и нажать Ctrl+C. Незнаете — не ругайте.

VD>Пробовал. Не помогает.

Ну точно работает.
VD>Внимание, вопрос! Кому на фиг нужно такое обучение? Мы специально недоучек клепаем? Или чем больше трудностей тем лучше?
О, вы правильно копнули. плохие преподаватели. Но и студенты лентяи. А вот это действительно большая проблема. А потом такие люди пойдут в начальники.
OV>>О том что эти два взрослых мужика-программиста умеют решать сложные задачи, но не там языке. Это всё равно, что вы сейчас сочинение на украинском писать начнёте. Вроде и знаете, что язык подобен русскому, а нет, есть подковырки. Так и здесь. (я не хотел разжигать межнациональные споры этой фразой)

VD>Повторяю последний раз. Вопросы сформулированы не корректно.

Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
VD>В них присуствуют неоднозначности. Языки тут не причем.
то у вас язык причём, то нипричём. определитесь.
VD>После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде.
мда,
Вариант раз. практически любая задача может решаться несколькими способами. Так что было предложено решить одним из вариантов. С отрывом от задачи эти слова — пустое место.
Но разве вам неизвестно, что матрица всегда может быть сэмулирована одномерным массивом? А вот если двумерный массив есть не прямоугольный, то тут для эмуляции как раз два массива и надо. В одном мы пишем данные, в другом — размерности. Да, после функциональных языком и высших материй сложно спуститься на грешную землю.
VD>В общем, не надо пытаться найти недостатки во мне.
Неискал
VD>Просто нужно усвоить два факта.
VD>1. Те кто придумывал эти задачи бараны.
В своё время я переводил методички (работал на кафедре) и паралельно разрабатывал решения задач. Так вот коректор (тётя такая) поправила моё решения, ибо ей умный дядя сказал, что оно неверно. В результате код получился зацыкленный. Неодин студент мучился потом.
VD>2. Дельфи хреновый инструмент для подобных задач.
нет плохих инструментов. Есть плохие мастера. Но они себя никогда не будут винить. Проще инструмент. он неживой, не ответит. (с) не мой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:09
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[24]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 12:28
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Что-то тут не так. (с)


Кто здесь?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 12:28
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

VD>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


OV>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.


Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?

Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 12:28
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Ага. Через одно место. Потом это дело надо назад приводить. Размерности помнить.


Приводить это никуда не надо. Размеры конечно нужно таскать самому и контролировать все внучную. Но это С. Я кажется не призывал на нем детей программировать учить. Это ты о нем заговорил. В С++, к примеру, вместо матрицы я бы воспользовался бы std::vector-ом со вложенностью (вектор векторов), так как язык ОО. В прочем, С++ я бы тоже не взял бы как первый язык. Я бы учил на Яве или одном из языков дотнета. Хоть на Васике последнем.

OV>Ну точно работает.


В прочем, я пробовал Ctrl+Ins. Если они реализовали в чисто виндовом продукте только Ctrl+C и не реализовали при этом Ctrl+Ins, то это тоже показатель отношения к пользовтелю. Хотя конечно уже не такой вопиющий.

VD>>Внимание, вопрос! Кому на фиг нужно такое обучение? Мы специально недоучек клепаем? Или чем больше трудностей тем лучше?

OV>О, вы правильно копнули. плохие преподаватели. Но и студенты лентяи. А вот это действительно большая проблема. А потом такие люди пойдут в начальники.

Студенты несомненно лентяи. Они еще молоды и не увлечены своим делом (по крайней мерее многие). Задача преподавательского состава заинтересовать студентов и дать им качественное образование. А я вижу ровно обратное. Заинтерисоваться на таких задачах нельзя. Можно только заработать комплекс неполноценности (студент будет читать такие задачи и дуать, что он дурак).

VD>>Повторяю последний раз. Вопросы сформулированы не корректно.

OV>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.

Нельзя быть слишком умным. Недостаточно, можно. Но слишком, нельзя. Вопросы эти не рассчитанны на другой уровень. У них у самих другой уровень... чуть ниже плинтуса. Я узнал, в этом институте информатику преподает бабушка. Что тут еще можно сказать? И это, между прочем, подготовка кадров для нашей нефтянки.

VD>>В них присуствуют неоднозначности. Языки тут не причем.

OV>то у вас язык причём, то нипричём. определитесь.

Я кажется выразился однозначно. Задачи сформулированны неоднозначно. А язык просто плохо подходит для данных задач.

VD>>После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде.

OV>мда,
OV>Вариант раз. практически любая задача может решаться несколькими способами.

Серьезно? А я вот читал учебники по математики и там всегда одно решение. Может все же дел в тех кто составляет условия задач?

OV> Так что было предложено решить одним из вариантов. С отрывом от задачи эти слова — пустое место.


Проблема в том, что при том условии, вообще не ясно, что же нужно делать.

Ладно. Мне этот диалог с человеком ищущим проблемы в собеседниках просто не интересен. Считай себя умнее других и даказывай все окружающим это. И не в коем случе никому не верь. Адью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:36
Оценка:
Здравствуйте, VladD2, Вы писали:

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


VD>>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


OV>>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.


VD>Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?

да. но в первую очередь я программист.
VD>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
никаой конкретики. Только выгонять. Переформулируйте задачу так, что бы она была понятна для вас. Также немешало бы посмотреть на ваще решение я немерле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:49
Оценка:
Здравствуйте, VladD2, Вы писали:

OV>>Но это С. Я кажется не призывал на нем детей программировать учить. Это ты о нем заговорил.

Я лично против обучения массового на нём. Надо как минимум два — три языка давать.
OV>>В С++, к примеру, вместо матрицы я бы воспользовался бы std::vector-ом со вложенностью (вектор векторов), так как язык ОО.
перед тем, как обяснить вектор в stl нужно обяснить массив. Вы ведь тоже не сразу на stl перешли. Если учитывать что они пару месяцев как учат, то всё нормально.
OV>>В прочем, С++ я бы тоже не взял бы как первый язык.
OV>>Я бы учил на Яве или одном из языков дотнета.
Ну... можно попробывать
OV>>Хоть на Васике последнем.
Ужос.
А почему не немерле?
OV>>Ну точно работает.

VD>В прочем, я пробовал Ctrl+Ins. Если они реализовали в чисто виндовом продукте только Ctrl+C и не реализовали при этом Ctrl+Ins, то это тоже показатель отношения к пользовтелю. Хотя конечно уже не такой вопиющий.

Вау, впервые.

VD>Студенты несомненно лентяи. Они еще молоды и не увлечены своим делом (по крайней мерее многие). Задача преподавательского состава заинтересовать студентов и дать им качественное образование. А я вижу ровно обратное. Заинтерисоваться на таких задачах нельзя. Можно только заработать комплекс неполноценности (студент будет читать такие задачи и дуать, что он дурак).


VD>>>Повторяю последний раз. Вопросы сформулированы не корректно.

OV>>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.

VD>Нельзя быть слишком умным.

А немношко больше — точно.
VD>Недостаточно, можно. Но слишком, нельзя. Вопросы эти не рассчитанны на другой уровень. У них у самих другой уровень... чуть ниже плинтуса. Я узнал, в этом институте информатику преподает бабушка. Что тут еще можно сказать? И это, между прочем, подготовка кадров для нашей нефтянки.
бывает.
VD>>>В них присуствуют неоднозначности. Языки тут не причем.
OV>>то у вас язык причём, то нипричём. определитесь.

VD>Я кажется выразился однозначно. Задачи сформулированны неоднозначно. А язык просто плохо подходит для данных задач.

ждёмс ваших "исправленных формулировок" и решений на лёгком языке
VD>>>После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде.
OV>>мда,
OV>>Вариант раз. практически любая задача может решаться несколькими способами.

VD>Серьезно? А я вот читал учебники по математики и там всегда одно решение. Может все же дел в тех кто составляет условия задач?

Даже школьные задачки имеют по несколько решений
OV>> Так что было предложено решить одним из вариантов. С отрывом от задачи эти слова — пустое место.

VD>Проблема в том, что при том условии, вообще не ясно, что же нужно делать.

Там всё чётко сказано.
VD>Ладно. Мне этот диалог с человеком ищущим проблемы в собеседниках просто не интересен. Считай себя умнее других и даказывай все окружающим это.
Я не считаю себя умнее всех
VD> И не в коем случе никому не верь.
И вам в том числе. Что я и делаю.
VD>Адью.
Сваливаем? так рано?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[26]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 13:26
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>да. но в первую очередь я программист.


Ну, так программируй, а не пытайся лечить чужой мозг.

VD>>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.

OV>никаой конкретики.

К сожалению, я их не особо схранял. Одина из задач звучит так:

Составить программу по заданному условию.
Первой частью условия является задание на разработку процедуры для любой функции F или пары функций.
Для заданного массива C из n элементов составить процедуру, подсчитывающую количество случаев равенства F(Ci) заданной величине.
В матрице A определить, в какой строке находится наибольшее число элементов, целая часть которых равна единице.

Прошу учесть, что это одна задача, а не две.

OV>Только выгонять. Переформулируйте задачу так, что бы она была понятна для вас. Также немешало бы посмотреть на ваще решение я немерле.


Нельзя решить, то что не ясно сформулировано.
Если речь идет о задаче которую я приводил на Дельфи, то как-то так:
using System;
using System.Console;
using Nemerle.Utility;

def matrix = array[array[5, 2, 7, 3, 9],
                   array[9, 4, 8, 7, 5],
                   array[4, 3, 7, 9, 1]];

def printMatrix(msg, matrix)
{
  WriteLine(msg);
  
  foreach (row in matrix)
    WriteLine(row.ToString(", "));
}
  
def indexOfMinVal(ary)
{
  ary.FoldI((-1, int.MaxValue), 
    fun (i, elem, (iAcc, acc)) { if (elem < acc) (i, elem) else (iAcc, acc) } )[0]
}


printMatrix("Before swap:", matrix);
matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
printMatrix("After swap:", matrix);

Единственное, что я не стал делать, так это трахаться с передачей индекса через параметр, и вернул его просто как значение функции.

Правда, почти уверен, что смысл indexOfMinVal для большинства будет непонятет, так как с концепцией Fold большинство ииперативщиков не знакомы (хотя ее аналог есть в STL под именем accumulate).

В общем, если нужны пояснения, могу дать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 13:44
Оценка:
Здравствуйте, VladD2, Вы писали:

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


OV>>да. но в первую очередь я программист.


VD>Ну, так программируй, а не пытайся лечить чужой мозг.

мозг не лечу. И програмлю потихоньку.
VD>К сожалению, я их не особо схранял.
Это плохо. Так как оригинальная формулировка может быть интересней.
VD>Одина из задач звучит так:
VD>

Составить программу по заданному условию.
VD>Первой частью условия является задание на разработку процедуры для любой функции F или пары функций.
VD>Для заданного массива C из n элементов составить процедуру, подсчитывающую количество случаев равенства F(Ci) заданной величине.
VD>В матрице A определить, в какой строке находится наибольшее число элементов, целая часть которых равна единице.

VD>Прошу учесть, что это одна задача, а не две.
Ну так нормально. Кто сказал, что программа должна просто выводить одно число? она может и десяток вывести. Просто попросили вывести и то и другое. Ну соеденили две задачи в одну.
Ура решение на немерле!!!
VD>Если речь идет о задаче которую я приводил на Дельфи, то как-то так:
VD>
VD>using System;
VD>using System.Console;
//Супер, заюзали готовую либу. я так тоже могу. и решение станет проще. Причём стандартную.
VD>using Nemerle.Utility;
//В паскале также можно просто инициализировать массивы. А у вас там в паскальном варианте был просто ужос.
VD>def matrix = array[array[5, 2, 7, 3, 9],
VD>                   array[9, 4, 8, 7, 5],
VD>                   array[4, 3, 7, 9, 1]];
//гламурненько
VD>def printMatrix(msg, matrix)
VD>{
VD>  WriteLine(msg);
  
VD>  foreach (row in matrix)
VD>    WriteLine(row.ToString(", "));//вот здесь особенно.
VD>}
 //да, здесь что то дивное.
VD>def indexOfMinVal(ary)
VD>{
VD>  ary.FoldI((-1, int.MaxValue), 
VD>    fun (i, elem, (iAcc, acc)) { if (elem < acc) (i, elem) else (iAcc, acc) } )[0]
VD>}


VD>printMatrix("Before swap:", matrix);
// и тут.
VD>matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
VD>printMatrix("After swap:", matrix);
VD>

VD>Единственное, что я не стал делать, так это трахаться с передачей индекса через параметр, и вернул его просто как значение функции.
Ну так в паскале тоже никто не мешал.
VD>Правда, почти уверен, что смысл indexOfMinVal для большинства будет непонятет, так как с концепцией Fold большинство ииперативщиков не знакомы (хотя ее аналог есть в STL под именем accumulate).
Можем почитать доки
VD>В общем, если нужны пояснения, могу дать.
Ну и послушать ваши предложения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[24]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 14:19
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Я лично против обучения массового на нём.


Я тоже против С, но и против Дельфи. Особенно то что не .NET. В прочем, сам начал программировать на С и в общем-то ничего не потерял. Но тогда выбора особо не было.

OV>Надо как минимум два — три языка давать.


Может и надо, но когда один язык освоен. И второй язык (а то и первы) должен быть фунциональным. Давать С и Дельфи все то же не дело.

А в начале обучения язык должен быть один.

OV>перед тем, как обяснить вектор в stl нужно обяснить массив.


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

OV>Вы ведь тоже не сразу на stl перешли. Если учитывать что они пару месяцев как учат, то всё нормально.


Несомненно. И я оять же не призываю учить на С++. Это язык вообще не должен быть первым.


OV>>>В прочем, С++ я бы тоже не взял бы как первый язык.

OV>>>Я бы учил на Яве или одном из языков дотнета.
OV>Ну... можно попробывать

Кому?

OV>>>Хоть на Васике последнем.

OV>Ужос.

А что ужас? Васик на сегодня в разы качественее Дельфи. Он вообще мало в чем уступает Шарпу. Более того если преподавать его акуратно, то можно еще динамику людям показать.

OV>А почему не немерле?


Да, я бы всеми руками за. Темболе, что на этом языке моно преподать почти все известные парадигмы программирования (за ислючением логического программирования). Но вот преподаватели у нас его вряд ли смогут освоить. Они об ассемблерных вставках все заботятся. Плюс косность мышления и стремление дать "мэйнстрим" (даже если в результате дают полностью устаревший неуправляемый Дельфи). В общем, как всегда военные готовятся в прошлой войне, а институты готовят к прошлому веку.

Кстати, в Польше, где и создан Немерле, во всю учат студентов именно на Немерле. Говорят, что результат отличный.

OV>Сваливаем? так рано?


Мое время стоит денег. А вот то что ты там о бо мне подумашь мне совершенно монопенесуально. Так что извини.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 22:15
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Можем почитать доки

Плиз: http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29
Примеры, правда на Хаскеле и Схеме, но описание более чем подробное.
Единвственно, что я применил расширенную версию функции которая кроме аккомулятора предоставляет еще индекс текущего элемента.

VD>>В общем, если нужны пояснения, могу дать.

OV>Ну и послушать ваши предложения.

using System;
using System.Console;
using Nemerle.Utility;

// Объявление массива массиво (аналогично Дельфи)
// можно использовать полноценную матрицу, но для 
// данной задачи это не очень удобно. Хотя разница не велика.
def matrix = array[array[5, 2, 7, 3, 9],
                   array[9, 4, 8, 7, 5],
                   array[4, 3, 7, 9, 1]];

// Локальная фукнция. В Паскле есть похожее решение, но Паскалевские
// локальные фукнции определятся только перед телом и не допускают 
// замыканий (см. сслку за кодом). 
def printMatrix(msg, matrix) // здесь, думаю, объяснять нечего. Все очевидно.
{
  WriteLine(msg);
  
  foreach (row in matrix)
    // Ну, разве что ToString - это не просто метод, а хитрая штуковина
    // - метод расширение. Это статический метод который можно вызывать
        // как экземплярный. Такими методами ожно дописывать нужную функциональность
    // к любым классам и интерфейсам. В данном случае он реализован для 
    // IEnumerable[T] и значит применим к любым коллекциям. Он просто
    // выводит содержимое коллекции в строку разделяя элементы 
    // строкой-разделителем (в данном случае запятой.
    WriteLine(row.ToString(", ")); 
}
  
def indexOfMinVal(ary)
{ // Пожалй самый непонятный императивщикам метод.
  // Сначала нужно понять что же такое Fold. Выще я уже дал ссылку 
  // на его описание. В двух словах Fold производит свретку, что аналогично
  // работе цикла тело которого добавляет что-то к некоторой локальной
  // переменной. FoldI - это аналог Fold-а который кроме аккомулятора
  // передает еще и индекс текущего элемента.
  ary.FoldI(
    // Первый параметр FoldI - это начальное значение акомулятора.
    // В данном случае используется специфична для языка фишка - кортеж.
    // Кортеж это как анонимная структура с неизменяемыми полями.
    // с их помощью можно возвращать из фунций или передавать в качестве
    // параметра сразу несколко значений не создавая при этом отдельный тип.
    (-1, int.MaxValue), 
        // В качестве второго параметра фукнци FoldI передается ссылка на фунцию.
        // В дельфи есть ссылки на фукнции, но это убогая пародия на то, что 
        // поддерживается в Немерле. Основное в том, что Немерловые ссылки
        // позволяют передавать замыкания (фукнции с контекстом).
        // В данном примере передаваемая функция создается по месту.
        // Это называется лямбда (см. ссылку за кодом).
        // Синтаксис "fun (список параметров) { список выражений }", 
        // "параметр => выражение" или "(список параметров) => выражение"
        // описывает анонимную функцию - лямбду.
        // Синтаксис "fun..." позволяет "раскрывать" значение кортежей.
        // (iAcc, acc) - это и есть раскрытие котрежа. После раскрытия
        // в теле лямбды мы можем использовать имена полученные в процессе
        // раскрытия, а не возиться со всем корежем.
        // В данном случае мы описываем фунцию со следующими параметрами:
    fun (i, // индекс текущего элемента
          elem, // значение текущего элемента
          (iAcc, acc) // аккумулятор (в дамнном случае котреж содержащий индес мин. элемента и значение мин.элемента.
            )
            // Тело вроде и так очевидно. Единственное не очевидное - это применение
            // тех же кортежей. Это повзоляет венуть нам из фунции два значения.
            // индекс и значение минимального элемента. Понятно, что в случае
            // когда значение текущего элемента меньше чем минимального, вычесленного
            // на прошлых шагах, то мы возвращаем текущие индекс и значение, в 
            // обратном случае мы возращаем значение акомулятора.
            { if (elem < acc) (i, elem) else (iAcc, acc) }

            // а так можно обратиться к первому полю кортежа. В нем лежит 
            // вычесленны индекс минимального элемента (или -1 если элементов небыло)
            // Значение мин. элемента нас не интересует и мы его игнорируем.
            // Понятно, что сделать это нам позволяет тот факт, что функция FoldI
            // возвращает кортеж (так как кортэж использован как нинициализирующее
            // значение и как параметр лямбды.
            // Заметьте, что типы мы явно не указываем. Умный компилятор выводит их за нас!
            )[0] 
}

printMatrix("Before swap:", matrix);
// <-> - это оператор реализованный в стандартной библиотеке макросов Немерла
// он меняет значения переменных или выражений (если они допускают измененеие)
matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
printMatrix("After swap:", matrix);

Замыкания, Лямбда

В общем, мне кажется очевидным, что код на Немерле намного более краткий. Не очевидно, что он еще и более понятный. Но уверяю тех кто не знаком с языком и/или фукнциональными концепциями, что для тех кто с ними знаком код действительно более понятный. Он декларативен. Мы не описываем лишние подробнсоти действий. Мы просто говорим свернуть список (абстракный, нам по фигу что за тип у списка) и вычислить индекс минимального элемента.
Отсуствие особых случаев с массивами позволяет избежать геморой и неожиданности которые нас поджидали в Дельфи.

Да и код еще к тому же получился полностью типобезопасным. Любую ошибку отловит компилятор. У нас просто нет возможности выйти за переделы массива и т.п. Мы оперируем с декларативными конструкциями. Мы деже не запрашиваем длинну массива (или его верхние/нижние границы). Вместо императивного описания процесса вычисления индекса, мы описываем декларативное правило его получения. Это существенно короче и полностью безопасно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 22:15
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Ну так нормально. Кто сказал, что программа должна просто выводить одно число? она может и десяток вывести. Просто попросили вывести и то и другое. Ну соеденили две задачи в одну.


Ничего нормального там нет. Но убеждать тебя в этом у меня нет никакого желания. Я просто не хотел бы сам попасть в такие словия или чтобы в них попали мои дети (дети моих близких и знакомых).

OV>Ну так в паскале тоже никто не мешал.


Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 09.06.07 04:43
Оценка:
VD>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.

Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.

В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[30]: Расскажите профессионально, чем Java разработка быс
От: WolfHound  
Дата: 09.06.07 06:36
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.

Это дельфя то конфетка?
Блин да на С++ писать проще.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже

Ассемблеры изучать несомненно нужно. Причем разные.
Но потом.
А сначала нужно изучить ЯВУ причем чтонибудь функциональное, а лучше гибрид чтобы на одном языке показать все.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[30]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.06.07 16:03
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный.


Да, язык в общем получился довольно неплохой для введения в программирование. Но в мссы он не пошел. Видимо название Оберон 2 отпугнуло людей .

SG>Потом из него вообще конфетку сделали в виде Делфи.


А ты про Паскаль?

Ну, полноценным языком он не был. Турбо Паскаль, Обжет Паскаль переименованный в последствии в Дельфи конечно стали более практичными, но языки как раз получились совершенно отвратительными. Как раз принцыпы Паскаля они поправли (безопасность и простота), а новых удобных концепций привнесли не много.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже


При этом приследуются совсем другие цели (я надеюсь). Ассемлер позовляет понять как работает компьютер. Это практически мнемоники для машинных команд, ведь. Вот если бы в институтмах учили только на ассемблере программироваать, то из институтов выходили бы откровенные дебилы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[31]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 13.06.07 04:07
Оценка:
WH> Это дельфя то конфетка?
WH>Блин да на С++ писать проще.

Мне тоже было проще, пока Делфю не попробовал
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[32]: Расскажите профессионально, чем Java разработка быс
От: WolfHound  
Дата: 13.06.07 04:33
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

WH>> Это дельфя то конфетка?

WH>>Блин да на С++ писать проще.

SG>Мне тоже было проще, пока Делфю не попробовал


В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет.
А возможность обобщенного автоматического управления ресурсами могого стоит.
Плюс строготипизированные обобщенные коллекции и многое другое.
Так что не надо.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[34]: Расскажите профессионально, чем Java разработка быс
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.06.07 07:56
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.

Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Sheridan Россия  
Дата: 13.06.07 08:14
Оценка:
Здравствуйте, Baudolino, Вы писали:

F>>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?

B>динамическое построение пользовательского интерфейса
ммм... qt, делфи/билдер, винапи итд... разве не позволяют динамически интерфейс лабать?

F>>А delphi 2007 скажем? или свежая Visual Studio?

B>Свежая студия ничего интересного с С++ не умеет. Дельфи не видел, но опять же — это совсем другая опера.
Спор ни о чем. Хорошая иде должна уметь минимум автокомплит, подсветку, кодогенерацию и дебаг. Ну еще желательно элементы рефакторинга.
Все. Остальное — от лукавого. Чаще либо отвлекает, либо просто висит ненужным грузом, за который приходится доплачивать в случае платной ИДЕ.
[RSDN@Home][1.2.0][alpha r.677]
Matrix has you...
Re[35]: Расскажите профессионально, чем Java разработка быс
От: iZEN СССР  
Дата: 13.06.07 10:35
Оценка:
Здравствуйте, Sinclair, Вы писали:

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


SG>>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.

S>Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.

Мало кто принимает во внимание, что основным языком у той конторы, который ему приносил львиную часть доходов, были не Delphi и даже не C++.
Re[36]: Расскажите профессионально, чем Java разработка быс
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.06.07 11:34
Оценка:
Здравствуйте, iZEN, Вы писали:
ZEN>Мало кто принимает во внимание, что основным языком у той конторы, который ему приносил львиную часть доходов, были не Delphi и даже не C++.
Смотря в каком периоде
Напомню, что господин Канн купил себе мраморную ванну задолго до того, как не-Delphi и не-C++ покинул пределы исследовательской лаборатории.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[17]: Расскажите профессионально, чем Java разработка быс
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.06.07 17:42
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А вообще, такой идиотизм как фиксированные матрицы обычно только в примерах и встречается.


Такой идиотизм встречается, к примеру, в огромном количестве алгоритмов DSP. Или вот в 3D геометрии их тож навалом.
... << RSDN@Home 1.2.0 alpha rev. 693 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[36]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.06.07 21:30
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Мало кто принимает во внимание, что основным языком у той конторы, который ему приносил львиную часть доходов, были не Delphi и даже не C++.


Ага. Язык звали Тугеза. Потому все языковую хрень они выделили в отдельную фирму которая похоже скоро отдаст концы. А сами развивают копоративку.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.