powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Java или C++?
278 сообщений из 278, показаны все 12 страниц
Java или C++?
    #32338348
Фотография Barkovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто, безосновательно, безаргументированно, бесознательно, немотивированно выберите:

Java или C++?
...
Рейтинг: 0 / 0
Java или C++?
    #32338352
БИлл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С++ forever :)
...
Рейтинг: 0 / 0
Java или C++?
    #32338358
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C++ даже aргументов не надо
...
Рейтинг: 0 / 0
Java или C++?
    #32338364
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это даже смешно...
если бессознательно, то С++ однозначно.

а если сознательно, под некоторую определенную задачу, то (сильно морщась) можно и Java и дотнет

...
Рейтинг: 0 / 0
Java или C++?
    #32338367
Elyas Yuriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C++ однозачно?
Даже если флаг фирмы C#?
C++ хорошо, но без спецов... ето криминалом пахнет... особенно утечки памяти.
C++ программер хороший стоит дороже чем прогер под C#.
А у микрософта какой щас флаг???????
а ???????????????
...
Рейтинг: 0 / 0
Java или C++?
    #32338368
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.osp.ru/os/2000/12/045.htm
...
Рейтинг: 0 / 0
Java или C++?
    #32338369
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если бессознательно
то
c--
-))))))))))))))
...
Рейтинг: 0 / 0
Java или C++?
    #32338388
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Ильяс \r
C++ хорошо, но без спецов... ето криминалом пахнет... особенно утечки памяти.
\r
говорить про утечки памяти в С++ даже как-то не политкоректно...\r
давно уже обговорены все способы слежения за ресурсами (не только за памятью)\r
\r
пиши в с++ форум, спрашивай, поможем разрулить "утечки"...\r
\r
а спецов в нашем севастополе хоть попой кушай. \r
будут нужны - пиши. :)\r
---\r
сама MS вывалила исходники того же dotnet, - там где-то хуже, где-то лучше. Но все, кроме прикладных библиотек написано на С++.\r
\r
Т.е. флаг Microsoft - это для нас, для "чебурашек".\r
А сами они с усами :)\r
\r
(чем меньше людей будут основательно владеть С++ и навыками написания эффективного кода, тем меньше, теоретически, у нее возможных конкурентов. пока мои слова могут звучать как бред... что ж, подождем, пока "созреют" те, кто сегодня учиться на 1-м курсе на программиста, посмотрим, какой процент из НИХ будет владеть хоть чем-то помимо Java, php, дотнет, sql)\r
\r
2 чингиз \r
Где-то я уже комментировал эту статью...\r
\r
ага, вот.\r
Дискусссию можно продолжить, ибо авторы "случайно" не заметили такой "мелочи", как особенности обработки строк в С++, которая НЕ включена в язык. Используя разные аллокаторы для классов строк можно получать быстродействие, отличающееся на порядок. Но это уже будет соревнование библиотек, но никак не возможностей и эффективности языков. На С++ можно выбрать ПРОИЗВОЛЬНУЮ имплементацию/стратегию практически чего угодно (есть такая счастливая возможность), решая задачи наиболее оптимальным для каждого конкретного случая способом.
...
Рейтинг: 0 / 0
Java или C++?
    #32338395
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если есть возможность выбирать (например как в antlr) - то java. Но вообще конечно под задачу. У явы и у C++ как бы немного разные ниши.
...
Рейтинг: 0 / 0
Java или C++?
    #32338486
Фотография SergLet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какое то странное и непонятное предложение! Это как у меня,
племянник спрашивате:
- А кто сильнее Шварцнеггер или Сталоне!
Устами младенца...
Все зависит от задачи платформы времени на проект и т. д.!!!
А если честно то мне C# больше нравиться!
...
Рейтинг: 0 / 0
Java или C++?
    #32338623
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да не...

вопрос был "бессознательно"...

я как первый раз спецификации Java почитал в 1994-м, так чуть со стула от смеха не свалился, причем совершенно бессознательно и неаргументировано...
никак не могу оправиться от первого впечатления и принять эту технологию всерьез... с С# малость полегче... :)
...
Рейтинг: 0 / 0
Java или C++?
    #32338675
Фотография Barkovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, кстати, тоже отмечюсь устами младенца:)

С++
...
Рейтинг: 0 / 0
Java или C++?
    #32339233
Elyas Yuriy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"бессознательно" - каждый выберет то, что лучше знает.
Выбор от задачи зависит, иногда лучше наверно выбрать Prolog :)
2vdimas
Спецов говориш хоть попой кушай? Знаю контора одна искала спеца на яву,
и фиг.. зависить от условий труда/зарплаты и т.п.
Так что их не попой, а зарплатой кушают :)

>>(чем меньше людей будут основательно владеть С++
>>и навыками написания эффективного кода, тем меньше,
>>теоретически, у нее возможных конкурентов.
>>пока мои слова могут звучать как бред... что ж, подождем,
>>пока "созреют" те, кто сегодня учиться на 1-м курсе на программиста,
>> посмотрим, какой процент из НИХ будет владеть хоть
>> чем-то помимо Java, php, дотнет, sql)
Тут я согласен ), но не на все 100%
А на чем ещё дот нет писать?
А JVM на чём пишут?

Споры про языки программирования, как правило, носят теологический характер, т.е. это в основном вопрос богословия и перефразируется так:
вы во что верите(на чём программируете) )
...
Рейтинг: 0 / 0
Java или C++?
    #32339278
Фотография Budda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бессознательно, то С++
Но это скорее всего просто стереотипы
...
Рейтинг: 0 / 0
Java или C++?
    #32344218
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Elyas Yuriy
Споры про языки программирования, как правило, носят теологический характер, т.е. это в основном вопрос богословия и перефразируется так:
вы во что верите(на чём программируете) )


Немного неточно. Если рассматривать принципиально разные языки, означающие принципиально разные подходы, скажем Prolog, Lisp, Logo, C++, Asm, то твое изречение будет верно, ибо здесь "вера" в какую-то технологию или принцип программирования.

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

Так вот в этом случае вполне оправдано "повертеть носом" в поисках конкретного инструмента, если с самим подходом определился.

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

Какая же это вера? Голая прагматика...
...
Рейтинг: 0 / 0
Java или C++?
    #32344228
Бабтист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребятки а ABAP/4 круче чем все вышеперечисленное?
...
Рейтинг: 0 / 0
Java или C++?
    #32344307
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребятки а ABAP/4 круче чем все вышеперечисленное?

Щас буду брызгать слюной, стерлядь, стерлядь, стерлядь. ABAP/4 - редкостный пример технологического дебилизма. Поясняю почему.

Итак, комментарии к программе. Блочных комментариев в языке нет. Есть только строчные. Причем 2 видов. Если комментарий начинается с 1-го символа строки, то нужно использовать звездочку (*), а если нет (не с первого символа), то двойную кавычку ("). Почему так? А хрен его знает. Но это так для разминки.

Далее выражения. Выражения это песня. Как вы думаете, что неправильно в логическом выражении
Код: plaintext
l_curr_charg<>ls_charg_lifnr-charg.

Хрен догадаетесь. Пропущены пробелы между операндами и знаком операции. Правильно будет вот так:
Код: plaintext
l_curr_charg <> ls_charg_lifnr-charg.

Кстати о птичках, знаете, что неправильно в выражении
Код: plaintext
l_curr_charg <> ls_charg_lifnr-charg +  1 ?

А вот что. Операндами выражения не могут быть другие выражения. Я сначала должен запихнуть ls_charg_lifnr-charg + 1 в переменную и только потом сравнивать значение этой переменной с l_curr_charg. Точно также нельзя использовать выражение как фактический параметр при вызове процедуры. Круто, правда? Я долго вспоминал какой другой язык программирования с такими ограничениями, так и не вспомнил. Молодой наверно. Заметили, кстати, что имена у переменных неговорящие? А они в SAP R/3, где ABAP только и используется, все такие. Имена таблиц - 4 символа, имена столбцов и переменных - 5 символов. Как думаете, реально запомнить, для чего используются таблицы STXH, BKPF, BSID, BSIK, MBEW, MCH1, VBFA, VBRK? Ну эти еще реально - самые ходовые. А таблиц в SAP-овских базах меньше 30000 редко когда бывает)))

Далее, структурное программирование. Ну все операторы ветвления и цикл while с предусловием в языке есть. Так что все в порядке, если не вспоминать про ограничения выражений. А что с подпрограммами? Их есть у нас. То есть у них. Целых 2 вида. Думаете, это по смыслу процедура и функция? Очень интересно заблуждаетесь. Обе процедуры и плевать, что один вид гордо именуется функциональным модулем. Функциональный модуль считается более современной вещью. Они для работы с ними отдельную транзакцию сделали. Вот только вызываются они исключительно динамически. Если я скажем в названии модуля опечатку сделал, то узнаю об этом только на стадии тестового прогона программы. С именами параметров еще хуже. Та же опечатка не вызывает никакой ошибки (в точке вызова). Просто фактический параметр не попадает в процедуру и все.

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

Объектно-ориентированное программирование. Есть. Синтаксис вызова метода объекта отличается от вызовов других процедур. Другие люди уже дописали, очевидно. То есть если я знаю, что такое ООП и знаю, как работать с процедурами на ABAP, то это мне никак не поможет. Все равно придется серьезно доки читать.

Не знаю, стоит ли еще про OpenSQL писать. Я и так уже тут наколбасил достаточно, чтобы понять, что нет в ABAP/4 ни строгого дизайна, как у Паскаля, ни "лингвистической легкости" как у Perl, ни компактности конструкций как у C, ни простоты, как у Python. Так что дерьмо все это!

То же самое можно сказать про штатные средства разработки для ABAP. Парни из SAP AG не могут сделать даже нормальный редактор для программиста на ABAP/4. Поясняю. Программа хранится в таблице базы данных. Одна строка программы - одна запись в таблице. Длина поля, в котором хранится строка - 72 символа. Соответственно, строка не может быть длиннее 72 символов. Все что выезжает за этот предел исчезает, а не переносится на следующую строку автоматически. Более того, программа выдается на редактирование в гриде, 1 строка - 1 ячейка грида. Это они называют Line Editor. Справедливости ради, отмечу, что в последних версиях они замаскировали это убожество интерфейсом пользователя, похожим на привычный всем редактор. Но только замаскировали, потому что некоторые вещи при настройке можно сделать только через Line Editor и никак иначе. И некоторых давно привычных всем вещей там нет. Подсветка синтаксиса отсутствует. Только *-комментарии подсвечивают и больше ничего. Про автодополнение вообще молчу.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32344402
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так SAP же - немецкая контора, а немецкие девелоперы - это просто песТня. Это даже не просто тупые индусы, это убеждённые в своей правоте и упорствующие в своём идиотизме олигофрены от программирования. Не 100%, разумеется, но процентов эдак 90 - точно. И R/3 - отнюдь не единственный пример "бальшой немецкий систем", которая работает и развивается не благодаря, а вопреки.
...
Рейтинг: 0 / 0
Java или C++?
    #32344754
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Scott Tiger:

Соглашусь. И даже "маленький немецкий систем" зачастую оставляет желать лучшего. У меня мобильник Siemens S55, к нему претензий нет, но софтина с которой он идет - Siemens Data Suite - это просто ужас. Под Win2K и WinXP глюк на глюке. Половина функций не работает вообще. А после использования тех, что работают, и отключения телефона от компа в 95% случаев приходится руками прибивать процесс DESServer.exe. Потому что эта скотинка вешается, грузит проц на 100% и к тому же пока не прибьешь, софт телефон при подключении не опознает. Опытным путем удалось установить, что на Win98 все работает идеально (комп тот же), но нафиг мне 98-я винда сдалась?

В общем, скачал я SieFS и libgsm, теперь под Linux с телефоном работаю. Правда поддержку русского удалось только с напильником включить. Теперь подумываю о том, чтобы под винду эту беду портануть. Надо бывает.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32344773
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бери Фортран, и все сразу тебя зауважают...
...
Рейтинг: 0 / 0
Java или C++?
    #32345403
Фотография Barkovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Малиновский Владимир
шпашиба, я пешком постою..:)

на Фортране я писал в институте. там есть такая фишка интересная, тип переменной можно не объявлять. но если тип не задан, то он определяется так: если переменная начинается с буквы i,j,k,l,m,n, то она целая, если нет - то вещественная. и если это заранее не догадаться прояснить, (или просто ненароком забыть про это) то можно днями убиваться, ища куда вещественная часть делась при передаче параметра в функцию.
...
Рейтинг: 0 / 0
Java или C++?
    #32345418
Бабтист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой плющит, меня плющит
Delphi,C++ и так далее - все это хорошо
но
Большие деньги платят тем, кто соображает и работает с Sap r3 и ABAP/4

так что грызите ногти и пускайте слюни!!
...
Рейтинг: 0 / 0
Java или C++?
    #32345462
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Баптист:

Таити, Таити... Какое Таити? Нас и здесь неплохо кормят.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32347501
Бабтист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Yet another cat
Кто это - нас?
и где это - здесь?
...
Рейтинг: 0 / 0
Java или C++?
    #32347889
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 баптист:

здесь вам не тут. нас вам не вас.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32347911
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 баптист:

или ты хочешь похвастаться своей офигительной зарплатой сапёра? ну дык и хвастайся, не тяни кота за хвост. только не надейся впечатление произвести.

<offtopic>
20 ОТВЕТОВ, КОТОРЫЕ ВЫ ДОЛЖНЫ ЗНАТЬ, ЧТОБЫ БЫТЬ КОНСУЛЬТАНТОМ SAP.

1. Это зависит от того, как вы сконфигурируете.
2. Это плохой перевод с немецкого языка.
3. Это находится в другом модуле.
4. Как мы сюда попали?
5. Хороший вопрос. Я хотел бы видеть, как это работает.
6. Это будет в одной из следующих версий. Я не знаю в какой.
7. Вы не хотели бы делать это.
8. Давайте попробуем и увидим, что получится.
9. Этот вопрос относится к Базису.
10. Я не знаю, эксперт будет здесь в понедельник.
11. Это путь, которым предполагается работать!? Что вы делаете!
12. Вы не должны это делать, но если вы это делаете, вызовите экстренную помощь.
13. Довертись мне, я знаю то, что говорю.
14. На ABAP/4 может быть написан отчет, чтобы получить эту информацию.
15. Мне жаль, но я опаздываю на самолет.
16. Это – ошибка программы.
17. Прошу позволить мне вызывать программиста из Waldorf.
18. OSS не работает.
19. Это будет в следующем версии, вы не должны модифицировать эту!
20. И наиболее важный ответ: Это вне специфики вашего бизнеса.
</offtopic>




=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32349952
Бабтист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аля улю гони гусей уважаемый Yet another cat!!!
...
Рейтинг: 0 / 0
Java или C++?
    #32350005
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Бабтист, я не гоняю гусей. Только абаптистов. Кстати, это входит в мои служебные обязанности ;-)
=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32350007
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Баптист:

И заканчивайте вашу клоунаду плз. А то весьма странное впечатление о специалистах по SAP R/3 складывается. В духе анекдота: "Что такое ABAP/4 программер? Программер один, а баб поделить на 4"

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32351043
Фотография Barkovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yet another cat

:)после ваших комментариев мы уже стали сомневаться, стоит ли нам у себя внедрять SAP R/3:))
...
Рейтинг: 0 / 0
Java или C++?
    #32351186
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Barkovsky:

Ну в общем отговаривать вас от этого намерения не входило в мои планы. Но знать что в твоей системе плохо, а что хорошо просто необходимо.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32352014
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yet another cat

... Онемевшим от изумления языком:
- а это правда, все что про язык и среду разработки??????
...
Рейтинг: 0 / 0
Java или C++?
    #32352237
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vdimas:

К сожалению, правда. Это не Просто треп, я здесь не прикалываюсь.

=====
Не дождетесь!
...
Рейтинг: 0 / 0
Java или C++?
    #32353319
Фотография Barkovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Yet another cat, vdimas

я, кстати, в это охотно верю:) у нас был такой прикол (точно в стиле 20го ответа - мы у SAP'овцев (немцев) спрашиваем:

- А сколько ваших сотрудников работало над внедрением SAP в фирме XXX?
- 15 человек.
- А сколько времени они работали?
- Один год.
- Так-так... и сколько это получается человеко-часов затрачено..?
- Это закрытая информация.
- В смысле? 15 человек.. 1 год.. так сколько человеко-часов?
- Это закрытая информация.
...
Рейтинг: 0 / 0
Java или C++?
    #32354439
Youry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для полного понимания расшифруйте, пожауйста, кто может, такие магические слова: Базис, OSS, Waldorf
...
Рейтинг: 0 / 0
Java или C++?
    #32600526
XzER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наш выбор - C & Python
...
Рейтинг: 0 / 0
Java или C++?
    #32620856
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КОНЕЧНО JAVA :))
...
Рейтинг: 0 / 0
Java или C++?
    #32620977
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Java. Потому что им пользуюсь :-) К С++ отношусь с уважением ))).
...
Рейтинг: 0 / 0
Java или C++?
    #32622248
Constantine Voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотря для чего
Пожалуй - java
...
Рейтинг: 0 / 0
Java или C++?
    #32622712
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если web-приложение, конечно же Java!
...
Рейтинг: 0 / 0
Java или C++?
    #32625435
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маятник начал обратное движение?

зы
с++
...
Рейтинг: 0 / 0
Java или C++?
    #32626115
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы пытались.
Но слишком большое кол-во людей видело С вместо Java в своих учебных заведениях :)
...
Рейтинг: 0 / 0
Java или C++?
    #32628292
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не по своей воле писал проект на Borland C++ BuilderX 1.5 mobile. Так это IDE чудо изготовлено на Java. Я просто плакал...
...
Рейтинг: 0 / 0
Java или C++?
    #32628685
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kompotFXне по своей воле писал проект на Borland C++ BuilderX 1.5 mobile. Так это IDE чудо изготовлено на Java. Я просто плакал...Ничего не понял :)) При чем здесь Borland C++ и BuilderX(JBuilderX может?). Ты на чем проект писал, на Java. Что подразумеваешь под словом чудо??
...
Рейтинг: 0 / 0
Java или C++?
    #32629450
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понял, эта штука
Borland C++ BuilderX 1.5 mobile
написана на Java. Видимо, очень кривая.
...
Рейтинг: 0 / 0
Java или C++?
    #32629730
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам C++BuilderX 1.5 написан на яве. Тормозит по полной - каждый шелчек мыша - 3 сек отдыхаем. Памяти жрет под 100 Мб.
Я к яве отношусь равнодушно, пишут люди интересные вещи на ней, ну и пусть пишут. Но тем, кто решает UI интерфейсы на ней делать - тем надо яица с корнем отрывать.
...
Рейтинг: 0 / 0
Java или C++?
    #32629734
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я видел на яве gui неплохой, и не тормозил он особо. Конечно, медленне чем С++ работает, но потянет.
...
Рейтинг: 0 / 0
Java или C++?
    #32630145
Фотография josia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На том что в данный момент руководству покажется предпочтительным. А вообще C++. Если gui должна быть не только под Windows, то java.
...
Рейтинг: 0 / 0
Java или C++?
    #32630639
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2: josia
> А вообще C++. Если gui должна быть не только под Windows, то java.

Зачем так категорично? Есть кросс-платформные библиотеки (бесплатные) для построения GUI. Например Fox-toolkit; WxWindows; ... написаны на C++.
...
Рейтинг: 0 / 0
Java или C++?
    #32631064
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nik_x2: josia
> А вообще C++. Если gui должна быть не только под Windows, то java.

Зачем так категорично? Есть кросс-платформные библиотеки (бесплатные) для построения GUI. Например Fox-toolkit; WxWindows; ... написаны на C++.и они будут работать без перекомпиляции? Абсолютно на всех платформах?
...
Рейтинг: 0 / 0
Java или C++?
    #32632055
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они (библиотеки) собираются на каждой конкретной платформе + сборка приложений на С++.

1. Жаба без проблем работает на всех платформах?
2. На жабу есть промышленные стандарты ANSI / ISO?
3. Сколько ресурсов жаба-машины поедают?
...
Рейтинг: 0 / 0
Java или C++?
    #32632084
Фотография josia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nik_xЗачем так категорично?Извините, но категоричности в своем утверждении я не заметил. Прекрасно что есть библиотеки на C++, но я с ними не работал. Поэтому если нужно что-бы gui работала не только под windows я использую java. Если только под Windows то в основном MFC. Удачи.
...
Рейтинг: 0 / 0
Java или C++?
    #32632637
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОни (библиотеки) собираются на каждой конкретной платформе + сборка приложений на С++.
Жуткий геморой
автор1. Жаба без проблем работает на всех платформах?
Да, Java работает без проблем на всех платформах, без всякой сборки и перекопиляции.

автор2. На жабу есть промышленные стандарты ANSI / ISO?
Конкретно ANSI / ISO не знаю, знаю только то, что все виртуальные машины и библиотеки от разных производителей совместимы. Была попытка майкрософт сделать Java не совместимой, но этих уродов вовремя остановили и сейчас они выплачиваю миллиардный штраф SUN-у.
автор3. Сколько ресурсов жаба-машины поедают?Много. На слонов с мухобойкой не ходят
...
Рейтинг: 0 / 0
Java или C++?
    #32632707
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen авторОни (библиотеки) собираются на каждой конкретной платформе + сборка приложений на С++.
Жуткий геморой
не такой уж и жуткий :-) и не всегда геморой :-) одним разобраться с путями к яве бывает сложнее чем другим сделать
./configure
make
make install
wessen
автор3. Сколько ресурсов жаба-машины поедают?Много. На слонов с мухобойкой не ходят
ага... окошечко нарисовать - жуткое геройство :-)
единственное - чего я не понимаю, почему все создатели оконных библиотек в результате делают монстра, который умеет _все_? имхо нужно делать так, чтобы все библиотеки были взаимо заменяемы...

вот, например, графические библиотеки Libjpeg, libtiff, libpng и т.д.
они просто подключаются к проекту и позволяют работать с соответствующими графическими ворматами.

А вот взять класс от wxWidgets например wxButton и прилепить его к FXmainWindow это тот еще гемор. придется линковать и wx и FOX... и то, неизвестно получится ли...
...
Рейтинг: 0 / 0
Java или C++?
    #32632867
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доводилось как то писать на Яве, я был поражен, вроди и архетиктура нормальная, и реализация ничего... но блин, какого все так громздко? С библиотеками вообще обнять и плакать, нужен был XML парсер (да может меня разбаловал MSXML, хотя и XPath, и XSD уже давно стали рекомендациями W3C) но блин, самое приличное что я нашел из родного (сплю и вижу как я по всему инету ношусь в поисках нужных мне библиотек, это к делфистам) парсер построенный наверно во времена принятия XML как стандарта... Причем в SE для работы с XML вообще ничего нет... утверждать конечно не буду но сомневаюсь что SE и EE совместимы...
Короче после этого никакого желания возвращаться к Яве не возникло...
...
Рейтинг: 0 / 0
Java или C++?
    #32632910
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k wessen авторОни (библиотеки) собираются на каждой конкретной платформе + сборка приложений на С++.
Жуткий геморой
не такой уж и жуткий :-) и не всегда геморой :-) одним разобраться с путями к яве бывает сложнее чем другим сделать
./configure
make
make install
wessen
автор3. Сколько ресурсов жаба-машины поедают?Много. На слонов с мухобойкой не ходят
ага... окошечко нарисовать - жуткое геройство :-)
единственное - чего я не понимаю, почему все создатели оконных библиотек в результате делают монстра, который умеет _все_? имхо нужно делать так, чтобы все библиотеки были взаимо заменяемы...

вот, например, графические библиотеки Libjpeg, libtiff, libpng и т.д.
они просто подключаются к проекту и позволяют работать с соответствующими графическими ворматами.

А вот взять класс от wxWidgets например wxButton и прилепить его к FXmainWindow это тот еще гемор. придется линковать и wx и FOX... и то, неизвестно получится ли...
На самом деле Java используется на 80-90 % как ServerSide, там ей нет конкурентов. Хотя есть довольно добротные GUI апликейшены, я их видел, поверьте мне :))
...
Рейтинг: 0 / 0
Java или C++?
    #32632925
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viperДоводилось как то писать на Яве, я был поражен, вроди и архетиктура нормальная, и реализация ничего... но блин, какого все так громздко? С библиотеками вообще обнять и плакать, нужен был XML парсер (да может меня разбаловал MSXML, хотя и XPath, и XSD уже давно стали рекомендациями W3C) но блин, самое приличное что я нашел из родного (сплю и вижу как я по всему инету ношусь в поисках нужных мне библиотек, это к делфистам) парсер построенный наверно во времена принятия XML как стандарта... Причем в SE для работы с XML вообще ничего нет... утверждать конечно не буду но сомневаюсь что SE и EE совместимы...
Короче после этого никакого желания возвращаться к Яве не возникло...Давно это наверное было:)) Сейчас все намного проще, если нужны парсеры, то они уже есть в стандартных api(JAXP), есть хорошие парсеры от apache(Xerces, Xalan).
...
Рейтинг: 0 / 0
Java или C++?
    #32633014
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я не утверждаю что Ява стоит на месте, просто была такая ситуация... Может я конечно не докопал до хорошего парсера... но впечетление осталось не очень...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32633042
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему-то жабье ПО которое я встречал было чуствительно к версии ВМ. Т.е. написано под 1.2 - не работает под 1.4

не говоря о совместимости с другими платформами.

Если ПО сложней хеловорда то совместимость является мифом.
...
Рейтинг: 0 / 0
Java или C++?
    #32633132
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenДа, Java работает без проблем на всех платформах, без всякой сборки и перекопиляции.
Так категорично я бы тоже не стал заявлять. Можно сказать, что почти всегда на всех платформах, для которых есть JVM, прога будет работать одинаково. Но, как говорится, всегда есть исключения из правил.
ЗЫ Не помню, где я читал об этом.
...
Рейтинг: 0 / 0
Java или C++?
    #32633139
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024почему-то жабье ПО которое я встречал было чуствительно к версии ВМ. Т.е. написано под 1.2 - не работает под 1.4
Вполне нормальное явление.
...
Рейтинг: 0 / 0
Java или C++?
    #32633147
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm 1024почему-то жабье ПО которое я встречал было чуствительно к версии ВМ. Т.е. написано под 1.2 - не работает под 1.4
Вполне нормальное явление.
Завидная совместимость... держать по 10 VM... да уж...
...
Рейтинг: 0 / 0
Java или C++?
    #32633177
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем по десять? Можно и одной обойтись, если для конкретной проги нужна 1.2, ее и надо.

Завидная совместимость
Java 1.2 морально устарела. 1.4 - это совсем другое.
...
Рейтинг: 0 / 0
Java или C++?
    #32633248
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была такая ситуация когда для запуска программы нужен был конкретный билд! согласен может программа была кривая, но факт остается фактом...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32633349
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно это. Чтобы требовался определенный билд...
...
Рейтинг: 0 / 0
Java или C++?
    #32633363
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024почему-то жабье ПО которое я встречал было чуствительно к версии ВМ. Т.е. написано под 1.2 - не работает под 1.4

не говоря о совместимости с другими платформами.
Странно как то, вот если бы наоборот, написаное на 1.4 не работало на 1.2 это еще ладно......

авторЕсли ПО сложней хеловорда то совместимость является мифомЭто совсем не миф, у меня стоит win2000, под ним и пишу программы, все они работают под Linux и Unix без проблем. Это зависит от того, откуда руки растут. Используются самые последние версии JDK and JVM.
У меня такое чувство, что большинство из вас, бредят временами(96-99гг) глючных апплетов Java. Согласен, тогда Java представляла из себя нечто ужасное, сейчас все круто поменялось, да и апплеты на Java уже давно не пишут.
...
Рейтинг: 0 / 0
Java или C++?
    #32633450
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenЭто совсем не миф, у меня стоит win2000, под ним и пишу программы, все они работают под Linux и Unix без проблем. Это зависит от того, откуда руки растут.
Не только.
...
Рейтинг: 0 / 0
Java или C++?
    #32633498
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm wessenЭто совсем не миф, у меня стоит win2000, под ним и пишу программы, все они работают под Linux и Unix без проблем. Это зависит от того, откуда руки растут.
Не только.От чего еще?
...
Рейтинг: 0 / 0
Java или C++?
    #32633575
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen Timm wessenЭто совсем не миф, у меня стоит win2000, под ним и пишу программы, все они работают под Linux и Unix без проблем. Это зависит от того, откуда руки растут.
Не только.От чего еще?
Не надо думать, что если
1) написано Java - платформонезависимая
2) все твои проги работают под всеми ОСями на которых есть Java,

ТО Java - действительно платформонезависимая. Еще раз говорю, что
почти всегда на всех платформах, для которых есть JVM, прога будет работать одинаково. Но, как говорится, всегда есть исключения из правил.
...
Рейтинг: 0 / 0
Java или C++?
    #32633598
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Timmвсе твои проги работают под всеми ОСями на которых есть JavaА я кого то в другом убеждал???
...
Рейтинг: 0 / 0
Java или C++?
    #32633671
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, не будем разбираться в глубинном смысле слова платформеннонезависимость... Что еще? Какие еще плюсы явы?
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32633821
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жаба это круто. Ц++ - оццтой, нормальные пацаны уже все на Ц-диез перешли.

примерно так.
...
Рейтинг: 0 / 0
Java или C++?
    #32633941
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы не был так уверен, кучу народу пишет на С++, я сам около года назад на шарп перешел, но тем немение продолжаю на плюсах пописывать... С++ был, и будет атуальным...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32634036
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На java написана IDE IntellejIdea для Java. Работает шустро (проект из 3000 классов) и при этом очень функциональна (надо видеть) (к сожалению модными IDE C++ не доводилось пользоваться, может быть они так же хороши, не знаю).
Единственный минус - это задержка на 5-10 секунд при сборке мусора (когда его становиться больше 150мб :)) Примерно раз в полчаса.

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

Преимущества Java vs C++... трудный вопрос :)

Мне роднее Java. Она позволяет легко мыслить. Названия методов - осмысленны. Кол-во параметров у них - охватываемо взором :)
За чистой языка следят мощные мужички из sun, пишут спецификации, заставляют им следовать :)

Есть множество framework'ов облегчающих написание крупных приложений: редко когда возникнет необходимость реализовывать технические детали, пишется только логика приложения.

С точки зрения ООП приложения выглядят как конфетки, если кто-то специально не гадил процедурным стилем программирования или черезмерной любовью к созданию иерархий классов :)

Как было где-то сказано, на C++ долгое время писали как на C, только прикрываясь объектами. Java с самого начала учит мыслить объектами.

На самом деле, главное, что бы задача была интересная и коллектив профессиональный, а на каком языке писать не суть важно :)
При желании, любой плюс Java можно перенести на C++ (ну почти :) компилятор всё равно придётся запускать под другой OS), однако и средств на это уйдёт не мало :)

Жара...
Не судите строго :)
...
Рейтинг: 0 / 0
Java или C++?
    #32634179
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2NotGonnaGetUs
--Сообщений: 48 На java написана IDE IntellejIdea для Java. Работает шустро (проект из 3000 классов)

3000 для IDE ??!!! вот это я бы назвал еще одним большим минусом жавы - способность необоснованно плодить классы, поддержка такого количества потребует туеву кучу ресурсов.

---В основном, тормоза java-приложений - это тормоза программистов, которые что-то не так поняли :) Есть много примеров того как не надо писать на java.

Самый большой пример пример как надо писать я уже видел поставив StarOffice. Вставка выделенной странички из IE в clipboard документа заняло 4 минуты!!! на моем P4 2.4G.

--Преимущества Java vs C++... трудный вопрос :)

Достаточно посомтреть на пример Oracle база живет на 28! платформах и написана на С++. От виденных мной БД на Java я просто плакал.

--Мне роднее Java. Она позволяет легко мыслить. Названия методов - осмысленны.

Кто мешает давать осмысленные навазния на бейсике или на С++ ?

--Кол-во параметров у них - охватываемо взором :)

опять не понятно как языку это относится ?

--За чистой языка следят мощные мужички из sun, пишут спецификации, заставляют им следовать :)

Это и плохо что есть цензоры

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

А потом содержится бригада контрактников поддерживать это хозяйство при апгрейтах.
...
Рейтинг: 0 / 0
Java или C++?
    #32634249
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Java vs. C++
Буквально вчера попала на глаза небольшая статья в августовском Chip'е. Рассказывают там о тестировании производительности Java и С++. Само тестирование проводил какой-то чел, не помню как его зовут, на своем ноуте под девятым Red Hat (Java 1.4.2, GCC 3.3.1). Так вот, результаты тестирования. Оказалось, что при стандартных настройках JVM Java проигрывает C++ в производительности. Но если яву не ограничивать в памяти, то она работает быстрее (быстрее происходят, например, вызовы методов).
По поводу этой статьи у меня появился вполне разумный вопрос: каким образом настраивается, сколько памяти отводится под ява-приложение??
...
Рейтинг: 0 / 0
Java или C++?
    #32634684
автор2NotGonnaGetUs
--Сообщений: 48 На java написана IDE IntellejIdea для Java. Работает шустро (проект из 3000 классов)

3000 для IDE ??!!! вот это я бы назвал еще одним большим минусом жавы - способность необоснованно плодить классы, поддержка такого количества потребует туеву кучу ресурсов.
Если столько наплодили, значит столько надо, если засунуть 3000 тыс классов в 1000-у классов, то производительность не увеличится. Java изначально создавался как ООП язык, даже Hello World без создания класса не Java не напишешь.


Достаточно посмотреть на пример Oracle база живет на 28! платформах и написана на С++. От виденных мной БД на Java я просто плакал.
На С++ написано только ядро, в остальном, Oracle очень плотно дружит с Java: хранимые процедуры на Java, Oracle Forms, в последней версии Оракла сплошной веб интерфейс, управление происходит через сервер приложений(Java) и тонкого клиента. Реализовать все это для 28-и платформ на C++ - устали бы:)
Писать БД полностью на Java - это изврат.
Сравнивать С++ с Java глупо, они для разных целей(это уже миллион раз говорилось). Вот если бы Java c PHP, Perl, C# сравнить.....

Плюсы Java перед C++ в основном на serverside, если хотите убедится в этом, напишите на C++ веб-приложение масштаба предприятия или сервер приложений и чтобы работало, как это обычно требуется на Linux, Unix, Solaris, написать можно, но, потребуется в 10-ть раз больше времени, в 10-ть раз больше людей и денег соответственно будет стоить немереных.
Так что С++ программисты, пишите для нас хорошие системы, дрова, различные движки и конечно виртуальные машины Java, а мы это дело с радостью применим.
...
Рейтинг: 0 / 0
Java или C++?
    #32635858
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmТак вот, результаты тестирования. Оказалось, что при стандартных настройках JVM Java проигрывает C++ в производительности. Но если яву не ограничивать в памяти, то она работает быстрее (быстрее происходят, например, вызовы методов).
По поводу этой статьи у меня появился вполне разумный вопрос: каким образом настраивается, сколько памяти отводится под ява-приложение??
Ох чет мне ну никак не верится, я не говорю что ява тормоз но обогнать С++...
Я видел такие результаты:
http://www.rsdn.ru/summary/590.xml
...
Рейтинг: 0 / 0
Java или C++?
    #32636016
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот интересная, по-моему, и качественная статья по теме. "Эмпирическое сравнение семи языков программирования" (Си, Си++, Java, Perl, Python, Rexx, Tcl).

http://www.osp.ru/os/2000/12/045.htm

Результаты в статье полностью соответсвуют моим субъективным впечатлениям от работы на Си, Си++ и немного на Java. Интересно было бы услышать аргументированные отзывы более серьезных чем я специалистов по джаве.

2 Кот Марамот

> Оракла сплошной веб интерфейс, управление происходит через сервер приложений(Java) и тонкого клиента. Реализовать все это для 28-и платформ на C++ - устали бы:)

Бедные, как они жили до появления жабы больше 10 лет? Наверное просто не догадывались, насколько они несчастны.

Управление ораклом и др. SQL серверами МОЖЕТ происходить как Вы пишете, но это не основной и далеко не самый удобный способ. А основной - через GUI клиента (или из скриптов), аналогичного, например, сайбейзовскому SQL Central, который действительно написан на джаве. Но это клиент, к серверу отношения не имеет. Кстати пару версий назад SQL Central был написан на C и был гораздо удобнее, а сейчас переписали на джаву и получили кривой тормоз. Правда потихоньку доводят до ума, видно не очень это простое дело - править джава код.

> Плюсы Java перед C++ в основном на serverside, если хотите убедится в этом, напишите на C++ веб-приложение масштаба предприятия или сервер приложений и чтобы работало, как это обычно требуется на Linux, Unix, Solaris, написать можно, но, потребуется в 10-ть раз больше времени, в 10-ть раз больше людей и денег соответственно будет стоить немереных.

Это, ИМХО, только потому, что всякие апликейшен сервера, на которых крутитися серверные джава приложения, имеют интерфейс для джавы. А если бы имели интерфейс для C/C++, то время написания серверных программ на C++ было бы не больше.

Точно то же и с кроссплатформенностью. Была бы стандартная кроссплатформенная библиотека visual и других objects для C/C++ - не было бы проблем с пререносом приложений, по крайней мере в исходниках. Даже можно было бы придумать какой-нибудь p-code для C/C++, чтоб не светить исходники, это не сложно. В данном случае единственное преимущество джавы - наличие такой кроссплатформенной библиотеки.
...
Рейтинг: 0 / 0
Java или C++?
    #32636022
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот[quot автор]
На С++ написано только ядро, в остальном, Oracle очень плотно дружит с Java: хранимые процедуры на Java, Oracle Forms, в последней версии Оракла сплошной веб интерфейс, управление происходит через сервер приложений(Java) и тонкого клиента. Реализовать все это для 28-и платформ на C++ - устали бы:)


насчет устали.

из обзорной статьи посвященной сравнению дбайс 2 и оракл, который я прочитал в 91 году: оракл 4.x.y работает на почти сотне видов различных компов.
...
Рейтинг: 0 / 0
Java или C++?
    #32636351
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik2NotGonnaGetUs
3000 для IDE ??!!! вот это я бы назвал еще одним большим минусом жавы - способность необоснованно плодить классы, поддержка такого количества потребует туеву кучу ресурсов.

Не надо утверждать такие вещи, не имея представления о проекте :)

Lepsik
Самый большой пример пример как надо писать я уже видел поставив StarOffice. Вставка выделенной странички из IE в clipboard документа заняло 4 минуты!!! на моем P4 2.4G.

Именно. Сам правил апплет ака html-editor. Он вставлял html размером в 1Мб в течении 20 минут. После моих изменений - за 20 секунд
(я, правда, не стал менять архитектуру, только изменил хреновый код).
При желании, изменив архитектуру, можно было ещё на порядок увеличть скорость, но необходимости в этом уже не было.

Достаточно посомтреть на пример Oracle база живет на 28! платформах и написана на С++. От виденных мной БД на Java я просто плакал.

Вопрос не в том, для скольки платформ можно завести коды делающие одно и тоже, а на скольки платформах один и тот же код будет работать :)
Думаю, если Вы сделаете БД на С++ можно будет тоже поплакать над результатом :) Главное в программе это программист, а потом уже язык, но язык может быть удобным, а может и не быть.
Не думаю, что грамотно написанная БД на java будет многократно проигрывать по скорости БД написанной на другом языке. Только в константу раз :)


Кто мешает давать осмысленные навазния на бейсике или на С++ ?

Авторы библиотек, не спрашивают меня как называть методы :)
strcpy getc и прочии прелести.


--Кол-во параметров у них - охватываемо взором :)
опять не понятно как языку это относится ?

Речь про win.api, наверное, я не удачные примеры видел :)


--За чистой языка следят мощные мужички из sun, пишут спецификации, заставляют им следовать :)

Это и плохо что есть цензоры

Это великолепно. Во-первых, язык развивается, а не стоит на месте, во-вторых, за дело не берутся не профессионалы.


А потом содержится бригада контрактников поддерживать это хозяйство при апгрейтах.
Не понял шутки юмора. Если речь идёт про смену логики приложения - тут как не крути кто-то должен будет этим заняться.
А если кто-то решит сменить одну из внешних библиотек приложений, то пусть лишний раз подумает зачем это ему надо :) Просто так только дурачки что-то делают.
...
Рейтинг: 0 / 0
Java или C++?
    #32636361
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz Кот Марамот[quot автор]
На С++ написано только ядро, в остальном, Oracle очень плотно дружит с Java: хранимые процедуры на Java, Oracle Forms, в последней версии Оракла сплошной веб интерфейс, управление происходит через сервер приложений(Java) и тонкого клиента. Реализовать все это для 28-и платформ на C++ - устали бы:)


насчет устали.

из обзорной статьи посвященной сравнению дбайс 2 и оракл, который я прочитал в 91 году: оракл 4.x.y работает на почти сотне видов различных компов.Что значит сотня различных компов, имеется ввиду сотни различных ОС?? В любом случае, это было 13 лет назад, Оракле 4 представлял из себя нечто примитивное и пренести его на множество платформ не представляло никакого труда. Если вы вернетесь в наше время, то увидите, что Оракле сейчас работает только на 28-и платформах(по словам Lepsik-a, сам не знаю).
...
Рейтинг: 0 / 0
Java или C++?
    #32636368
wessen tchingiz Кот Марамот[quot автор]
На С++ написано только ядро, в остальном, Oracle очень плотно дружит с Java: хранимые процедуры на Java, Oracle Forms, в последней версии Оракла сплошной веб интерфейс, управление происходит через сервер приложений(Java) и тонкого клиента. Реализовать все это для 28-и платформ на C++ - устали бы:)


насчет устали.

из обзорной статьи посвященной сравнению дбайс 2 и оракл, который я прочитал в 91 году: оракл 4.x.y работает на почти сотне видов различных компов.Что значит сотня различных компов, имеется ввиду сотни различных ОС?? В любом случае, это было 13 лет назад, Оракле 4 представлял из себя нечто примитивное и пренести его на множество платформ не представляло никакого труда. Если вы вернетесь в наше время, то увидите, что Оракле сейчас работает только на 28-и платформах(по словам Lepsik-a, сам не знаю).
Устали они всетаки переносить Оракле на 200 платформ Без java и на 28-мь устали бы
...
Рейтинг: 0 / 0
Java или C++?
    #32636412
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно кроссплатформенность классная штука, но вот только ради нее пришлось пожертвовать взаимодействием с другими языками, блин, ну вот кого из вас гребет когда вы пишете на какой ОС сидит оракл??? Да пусть он хоть под досом вертится...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32636413
авторЭто, ИМХО, только потому, что всякие апликейшен сервера, на которых крутитися серверные джава приложения, имеют интерфейс для джавы. А если бы имели интерфейс для C/C++, то время написания серверных программ на C++ было бы не больше.
Вишка вся в том, что эти сервера приложений сами написаны на Java!!!
...
Рейтинг: 0 / 0
Java или C++?
    #32636431
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем расказывать про 28 операционок? (кста, хоть 10-15 перечислить сможете?). В лутшем случае 24-25 из них никого не гребут, а сам факт... ну послушали, порадовались...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32636445
viperКонечно кроссплатформенность классная штука, но вот только ради нее пришлось пожертвовать взаимодействием с другими языками, блин, ну вот кого из вас гребет когда вы пишете на какой ОС сидит оракл??? Да пусть он хоть под досом вертится...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan PerlisТак в том то вся и прелесть, что его можно на любую платформу поставить. Пишет например контора серверное приложение на Java, ставять его на Unix, потом заказчик коворит, мы прикупили еще 2 сервера на Solaris и хотим чтобы и там работало. Если на Java, то будет работать.
...
Рейтинг: 0 / 0
Java или C++?
    #32637812
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

>Речь про win.api, наверное, я не удачные примеры видел :)

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

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

2 wessen

>В любом случае, это было 13 лет назад, Оракле 4 представлял из себя нечто примитивное и пренести его на множество платформ не представляло никакого труда. Если вы вернетесь в наше время, то увидите, что Оракле сейчас работает только на 28-и платформах(по словам Lepsik-a, сам не знаю).

Так 28 платформ вроде тоже не мало.

2 Кот Марамот
>Вишка вся в том, что эти сервера приложений сами написаны на Java!!!

А в чем фишка-то? Мода тогда была на джаву, вот на джаве и написали, других причин выбора джавы вроде нет. Если есть - укажите. А могли бы бы написать на С, как SQL сервера, например, они сложнее аппликейшн серверов на порядки, и ничего, работает на разных платформах.

Вы уверены что все сервера приложений написаны на джаве?

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

>Так в том то вся и прелесть, что его можно на любую платформу поставить. Пишет например контора серверное приложение на Java, ставять его на Unix, потом заказчик коворит, мы прикупили еще 2 сервера на Solaris и хотим чтобы и там работало. Если на Java, то будет работать.

Во-первых не на любую, а только на ту, где где есть JVM и библиотеки соответсвующей версии, а если версии старые то не заработает.

А во-вторых на С тоже будет работать, если специально глупостей не длать. Это сказки, что на сях трудно писать кросплатформенные приложения, не намного сложнее чем на джаве.
...
Рейтинг: 0 / 0
Java или C++?
    #32637822
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--NotGonnaGetUs
--3000 для IDE ??!!! вот это я бы назвал еще одним большим минусом жавы -
--Не надо утверждать такие вещи, не имея представления о проекте :)

Из известных мне IDE типа BCB, VC там 10% от указанного количества нет.
Это лишь говорит о неправильных методах проетирования.
Скорее было нагенерено какой-нибудь а-ля Розой.

--Вопрос не в том, для скольки платформ можно завести коды делающие одно и тоже, а на скольки платформах один и тот же код будет работать :)
--Думаю, если Вы сделаете БД на С++ можно будет тоже поплакать над результатом :)

Я делаю СУБД - продаем по всему миру. Никто не жаловался.

--Главное в программе это программист, а потом уже язык, но язык может быть удобным, а может и не быть.

Когда в языке даже примивные типы являются классами - тут даже сравнивать смешно. А уж говорить о скорости подавно.

--Авторы библиотек, не спрашивают меня как называть методы :)

библиотеки не являются частью языка

--Речь про win.api, наверное, я не удачные примеры видел :)

он написан на С в стиле линейного программирования.
Посмотрите VCL от Borland

--Это великолепно. Во-первых, язык развивается, а не стоит на месте, во-вторых, за дело не берутся не профессионалы.

мда. профессионал - тому кому платят деньги. А многим напрасно.

2viper
--Сообщений: 321 Зачем расказывать про 28 операционок? (кста, хоть 10-15 перечислить сможете?).

навскидку

DOS, Win3.1, Win95, WINNT4, WINXP, WIN2000, WINCE
Red Hat Linux, Mandrake Linux, ASP Linux, Slackware Linux, S.u.S.E. Linux
UNIX XP, FREEBSD, NETBSD
Novell NetWare, OS/2, BeOS, MacOS, PalmOS, SimbianOS
еще что-там на ракетах типа Томагавк
...
Рейтинг: 0 / 0
Java или C++?
    #32638790
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper
>--Сообщений: 321 Зачем расказывать про 28 операционок? (кста, хоть 10-15 перечислить сможете?)

Продолжим... OS360; OS400; MVS; RT; RTX; RSTS; RSX; VMS (пучок); DUnix; SCO Unix; Solaris; AIX...
А вообще если озадачиться, то по миру их (операционок) должно насчитать что-то около 400. (я не опечатался)
...
Рейтинг: 0 / 0
Java или C++?
    #32639151
автор c127А в чем фишка-то? Мода тогда была на джаву, вот на джаве и написали, других причин выбора джавы вроде нетНу и насмешил , такие фирмы как Oracle, IBM, WEBSphere, Borland вот взяли и написали свои продукты на Java, только из-за того, что это когда то был модный язык. Вот сказанул так сказанул, полный бред. Такие серъезные фирмы, прежде чем выбрать язык разработки, проводят серъезные исследования и тесты, продумывают все как минимум на 5 лет вперед если выбрали Java, значит для них это вполне оправдано. Уж не нам судить выбор таких фирм-монстров.
...
Рейтинг: 0 / 0
Java или C++?
    #32639245
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Ну и насмешил

самое смешное что он прав.

нас тоже это мода 4 года назад не обошла. По настоянию менеджеров сделали на жаве.

Убили на год. Посмотрели на скорость и похоронили навсегда.

Периодически к нам прибегают адепты от жавы со своим продуктом.

Загружаем свою тестовую схему базы, данные, еще раз убеждаемся в том что жава не может использована как десктопное приложение. И снова о ней забываем
...
Рейтинг: 0 / 0
Java или C++?
    #32639301
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nik_x2viper
>--Сообщений: 321 Зачем расказывать про 28 операционок? (кста, хоть 10-15 перечислить сможете?)

Продолжим... OS360; OS400; MVS; RT; RTX; RSTS; RSX; VMS (пучок); DUnix; SCO Unix; Solaris; AIX...
А вообще если озадачиться, то по миру их (операционок) должно насчитать что-то около 400. (я не опечатался)

Отлично, но вот я тебе как минимум 5 из твоего списка назову которые Java SE не поймут не прикаких раскладах... а то что ты мне список нарисовал... ну крут, или знаеш где смотреть, что это доказывает?

Кста покажите мне где написано что Oracle 100% на яве написан... ож оч. охота своими глазами посмотреть, тогда ей богу не пожалею денег пойду куплю диск (пусть кривой, какое отношение это имеет к кроссплатформенности?) и попробую с него хоть под 3 поставить...
...
Рейтинг: 0 / 0
Java или C++?
    #32639434
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Кот Марамот

>Ну и насмешил , такие фирмы как Oracle, IBM, WEBSphere, Borland вот взяли и написали свои продукты на Java, только из-за того, что это когда то был модный язык. Вот сказанул так сказанул, полный бред. Такие серъезные фирмы, прежде чем выбрать язык разработки, проводят серъезные исследования и тесты, продумывают все как минимум на 5 лет вперед если выбрали Java, значит для них это вполне оправдано. Уж не нам судить выбор таких фирм-монстров.

Действительно смешно получилось: "Oracle, IBM ... Borland. Такие серъезные фирмы..."

Ну ладно, все вместе посмеялись над тем что банкрот борланд, попал в один ряд "серьезных" фирм с ораклом и ИБМ и наравне с ними проводит исследования длительностью в 5 лет, а теперь давайте по-существу. Есть что сказать?

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

Остается еще важный момент - удобство языка, оно же скорость разработки. Так и тут не все гладко. Почитайте статью по моей ссылке. Как я говорил, результаты полностью совпадли с моими ощущениями при знакомстве с джавой, потому я результатам верю. Оказалось что на C/C++ писать удобнее, быстрее и исходники получаются компактнее джавовских.
...
Рейтинг: 0 / 0
Java или C++?
    #32642589
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 с127:
c1272 NotGonnaGetUs

>Речь про win.api, наверное, я не удачные примеры видел :)

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

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



Ой, нагородил так нагородил.

Про вин.апи я заговорил, что бы привести пример, где я видел сишные методы содеражщие дикое кол-во параметров. Отсюда никакие слухи о непереносимости не ростут :)
Переносимость в Си, безусловно, есть. Достаточно переписать/перекомпилить все бибиотеки и перекомпилить код самого приложения :) Хорошо если что-то из этого уже было сделано заранее.
Однако это не тоже самое, что переносимость java. Байт-код java не нужно собирать заново, он будет работать на любой платформе, где есть JVM.


Ещё раз извиняюсь за упоминание Win.Api :) Хотя оно и есть пример Си++ кода :)
...
Рейтинг: 0 / 0
Java или C++?
    #32642654
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
Ещё раз извиняюсь за упоминание Win.Api :) Хотя оно и есть пример Си++ кода :)
Win api не есть пример c++ кода.
Как пример с++ кода можешь взять stl.
...
Рейтинг: 0 / 0
Java или C++?
    #32642752
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik--NotGonnaGetUs
--3000 для IDE ??!!! вот это я бы назвал еще одним большим минусом жавы -
--Не надо утверждать такие вещи, не имея представления о проекте :)

Из известных мне IDE типа BCB, VC там 10% от указанного количества нет.
Это лишь говорит о неправильных методах проетирования.
Скорее было нагенерено какой-нибудь а-ля Розой.



Розой там и не пахнет. Может вам показалось, что проект это IDE?:) Совсем нет.
Поверьте на слово, просто так классы никто не создаёт и многоэтажные иерархии объектов, из любви к искуству, не строит.

Речь шла о том, что в IDE IntellejIdea написанной на Java, можно свободно работать с проектом из 3000 классов. Без описания функциональности вышеозначенной IDE это может быть не так в печетлающи, но за описанием можете обратиться на сайт разработчиков :)

Lepsik
--Вопрос не в том, для скольки платформ можно завести коды делающие одно и тоже, а на скольки платформах один и тот же код будет работать :)
--Думаю, если Вы сделаете БД на С++ можно будет тоже поплакать над результатом :)

Я делаю СУБД - продаем по всему миру. Никто не жаловался.


Такие вещи делает не один человек, а большая команда.
Если команда хороша, то и продукт будет хорошим.

Не знаю, какое место в процессе написания СУБД занимаете лично вы, но не имея академических знаний в области программирования, написать такую систему нельзя. Если люди без таких знаний примутся за дело, хоть на Java, хоть на С++, то получится ерунда вместо БД.


--Главное в программе это программист, а потом уже язык, но язык может быть удобным, а может и не быть.

Когда в языке даже примивные типы являются классами - тут даже сравнивать смешно. А уж говорить о скорости подавно.

Java это не SmallTalk. Примитивные типы в java не являются классами, а являются примитивными типами :)

Рад, что вам весело.

Скорость определяют в первую очередь алгоритмы, а потом только язык на котором они реализованы.
Для Cи и Java разница в скорости 1.5 раза. Разница есть, но это не та разница из-за которой можно "просто плакать".


--Авторы библиотек, не спрашивают меня как называть методы :)

библиотеки не являются частью языка

Конечно, но с библиотеками вольно не вольно приходится работать,
если не писать их под свой проект, что чаще всего напрасная трата времени.


--Речь про win.api, наверное, я не удачные примеры видел :)

он написан на С в стиле линейного программирования.
Посмотрите VCL от Borland

При первой возможности.


--Это великолепно. Во-первых, язык развивается, а не стоит на месте, во-вторых, за дело не берутся не профессионалы.

мда. профессионал - тому кому платят деньги. А многим напрасно.

Это только в России :)
У нас много "самоучек", которые прочли книгу, написали helloWord.
Потом пообтесались на первой работе, научились делать вещи, за которые кто-то готов платить.
Но помимо этого есть то, что я называю академическими знаниями.
Это работы и исследования посвящённые алгоритмам: сложность, скорость, стандартные методы. Таже машина тьюринга, КА, грамматики и т.д. Это то, что инвариантно по отношению к любому ЯП.

Профессионал это тот, кто владеет этими знаниями в полной мере.
Затем идёт знание технологий программирование: структурное, процедурное, функциональное, ООП и т.д.
И лишь в конце, опыт работы с конкретным языком, в конкретной среде.

Конечно, что бы работать и получать свою 1000$, считать себя профессионалом в чём-то, эти знания вовсе не обязательны. Тем более ИТ-менеджерам. И это правильно.

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

Sun не плачет.
...
Рейтинг: 0 / 0
Java или C++?
    #32642762
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_k NotGonnaGetUs
Ещё раз извиняюсь за упоминание Win.Api :) Хотя оно и есть пример Си++ кода :)
Win api не есть пример c++ кода.
Как пример с++ кода можешь взять stl.

Принято.
...
Рейтинг: 0 / 0
Java или C++?
    #32642926
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUsSun не плачет.
Ну дык у них то вариантов особо и нет, бо если яву выпихнут с рынка средств разработки ПО, то Sun вылетает вместе с ней и присоединяется к гордой команде Borland...
...
Рейтинг: 0 / 0
Java или C++?
    #32642988
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viperесли яву выпихнут с рынка средств разработки ПО, то Sun вылетает вместе с ней и присоединяется к гордой команде Borland...
Не выпихнут. Не надейся ).
...
Рейтинг: 0 / 0
Java или C++?
    #32643036
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну лично мне абсолютно паралельно, а так к слову, Borland тоже кричал не надейтесь, VB-шники тож врядли думали что MS вот так вот кинет свое детище... Так что все имеет тенденцию изменяться...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32643226
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper:
разные масштабы, как мне кажется.
...
Рейтинг: 0 / 0
Java или C++?
    #32643283
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs2viper:
разные масштабы, как мне кажется.
Возможно я взял неудачные примеры, хотя Делфи маленьким проектом не назовешь...
Но вообще я не говорил что Ява уже смертник, я говорил что Sun-ы не могут себе позволить бросить сей проект...
...
Рейтинг: 0 / 0
Java или C++?
    #32643297
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а Делфи умирает что ли? Я этим языком не интересуюсь, но интересно все таки :)
...
Рейтинг: 0 / 0
Java или C++?
    #32643345
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenа Делфи умирает что ли? Я этим языком не интересуюсь, но интересно все таки :)

В 1996 году группа разработчиков, во главе с Андрюшей Хайлсбергом (автором компиляторов Turbo Pascal и Delphi Object Pascal ) покинула Borland и перебралась в Майкрософт. Андрюша занимался разработкой компиляторов Майкрософтовской версии Java, но после известных событий Майкрософт справедливо отказалась лицензировать JAVA и решила предложить альтернативу. Так появилась платформа Microsoft.NET и язык С# (автором которого является Хайлсберг). Таким образом, можно сказать, что некогда блестящее средство разработки потихонечку, по инерции, умирает...

Необходимо отдать должное Delphi 1.0, которая была самой лучшей средой разработки для Windows 3.1 (если кто еще помнит такое :) ).
Еще один примечательный факт. С моей точки зрения, возможности редактора форм VS.NET (2001-2003 год) уступают таковым в Delphi 1.0 ( 1995 год ).
В остальном, безусловно, прогресс не стоит на месте, а Майкрософт высокомерно похлопывает Борланд по плечу и называет ее "производителем средств разработки №2", что само по себе унизительно. А некогда Борланд был впереди планеты всей. Да-с.
...
Рейтинг: 0 / 0
Java или C++?
    #32643358
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr. Smith wessenа Делфи умирает что ли? Я этим языком не интересуюсь, но интересно все таки :)

В 1996 году группа разработчиков, во главе с Андрюшей Хайлсбергом (автором компиляторов Turbo Pascal и Delphi Object Pascal ) покинула Borland и перебралась в Майкрософт. Андрюша занимался разработкой компиляторов Майкрософтовской версии Java, но после известных событий Майкрософт справедливо отказалась лицензировать JAVA и решила предложить альтернативу. Так появилась платформа Microsoft.NET и язык С# (автором которого является Хайлсберг). Таким образом, можно сказать, что некогда блестящее средство разработки потихонечку, по инерции, умирает...

Необходимо отдать должное Delphi 1.0, которая была самой лучшей средой разработки для Windows 3.1 (если кто еще помнит такое :) ).
Еще один примечательный факт. С моей точки зрения, возможности редактора форм VS.NET (2001-2003 год) уступают таковым в Delphi 1.0 ( 1995 год ).
В остальном, безусловно, прогресс не стоит на месте, а Майкрософт высокомерно похлопывает Борланд по плечу и называет ее "производителем средств разработки №2", что само по себе унизительно. А некогда Борланд был впереди планеты всей. Да-с.
как это Борланд, такого человека упустил?? ай ай ай. Вот его бы в SUN, пускай Java бы клепал.
...
Рейтинг: 0 / 0
Java или C++?
    #32643361
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viper
Но вообще я не говорил что Ява уже смертник, я говорил что Sun-ы не могут себе позволить бросить сей проект...

Знающие люди в Долине поведали мне, что за JAVA стоит, скорее, не Sun а IBM. IBM нечего противопоставить Microsoft, а именно Microsoft является ее наиболее сильным конкурентом (сами вырастили). Поэтому IBM цепляется за Линукс, JAVA и прочие раскрученые технологии. И если умрет Sun, то вы знаете, кто подхватит инициативу :)

JAVA не умрет, потому как в нее вложено очень много денег. Это очень сильно раскрученая технология. В программы на COBOL было вложено в десятки раз меньше и тем не менее это продолжает где-то там работать. Так что энтузиазм, с которым компании раскручивают технологии вполне понятен -- это как маховик: чем сильнее раскрутишь, тем дольше будет крутится (читай: приносить прибыль).
...
Рейтинг: 0 / 0
Java или C++?
    #32643365
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenкак это Борланд, такого человека упустил?? ай ай ай. Вот его бы в SUN, пускай Java бы клепал.

Он слишком амбициозен и умен: зачем упускать шанс создать конкурента JAVA? Тем более, что его медалями сразу всякими нарградили, выдающимся из выдающихся сделали. И потом, не надо ровнять Microsoft и Sun: это компании разных весовых категорий :)
...
Рейтинг: 0 / 0
Java или C++?
    #32643437
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну я бы не говорил что типа НЕТ выкатили в отмездку за провал MS J++, уж слишком масштабный проект для мести :). То что яву будут держать это 100%. А Борланды, честно говоря просто оказались не готовы к такому прессингу, толи раслабились, толи еще чет... Их просто придавили, но причем не только весом, если разговоры Delphi vs VB раньше равнять было еще можно то равнять VisualC++ и C++Builder, ну чет совсем не равняется (хотя это мое личное мнение). Я слыхал что Борланды обещались разродиться Делфи.НЕТ но сомневаюсь что это их спасет... Борданды потихоньку тонут...
ЗЫ
Хотя BorlandC 3.0 рулез форева!!!!
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32643556
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Mr. Smith


--В 1996 году группа разработчиков, во главе с Андрюшей Хайлсбергом

надо говорить одним из авторов и тем более даже не ключевых ни в Борланде ни в Микрософте. Поэтому не надо столь сильно плакать об одном и надеятся о другом.

--язык С# (автором которого является Хайлсберг
автором он н может являться, поскольку проект C# появился до его прихода.
Он был всего лишь вовлечен в проект.
...
Рейтинг: 0 / 0
Java или C++?
    #32643616
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Lepsik

Действительно элементарные типы в джаве не есть классы. Их вроде бы хотели сначала сделать классами, что логично, но когда проверили быстродействие такого чуда быстро вернулись назад к элементарным типам. В результате в джаве в подпрограммы (в методы) все классы передается по ссылке, а элементарные типы - по значению. Кто учил паскаль меня поймет. Как следствие вернуть значение, например, real из подпрограммы в качестве параметра невозможно, нужно заводить класс. Очень удобно и упрощает код. А классы передаются по ссылке, которых в языке вроде бы нет вообще. В элементарные типы почему-то попали и строки, они ведут себы так, как будто передаются по значению. Дэти, это понят нэлзя, это надо запомнит. (С)

Это только то, с чем я лично столкнулся за очень короткое время знакомства с джавой.

2 wessen

>как это Борланд, такого человека упустил??

Боралнд в 1996 году был на грани банкротства, ему было не до сохранения отдельных разработчиков. Тем более что Хайлсберг помочь борладу вылезти из ямы наверное не мог, т.е. бороться за него не имело смысла. Теперь видно что это правильно, ничего хорошего в смысле RAD средств (в чем он эксперт) он не придумал.

2 NotGonnaGetUs

>Ой, нагородил так нагородил.

Про вин.апи я заговорил, что бы привести пример, где я видел сишные методы содеражщие дикое кол-во параметров. Отсюда никакие слухи о непереносимости не ростут :)


Я это понял. Там же написано: "В любом случае к ЯЗЫКУ и АРХИТЕКТУРЕ именование функций в библиотеках (в сишных удобное, кстати) и количество параметров в функциях, написанных микрософтом, отношения не имеет."

>Переносимость в Си, безусловно, есть. Достаточно переписать/перекомпилить все бибиотеки и перекомпилить код самого приложения :) Хорошо если что-то из этого уже было сделано заранее.

Это Вас кто-то обманул, переписывать не нужно. По крайней мере не больше чем на джаве. Только перекомпилировать. Речь о гуи не идет.

>Однако это не тоже самое, что переносимость java. Байт-код java не нужно собирать заново, он будет работать на любой платформе, где есть JVM.

Не путайте: не "JVM", а "JVM подходящей версии". Это далеко не одно и то же.

Благодарю за информацию, конечно, но все это мне было известно. Я говорил о том, что если бы вместо джавы был выбран C++, то байткод для него тоже бы строился без проблем и были бы написаны соответсвующие C++VM. Только ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.
...
Рейтинг: 0 / 0
Java или C++?
    #32644071
авторТолько ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.Я почему то слышал всегда обратное, по скорости Java конечно уступает, а вот по синтаксису и идеологии точно нет, много чего добавили(пакеты, интерфейсы, сборщик мусора), много чего лишнего выкинули(указатели, перегрузка операторов, множественное наследование), все это только плюс, как мне кажется.
...
Рейтинг: 0 / 0
Java или C++?
    #32644351
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Lepsik
Lepsik
надо говорить одним из авторов и тем более даже не ключевых ни в Борланде ни в Микрософте. Поэтому не надо столь сильно плакать об одном и надеятся о другом.
--язык С# (автором которого является Хайлсберг
автором он н может являться, поскольку проект C# появился до его прихода.
Он был всего лишь вовлечен в проект.

http://www.microsoft.com/presspass/press/2001/apr01/04-11AndersPR.asp

Hejlsberg joined Microsoft in 1996 and was promoted in 1999 to distinguished engineer, a title held by only 16 people at Microsoft. He is the chief designer of the C# programming language and a key participant in the development of the Microsoft® .NET Framework.
[...]
Before his work on C# and the .NET Framework, Hejlsberg was an architect for the Visual J++® development system and the Windows® Foundation Classes. Before joining Microsoft, Hejlsberg was one of the first employees of Borland International Inc. As principal engineer, he was the original author of Turbo Pascal and later worked as the chief architect of the Delphi product line. Anders studied engineering at the Technical University of Denmark.

Господа! Давайте спорить чиста как пацаны: с фактами, ссылочками и т.д. А то глупо получается. Взрослые люди, ведь :)
...
Рейтинг: 0 / 0
Java или C++?
    #32644388
Фотография ChMt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот авторТолько ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.Я почему то слышал всегда обратное, по скорости Java конечно уступает, а вот по синтаксису и идеологии точно нет, много чего добавили(пакеты, интерфейсы, сборщик мусора), много чего лишнего выкинули(указатели, перегрузка операторов, множественное наследование), все это только плюс, как мне кажется.
А чем вам мешало то, что выкинулу? Может надо уметь просто этим пользоваться? Или когда вас освободили от STL, вам стало легче?
...
Рейтинг: 0 / 0
Java или C++?
    #32644523
ChMt Кот Марамот авторТолько ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.Я почему то слышал всегда обратное, по скорости Java конечно уступает, а вот по синтаксису и идеологии точно нет, много чего добавили(пакеты, интерфейсы, сборщик мусора), много чего лишнего выкинули(указатели, перегрузка операторов, множественное наследование), все это только плюс, как мне кажется.
А чем вам мешало то, что выкинулу? Может надо уметь просто этим пользоваться? Или когда вас освободили от STL, вам стало легче?Не надо утрировать ситуацию, выкинули действительно то, без чего можно обойтись без потери производительности и качества.
...
Рейтинг: 0 / 0
Java или C++?
    #32644524
Фотография рубль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я люблю их обоих ... (Java И C++ !!! )
...
Рейтинг: 0 / 0
Java или C++?
    #32644655
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИли когда вас освободили от STL, вам стало легче?

выпущен в свет java - 1992 год
выпущен в свет STL - 1993 год

как нас в 1992 году могли освободить от STL? :-)
...
Рейтинг: 0 / 0
Java или C++?
    #32644845
Фотография ChMt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null-- авторИли когда вас освободили от STL, вам стало легче?

выпущен в свет java - 1992 год
выпущен в свет STL - 1993 год

как нас в 1992 году могли освободить от STL? :-)
Гы-гы. Свободу программистам. Так и не поработили за 12 лет.
...
Рейтинг: 0 / 0
Java или C++?
    #32644865
Фотография ChMt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот ChMt Кот Марамот авторТолько ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.Я почему то слышал всегда обратное, по скорости Java конечно уступает, а вот по синтаксису и идеологии точно нет, много чего добавили(пакеты, интерфейсы, сборщик мусора), много чего лишнего выкинули(указатели, перегрузка операторов, множественное наследование), все это только плюс, как мне кажется.
А чем вам мешало то, что выкинулу? Может надо уметь просто этим пользоваться? Или когда вас освободили от STL, вам стало легче?Не надо утрировать ситуацию, выкинули действительно то, без чего можно обойтись без потери производительности и качества.
Зачем выкинули? Это мешало производительности. Типа и так Java еле ползает. Или программисты на Java не могли это качественно использовать? А почему сейчас начали потихоньку добавлять? Программисты поумнели?
...
Рейтинг: 0 / 0
Java или C++?
    #32644892
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChMt Кот Марамот ChMt Кот Марамот авторТолько ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.Я почему то слышал всегда обратное, по скорости Java конечно уступает, а вот по синтаксису и идеологии точно нет, много чего добавили(пакеты, интерфейсы, сборщик мусора), много чего лишнего выкинули(указатели, перегрузка операторов, множественное наследование), все это только плюс, как мне кажется.
А чем вам мешало то, что выкинулу? Может надо уметь просто этим пользоваться? Или когда вас освободили от STL, вам стало легче?Не надо утрировать ситуацию, выкинули действительно то, без чего можно обойтись без потери производительности и качества.
Зачем выкинули? Это мешало производительности. Типа и так Java еле ползает. Или программисты на Java не могли это качественно использовать? А почему сейчас начали потихоньку добавлять? Программисты поумнели?И что же добавлять начали??? По пунктам пожалуйста.
...
Рейтинг: 0 / 0
Java или C++?
    #32644918
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок. Вот тут все спорят, ок.
Какие проблемы с языком С++ хотели решить разработчики JAVA и как им это удалось? Небыло бы проблем, небыло бы и JAVA, правильно?
...
Рейтинг: 0 / 0
Java или C++?
    #32644936
Фотография ChMt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr. SmithОк. Вот тут все спорят, ок.
Какие проблемы с языком С++ хотели решить разработчики JAVA и как им это удалось? Небыло бы проблем, небыло бы и JAVA, правильно?
Проблемы не с С++, проблемы с "написано однажды - работает везде". Которые с приходом Java совсем не решились.
...
Рейтинг: 0 / 0
Java или C++?
    #32645581
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c1272 NotGonnaGetUs

>Ой, нагородил так нагородил.

Про вин.апи я заговорил, что бы привести пример, где я видел сишные методы содеражщие дикое кол-во параметров. Отсюда никакие слухи о непереносимости не ростут :)


Я это понял. Там же написано: "В любом случае к ЯЗЫКУ и АРХИТЕКТУРЕ именование функций в библиотеках (в сишных удобное, кстати) и количество параметров в функциях, написанных микрософтом, отношения не имеет."

Ключевая фраза из ваших уст была "так вот откуда слухи о непереносимости растут". Об ней и речь, а не о том, что "написано".


>Переносимость в Си, безусловно, есть. Достаточно переписать/перекомпилить все бибиотеки и перекомпилить код самого приложения :) Хорошо если что-то из этого уже было сделано заранее.

Это Вас кто-то обманул, переписывать не нужно. По крайней мере не больше чем на джаве. Только перекомпилировать. Речь о гуи не идет.


Где тут обман не понятно, про "переписывать" я ничего не говорил.
Просто переносимость Си и Java разная.
Что бы легко перенести программу на Си нужно постараться на этапе написания. В Java нужно постараться, что бы программа не заработало под аналогичной версией JVM в другой ОS.
"Внешние" java библиотеки (не из стандартного набора), в 99% так же являются переносимыми, чего в Си, как мне кажется нет. (Но это не значит, что этого нельзя сделать :), просто факт)



>Однако это не тоже самое, что переносимость java. Байт-код java не нужно собирать заново, он будет работать на любой платформе, где есть JVM.

Не путайте: не "JVM", а "JVM подходящей версии". Это далеко не одно и то же.

Естественно, версии JVM это версии спецификации библиотек java, поэтому как-то глупо расчитывать, что MSJVM (j1.1) будет отображать апплеты написанные с использованием фич j1.4.


Благодарю за информацию, конечно, но все это мне было известно. Я говорил о том, что если бы вместо джавы был выбран C++, то байткод для него тоже бы строился без проблем и были бы написаны соответсвующие C++VM. Только ради байткода незачем было выдумывать новый язык, который к тому же синтаксически и идеологически хуже C++. То же относится и к C#.

Зачем тогда обижать моих Sun'овцев :)

Согласен, вместо JVM для каждой оси можно было бы написать отдельно по компилятору и организовать поддержку одних и тех же библиотек для разных ОS. Но, тогда при написании программ пришлось бы отказаться от тех же вещей, от каких отказалась java. Указатели, низкоуровневое обращение к железу и т.д. Потому что это противоречит идее переносимости, а именно независимости кода от железа. В итоге это был бы не Си++, а "Си++ со многими оговорками", по сути совсем другой язык.
Его и сделали другим. А главное оградили от "любителей" :)
Запуск новой программы выглядил бы как установка GEntoo ^_^ Сутки компилим, потом пользуемся.
...
Рейтинг: 0 / 0
Java или C++?
    #32645637
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Mr. Smith
--http://www.microsoft.com/presspass/press/2001/apr01/04-11AndersPR.asp

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

2NotGonnaGetUs
--В Java нужно постараться, что бы программа не заработало под аналогичной версией JVM в другой ОS.

что обычно бывает под 2-3 ОС только. А учитывая если сторонние библиотеки использовать (ну например мы отказались использовать Orcale на WinCE потому как он забил и последняя версия была JDK 1.1 ) то переносимость приложений приблизилось в этом случае к нулю. Ну кроме приложений типа hello word
...
Рейтинг: 0 / 0
Java или C++?
    #32645657
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот же бляха, схляснулись в очердной раз на бесполезном споре "жаба или си". Целых пять страниц написали. Каждый хвалит тот язык, в котором у него опыта больше.
Судя по статистике этого форума - распределеление популярности языков (в россии):
1 делфи
2 вб
3 си
4 перл
5 шарп
6 жаба (на последнем месте ;))
..по убыванию интереса.

Это я количество топиков подсчитал :)

Так что мужики, как бы вы тут по кнопкам не стучали, а делфя круче фсех.
(хотя я лично за цэ++)
...
Рейтинг: 0 / 0
Java или C++?
    #32645692
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Кот Марамот

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

Я излагал чистое ИМХО, возможно не совпадающее с общепринятым мнением.

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

В C++ с указателями вообще нет проблем, если с умом подойти. Есть небольшие проблемы в C, но они преодолимы.

2 NotGonnaGetUs

c127>Я это понял. Там же написано: "В любом случае к ЯЗЫКУ и АРХИТЕКТУРЕ именование функций в библиотеках (в сишных удобное, кстати) и количество параметров в функциях, написанных микрософтом, отношения не имеет."

NotGonnaGetUs>Ключевая фраза из ваших уст была "так вот откуда слухи о непереносимости растут". Об ней и речь, а не о том, что "написано".


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

>про "переписывать" я ничего не говорил.

Ну да. NotGonnaGetUs:"Достаточно переписать/перекомпилить все бибиотеки...".

>Что бы легко перенести программу на Си нужно постараться на этапе написания. В Java нужно постараться, что бы программа не заработало под аналогичной версией JVM в другой ОS.

Правильно, только обращаю внимание на слова: "аналогичной версией JVM". Это сильное требование, не на всех платформах присутствует аналогичная версия JVM. По-моему гораздо легче написать "правильную" сишную программу, чем JVM для платформы, где ее нет. Шутка. Это и есть легенда о переносимости джавы.

>Естественно, версии JVM это версии спецификации библиотек java, поэтому как-то глупо расчитывать, что MSJVM (j1.1) будет отображать апплеты написанные с использованием фич j1.4.

И опять все верно. Только где же хваленая переносимость? Поменяли шило на мыло, проблемы просто перенеслись в область совметсимости виртуальных машин.

>Согласен, вместо JVM для каждой оси можно было бы написать отдельно по компилятору и организовать поддержку одних и тех же библиотек для разных ОS.

Это уже сделано. Я говорил о другом: можно было бы в случае необходимости, если кому-то очень захотелось бы, компилить C/C++ программы в байткод и выполнять в виртуальной машине, ничем бы от джавы не отличалось. Есть JVM, а была бы C++VM.

>Но, тогда при написании программ пришлось бы отказаться от тех же вещей, от каких отказалась java. Указатели, низкоуровневое обращение к железу и т.д. Потому что это противоречит идее переносимости, а именно независимости кода от железа. В итоге это был бы не Си++, а "Си++ со многими оговорками", по сути совсем другой язык.

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

Во-вторых низкоуровневое обращение к железу мало кому нужно, нормальная работа идет через драйвера или библиотечные функции типа fprintf(), а они давно стандартизованы, следовательно переносимы. Тут проблем тоже нет.

Так что никакой идее переносимости упомянутые свойства не противоречат, это Вы ошибаетесь. Поэтому если бы вдруг захотели вместо джавы использовать C++, то это вполне мог бы быть настоящий полноценный C++, без оговорок.
...
Рейтинг: 0 / 0
Java или C++?
    #32646007
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Я излагал чистое ИМХО, возможно не совпадающее с общепринятым мнением.

По-моему не может считаться хорошим язык, в документации которого на первой странице говороится что указателей в нем нет и это величайшее достижение, а на второй странице, заявляется что всякий объект на самом деле указатель, и это тоже величайшее достижение, поскольку программы работают быстрее при вызове функций, куда эти объекты передаются. Так есть указатели или нет, и если все-таки есть то что это такое? Как это можно объяснить, например, начинающему программисту? А сейчас джава используется как язык обучения.
Ох что то вы путаете, а именно указатели и ссылки . Указателей нету и быть не может, их разработчики Java еще при проектировании отмели, вобщем все что вы сказали, это относится к ссылкам . Все объекты в Джава передаются по ссылкам!!!!!
...
Рейтинг: 0 / 0
Java или C++?
    #32646046
kompotFXвот же бляха, схляснулись в очердной раз на бесполезном споре "жаба или си". Целых пять страниц написали. Каждый хвалит тот язык, в котором у него опыта больше.
Судя по статистике этого форума - распределеление популярности языков (в россии):
1 делфи
2 вб
3 си
4 перл
5 шарп
6 жаба (на последнем месте ;))
..по убыванию интереса.

Это я количество топиков подсчитал :)

Так что мужики, как бы вы тут по кнопкам не стучали, а делфя круче фсех.
(хотя я лично за цэ++)
Ой какие мы умные, научиль циферки сравнивать, а вот пошире мозгами пораскинуть еще не получается. Так вот, вместо того, чтобы писать "Жаба на последнем месте" и лыбиться, ты бы лучше посмотрел сколько лет каждому из форумов которые ты перечислил, как это сделать- очень просто, посмотреть дату первого поста, так вот всем форумам по 3-4 года, а форуму Java чуть больше года, еще вопросы есть??
...
Рейтинг: 0 / 0
Java или C++?
    #32646216
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Кот Марамот

Ну как бы ты тут языком не трещал, что жаба круче всех на свете, а протиф циферь не попрешь ;)

Кстати тебе самому еще не стремно от того что ты пытаешся доказать такую чушь как указатели, множ. наследование это гавно а без интерфеисов и пакетов просто жить нельзя?
Наверное весь этот бред ты собираешь во время рабочего времени, вместо того чтобы на жабе код писать?
...
Рейтинг: 0 / 0
Java или C++?
    #32646277
kompotFX2 Кот Марамот

Ну как бы ты тут языком не трещал, что жаба круче всех на свете, а протиф циферь не попрешь ;)

Кстати тебе самому еще не стремно от того что ты пытаешся доказать такую чушь как указатели, множ. наследование это гавно а без интерфеисов и пакетов просто жить нельзя?
Наверное весь этот бред ты собираешь во время рабочего времени, вместо того чтобы на жабе код писать?Нет слов, одни эмоции
Ну очень информативный и аргументированный пост.
Ты против каких цифер переть собираешся, как я посмотрю ты совсем тугой, как я понял, ты ссылаешься на то, что в форуме Java почти меньше всего постов, почему их там меньше всего я объяснил в предыдущем топике если ты не уловил смысл то о чем с тобой разговаривать?

До свидание.
...
Рейтинг: 0 / 0
Java или C++?
    #32646434
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kompotFX2 Кот Марамот

Ну как бы ты тут языком не трещал, что жаба круче всех на свете, а протиф циферь не попрешь ;)


Эти цифири говорят не о популярности языка, а кол-ве трудностей возникающих при их использовании :)
Где-то даже был анекдот, про то, что какой программист делает, встречая трудность :) Про дельфи было сказано, что бежит на форум :)
...
Рейтинг: 0 / 0
Java или C++?
    #32646543
Фотография рубль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз плюну в еТоТ калодеС.
Ни Java, Ни C++ - ЭТО не самоцель,
а только средство для ее достижения.
Есть задача, выбирайте инструмент.
А лудше или хуже, судите по результату.
И если хуже, то значит что вы просто неправельно
поняли задачу и выбрали неверно инструмент и
виноваты вы, а не Java или C++.
...
Рейтинг: 0 / 0
Java или C++?
    #32646664
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рубль
не в бровь а в глаз!!
полностью поддерживаю
...
Рейтинг: 0 / 0
Java или C++?
    #32646727
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c1272 NotGonnaGetUs


>про "переписывать" я ничего не говорил.

Ну да. NotGonnaGetUs:"Достаточно переписать/перекомпилить все бибиотеки...".

И правда. Библиотеки использующие особенности ОS действительно придётся переписать или найти уже переписанную.


>Что бы легко перенести программу на Си нужно постараться на этапе написания. В Java нужно постараться, что бы программа не заработало под аналогичной версией JVM в другой ОS.

Правильно, только обращаю внимание на слова: "аналогичной версией JVM". Это сильное требование, не на всех платформах присутствует аналогичная версия JVM. По-моему гораздо легче написать "правильную" сишную программу, чем JVM для платформы, где ее нет. Шутка. Это и есть легенда о переносимости джавы.


Это не сильное требование, а очевидное. Sun выпускает JVM новый версии для всех платформ.


>Естественно, версии JVM это версии спецификации библиотек java, поэтому как-то глупо расчитывать, что MSJVM (j1.1) будет отображать апплеты написанные с использованием фич j1.4.

И опять все верно. Только где же хваленая переносимость? Поменяли шило на мыло, проблемы просто перенеслись в область совметсимости виртуальных машин.


Разница в том, что переносимость виртуальных машин эта не задача программиста пигущего приложение. Время и деньги на это тратит Sun. В противном случае это деньги и время разработчика приложения.


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

Мысль вашу понял. Но имхо, написать такую VM было бы на порядок сложнее для С++, чем для Java. Для Java проще именно из-за тех отличий от С++, о которых уже столько говорилось.

Кроме того, важно помнить, что существование Java оправдывается не только существованием байт-кода. При создании Java, был отброшен балласт не влезающий в концепцию ООП (в виде таких архаизмов, как fprintf, понятие модели физической памяти, etc), и были разаработаны очень не плохие библиотеки, с учётом опыта других ООП языков, того же SmallTalk. Это всё упростило написание кода до предела. Одна только поддержка синхранизации на уровне синтаксиса языка чего стоит и работа с threads :)
Что бы писать "хорошо" на С++, нужно иметь больше опыта, чем что бы так же "хорошо" писать на Java. И больше опыта нужно именно из-за сложности самого языка, большего кол-ва сущностей с которыми приходится иметь дело программисту.

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

Хотя в пятисотый раз повторюсь, в конце концов решает не язык, а кто на нём пишет. Достаточно идиотов пишущих и на java и на c++ :)

Плюсы которые я вижу в Java это:
- простота написания и поддрежки кода (разбираться в чужом С коде на порядок сложнее),
- удобство стандартного набора библиотек (и всё это умещается в оч.маленькой JVM ~ 30mb :))
- наличие отличных средств разработки,
- EE технологии, спецификации которых разрабатывают граммотные люди
- большой выбор framework'ов реалтзующих те или иные специфакции и просто библиотек, которые действительно хороши
(apache.jakarta.*) и часто бесплатны :)
- и всё это чудо работает где угодно (На езжайте на этот пункт сколько хотите, но html и javaScript между различными браузерами переносимы гараздо хуже :))
...
Рейтинг: 0 / 0
Java или C++?
    #32647826
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 wessen

> Ох что то вы путаете, а именно указатели и ссылки. Указателей нету и быть не может, их разработчики Java еще при проектировании отмели, вобщем все что вы сказали, это относится к ссылкам. Все объекты в Джава передаются по ссылкам!!!!!

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

Все объекты и элементарные типы (т.е. вообще все) в джава передаются, как и в С, по значению. Но поскольку объект на самом деле всего лишь указатель, то по значению передается не сам объект, а указатель. Получается вроде по ссылке. Короче создатели этого логичного и целостного языка всех запутали.

2 NotGonnaGetUs

> Это не сильное требование, а очевидное. Sun выпускает JVM новый версии для всех платформ.

Что прямо для всех-всех платформ? Это требование очевидное, но от этого оно не перестает быть сильным. Сильное в смысле что далеко не на всех платформах есть подходящая JVM. Пример с выньЦЕ тут приводился. Нет у джавы какой-то особой кросплатформенности, это легенды.

> Разница в том, что переносимость виртуальных машин эта не задача программиста пигущего приложение. Время и деньги на это тратит Sun. В противном случае это деньги и время разработчика приложения.

Так создатели сишных компиляторов тоже выпускают библиотеки для всех платформ и разработчик тоже не озабочен как там работает read(). Не вижу большой разницы. Разница только в том, что джавовские библиотеки содержат больше функций (объектов).

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

Чем же Вам fprintf не угодил? То что ему уже 30 лет, так это само по себе не недостаток. По-моему гораздо удобнее чем "<<" в C++, которым никто не пользуется. Вроде в джаве тоже ничего лучшего нет.

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

Влезание джавы в концепцию ООП предлагаю не обсуждать по причине осутсвия таковой. Правильнее было бы сказать: "При создании Java, был отброшен балласт не влезающий в джавовскую концепцию ООП".

> Что бы писать "хорошо" на С++, нужно иметь больше опыта, чем что бы так же "хорошо" писать на Java. И больше опыта нужно именно из-за сложности самого языка, большего кол-ва сущностей с которыми приходится иметь дело программисту.

Не используйте сущности, которые не знаете. Я, например, не знаток C++ и не использую многих его возможностей и хорошо себя чувствую, на мои программы никто не жаловался. Единственное упрощение джава по сравнению с C++ это сборщик мусора. Но это только на первый взгляд упрощение, опыт показывает, что к упрощению кода это GC не привел, более того породил больше проблем, чем решил. А вот сложности, например, с передачей параметров, о которых я говорил, усложнению кода приводят и еще как.

> Это всё упростило написание кода до предела.

И чем же это подтверждается, Вы-то сами проверяли? Я приводил ссылку на тесты (рекомендую все-таки почитать), давшие прямо противоположный результат. Мой личный опыт с этим полностью согласуется: джавовский код требует больше времени на отладку и требует больше операторов чем C/C++. Кстати C++ тоже не сильно выгрывает в этом смысле у чистого C. Так в чем же состоит упрощение? Можно конечно сказать, что джава программисты в тестах были недостаточно квалифицированы. Но в этом случае придется признать неверным утверждение: "Что бы писать "хорошо" на С++, нужно иметь больше опыта, чем что бы так же "хорошо" писать на Java."

Так что как ни крути, а получается джава была ухудшением по сравнению с C++, а ее популярность держится исключительно на том, что ее поддерживают сервера приложений и GUI (которые мы не обсуждаем, тут C++ бесспорно проигрывает из-за бедности библиотек), написанные на джаве кросплатформенны (с кучей оговорок) в пределах нескольких платформ.
...
Рейтинг: 0 / 0
Java или C++?
    #32648803
Ustazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так как все-таки обстоят дела с переносимостью программ на С++ на уровне исходных кодов и скомпилированных модулей. Можно ли программу написанную на одной платформе компилировать на другой, и можно ли скомпилированный модуль запускать на другой платформе? Под программой я имею ввиду оконное приложение.
...
Рейтинг: 0 / 0
Java или C++?
    #32649302
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java или C++?
    #32649558
Mr. Smith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen не много о Java и C#

Is everything object?

Структуры -- это объекты, унаследованные от System.Object. Посмотрите любую структуру в ClassView.(Читаем в MSDN: Structs, inherit from the base class Object.) Во-вторых, упущена такая "мелочь", что структуры являются value type, т.е. размещаются на стеке, а не в heap.

Подробнее здесь:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vcrefstructtypes.asp

Если уж начал говорить за производительность, то мог бы подробнее отсановится на Value Types. Ни слова про Boxing.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfBoxingUnboxingPG.asp

Далее.

Влияние платформы на самосознание программистов
...в C# нет чётких правил наименования классов и их размещения на диске


MSDN упорно не читается.

Design Guidelines for Class Library Developers здесь
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconNETFrameworkDesignGuidelines.asp

Про GAC тоже ни слова.


Если уж зашла речь о delegate, то нужно упомянуть и об event — они действительно сокращают размер кода при разработке GUI, хотя и ценой отступления от идей ООП.


The event keyword lets you specify a delegate that will be called upon the occurrence of some "event" in your code. Это просто ключевое слово.
Подробнее здесь:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfeventpg.asp



Также, вместо анонимных классов в C# используются делегаты


Неужели невозмоно создать анонимный делегат?! Имелись ввиду анонимные методы, которые появились в спецификации 2.0, только толку от них...


Ух. Упарился я. Короче. Пацаны, автор ни CLR не знает, ни C#. Может в JAVA он и крут...

Да, вот, кстати, про generics материал. С Хайлсбергом интервью.
http://www.artima.com/intv/generics.html

P.S. Просьба возражать аргументровано, со ссылкой на первоисточник.
...
Рейтинг: 0 / 0
Java или C++?
    #32651894
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--Ustazz
Сообщений: 122 Так как все-таки обстоят дела с переносимостью программ на С++ на уровне исходных кодов и скомпилированных модулей.

Да можно. XBuilder C++ позволяет компилить под 5 форм.

SimbianOS, SunOS, Wintel, Linux, UnixHP кажется еще какие-то. Тaм же есть переносимые библиотеки типа BOOST


--и можно ли скомпилированный модуль запускать на другой платформе?

зачем ?
на то и компиляция чтобы сделать платформо-завимую программу.
Вопрос из серии можно JVM от Linux запустить на Wintel?
...
Рейтинг: 0 / 0
Java или C++?
    #32651905
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Ustazz
>Можно ли программу написанную на одной платформе компилировать на другой,

Да, конечно, в этом и была основная идея перехода с ассемблера на C, фортран и пр. языки высокого уровня.

>и можно ли скомпилированный модуль запускать на другой платформе?

Да, можно строить код для другой платформы.

>Под программой я имею ввиду оконное приложение.

В том числе и для оконных приложений при наличии соответствующих библиотек. Правда мы тут обсуждали серверные приложения.
...
Рейтинг: 0 / 0
Java или C++?
    #32666312
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c1272 wessen
Короче создатели этого логичного и целостного языка всех запутали.

Кого они запутали?
Сразу пишут - в java нет указателей в понимании Cи.
Любая переменная передаётся ПО ЗНАЧЕНИЮ.
Переменная может быть примитивной или указывать на объект (но не быть объектом, объект существует сам по себе) - всё.
Любые путаницы разъясняются из этих двух постулатов без проблем :)


Пример с выньЦЕ тут приводился. Нет у джавы какой-то особой кросплатформенности, это легенды.

Есть у неё особая кросплатформенность. Заключается она в том, что написанный код не нужно компилировать, а это гарантирует, что написанное один раз приложение будет работать на любой платформе, где есть JVM.
Нет сейчас? Будет работать когда сделают :)
А что получается с C/C++?
Пишем программу, компилим, запускаем.
Берём исходники идём под другую os, где раньше не было компилятора. Компилим, будет работать? :)
Если программа пользовала только базовые методы - то вероятно да.
Если есть строннии библиотеки - 99% нет. Кто будет поддерживать перевод этих библиотек на новую платформу? Большой вопрос, равно как и вопрос сколько он за это попросит за это денег. Особенно, если этой библиотеке уже 10 лет и преписывать её задача не на одну неделю.
Если сторонния библиотека доступна в виде исходного кода - вероятность успеха с 1% поднимится до 10%. Можно самому перекомпилить. Однако, какие можно дать гарантии, что в этих библиотеках логика не завязана на специфичных услугах предоставляемых OS или ассемблерных вставках привязанных к определенному классу процессоров? Может повезёт, а может нет.

В случае java любые готовые стороннии библиотеки будут готовы к использованию без каких либо изменений, если обратное не оговорено заранее, т.е. разработчик библиотеки не прицепил кучу native кода, как это сделал microsoft в своё время, за что и поплатилась.


Так создатели сишных компиляторов тоже выпускают библиотеки для всех платформ и разработчик тоже не озабочен как там работает read(). Не вижу большой разницы. Разница только в том, что джавовские библиотеки содержат больше функций (объектов).

Если программа ничего кроме базовых библиотек не будет использовать, то разницы нет, а как часто это на практике?

Читал нам лекции по си/cи++, человек не один год на нём работавший, и приводил примеры кода, который после компиляции разными компиляторами для одной оs работал по разному, т.е. выдавал разные результаты.
Пример конечно изысканный, но факт есть факт. После этого только и говорить о переносимости :)

Чем же Вам fprintf не угодил? То что ему уже 30 лет, так это само по себе не недостаток. По-моему гораздо удобнее чем "<<" в C++, которым никто не пользуется. Вроде в джаве тоже ничего лучшего нет.

Например: System.out.println() - по моему, кто угодно сразу скажет, что делает этот метод. Что бы разобраться, что делает 5 штук print'ов - нужно читать маны. Конечно, можно и почитать, в этом даже есть какой-то fun.
А так же разбираться что и как делает strcpy и прочии штуки.
Можно разобраться, и пользоваться можно - но только проще от этого язык точно не становится.

Использование подобных методов возвращает к прошлым временам.
Забавно видеть методы на java по 1000 строчек, написанные пару лет назад людьми пришедшими в java с С/C++, да ещё если этот метод пару раз модифицировали :) А вроде в здравом уме были люди...
Этого я боюсь, поэтому и против print'a. Правда это всего лишь симптом, а не болезнь.


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

Две абсолютно разные вещи, принципиально.
Модель виртуальная память для программиста - это ограничение на максимальное кол-во одновременно существующих объектов и всё.
Модель физической памяти - это наличие ячеек памяти, наличие размера у этих ячеек, наличие адресов у ячеек, возможность прямого доступа к ячейкам и т.д. и т.п. Помниться была проблема, что для одного и того же типа переменной в компиляторах под разные os отводился разный размер, как следствие разные диапазоны значений...
Может ещё проблемы 'buffer overflow' нет в С коде? В том же самом fprintf'е или одного из аналогов этой штуки.
Действительно полегчало.


Влезание джавы в концепцию ООП предлагаю не обсуждать по причине осутсвия таковой. Правильнее было бы сказать: "При создании Java, был отброшен балласт не влезающий в джавовскую концепцию ООП".

Пусть даже так. Но это чистка пошла только на пользу. Весь язык видно целиком, если что-то нужно сделать "это можно сделать только одним способом" (если брать технические аспекты, а не логику приложения).


Не используйте сущности, которые не знаете. Я, например, не знаток C++ и не использую многих его возможностей и хорошо себя чувствую, на мои программы никто не жаловался. Единственное упрощение джава по сравнению с C++ это сборщик мусора. Но это только на первый взгляд упрощение, опыт показывает, что к упрощению кода это GC не привел, более того породил больше проблем, чем решил. А вот сложности, например, с передачей параметров, о которых я говорил, усложнению кода приводят и еще как.

Угу. Пока не возникнет необходимость по какой-то причине править чужой код. Тоже попросить не использовать сущности? А если сущностями можно спокойно не пользоваться, то зачем они нужны? - вот и получается милая и простая java.

Про memory leak's в свете использования gc я уже писал. На счёт больше породил проблем, чем решил - не соглашусь, если не думать что gc понацея от всех бед и понимать, что он делает, то проблем он не порождает.

Сложностей с передачей параметров никаких нет. Всё прозрачно.


> Это всё упростило написание кода до предела.

И чем же это подтверждается, Вы-то сами проверяли? Я приводил ссылку на тесты (рекомендую все-таки почитать), давшие прямо противоположный результат.
Мой личный опыт с этим полностью согласуется: джавовский код требует больше времени на отладку и требует больше операторов чем C/C++.
Кстати C++ тоже не сильно выгрывает в этом смысле у чистого C.
Так в чем же состоит упрощение? Можно конечно сказать, что джава программисты в тестах были недостаточно квалифицированы. Но в этом случае придется признать неверным утверждение: "Что бы писать "хорошо" на С++, нужно иметь больше опыта, чем что бы так же "хорошо" писать на Java."

Ходил я туда, читал про телефонные номера.
Если отбросить фразы в сторону java заканчивающиеся "но поскольку утверждать это нельзя, не относитесь к ним серъёзно", то там ничего обидного про java не сказано :)
Ну работала она 4.5 года назад в 1.5-2 раза медленнее, ну ела памяти побольше в 3-4 раза, потому что gc вызывается не постоянно, а только когда возникает в этом необходимость, а до поры до времени свободные объекты висят в памяти. Ничего удивительного и не из-за чего махать руками.

Размер кода тоже параметр сомнительный. Код должен быть прежде всего понятным, а потом уже сжатым "в три строчки" за счёт специфики синтаксиса.

Может шутки ради повторим тестирование? Я делаю на Java, вы на Си++ потом сравниваем? :) Как никак jdk нынче до версии 1.5 доползло взамен 1.2, да и компиляторы Cи++ вроде на одном месте не стояли. Только бы свободное время выбрать, да судей не предвзятых найти :)


Так что как ни крути, а получается джава была ухудшением по сравнению с C++, а ее популярность держится исключительно на том, что ее поддерживают сервера приложений и GUI (которые мы не обсуждаем, тут C++ бесспорно проигрывает из-за бедности библиотек), написанные на джаве кросплатформенны (с кучей оговорок) в пределах нескольких платформ.
Ну ни как этого не получается :)
Сервера держатся именно из-за мощности концепций заложенных в основу java, из-за того, что код серверных приложений живёт долго, требует периодической модификации согласно меняющимся требованиям и при этом важна как скорость разработки так и производительность готового продукта.
Присловутые в 2 раза медленее в случае серверов - не проблема, думаю не стоит объяснять механизмы которые позволяют на это не обращать внимание...

"(с кучей оговорок) в пределах нескольких платформ" - не могу конечно утверждать, но вот почему-то мне кажется, что эти пределы перекрывают
"переносимость синтаксиса c++ между компиляторами" с хорошим запасом. Лучше всё-таки не кидаться такими словами ни вам ни мне.


Скорее надо говорить не о рекламе явы, на которую все купились много лет назад, а о стабильном её пресовании из-за тормознутости старых версий графических библиотек на слабых машинах, что скинуло её с клиенской стороны.
...
Рейтинг: 0 / 0
Java или C++?
    #32667983
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

>Кого они запутали?

Да вот Вас, например.

>Сразу пишут - в java нет указателей в понимании Cи.
...
>Переменная может быть примитивной или указывать на объект


Так указателей же нет. Только не нужно говорить, что это не указатель "в понимании C". Указатель как свежесть у мяса, имеет 2 состояния или он есть, или его нет, никакого особого "понимания" у него нет.

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


Чепуха, уже надоело объяснять почему. К физическим ячейкам никто не обращается. Кнут в своем "Искусстве программирования" построил виртуальный компьютер, определил для него ассемблер и обращается к адресам этой виртуальногй машины. Эта книга - классика алгоритмов, советую почитать, и все они написаны на этом ассемблере. В этой машине какая память виртуальная или физическая?

> Помниться была проблема, что для одного и того же типа переменной в компиляторах под разные os отводился разный размер, как следствие разные диапазоны значений...

И это чушь. char - 1 байт, short - 2 байта, long - 4 байта. Только int зависит от реализации. Это стандарт, более того, на этом строится идея переносимого языка (см. Керниган, Ричи, самое начало). Похоже выяснился источник проблем. Вы пытаетесь сравнивать C и джаву, так ознакомьтесь хотя бы с основами первого.

> Например: System.out.println() - по моему, кто угодно сразу скажет, что делает этот метод. Что бы разобраться, что делает 5 штук print'ов - нужно читать маны. Конечно, можно и почитать, в этом даже есть какой-то fun.
А так же разбираться что и как делает strcpy и прочии штуки.
Можно разобраться, и пользоваться можно - но только проще от этого язык точно не становится.

Использование подобных методов возвращает к прошлым временам.
Забавно видеть методы на java по 1000 строчек, написанные пару лет назад людьми пришедшими в java с С/C++, да ещё если этот метод пару раз модифицировали :) А вроде в здравом уме были люди...
Этого я боюсь, поэтому и против print'a. Правда это всего лишь симптом, а не болезнь.


Или я чего-то не понял, или это какой-то бред. Извините. Почему printf() это болезнь, а System.out.println() это шаг вперед? Почему по strcpy() нужно читать маны, а по System.out.println() нет?

Не нравятся маны - читайте книги. По джаве (и библиотекам) их написано не намного меньше чем по C/C++, но за гораздо более короткое время. Зачем, спрашивается, кто их покупает, платит бабки, если и так все понятно?

> Читал нам лекции по си/cи++, человек не один год на нём работавший, и приводил примеры кода, который после компиляции разными компиляторами для одной оs работал по разному, т.е. выдавал разные результаты.
Пример конечно изысканный, но факт есть факт. После этого только и говорить о переносимости :)


Не вижу аргумента. Вы же только что признали, что и на джаве можно написать программы, которые не будет работать везде ("В случае java любые готовые стороннии библиотеки будут готовы к использованию без каких либо изменений, если обратное не оговорено заранее"), да это и так очевидно. Вот по Вашей логике получается: "После этого только и говорить о переносимости :)" джавы.

> Ну работала она 4.5 года назад в 1.5-2 раза медленнее, ну ела памяти побольше в 3-4 раза, потому что gc вызывается не постоянно, а только когда возникает в этом необходимость, а до поры до времени свободные объекты висят в памяти. Ничего удивительного и не из-за чего махать руками.

Смешно. То же самое слово в слово говорилось 4.5 года назад. Придумали бы что-нибудь новое.

> Может шутки ради повторим тестирование? Я делаю на Java, вы на Си++ потом сравниваем? :) Как никак jdk нынче до версии 1.5 доползло взамен 1.2, да и компиляторы Cи++ вроде на одном месте не стояли. Только бы свободное время выбрать, да судей не предвзятых найти :)

Шутки ради не получится. Имеют место 2 важные детали.

1) Это тестирование отличается от других тем, что там набрана статистика. Врядли нам удастся повторить этот момент, а без статистики тест не будет серьезным.

2) Скорость исполнения почти никогда роли не играет. А вот длина кода и особенно скорость разработки (а они связаны, это известный факт, и об этом, кстати, в отчете тоже написано, нужно только почитать внимательнее) играют большую роль. Если верить тестам, да и Вы вроде не спорите, только называете этот параметр сомнительным, то по размеру кода, а следовательно по скорости разработки, джава тоже в пролете.

В заключение. Все Ваши существенные аргументы относятся не к сравнению языков программирования, а к сравненнию окружения. У джавы есть виртуальная машина, у С/С++ ее нет. Так я с этим и не спорю. Я сразу сказал, что можно было создать виртуальную машину для C/C++, а не выдумывать новый язык в угоду недоучившейся публике. И C/C++ совершенно спокойно мог бы использоваться абсолютно везде, где сейчас используется джава.
...
Рейтинг: 0 / 0
Java или C++?
    #32669452
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
%26gt;Переменная может быть примитивной или указывать на объект

Так указателей же нет. Только не нужно говорить, что это не указатель "в понимании C". Указатель как свежесть у мяса, имеет 2 состояния или он есть, или его нет, никакого особого "понимания" у него нет.

Это не конструктивно.

Существует понятие "указатель", "указывать" в обычном смысле, как мы его используем в русском языке.

"Указатель в Си" - это указатель на адрес памяти и он сам по себе является типом данных. Над ним можно проводить кучу разных операций, не относящихся к куску памяти на который он указывает.

В java не примитивные переменные предоставляют доступ к объекту. Механизм доступа в точности соответствует понятию "указывать на что-то" в русском языке, а не языке Си.

У меня никаких проблем с пониманием нет.


Чепуха, уже надоело объяснять почему. К физическим ячейкам никто не обращается.
Опять игра слов.
"модель виртуальной памяти в java" - ограничение на кол-во объектов
"физическая память" - железо. Адресация ячеек на уровне контроллера памяти
"модель физической памяти в Cи" - эмуляция "физической памяти", т.е. ячеек, адресов на них указывающих etc.

Я сравнивал искючительно 1 и 3 пункты. Объяснять в чйм разница между 2 и 3 мне надо. И про "виртуальную память", которой OS скрывает "физическую память" тоже.


И это чушь. char - 1 байт, short - 2 байта, long - 4 байта. Только int зависит от реализации. Это стандарт, более того, на этом строится идея переносимого языка (см. Керниган, Ричи, самое начало). Похоже выяснился источник проблем.
Это источник не моих проблем, а того, кто пишет на этом языке.
Если специальным образом не обрабатывать int, то при использовании разных реализаций компилятора могут быть возникать ошибки. Разве нет?
Естественно это не неустранимая проблема, зато сколько можно получить "удовольствия" от поиска причины бага в многокилометровом чужом коде.


Или я чего-то не понял, или это какой-то бред. Извините. Почему printf() это болезнь, а System.out.println() это шаг вперед?

Болезнь не оператор, а стиль программирования, оператор симптом, - я так писал. printf ничем не хуже sout с точки зрения функциональности, даже получше, только он выпадает из общей "красивой картинки" предрасполагая к иному стилю мышления.
С точки зрения ООП (в мой интерпретации :)), метод это действие совершаемое над объектом, если есть метод, но не указан объект - это уход в сторону. Вот и всй.
Пожалуйста, пишите printf, при не обходимости можно всегда в уме приписать к кому объекту это действие относится.
Ну вроде совсем прозрачно осветил свою точку зрения.


Почему по strcpy() нужно читать маны, а по System.out.println() нет?
Не нравятся маны - читайте книги.
Это вопрос простоты языка для понимания/изучения.
Простой пример:
Как мне догадаться, что мне нужна функция atof(), что сделать из строки число? Придйтся порыться прежде, чем найти. Не важно где, в книгах, гугле, манах или спросить на форуме.
А в java? Что хотим получить? Число. Из чего? Из строки.
Пробегаем по методам класса String - не видим названия в котором есть что-то похожее на convert.
Пробегаем по классу Integer - вот он - Integer.parseInt(String s);
Тут же видим полное описание метода, какие exception'ы он может кидать и т.д. Даже посмотреть его реализацию для уточнения любых вопросов, которые могут возникнуть.

Пока досканально не выучишь библиотеки, теряется время.
Вопрос: на что потребуется больше потратить времени на изучение бибилотек java или с?

Вот и всй, что я имел в виду...


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

А если подумать?
Вышла новая спецификая jdk, вышла новая серия книг отличающихся от старых обзором добавлений в новой версии.
По сути эти книги простое переписывание java doc'ов(толстые книги) и перевода текущего туторила постоянно доступного на сайте java(по тоньше).
Сюда же можно отнести "книги" для студентов по курсам лекций и т.п. Их не много.

Другой класс книг "по java" - это описания технологий программирования с примерами на java. Это книги по использованию Uml, классич.алгоритмам, паттернам, антипаттеры, XP, рефакторинг, серверная архитектура и т.п. Но это не книги по языку, там не учат, что такое java, там излагают идеи равноприменительные к любому ООП языку. Таких книг для Java действительно больше, чем для C/C++.
Не возникло идеи почему? :)

И отдельно стоит небольшая книжечка с описание антипатернов связанных с "неправильным" использованием библиотек java. Где простым и доходчивым языком говорится о том, почему не надо делать много лишних объектов, почему использование StringBuffer иногда оказывается на порядок эффективнее чем String и т.п. проблемок.



Не вижу аргумента. Вы же только что признали, что и на джаве можно написать программы, которые не будет работать везде ("В случае java любые готовые стороннии библиотеки будут готовы к использованию без каких либо изменений, если обратное не оговорено заранее"), да это и так очевидно.

Использование native кода в джава приложение делает его не преносимым, поскольку native код написанный на том же С++ будет не переносим. Ограничение на переносимость лежит в native коде, а не java коде.
Отсюда следует:
- не используйте native код и приложение будет переносимо полностью.
- проще перенести не большой по объему native код на новую платформу (или переписать сохранив функциональность), чем переносить приложение целиком написанное на native языке.

И кто предстайт в более выгодном свете Си или Java, учитывая, что native код используется крайне редко? Единственное обоснование для его использования написать приложение именно под одно платформу, либо уже есть native код который долго переписывать и на это нет средств, но в последнем случе хуже не станет.

Хотя "жалко", кончено, что чтение реестра непоулчится организовать в linux'е... Действительно, ЭТОТ факт я признал.


Вот по Вашей логике получается: "После этого только и говорить о переносимости :)" джавы.

Что бы получилось по моей логике, нужен пример, парочки jre, которые одну и туже спецификацию java понимают по разному. Но о таких я не слышал.
Причйм примеры, о которых я писал, иллюстировали различную трактовку синтаксиса языка, а не различия в реализации стандартных библиотек, что тоже могло бы приводить к разным результатам работы программы.


Смешно. То же самое слово в слово говорилось 4.5 года назад. Придумали бы что-нибудь новое.

А что смешного? Это факт, зачем что-то придумывать?
Да медленее, но не намного.
Да больше, но сравнивать тоже надо правильно. Выдели 64 - есть вероятность что приложение съет всю, выдели 128 той же программе - опять съест, а почему нет? :) Мусор можно дольше не убирать. Ну пусть даже просто больше.
И что?
Простоту языка и удобство работы купили за счйт железа.
Есть области, где требуется написание программ критичных к скорости, там нет смысла использовать java, но ещй больше областей, где разница небольшая разница в скорости не критична.
Через год-два этих областей станет ещй больше - время отклика 1ms или 2ms велика проблема?


1) Это тестирование отличается от других тем, что там набрана статистика. Врядли нам удастся повторить этот момент, а без статистики тест не будет серьезным.
2) Скорость исполнения почти никогда роли не играет. А вот длина кода и особенно скорость разработки (а они связаны, это известный факт, и об этом, кстати, в отчете тоже написано, нужно только почитать внимательнее) играют большую роль. Если верить тестам, да и Вы вроде не спорите, только называете этот параметр сомнительным, то по размеру кода, а следовательно по скорости разработки, джава тоже в пролете.

1) Если речь идйт о статистики в смысле кол-ва вариантов программ, то это и так не серьйзно. Она определяет уровень "квалификации" программиста пишущего на языке - а не специфику языка. Хотя информация конечно, любопытная.
2) Я внимательно читал :) в том числе и оригинал. Для данной задачи скорость написания кода на Cи и Java должна быть одинакова. Сложность задачи исключительно алгоритмическая - какую структуру данных выбрать для хранения слов, понять как она должна работать, как осуществить перебор вариантов.
Их пример с 69 часами - просто прелесть.
Автор сам говорит, что примеров кода на С/C++ очень мало.
Если отбросить варианты отнявшие > 20ч, что говорит о трудности понимания, что же надо написать, то среднее время получится одинаковым, как я и говорю.
С длинной программ лидерства тоже быть не может ни у одного из этих языков при решении предложенной задачи.
Операторы языков очень похожи и для данной задачи нельзя было использовать подходящую библиотеку (нет 10нарного дерева в библиотеках ни того ни другого языка :)). В результате так и получилось, среднее кол-во строк одинаково.
На графиках (5 и 6) всё это видно.


В заключение. Все Ваши существенные аргументы относятся не к сравнению языков программирования, а к сравненнию окружения. У джавы есть виртуальная машина, у С/С++ ее нет. Так я с этим и не спорю.

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


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

--

А какой смысл сравнивать языки сами по себе, абстрагировавшись от библиотек и прочего?

Ясно, что java большое упрощение, всё расчитано на "чистый" ООП. Ни каких структур, записей, адресов в памяти, всего что упрощает написание кода "сплошняком". Только классы, интерфейсы, методы, набор ключевых слов для организации доступа, несколько примитивных типов.

Код java можно тупо превратить в код Си заменой ключевых слов (забудем про разницу в библиотеках и ключевое слово synchronize). Обратно тяжелее.


Выводы
- Си++ сложнее для изучения, чем Java.
(В итоге это не принципиально.)
- ОО Модель в Си++ шире, чем в Java. Множественное наследование, делгация методов, передача параметров, переопределение операторов, еtc
(Это позволяет как минимум строить "сложные" конструкции объектов и такие же связи между ними. Что лучше вылавливать в них потом ошибки или не усложнять код ровном месте - трудно сказать.)
- в Cи++ много "хаков" экономящих строчки при написании кода.
(требует достаточно большого опыта работы с языком, зато код компактнее,
главное только потом не забыть, что же он делает)
В java что-то похожее появилось в версии 1.5 (пока бета) например foreach, автоматическая обвёртка примитивных типов при добавлении в коллекции и т.п.
- В Си++ можно писать код "по-старинки", как на С.
(С одной стороны хорошо, с другой плохо. Плохо, потому что грамотно написать ОО код, который легко править, отлаживать, документировать и т.д. проще, чем написать такой же по этим параметрам код без ОО подхода (хотя и возмжно:)) Хорошо, потому что простые программы пишутся быстрее, сохраняется связь со старым кодом(?), старые добрые классич.алгоритмы существуют именно в таком виде, т.е. их легче реализовывать. )
- В с++ есть указатели и связанные с этим возможности и сложности, есть необходимость следить за удалением объектов, есть проблемы аналогичные memory leak's в java, но в меньшей степени.

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


Но в целом, эти различия не значительны для опытных программистов.

Разница только в скорости работы (выигрывает Си++), способе достижения переносимости (выигрывает java) и доступных библиотеках(java). Если библиотека хороша и удобна, код будет написан быстрее, чем если её совсем нет или организованна она через одно место. В области написания серверных приложений Java молодца, т.к. за этим процессом следят, существуют контейнеры для серверных приложений, фреймворки для этих контейнров и куча куча всего, что упрощающая работу не связанную с логикой приложения.
На клиентской стороне такого подавляющего преимущества нет. Разве что swing не плох :) Боятся пока писать серьёзные приложения в большом кол-ве.
Хотя пишут. Пример, той же самой IDE IntelleJIdea. Но пока ещё рановато...
Вот станут процессоры ещё на 1 Ггц побыстрее, добавят юзеры памяти чуть побольше и полетим с оpenGL'кими swing'aми вперёд :)
...
Рейтинг: 0 / 0
Java или C++?
    #32669764
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

>Это источник не моих проблем, а того, кто пишет на этом языке.

Это источник проблем в нашей дискуссии: Вы не знаете C в необходимой мере, поэтому просто не понимаете моих аргументов. Это не наезд на Вас, знание C по большому счету не обязательно.

>В java не примитивные переменные предоставляют доступ к объекту. Механизм доступа в точности соответствует понятию "указывать на что-то" в русском языке, а не языке Си.

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

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

>Опять игра слов.
"модель виртуальной памяти в java" - ограничение на кол-во объектов
"физическая память" - железо. Адресация ячеек на уровне контроллера памяти
"модель физической памяти в Cи" - эмуляция "физической памяти", т.е. ячеек, адресов на них указывающих etc.

Я сравнивал искючительно 1 и 3 пункты. Объяснять в чйм разница между 2 и 3 мне надо.


Ну раз надо объяснять - объясняю. Разницы нет никакой. Точно так же как нет разницы между пунктами 1 и 3, о чем и была речь. Я привел пример с машиной Кнута и задал вопрос. Если это разные вещи, то проблем с ответом на мой вопрос быть не должно. Ответьте на него.

>А что смешного? Это факт, зачем что-то придумывать?

Смешно то, что раз в 4 года джависты говорят: вот 4 года назад джава была неконкурентноспособной, зато теперь - все супер. Вы по-видимому недавно программируете, так что просто поверьте мне, фраза "Ну работала она 4.5 года назад в 1.5-2 раза медленнее, ну ела памяти побольше в 3-4 раза, потому что..." была очень популярна в конце 90-х.

>1) Если речь идйт о статистики в смысле кол-ва вариантов программ, то это и так не серьйзно. Она определяет уровень "квалификации" программиста пишущего на языке - а не специфику языка.

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

>Для данной задачи скорость написания кода на Cи и Java должна быть одинакова. Сложность задачи исключительно алгоритмическая - какую структуру данных выбрать для хранения слов, понять как она должна работать, как осуществить перебор вариантов.
...
С длинной программ лидерства тоже быть не может ни у одного из этих языков при решении предложенной задачи.
...
Читать чужой код на Си++ тяжелее, чем чужой java код, т.к. java простая до безобразия, т.е. приходится меньше фич языка держать в голове.


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

Это все кривизна именно языка, а не библиотек.

>Но в целом, эти различия не значительны для опытных программистов.

Это Вы просто не видели опытных программистов. У опытного программиста в спинном мозге прописано, что должна быть возможность передавать значения параметров в функции и обратно, ему и в страшном сне не может присниться что такой возможности нет. В результате получается, что время, затраченное опытным программистом на борьбу с подобными чудесами, выплывающими в самый неожиданный момент, существенно превышает времея, затраченное на изучение библиотек, которые изучать приходится в любом случае.
...
Рейтинг: 0 / 0
Java или C++?
    #32669797
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot NotGonnaGetUs]

--Как мне догадаться, что мне нужна функция atof(), что сделать из строки число? Придйтся порыться прежде, чем найти. Не важно где, в книгах, гугле, манах или спросить на форуме.

вообще-то есть разные реализации библиотек. Сам по себе С++ не предпологает. Не нравится библиотека из стандартной поставки - пользуйтесь сторонними, коих, мультиплатформенных ( а они работают на таком количестве платформ, которые и не снились Джаве). Мне лично нравится VCL от Borland. Есть класс стринг а у него методы ToInteger, ToFloat, ,,, все как нравится любителям жавы.
Но я знаю стоимость такого класса в памяти и при затратных по времени и ресурсам оперциях перехожу на char[] и atoi о то и ручками работаю с указателями чтобы не терять на вызов функций.

--Пока досканально не выучишь библиотеки, теряется время.
для этого inline help имеется - или джависты с командной строки работают ?
Мне и в голову не приходит заучивать сотни и тысячи фукнций winapi и все того что наваял microsoft в своих SDK, DDKi

Вопрос: на что потребуется больше потратить времени на изучение бибилотек java или с?

C конечно, описание которого занимает 26 страничек формата А6, а не двухкилограммовый кирпич жавы.

--Есть области, где требуется написание программ критичных к скорости, там нет смысла использовать java, но ещй больше областей, где разница небольшая разница в скорости не критична.
Через год-два этих областей станет ещй больше - время отклика 1ms или 2ms велика проблема?

не станет больше. Просто задачи новые встают. Сравни winword95 и winword Office11. Просто небо и земля. Начинают решаться задачи о которых из-за нехватки ресурсов никогда не задумывались. Наш консалтинг задачу моделирования гоняет не двое суток как раньше а 20 часов на весьма дорогой тачке. И я сомневаюсь что и через 20 лет это будет в интерактивном режиме.

---2) Скорость исполнения почти никогда роли не играет. А вот длина кода и

вы что ли ноутпады пишете ? порисуйте графику в 3D де кстати примеры а-ля DOOM жаве ? Он портирован на тучу платформ на С++

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

вне сомнений С++ выиграет.

--Операторы языков очень похожи и для данной задачи нельзя было использовать подходящую библиотеку (нет 10нарного дерева в библиотеках ни того ни другого языка :)). В результате так и получилось, среднее кол-во строк одинаково.

писака был слабый.

--Код java можно тупо превратить в код Си заменой ключевых слов (забудем про разницу в библиотеках и ключевое слово synchronize). Обратно тяжелее.

есть трансляторы в жаву так что не труднее

- Си++ сложнее для изучения, чем Java.

дак и мощнее

- В Си++ можно писать код "по-старинки", как на С.

В С++ можно писать практически также как в любом другом языке программирования

- Читать чужой код на Си++ тяжелее, чем чужой java код

работаю в команде и скажу что испытваю какие-нибудь затруднения

--эффективно, нужен баальшой опыт, намного больше, чем java юзера.
давно пора понять что программист выученный с водителя грузовика на курсах тети Сони за 2 месяца - это миф.
...
Рейтинг: 0 / 0
Java или C++?
    #32669975
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--работаю в команде и скажу что испытваю какие-нибудь затруднения

читать - "не испытваю" в том числе и с кодом взятым из открытых источников
...
Рейтинг: 0 / 0
Java или C++?
    #32672251
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Это источник проблем в нашей дискуссии: Вы не знаете C в необходимой мере, поэтому просто не понимаете моих аргументов.

Попытались бы объяснить "на пальцах".


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

Да какая тут философия. Если я покажу на столбик со стрелкой, вы тоже скажите, что это указатель такой же как в языке си? :) Вроде нет. Хотя тоже указвает на объект какой-то.
С переменными в java таже самая ситуация, указатель есть, но не такой как в си.
"Революционность" в том, что указатель в java исполняет только одну роль - указывает на объект, и не имеет ни как дополнительных нагрузок в виде "ячеек памяти".
Откуда у вас появляется чувство, что sun вас пытается обмануть и вы бросаетесь его разоблочать в этом вопросе - не понятно :)

Только не надо говорить, что я признал, что в java есть указатели :) Я постом выше написал тоже самое, что и сейчас.


Кнут в своем "Искусстве программирования" построил виртуальный компьютер, определил для него ассемблер и обращается к адресам этой виртуальногй машины. Эта книга - классика алгоритмов, советую почитать, и все они написаны на этом ассемблере. В этой машине какая память виртуальная или физическая?
Ответьте на него.

В этой машине "физическая модель памяти". Как и в Си. А вот в java нет :)



Смешно то, что раз в 4 года джависты говорят: вот 4 года назад джава была неконкурентноспособной, зато теперь - все супер.

По крайней мере, я такого не говорил.
Но согласиться, что чем быстрее становятся машины - тем меньше становится относительная разница между скоростью программ на си и java - соглашусь. И все с этим согласятся, не зависимо от вероисповедания :)


Вы по-видимому недавно программируете, так что просто поверьте мне, фраза "Ну работала она 4.5 года назад в 1.5-2 раза медленнее, ну ела памяти побольше в 3-4 раза, потому что..." была очень популярна в конце 90-х.

Самое интересное, что это была и есть правда. Java работает медленее и ест больше памяти по вполне понятным причинам. Очевидно есть грань, ниже которой отношние Java/C не упадёт, думаю где-то между этими 1.5-2 и есть. ("Ну работала она 4.5 года назад в 1.5-2 раза медленнее, ну ела памяти побольше в 3-4 раза, потому что..." - я сравниваю с Си++, а не с JVM той поры и этой - может вы по-другому подумали.)

Смеяться надо над другим:
Мне пришлось однажды сравнивать работу одной програмки (правда написанной через одно место) под MSJVM (last version) и JRE 1.4.
Это был html table editor - он генерил много объектов, создавал много потоков и часто вызвал методы перерисовки содержимого на экране.
При редактировании таблички 20х20, в первом случае отклик был минута-полторы, во втором - отклик измеряемый десятками ms. Это действительно забавно.




>1) Если речь идйт о статистики в смысле кол-ва вариантов программ, то это и так не серьйзно. Она определяет уровень "квалификации" программиста пишущего на языке - а не специфику языка.

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

(Не "программиста", а "программистов". - усреднённого программиста, пропустил слово)

Я легко поверю, что среди людей "знающих" язык java, доля криворуких больше, чем среди "знающих" Cи++.
Но работодатель ведь не просто так людей берёт, если для текущей работы нужны граммотные люди (а этот параметр инвариантен между языками), он возмёт грамотных.
Тем не менее, к языку самому по себе этот параметр относится слабо.


>Для данной задачи скорость написания кода на Cи и Java должна быть одинакова. Сложность задачи исключительно алгоритмическая - какую структуру данных выбрать для хранения слов, понять как она должна работать, как осуществить перебор вариантов.
...
С длинной программ лидерства тоже быть не может ни у одного из этих языков при решении предложенной задачи.
...
Читать чужой код на Си++ тяжелее, чем чужой java код, т.к. java простая до безобразия, т.е. приходится меньше фич языка держать в голове.


Это все неверно.
...
Я уже приводил пример со строками как параметрами функций. Они почему-то в джаве передаются по значению, хотя к элементарным типам вроде бы не относятся.
...
Это все кривизна именно языка, а не библиотек.

Опа, и как я такое чудо пропустил? :)
Строки это объекты - передаются они, как и все объекты, не позначению.
Хотя я примерно представляю, как могло возникнуть такое мнение.
Объект String реализует паттер immutable object (в отличии от объекта StringBuffer), поэтому преобразование с участием String похоже на преобразования с примитивными типами, плюс попытка присвоить параметру метода новое значение (вот уж точно запутались) - в результате получили, что стринг передался по значению :)

В языке нет и не было кривизны. Только простота.
Соответсвенно, "всё неверно" - верно.


>Но в целом, эти различия не значительны для опытных программистов.

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

Ну, ситуацию со String я вроде разъяснил.
Что ещё не так с параметрами функции - не понял.
Не нравится, что примитивные типы передаются по значению?
Ну, это не должно быть проблемой для опытного программиста.
На самом деле необходимости в этом нет - только привычка так делать. Из java выкинули всё без чего можно легко обойтись.

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

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

--

Хотя согласен, если всю жинь писать на C/C++ и любить этот язык, будет трудно писать на java. Будет возникать постоянное желание сказать - "а вот это в С/С++ можно было сделать по другому" :)

Мой зав.кафедрой (нучный центр нейрокомпьютеров при РАН) интересную вещь сказал - "Зачем мне все знать все эти PC, Windows, Linux, Word etc - что такое знание Word'a? Это условность. Сделают завтра по другому - все мои знания пропадут. А теория нейронных сетей как появилась в 40-50хгг, так все работы до сих пор актуальны."

Опытные программисты на C в подобной ситуации - они владеют особенностями синтаксиса языка и стандартными библиотеками, это, бесспорно, не за один день преобретаемые знания, но это всего лишь "знать какие кнопочки в Worde нажимать". Заставь писать на другом языке и добрая половина профессионализма пропадёт. Останется только "истинное"
программерское знание, которое "вечно" - алгоритмы, методы проектирование, методы отладки, etc, о чём уже не раз говорил. А ведь жалко взять и за раз столько потерять, правда? :)

Да и вряд ли надо матёрому сишнику переходить на java. Он и так работу найдёт и свои дни счастливо доживёт (скорее всего:)).
А вот тому, кто только начинает или не успел "заматереть" - стоит хорошо подумать к чему стремиться.
...
Рейтинг: 0 / 0
Java или C++?
    #32672305
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik
Сам по себе С++ не предпологает. Не нравится библиотека из стандартной поставки - пользуйтесь сторонними, коих, мультиплатформенных ( а они работают на таком количестве платформ, которые и не снились Джаве). Мне лично нравится VCL от Borland.

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

Согласен, наличие хороших мультиплатформенных библиотек не может не радовать, скорее было бы удивительно, если бы их не сделали в конце концов.


--Пока досканально не выучишь библиотеки, теряется время.
для этого inline help имеется - или джависты с командной строки работают ?
Мне и в голову не приходит заучивать сотни и тысячи фукнций winapi и все того что наваял microsoft в своих SDK, DDKi

Вопрос: на что потребуется больше потратить времени на изучение бибилотек java или с?

C конечно, описание которого занимает 26 страничек формата А6, а не двухкилограммовый кирпич жавы.

Зачем с командной строки, зачем обижать? :)
Досканально знать библиотеку - это знать её возможности. Что бы не ломать голову - умеет/не умеет, а чётко и быстро найти как выполнить нужное дествие. Тут большую роль играет архиектура бибиотеки, чем умение пользоваться inline help'ом.
Хотя, стоит заметить, что речь я вёл про библиотеки из разряда стандартных сишных.
Если в Си++ есть милые/хорошие библиотеки, то изучить их не труднее чем java библиотеки. Тут нужно только правильно подсчитать кол-во библиотек, которые придётся учить. Утверждать, что-либо более не могу - опыта маловато.

В java, слава богу, никакого winapi и не ясностей с выбором библиотек нет.


Просто задачи новые встают. Сравни winword95 и winword Office11. Просто небо и земля. Начинают решаться задачи о которых из-за нехватки ресурсов никогда не задумывались.
Это хорошо подмечено. Хотя функциональность не может разрататься без предела, пользуется ей всего лишь человек. Согласен, быть в числе лидеров среди таких монстров как офис, java продукты ещё пару лет не смогут :)


---2) Скорость исполнения почти никогда роли не играет. А вот длина кода и
вы что ли ноутпады пишете ? порисуйте графику в 3D де кстати примеры а-ля DOOM жаве ? Он портирован на тучу платформ на С++

Графика это прежде всего железо, поэтому джава рисовать будет плохо. Тут не поспоришь. Пока не наблюдал хороших библиотечек под openGl для java.
Как будет посмотрим :)


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

вне сомнений С++ выиграет.

В задаче о которой шла речь - нет :) Хотя если слипить всё в одну кучу...


--Операторы языков очень похожи и для данной задачи нельзя было использовать подходящую библиотеку (нет 10нарного дерева в библиотеках ни того ни другого языка :)). В результате так и получилось, среднее кол-во строк одинаково.

писака был слабый.

Ваш вариант в студию :)


--Код java можно тупо превратить в код Си заменой ключевых слов (забудем про разницу в библиотеках и ключевое слово synchronize). Обратно тяжелее.

есть трансляторы в жаву так что не труднее

А тестировать их работу пробовали? эффективность получившегося кода, читаемость, размер, etc. В любом случае - это задача далеко не тривиальная, если хорошо закрутить код на сях.


- Си++ сложнее для изучения, чем Java.

дак и мощнее

На столько мощнее, что достаточно задач, где эта мощность не нужна.
"Зачем платить больше, если стирает так же?" (с)


- В Си++ можно писать код "по-старинки", как на С.

В С++ можно писать практически также как в любом другом языке программирования

- Читать чужой код на Си++ тяжелее, чем чужой java код

работаю в команде и не скажу что испытваю какие-нибудь затруднения

Согласен - можно, верю - не испытываете.
Речь не об этом. Речь о том, что java в этих вопросах проще.
Не любой код написанный на Cи++ прост для понимания, именно из-за возможностей языка. Можно написать такое, что чёрт ногу сломит, пока будет разбираться. Если все пишут аккуратно и красиво, очевидно проблем с пониманием не будет.
Как я говорил - при высокой квалификации программиста, все различия проще/сложнее между языками сглаживаются и остаётся только разница в библиотеках.


--эффективно, нужен баальшой опыт, намного больше, чем java юзера.
давно пора понять что программист выученный с водителя грузовика на курсах тети Сони за 2 месяца - это миф.
Смотря что называть мифом:
- выучить язык за 2 месяца - можно, причём на хорошем уровне.
- научиться программировать - нет. Это дело нескольких лет и соответствующего склада ума.
...
Рейтинг: 0 / 0
Java или C++?
    #32674151
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто, конечно, великолепно. Но говорит о двух не хороших вещах:
- стандартные библиотеки не продуманны
- если каждый использует то, что ему нравится, вместе им работать будет тяжело. Появляется не обходимость в избыточных знаниях библиотек.
Ну уж кого-кого а яву в пример ставить не надо... У нее это далеко не последняя проблема.

авторЗачем с командной строки, зачем обижать? :)
Досканально знать библиотеку - это знать её возможности. Что бы не ломать голову - умеет/не умеет, а чётко и быстро найти как выполнить нужное дествие. Тут большую роль играет архиектура бибиотеки, чем умение пользоваться inline help'ом.
Хотя, стоит заметить, что речь я вёл про библиотеки из разряда стандартных сишных.
Если в Си++ есть милые/хорошие библиотеки, то изучить их не труднее чем java библиотеки. Тут нужно только правильно подсчитать кол-во библиотек, которые придётся учить. Утверждать, что-либо более не могу - опыта маловато.
Ну на си можно было обойтись 5-6 библиотеками... и все были довольны
авторВ java, слава богу, никакого winapi и не ясностей с выбором библиотек нет.
Отсутствие доступа к winapi и другим библиотекам я бы к плюсам не относил, а очень даже наоборот.
авторВаш вариант в студию :)
Почитайте Кнута, а потом просто прикиньте по кол-ву кода... Если прикинете все правильно то согласитесь с Lepsik (хотя выигрыш будет и не особо значительным по кол-ву кода)
автор
Не любой код написанный на Cи++ прост для понимания, именно из-за возможностей языка. Можно написать такое, что чёрт ногу сломит, пока будет разбираться. Если все пишут аккуратно и красиво, очевидно проблем с пониманием не будет.

С++ стимулирует развитие хорошего стиля, по коду как правило можно сказать о квалификации человека его писавшего
авторСмотря что называть мифом:
- выучить язык за 2 месяца - можно, причём на хорошем уровне.
- научиться программировать - нет. Это дело нескольких лет и соответствующего склада ума.
Тогда давайте будем отличать понятия программист и кодер...
...
Рейтинг: 0 / 0
Java или C++?
    #32674346
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
Это, конечно, великолепно. Но говорит о двух не хороших вещах:
- стандартные библиотеки не продуманны


стандартная библиотека пример из которой вы привели пришла от С.
для С++ другая библиотека, где есть класс string и ряд функций, встроенный в соответствии с концепцией ООП на который вы упираете

NotGonnaGetUs
Зачем с командной строки, зачем обижать? :)


но и запоминать полное имя мне не нужно - автоподстановка после имени обьекта сама функцию вставляет - достаточно помнить первые буквы

--В java, слава богу, никакого winapi и не ясностей с выбором библиотек нет.

ну не знаю. есть ряд задач, которых без знания winapi не решить.

NotGonnaGetUs
Ваш вариант в студию :)


после того как я увижу вариант на java.
Я уже делал проекты на java и примерно представляю о чем говорю.

[/quot]
...
Рейтинг: 0 / 0
Java или C++?
    #32674452
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

>Попытались бы объяснить "на пальцах".

Да вроде элементарней уже некуда. Ну как я еще могу объяснить Вам, что должна быть возможность передавать значения параметров функций в обе стороны: в функцию и из функции? В фортране, паскале, C/C++ и даже в ублюдочном бейсике такая возможность есть, а в джаве - нет. В джаве передавать из функции можно только классы. Конечно можно обойтись и без параметров вообще, в раннем бейсике параметров не было, но потом ввели, потому что было очень неудобно работать. Если бы в джаве тоже отказались от параметров, она стала бы еще проще, Вам бы это понравилось.

>В этой машине "физическая модель памяти". Как и в Си. А вот в java нет :)

В С нет никакой "модели памяти".

Не увиливайте. Вопрос звучал так: "В этой машине какая память виртуальная или физическая?". О философии речи не было, все конкретно. Ответьте на этот вопрос.

>По крайней мере, я такого не говорил.

Не сомневаюсь. Вы по-видимому в то время еще учились в школе. Шутка.

>Но согласиться, что чем быстрее становятся машины - тем меньше становится относительная разница между скоростью программ на си и java - соглашусь. И все с этим согласятся, не зависимо от вероисповедания :)

Но по-видимому учились не очень прилежно, ибо в противном случае знали бы, что ОТНОСИТЕЛЬНАЯ разница в данном случае как раз остается постоянной, уменьшается АБСОЛЮТНАЯ разница.

>Опа, и как я такое чудо пропустил? :)
Строки это объекты - передаются они, как и все объекты, не позначению.
Хотя я примерно представляю, как могло возникнуть такое мнение.
Объект String реализует паттер immutable object (в отличии от объекта StringBuffer), поэтому преобразование с участием String похоже на преобразования с примитивными типами, плюс попытка присвоить параметру метода новое значение (вот уж точно запутались) - в результате получили, что стринг передался по значению :)


Я уже столько раз об этом говорил, что устал повторять. Это это ВЫГЛЯДИТ так, как будто они передаются по значению, что там происходит внутри уже не важно, если я не могу в функции изменить значение строки. Это вполне естественная операция по-моему. Но речь шла ведь не только о строках, к элементарным типам это тоже относится, они тоже передаются по значению.

>Мой зав.кафедрой (нучный центр нейрокомпьютеров при РАН) интересную вещь сказал -....
А теория нейронных сетей как появилась в 40-50хгг, так все работы до сих пор актуальны.


Я Вам сочувствую. Это какой институт, если не секрет, хоть какая отрасль? Вряд ли университет (МГУ, НГУ, или как они там сейчас называются) или МФТИ или МИФИ.

Актуальность это какие-то наблюдаемые последствия использования, в "народном хозяйстве" или в смежных областях науки. Не в тему, просто интересно: и в чем же состоит актуальность нейронных сетей?
...
Рейтинг: 0 / 0
Java или C++?
    #32674621
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, с абсолютной разницей это я ошибся, она не уменьшается, а увеличивается.
...
Рейтинг: 0 / 0
Java или C++?
    #32674812
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
>Попытались бы объяснить "на пальцах".

Да вроде элементарней уже некуда. Ну как я еще могу объяснить Вам, что должна быть возможность передавать значения параметров функций в обе стороны: в функцию и из функции? В фортране, паскале, C/C++ и даже в ублюдочном бейсике такая возможность есть, а в джаве - нет. В джаве передавать из функции можно только классы.
"Про пальцы" речь шла о размере int'a, цитирование не к месту :)
Возможность передевать параметры туда и сюда другой вопрос.
Как я уже писал, никаких принципиальных трудностей это не несёт, но избавляет от лишних вопросов.

Конечно можно обойтись и без параметров вообще, в раннем бейсике параметров не было, но потом ввели, потому что было очень неудобно работать. Если бы в джаве тоже отказались от параметров, она стала бы еще проще, Вам бы это понравилось.

Не понравилось бы. Это был бы уже не ООП, а дикабраз. Можно и совсем без переменных, функциональное программирование рулит :) Красиво - но бесполезно.


>В этой машине "физическая модель памяти". Как и в Си. А вот в java нет :)

В С нет никакой "модели памяти".

Не увиливайте. Вопрос звучал так: "В этой машине какая память виртуальная или физическая?". О философии речи не было, все конкретно. Ответьте на этот вопрос.

Так ответил же :) В рамках тех понятий о которых говорилось ранее.
От чего я увиливаю, с ваших слов, - не могу понять.

Не вижу разницы между понятием "физической памяти", когда каждый адрес указывает на реально существующию ячейку памяти, и "физической моделью памяти" - где эта ячейка не "реальная", а просто модель, в частности Os может накрывать физическую память её моделью и обзывать всё это виртуальной памятью (не путать с моделью памяти в java).
И в том и другом случае приходится работать с сущностью "линейное адресное пространство" и т.д.
В java нет этой сущности.

Ещё раз повторюсь - у кнута, у си, одна и таже модель памяти, у java - другая :)


знали бы, что ОТНОСИТЕЛЬНАЯ разница в данном случае как раз остается постоянной, уменьшается АБСОЛЮТНАЯ разница.

Естественно, речь шла о разнице во времени работы, а не отношении этих времён. Описался. Но рад, что доставил вам этим удовольствие :)



Я уже столько раз об этом говорил, что устал повторять. Это это ВЫГЛЯДИТ так, как будто они передаются по значению, что там происходит внутри уже не важно, если я не могу в функции изменить значение строки. Это вполне естественная операция по-моему. Но речь шла ведь не только о строках, к элементарным типам это тоже относится, они тоже передаются по значению.

Странная проблема. Хотите использовать не immutable String, пользуйте StringBuffer, специально для вас сделан.
Стремлении смешать входные параметры метода с выходными, конечно, похвально, но без этого можно легко обойтись.

[quot
>Мой зав.кафедрой (нучный центр нейрокомпьютеров при РАН) интересную вещь сказал -....
А теория нейронных сетей как появилась в 40-50хгг, так все работы до сих пор актуальны.


Я Вам сочувствую. Это какой институт, если не секрет, хоть какая отрасль? Вряд ли университет (МГУ, НГУ, или как они там сейчас называются) или МФТИ или МИФИ.
[/quot]
Почему сочувствуете-то? Нейрокомпьютеры не уважаете или просто ничего про них не знаете? :) Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.
Другого способа решать в реальном времени "алгоритмически трудные" задачи нет и не предвидится.
Почему вряд ли? :)


Актуальность это какие-то наблюдаемые последствия использования, в "народном хозяйстве" или в смежных областях науки. Не в тему, просто интересно: и в чем же состоит актуальность нейронных сетей?
В чём актуальность работ 50 летней давности? В том же, в чём актуальность работ математиков за последнии пару столетий. Они не устаревают, а становятся классическим знанием. Стало ли классическим знанием умение работать с перфокартами? :)

Почему нейронные сети стали актуальны сейчас? Потому что электроника оказалась на достаточном уровне развития. Стоимость "железа" для нейрокомпьютеров и обычных машин - условно говоря сравнялись.
Пример - активные разработки и внедрения в Китае, работа в этой области крупных компаний (тот же Sumsung), даже на етитьских российских заводах идёт подобная работа.
Представте электрическую доменную печь сжирающую в день электричества на несколько миллионов рублей. Эффективно управлять такой системой не возможно обычными средствами. Слишком много входных параметров, случайных параметров (тот же состав руды), что бы в реальном времени можно было принять правильное решение. И оцените цифры дополнительной прибыли от повышения эффективности на 2-3%, хотя реально и 10% :)

А решение трудно формализуемых задач ? Тот же поиск информации в интернет. Поиск именно смысловой, а не конкретных слов, причём за разумные сроки. Распознавание изображений. В германии идёт работа по созданию
"глаза"/"уха" для инплантации незрячим/глухим. Применений придостаточно :)

Правда наша страна, пока не торопится.
...
Рейтинг: 0 / 0
Java или C++?
    #32674816
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Сорри, с абсолютной разницей это я ошибся, она не уменьшается, а увеличивается.
Это не более чем слова. Смысл всегда важнее :)
...
Рейтинг: 0 / 0
Java или C++?
    #32674911
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik
стандартная библиотека пример из которой вы привели пришла от С.
для С++ другая библиотека, где есть класс string и ряд функций, встроенный в соответствии с концепцией ООП на который вы упираете

Да, я это понял.
Лишнее подтверждение того, что в отличии от с++ в java нет баласта из не ООП прошлого. Если сравнивать с++ и java именно как ООП языки, это плюс для джавы.


но и запоминать полное имя мне не нужно - автоподстановка после имени обьекта сама функцию вставляет - достаточно помнить первые буквы

Никому не нужно, во всех нормальных IDE эта функция есть.


--В java, слава богу, никакого winapi и не ясностей с выбором библиотек нет.

ну не знаю. есть ряд задач, которых без знания winapi не решить.

Конечно есть. Но это уже привязка к платформе.
При желании в java её тоже можно реализовать через использование native кода, если приложения заведомо пишется для одной платформы.

Java следует рассматривать с позиции платформенно-независимого ООП языка. Если брать задачи, где эти два фактора не важны - то и java там не нужна. Не уместно сравнивать Си++ и Java оглядываясь на такие задачи.
Понятно, что С++ мощнее, чем java. Но если брать общие задачи решаемые на этих языках, то ответ на вопрос "что эффективнее исползовать" - не очевиден.


после того как я увижу вариант на java.
Я уже делал проекты на java и примерно представляю о чем говорю.

Это не поект, а всего лишь олимпиадная задачка по информатике среднего уровня :)
Если найду время, то в субботу напишу свой вариант, хотя ООПшность java для этой задачи не нужна.
...
Рейтинг: 0 / 0
Java или C++?
    #32675056
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавная ссылка в тему о C++, String и наследнии С.
http://qnx.org.ru/index.php?option=com_minibb&action=vthread&forum=10&topic=155&page=0.html

В диалоге ни слова о java :)
...
Рейтинг: 0 / 0
Java или C++?
    #32675430
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NotGonnaGetUs
Не понравилось бы. Это был бы уже не ООП, а дикабраз. Можно и совсем без переменных, функциональное программирование рулит :) Красиво - но бесполезно.
Отсутствие параметров у функций не означает отсутствие переменных так что ваш коментарий не уместен. И раз уж вы такой сторонник нейронных сетей то ваша фраза выглядит как минимум странно. А как же один из основных "нейронных" языков Lisp (и прочие)?

NotGonnaGetUsСтранная проблема. Хотите использовать не immutable String, пользуйте StringBuffer, специально для вас сделан.
Стремлении смешать входные параметры метода с выходными, конечно, похвально, но без этого можно легко обойтись.
Как гворилось можно и вообще без параметров. Легко обойтись совсем не означает оптимальное решение. Да вот сижу и представляю как я буду входные/выходные параметры из String в StringBuffer гонять... романтика.

NotGonnaGetUsПочему сочувствуете-то? Нейрокомпьютеры не уважаете или просто ничего про них не знаете? :) Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.
Другого способа решать в реальном времени "алгоритмически трудные" задачи нет и не предвидится.
Почему вряд ли? :)

В быт? Уж очень мне интерестно у скольких из миллиарда китайцев есть компьютеры (хотябы ПК), и уж если на то пошло то какие "алгоритмически трудные" задачи возникают в быту??? Приведите пример пожалуйста.
...
Рейтинг: 0 / 0
Java или C++?
    #32675649
Васяня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viper NotGonnaGetUsПочему сочувствуете-то? Нейрокомпьютеры не уважаете или просто ничего про них не знаете? :) Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.
Другого способа решать в реальном времени "алгоритмически трудные" задачи нет и не предвидится.
Почему вряд ли? :)

В быт? Уж очень мне интерестно у скольких из миллиарда китайцев есть компьютеры (хотябы ПК), и уж если на то пошло то какие "алгоритмически трудные" задачи возникают в быту??? Приведите пример пожалуйста.
Перевод инструкции с китайского на русский.
...
Рейтинг: 0 / 0
Java или C++?
    #32676259
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viper NotGonnaGetUs
Не понравилось бы. Это был бы уже не ООП, а дикабраз. Можно и совсем без переменных, функциональное программирование рулит :) Красиво - но бесполезно.
Отсутствие параметров у функций не означает отсутствие переменных так что ваш коментарий не уместен. И раз уж вы такой сторонник нейронных сетей то ваша фраза выглядит как минимум странно. А как же один из основных "нейронных" языков Lisp (и прочие)?

Я же написал, что если совсем без переменных - то функциональное :)
Бесполезно - значит для написания тех вещей для которых используется java.

Причём тут сторонник нейронных сетей или нет ? Я же не зову писать веб сервера в виде нейронных сетей :) Это было бы не удобно.

Для моделирования нейронных сетей никогда lisp'ом не пользовался.

[quotКак гворилось можно и вообще без параметров. Легко обойтись совсем не означает оптимальное решение. Да вот сижу и представляю как я буду входные/выходные параметры из String в StringBuffer гонять... романтика.[/quot]
Не с той стороны подходите.
Вы пытаетесь уже написанный метод перекинуть на java. Тут действительно романтика. Хотя, потом граммотный рефакторинг может превратить эту романтику в хороший, красивый код.
Речь о том, что можно без проблем писать классы и методы у классов так, что бы не возникала необходимость изменять входные параметры метода.
Такая не обходимость признак не ОО решения, а процедурного.


NotGonnaGetUsПочему сочувствуете-то? Нейрокомпьютеры не уважаете или просто ничего про них не знаете? :) Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.
Другого способа решать в реальном времени "алгоритмически трудные" задачи нет и не предвидится.

В быт? Уж очень мне интерестно у скольких из миллиарда китайцев есть компьютеры (хотябы ПК), и уж если на то пошло то какие "алгоритмически трудные" задачи возникают в быту??? Приведите пример пожалуйста.

Что значит "хотябы ПК"? Нейрокомпьютер в универсальное вычислительное устройство ещё не скоро превратится.

Примеры уже приводил.

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

Я участвовал в проекте, где делалась попытка прогноза ВВП по другим экономическим показателям (более 15). Заказчик мин.эконом развития и торговли рф.

Есть замечательная серия книг о нейрокомпьютерах. Около 30 томов. Они ещё не все изданы правда. Поинтересуйтесь в магазинах, одна из книг будет посвящена нейрокомпьютерам в китае :)
...
Рейтинг: 0 / 0
Java или C++?
    #32676264
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВасяняПеревод инструкции с китайского на русский.


На самом деле почти в точку :)
Соврменные переводчики довольно далеки от идеала. Данная задача трудно формализируема, а потому вряд ли будет получено нормальное решение.
Это как раз задача для нейросетей. Выбирать провильный вариант перевода слова в зависимости от контекста (общего смысла текса, места в предложении etc) и т.д.
...
Рейтинг: 0 / 0
Java или C++?
    #32676281
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С++ rules !!

"Java - отстой !" - это текст из моего 3D screen saver-а.
...
Рейтинг: 0 / 0
Java или C++?
    #32676506
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

viper правильно ответил по всем пунктам.

Параметры функций к ООП не имеют отношения, можно обойтись без параметров функций, ничего не изменится, ООП останется ООП-ом, а язык станет еще "проще". Не путайте параметры и переменные.

Раз уж Вы заговорили о простоте языка, то положите рядом две БНФ (форма Бэкуса-Науэра): джавы и Паскаля. Вы будете очень неприятно удивлены. Если сравнение с Паскалем вдруг не впечатлит, проделайте то же с лиспом. Все познается в сравнении, это поможет Вам избавиться от иллюзий о простоте джавы и понять, что такое по-настоящему простые языки.

>Не вижу разницы между понятием "физической памяти", когда каждый адрес указывает на реально существующию ячейку памяти, и "физической моделью памяти" - где эта ячейка не "реальная", а просто модель

Наверное имелось ввиду не "физическая модель памяти", а "модель физической памяти". Так это разные вещи. Я не спрашивал о модели памяти, я спрашивал о памяти. "В этой машине какая память виртуальная или физическая?" Или может еще какая? Так назовите ее. По-прежнему нет ответа.

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

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

>Почему вряд ли? :)

Потому что перечисленные ВУЗ-ы справедливо относятся к категории уважаемых.

>Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.

Результаты где? 50 лет (по словам Вашего шефа) прошло с момента изобретения, уже 20 лет как компьютеры могут все сети просчитать не один раз, а результатов все нет.

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

>Представте электрическую доменную печь сжирающую в день электричества на несколько миллионов рублей. Эффективно управлять такой системой не возможно обычными средствами. Слишком много входных параметров, случайных параметров (тот же состав руды), что бы в реальном времени можно было принять правильное решение. И оцените цифры дополнительной прибыли от повышения эффективности на 2-3%, хотя реально и 10% :)

А почему бы не получать ту же экономию энергии подключив к домне вечный двигатель? Я рекомендую двигатель второго рода: грели бы домну охлаждая окружающую среду, никакого электричества не нужно вообще. Подумайте, экономический эффект тот же, а работы меньше.

Теперь понятно, почему этим заинтересовался именно Китай. Он славится своими мартеновцами еще с тех пор, когда они пытались в каждом дворе завести доменную печь и стать впереди планеты всей по выплавке металла. Это происходило в промежутках между истреблениями воробьев, регулярно пожиравших весь урожай риса и называлось "культурная революция". Где результаты внедрения нейронных сетей в быт и народное хозяйство Китая?

ИМХО все эти нейронные сети только способ (далеко не с самый эффективный) выкачивать бабки из родных налогоплательщиков. По крайней мере результаты пока подтверждают мою точку зрения.
...
Рейтинг: 0 / 0
Java или C++?
    #32676701
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c1272 NotGonnaGetUs
Параметры функций к ООП не имеют отношения, можно обойтись без параметров функций, ничего не изменится, ООП останется ООП-ом, а язык станет еще "проще". Не путайте параметры и переменные.

Оставим пустое. Простота добавляемая в язык удалением передачи параметров по ссылке называема. Я говорил о том, в чём она заключается.


Раз уж Вы заговорили о простоте языка, то положите рядом две БНФ (форма Бэкуса-Науэра): джавы и Паскаля. Вы будете очень неприятно удивлены. Если сравнение с Паскалем вдруг не впечатлит, проделайте то же с лиспом. Все познается в сравнении, это поможет Вам избавиться от иллюзий о простоте джавы и понять, что такое по-настоящему простые языки.

Я заговорил о простоте языка java по сравнению c языком Cи++.
Если вам хочется сравнить с чем-то ещё - то уже без меня :)



Наверное имелось ввиду не "физическая модель памяти", а "модель физической памяти". Так это разные вещи. Я не спрашивал о модели памяти, я спрашивал о памяти. "В этой машине какая память виртуальная или физическая?" Или может еще какая? Так назовите ее. По-прежнему нет ответа.

Я всё назвал. Что ВЫ подразумеваете под словами "виртуальная или физическая" - я не знаю. Свою трактовку я полностью изложил.
Пишите, что это для вас значит, отвечу в ваших терминах, если отличные от ваших термины вам трудны для восприятия.

Какую именно разницу вы видите между ("физическая модель памяти", а "модель физической памяти".) - тоже не могу знать.

Могу в десятый раз повторить: в Си/у кнута существует представление о линейном адресном пространстве, в котором хранятся данные заданного размера. В java этой сущности нет.


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

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

Пример в студию :)


>Почему вряд ли? :)

Потому что перечисленные ВУЗ-ы справедливо относятся к категории уважаемых.

Из них самых.


>Очень даже не плохая штука. Китай активно осуществляет внедрение этих девайсов в быт.

Результаты где? 50 лет (по словам Вашего шефа) прошло с момента изобретения, уже 20 лет как компьютеры могут все сети просчитать не один раз, а результатов все нет.

Какие-такие компьютеры? PC что ли? Они могут только смоделировать - а скорость работы модели и скорость работы реальной сети разных порядков.


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

Какая прелесть :) Нейросети тем и хороши, что являются не линейными системами. То, что линейные системы вам хорошо известны - я рад.


>Представте электрическую доменную печь сжирающую в день электричества на несколько миллионов рублей. Эффективно управлять такой системой не возможно обычными средствами. Слишком много входных параметров, случайных параметров (тот же состав руды), что бы в реальном времени можно было принять правильное решение. И оцените цифры дополнительной прибыли от повышения эффективности на 2-3%, хотя реально и 10% :)

А почему бы не получать ту же экономию энергии подключив к домне вечный двигатель? Я рекомендую двигатель второго рода: грели бы домну охлаждая окружающую среду, никакого электричества не нужно вообще. Подумайте, экономический эффект тот же, а работы меньше.

Потому что эти проценты уже полученные при решении аналогичных задач.
Как насчёт привести примерчик вечного двигателя? :)


Теперь понятно, почему этим заинтересовался именно Китай. Он славится своими мартеновцами еще с тех пор, когда они пытались в каждом дворе завести доменную печь и стать впереди планеты всей по выплавке металла. Это происходило в промежутках между истреблениями воробьев, регулярно пожиравших весь урожай риса и называлось "культурная революция". Где результаты внедрения нейронных сетей в быт и народное хозяйство Китая?

Главное отличная аргументированность и знание дела :) Уважаю.



ИМХО все эти нейронные сети только способ (далеко не с самый эффективный) выкачивать бабки из родных налогоплательщиков. По крайней мере результаты пока подтверждают мою точку зрения.
От "родных налогплательщиков" (читай из РАН) в НЦН поступают совсем скромные денежки, не надо из-за этого расстраиваться :)
Деньги платит заказчик.

Результаты? Вы хотите видеть лейбл "powered by NeiroNet" на каждом столбе? Этого не будет, по вполне понятным причинам :)

Или вы активно следите за тем, что происходит в мире в этой области, раз пришли к такому выводу? :)

Задачи решаемые при помощи нейросетей, это серъёзные задачи, те с которыми архитектура фон-неймана никогда не сможет справится (из-за алгоритмической сложности (например O(n!)) или не формализуемости).

То, что Вам лично, эти задачи никогда в жизни не встретятся, не значит ещё что их нет и никто их не пытается решать :)
...
Рейтинг: 0 / 0
Java или C++?
    #32676714
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivС++ rules !!

"Java - отстой !" - это текст из моего 3D screen saver-а.

А у меня на десктопе такая картинка:
http://alxumuk.com.ru/img/001220404.jpg :)
...
Рейтинг: 0 / 0
Java или C++?
    #32678464
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Я всё назвал. Что ВЫ подразумеваете под словами "виртуальная или физическая" - я не знаю. Свою трактовку я полностью изложил.
Пишите, что это для вас значит, отвечу в ваших терминах, если отличные от ваших термины вам трудны для восприятия.


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

Это то, что я говорил в начале: создатели джавы запутались сами и запутали своих сторонников. Заявление о новой концепции было ими сделано очень громко, теперь нужно держать марку, новой концепции на самом деле нет, а чтоб это было не так явно выдумываются всякие уловки вроде модели памяти не в смысле C, а в каком-то ином загадочном смысле.

>Могу в десятый раз повторить: в Си/у кнута существует представление о линейном адресном пространстве, в котором хранятся данные заданного размера. В java этой сущности нет.

Опять повторяю, это Вас обманули, мы с этого начали разговор. Эта сущность есть, но о ее существовании стараются не вспоминать.

с127>уже 20 лет как компьютеры могут все сети просчитать не один раз, а результатов все нет.
>Какие-такие компьютеры? PC что ли?


Вот они - результаты всеобщей компьютерной грамотности. Были же и покруче машины, до них даже нынешним писюкам еще долго расти. Всякие многопроцессорные креи, ибм-ы (не серии 360/370), а чуть раньше - векторные эльбрусы, всякая экзотика с трехзначным оснванием.

>Из них самых.

Неужели университет?

>Как насчёт привести примерчик вечного двигателя? :)

Демон Максвелла. Как раз то, что Вам нужно.

>Главное отличная аргументированность и знание дела :) Уважаю.

Какой пример такая и аргументация. Вы сказали что что китайцы интенсивно развивают нейрокомпьютеры, а я ответил что это не аргумент. Китайцы по жизни склонны к выковыванию оружия победы: вот уничтожим воробьев и сразу наступит коммунизм, вот построим нейрокомпьютер и мгновенно обретем счастье.

Кстати у истории с воробьями есть поучительное для Вас продолжение: мудрые китайцы забыли то, чему у нас учат в школе: что воробьи едят не только (даже не столько) рис, но и насекомых, поедающих этот рис. И когда их воробьи были уничтожены, размножившиеся жуки сожрали не только урожай риса, но и вообще все, что там росло на полях, в садах и огородах. Это я к тому, что если хотитие обойтись без построения формальных моделей ("А решение трудно формализуемых задач ?"), в частности когда будете обучать свои нейрокомпьютеры управлять доменными печами и атомными станцями, то постарайтесь не забыть о подобных мелочах.

>Результаты? Вы хотите видеть лейбл "powered by NeiroNet" на каждом столбе? Этого не будет, по вполне понятным причинам :)

Мне-то ясно почему этого не будет, а вот что Вы имели ввиду?

>То, что Вам лично, эти задачи никогда в жизни не встретятся, не значит ещё что их нет и никто их не пытается решать :)

Как раз сейчас решаем задачу распознавания речи в очень упрощенном виде. Это задача для нейронных сетей по-вашей классификации или нет? Нейронными сетями ее тоже многие пытались решать, но оказалось что совершенно классические методы работают лучше, причем дело совсем не в вычислителной сложности, скорости машин и памяти хватает с запасом.
...
Рейтинг: 0 / 0
Java или C++?
    #32680139
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127 >Я всё назвал. Что ВЫ подразумеваете под словами "виртуальная или физическая" - я не знаю. Свою трактовку я полностью изложил.
Пишите, что это для вас значит, отвечу в ваших терминах, если отличные от ваших термины вам трудны для восприятия.


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

Это то, что я говорил в начале: создатели джавы запутались сами и запутали своих сторонников. Заявление о новой концепции было ими сделано очень громко, теперь нужно держать марку, новой концепции на самом деле нет, а чтоб это было не так явно выдумываются всякие уловки вроде модели памяти не в смысле C, а в каком-то ином загадочном смысле.


Я вас люблю. Честное слово. Вы же прекрасно понимаете, о чём я говорю.
В java переменная "указывает на объект и только"
В Си/Си++ указатель это просто адрес ячейки в "памяти" (и тут АБСОЛЮТНО не важно какой - физической или виртуальной) являющийся самостоятельным типом данных.

В чём разница "указателя в смысле Си" и "java" ясно? :) Вот и договорились.

И про "революционность" уже говорили. В java не придумали новую сущность "указатель", из неё убрали тип данных указатель.

Где здесь "загадочный смысл" ? :)


>Могу в десятый раз повторить: в Си/у кнута существует представление о линейном адресном пространстве, в котором хранятся данные заданного размера. В java этой сущности нет.

Опять повторяю, это Вас обманули, мы с этого начали разговор. Эта сущность есть, но о ее существовании стараются не вспоминать.

Как вы это себе представляете? Сидит программист и про себя твердит: "нет буду вспоминать, не буду вспоминать" ? :) Оно просто ему не нужно.
О памяти требуется знать одно: сделаешь новый объект - свободной памяти станет меньше :)
При желании, лезте в спецификацию jvm, смотри как оно там устроено - но это уже не язык.


с127>уже 20 лет как компьютеры могут все сети просчитать не один раз, а результатов все нет.
>Какие-такие компьютеры? PC что ли?


Вот они - результаты всеобщей компьютерной грамотности. Были же и покруче машины, до них даже нынешним писюкам еще долго расти. Всякие многопроцессорные креи, ибм-ы (не серии 360/370), а чуть раньше - векторные эльбрусы, всякая экзотика с трехзначным оснванием.

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

И есть второй аспект, который вы, похоже, не осознаёте.
Задача c трудностью 0(n^n) может быть решена сетью значительно быстрее, а моделирование этой сети всё равно будет требовать o(n^n). Это ограничение фон-неймановской архитектуры (или дейваса из книги кнута, если вам так угодно). (n^n взятj от балды, как пример)

Многопроцессорные системы проигрывают нейронным сетям из-за роста накладных расходов на передачу данных между процессорами.
Поэтому их мощность растёт не линейно от числа процессоров. Начиная с какого-то момента увеличения числа процессоров становится совсем бессмысленным делом.
--
О каких результатах речь-то?


>Из них самых.

Неужели университет?

Какая разница? Пусть бы даже было ПТУ-8. Это ничего не меняет.



>Как насчёт привести примерчик вечного двигателя? :)

Демон Максвелла. Как раз то, что Вам нужно.

Давайте-давайте. У демон у вас поди дома сидит?
А сети успешно работают :)


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

Лол. Китай не аргумент, а пример. Есть такой факт и всё. Равно как работа самсунга и других крупных компаний.


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

:)) Обязательно, не понятно только, чем обязан такому вниманию :)


>Результаты? Вы хотите видеть лейбл "powered by NeiroNet" на каждом столбе? Этого не будет, по вполне понятным причинам :)

Мне-то ясно почему этого не будет, а вот что Вы имели ввиду?

Что писал, то и имел ввиду.
Инструмент должен соответсвовать задаче.


Как раз сейчас решаем задачу распознавания речи в очень упрощенном виде. Это задача для нейронных сетей по-вашей классификации или нет?

Если задача эффективно решается обычными средствами - то это задача не для нейросетей.
Поэтому ответ зависит от того, "в насколько упрощённом виде" нужно распознавать речь (отдельные слова/всё что говорится, говорит только один человек или несколько, воспримчивость к дефектам речи).
Если можно обойтись парочкой эвристик и фурье-анализом, то ничего больше и не надо.


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

Кто многие? Если доморощенные специалисты - то не удивительно.
У нас их нет, практически нет. Нейросети это наука, нельзя придти со стороны, узнать основные концепции и сказать - я профи.
Мало придумать архитектуру сети, нужно правильно построить обучающие/тестовые выборки, подобрать число нейронов в слоях, выбрать функции активации и т.д. и т.п.

Остаётся мировой опыт, но я не знаком с работами в области распознавания речи (это далёкая от нейроуправления тема), поэтому не могу ни согласиться с вами, ни опровергнуть.

---------

Не знаю из каких побуждений вы пытаетесь доказать, что нейросети бесполезны. Откройте гугль, поищите, узнаете много нового.
Пусть научные работы и доклады с международных встреч вы там не найдёте, но общее положение дел и тенденции на будущее прояснятся.
...
Рейтинг: 0 / 0
Java или C++?
    #32680491
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>В java переменная "указывает на объект и только"
В Си/Си++ указатель это просто адрес ячейки в "памяти"
В чём разница "указателя в смысле Си" и "java" ясно?


Я же говорил, Вы просто не знаете C/C++, отсюда постоянные ляпы. В качестве ликбеза попробуйте завести переменную типа указатель на double, добавить к ней единицу и сравнить оригинальное значение переменной с полученным. В очередной раз будете удивлены.

Указатель это не просто тип данных, это концепция программирования, в процедурных языках так точно. Вот и джависты не могут ничего объяснить, не прибегая к понятию указатель. Попробуйте рассказать о создании связанного списка не прибегая к этому понятию. О какой логичности языка можно говорить, если студенты, начавшие обучение программирования с джавы и прослушавшие курс алгоритмов на ее основе, потом не могут могут разобраться в том, что там происходит и в результате не могут построить этот разнесчастный список. Это примеры из жизни причем речь далеко не о самых плохих студентах.

>О памяти требуется знать одно: сделаешь новый объект - свободной памяти станет меньше :)

Этим студентам, судя по всему, так и объясняли. А теперь в том же духе расскажите о связанных списках.

Надоело повторять: тип указатель в джаве остался, только указатель получился кастрированный. Нельзя к нему добавить единицу, так это и было его основным свойством, от этого указатель указателем быть не перестал, он по-прежнему указывает на область памяти определенного размера.

>О каких результатах речь-то?

О результатах всеобщей компьютерной грамотности. Кроме PC студенты ничего не знают, да и PC с трудом.

>Китай не аргумент, а пример.

Неудачный пример. Приведите удачный.

>Давайте-давайте. У демон у вас поди дома сидит?
А сети успешно работают :)


Так и работает демон не хуже сетей, об том же и речь: результаты аналогичны.

>Кто многие? Если доморощенные специалисты - то не удивительно.
У нас их нет, практически нет.


Это не у "нас", это у "них".

>Остаётся мировой опыт,

Во-во, об ем и была речь.

>Нейросети это наука, нельзя придти со стороны, узнать основные концепции и сказать - я профи.

Чтоб стать профи основных концепций может и недостаточно, но чтоб разобраться что наука относится к разряду втирания очков обывателю, основных концепций может хватить вполне.
...
Рейтинг: 0 / 0
Java или C++?
    #32681059
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что вы заладили "указатель-не указатель" ? Чего тут вообще спорить ? Как можно сравнивать универсальный язык программирования С++ с Java, этим объектно-ориентированным бейсиком с С++ -ным синтаксисом ?
Тут и говорить нечего, С++ рулез, Жаба - отстой.
И писать на этом отстое я не буду, до тех пор, пока сильно не припрет.
Уж лучше C#.
...
Рейтинг: 0 / 0
Java или C++?
    #32681273
MasterZiv Уж лучше C#.
И чем это он лучше, насколько я знаю, это жалкое подобие Java.
...
Рейтинг: 0 / 0
Java или C++?
    #32681602
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это не жалкое подобие. А наоборот, переработанное и улучшенное подобие.

Во-первых, MS часто делает все НЕ ПЕРВЫМ. Это дает ему возможность учиться на ЧУЖИХ ошибках. Здесь, с C#, по-моему, это отлично проявилось.

Во-вторых, C# не есть, как JAVA , вещь в себе , единая во всех отношениях.
Это (почти) обычный язык программирования. Java - это НЕ язык программирования, а и язык, и технология, и стандарт API (то бишь библиотека классов ) и т.п.

Мне лично это все больше нравиться.
Единственный недостаток C# & .Net сейчас - моноплатформенность.
...
Рейтинг: 0 / 0
Java или C++?
    #32682060
Java - это НЕ язык программирования, а и язык, и технология, и стандарт API (то бишь библиотека классов ) и т.п.

И что здесь плохого?

Единственный недостаток C# & .Net сейчас - моноплатформенность.
Мне кажется этот недостаток так и останется, с трудом представляю, что продукты MS будут работать на Юниксах ,Линуксах и Солярках.
...
Рейтинг: 0 / 0
Java или C++?
    #32682416
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вместо "Нельзя к нему добавить единицу, так это и было его основным свойством"
следует читать: "Нельзя к нему добавить единицу, так это и не было его основным свойством"

2 NotGonnaGetUs

>И есть второй аспект, который вы, похоже, не осознаёте.
Задача c трудностью 0(n^n) может быть решена сетью значительно быстрее, а моделирование этой сети всё равно будет требовать o(n^n). Это ограничение фон-неймановской архитектуры (или дейваса из книги кнута, если вам так угодно). (n^n взятj от балды, как пример)


Подумал, осознал аспект. Теперь вопрос. То, о чем Вы говорите (понижение алгоритмической сложности) есть результат чисто теоретический, совершенно строгий и не требует наличия работающего нейрокомпьютера. Этот результат получается на бумаге. Иными словами чтоб говорить то, что говорите Вы нужно этот результат иметь. Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура.
...
Рейтинг: 0 / 0
Java или C++?
    #32682707
Васяня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот
Единственный недостаток C# & .Net сейчас - моноплатформенность.
Мне кажется этот недостаток так и останется, с трудом представляю, что продукты MS будут работать на Юниксах ,Линуксах и Солярках.
Отчего же непременно M$? Других что ли нет?
http://www.mono-project.com
...
Рейтинг: 0 / 0
Java или C++?
    #32682967
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот MasterZiv Уж лучше C#.
И чем это он лучше, насколько я знаю, это жалкое подобие Java.
Наверно это вы прочитали на сайте любителей явы... Они нынче полюбляют кричать что у них украли/передрали идеи которые они вынашивали годами и в ближайшее 10 лет собирались реализовать... Хотя если смотреть то не так уж много у них взяли по сравнению с тем что добавили...

ЗЫ
Сорри за флейм просто уже малехо достает слушать подобные речи... :(
...
Рейтинг: 0 / 0
Java или C++?
    #32683452
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Марамот Java - это НЕ язык программирования, а и язык, и технология, и стандарт API (то бишь библиотека классов ) и т.п.

И что здесь плохого?


Ответ очевиден - неотделимость всех этих вещей друг от друга.

Кот Марамот
Единственный недостаток C# & .Net сейчас - моноплатформенность.
Мне кажется этот недостаток так и останется, с трудом представляю, что продукты MS будут работать на Юниксах ,Линуксах и Солярках.


Может быть, конечно.
...
Рейтинг: 0 / 0
Java или C++?
    #32684890
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 MasterZiv

>Что вы заладили "указатель-не указатель" ? Чего тут вообще спорить ? Как можно сравнивать универсальный язык программирования С++ с Java, этим объектно-ориентированным бейсиком с С++ -ным синтаксисом ?

Обсуждаются в основном 2 момента:

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

2) джава имеет некие не менее загадочные свойства, облегчающие его использование в качестве языка разработки интернет приложений. В пользу этого вообще не было высказано никаких аргументов, кроме наличия библиотек. Кстати библиотеки всплывают постоянно, но библиотеки дело наживное.

Кросплатформенность тоже является не таким безоблачным вопросом, как это пытаются представить сторонники джавы. Это понятно поскольку для работы джавы требуется во-первых JVM, которая присутствует далеко не всегда, а во-вторых JVM и библиотеки строго определенной версии.

C/C++ не имеет виртуальной машины и p-кода, но это не принципиальная проблема, виртуальную машину можно легко построить, в языке для этого ничего менять не нужно.

Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение.
...
Рейтинг: 0 / 0
Java или C++?
    #32684977
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с127Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение.
Эхх... и где же вы были, когда дяденьки из SUN задумали Джаву, что же это вы их дураков не вразумили, паскалю и бейсику не научили... ай ай ай
...
Рейтинг: 0 / 0
Java или C++?
    #32685014
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2с127
И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же?????????
Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля????
...
Рейтинг: 0 / 0
Java или C++?
    #32685192
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen2с127
И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же?????????
Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля????

Не хочу вас обидеть но такое впечетление что вы ничего не знаете ни про С++, ни про C#... .NET полностью копирует Яву? Ану покажите ка мне где в Яве независимость от языка? А где возможность использовать COM, OLE? Где возможность использовать Ява библиотеки на С++, VB или томже Делфи? С таким же успехом можна утверждать что Ява это урезаный клон С++... Почему МS толкнули новый язык? Потому что сложность приложений растет по экспоненте и сейчас для разработчику приходится решать гораздо больше вопросов. Новые задачи требуют новых решений. С++ не забыт, и используется, и будет использоваться. Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера
...
Рейтинг: 0 / 0
Java или C++?
    #32685234
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
1) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами.

И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции.
Я в принципе согласен, что с этим в Java перебор, но особой проблемы я в этом не вижу.
А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать.
...
Рейтинг: 0 / 0
Java или C++?
    #32685390
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NET полностью копирует Яву?
вы немного не в ту сторону поехали, я имел в виду, что скопирована сама идея, понятно, что в шарпе что то убрали, что то добавили и т.д.
Ану покажите ка мне где в Яве независимость от языка?
Согласен, можно писать только на Java, тут конечно Билли схитрил, программеру на VB будет легче перейти на VB.NET чем на Java. Я не знаю как там организована многоязыковая поддержка, но думаю что в итоге все равно останется максимум два языка под NET. Я думаю, что выйгриш получили только программисты, а вот сама платформа .NET вряд ли, как интересно выглядит проект написанный на 10-и языках, а как его поддерживать потом?? Как программист на С# будет разбираться в приложении под .NET на VB?
А где возможность использовать COM, OLE?
а зачем мне это????? Ведь это чисто Виндозные приблуды, я и без них спокойно обхожусь другими много платформенными технологиями.
авторГде возможность использовать Ява библиотеки на С++, VB или том же Делфи?
Есть такая штука JNI(Java Native Interface), через него я могу вызвать любую натив функцию, любой платформы. Если припрет, через JNI я могу использовать ваши любымие COM or OLE. "VB или томже Делфи" виндозные приблуды, давно мною забыты.
Почему МS толкнули новый язык? Потому что сложность приложений растет по экспоненте и сейчас для разработчику приходится решать гораздо больше вопросов. Новые задачи требуют новых решений. С++ не забыт, и используется, и будет использоваться.
Вот это хорошие слова, советую господину с127 внимательно в них вчитаться, может тогда пойме, зачем Джаву придумали. Добавлю еще от себя, то чего нет в Джаве по сравнению с С++, действительно ей не надо, по крайней мере для решения тех проблем, для которых она используется. Все эти ссылки, указатели, директивы , работа с памятью, все это хорошо подходит для написание системных программ, тех же JVM. Зачем мне при разработке веб-приложения забивать голову работой с памятью.
Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера
VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему.
...
Рейтинг: 0 / 0
Java или C++?
    #32685402
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen
VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему.
Мож он сначала спецификацию выложит :)
...
Рейтинг: 0 / 0
Java или C++?
    #32685472
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гоша c127
1) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами.

И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции.
Я в принципе согласен, что с этим в Java перебор, но особой проблемы я в этом не вижу.
А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать.
Ну у вас может и нет, а вообще по умолчанию Вб передает параметры по ссылке

По поводу VM я немного утрировал, есть например ManagedC++ на котором можна писать точно так как и на C#. Но это уже не стандартный С++.
...
Рейтинг: 0 / 0
Java или C++?
    #32685514
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Вывод все тот же: с технической точки зрения выдумывание нового языка было совершенно неоправдано. Это был маркетинговый ход (скорее всего), или люди, создавшие нынешнюю джаву не знали C/C++, паскаля и пр. и не понимали, что проще и надежнее использовать готовое решение.


Неа, не согласен. С++ - сложный язык, ОЧЕНЬ сложный язык.
Для него виртуальную машину писать они бы упарились.
Соответственно, они сделали просто - кастрировали язык (я бы сказал, операция была обратная кастрации - то, что при кастрации выбрасывают , они оставили) и написали VM.
...
Рейтинг: 0 / 0
Java или C++?
    #32685530
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen
а зачем мне это????? Ведь это чисто Виндозные приблуды, я и без них спокойно обхожусь другими много платформенными технологиями.


Да панимаишь, людям иногда нужно, чтобы программы делали то, что им НАДА , а не то, что умеет Жаба.

wessen
Есть такая штука JNI(Java Native Interface), через него я могу вызвать любую натив функцию, любой платформы. Если припрет, через JNI я могу использовать ваши любымие COM or OLE. "VB или томже Делфи" виндозные приблуды, давно мною забыты.


Один такой вызывал уже, SUN потом его по судам затаскала ...

wessen
VM для С++ изобретение господина с127, по всем вопросам реализации обращаться к нему.

Да нет, в Microsoft его вот уже написали ...
...
Рейтинг: 0 / 0
Java или C++?
    #32685556
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viperНу у вас может и нет, а вообще по умолчанию Вб передает параметры по ссылке

У нас как раз нет. Текстовый редактор VB.NET автоматически вставляет ByVal, если забыл написать ByRef.
...
Рейтинг: 0 / 0
Java или C++?
    #32685665
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ...

Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее.
...
Рейтинг: 0 / 0
Java или C++?
    #32685690
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ...

Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее.

Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было.
...
Рейтинг: 0 / 0
Java или C++?
    #32685744
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv wessen MasterZivОдин такой вызывал уже, SUN потом его по судам затаскала ...

Что то я не понял, SUN уже запрещает нативные функции вызывать, можно поподробнее.

Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было.
Я думаю, что за написание классов с вызовом native функций никто вам ничего не скажет, хотите пользуйтесь, хотите нет. Насколько я помню, M$ сделал так, что если я написал код на Жаве без их классов и скомпилил его в J++, то в байт код, все равно всавлялись вызовы native функций и в результате программа работала только под винду, а это не есть хорошо. Поправте если я не прав.


MasterZivДа панимаишь, людям иногда нужно, чтобы программы делали то, что им НАДА , а не то, что умеет Жаба.

Панимаю, вот тогда пускай эти люди берут тот язык, который умеет делать то, что им надо, Жава это не решение всех проблем.
...
Рейтинг: 0 / 0
Java или C++?
    #32685839
Гоша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСогласен, можно писать только на Java, тут конечно Билли схитрил, программеру на VB будет легче перейти на VB.NET чем на Java.

Да это просто дело вкуса. Между VB и VB.NET не больше общего, чем между C++ и Java. Всё равно нужно изучать.
автор
Я не знаю как там организована многоязыковая поддержка, но думаю что в итоге все равно останется максимум два языка под NET. Я думаю, что выйгриш получили только программисты, а вот сама платформа .NET вряд ли, как интересно выглядит проект написанный на 10-и языках, а как его поддерживать потом?? Как программист на С# будет разбираться в приложении под .NET на VB?

Да так же, как сейчас программист VC++ разбирается в проекте на VB6. Ещё и проще даже, потому что возможности C# и VB.NET аналогичны.
А что останется только 2 языка, это неизвестно. COM-компоненты например не на 2 языках можно создавать. То же и с .NET. Проект затевать на 10 языках нет смысла, но почему не пользоваться библиотеками, написанными на других языках?
...
Рейтинг: 0 / 0
Java или C++?
    #32686332
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может и не к теме, но я заметил что c++ програмисты больше и охотнее разбираются в другрих языках - в той же джаве, вб или шарпе, чем джависты в си, вб или шарпе... Это я по своей команде сужу. У нас пацаны во всем шустрят по зову партии и приказу шефа. Но вот два джава-профика как то фанатично упираются - типа пусть через жопу но чтоб в jave.
Ну а вобщем они пацаны нормальные, только вот кофе пьют литрами.
Вообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...)
...
Рейтинг: 0 / 0
Java или C++?
    #32686338
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вот тоже кофий литрами пью...
может и мне на яву перейти?
...
Рейтинг: 0 / 0
Java или C++?
    #32686344
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kя вот тоже кофий литрами пью...
может и мне на яву перейти?

Если перейдешь на яву, то наверное кофею тебе нужно будет пить еще в два раза больше. :) Я бы не советовал, здоровье дороже...
...
Рейтинг: 0 / 0
Java или C++?
    #32686384
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 viper

>Виртуальная машина для С++ это нонсенс, сродни виртуальной машины для ассемблера

Такие машины есть и называются эмуляторы. Например эмулятор покетов/палмов, работающий под winnt. Эмулятор есть виртуальная машина для всего, включая ассемблер и C++, кстати иногда сильно облегчает жизнь. Возможно есть и другие.

2 wessen

>И последний вопрос на последок, почему же все таки великий и могучий М$, пытался прибрать к рукам эту тормозную и никому не нужную Джаву и почему, когда у него это не получилось, М$ выдумал новый язык(С#) и новую платформу(.NET) вточности копирующую Java. Прошу заметить, что я не упрекаю M$ в том что они все слизали, это и так понятно, вопрос в том, почему они это сделали(слизали) забыв про могучий с++, зачем они вкладывают миллионы баксов в новый язык? Почему они не пишут виртуальную машину для C++ и новые web-библиотеки для него же?????????
Или M$ тоже делают маркетинговый ход или не знают с++ или паскаля????


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

2 Гоша

>И каков же размер этой лихвы? "Отсутствие нормального механизма" - это отсутствие передачи параметров по ссылке? Я сейчас специально поискал по нашим проектам на VB: дай бог один из ста параметров передаётся по ссылке. Да и то в большинстве случаев это просто неудачно написанные функции.

Бейсик это, конечно, аргумент.

>А свойства революционного характера там таки имеются: избавились от всей этой мутоты с указателями, ссылками, malloc/free, директивами препроцессора и т.п. Программы без всего этого гораздо проще писать и читать.

Если посмотреть на упомянутые Вами свойства революционного характера более внимательно, то окажется что их там не 4 а всего 2. Это: 1) сборщик мусора и все что с ним связано; 2) препроцессор. Второе под большим вопросом. Я, например вообще не вижу проблем с препроцессором и не очень понимаю о чем идет речь. Остается только сборщик мусора, поскольку malloc все равно есть в виде new. Но я уже говорил, что при совсем небольшом усилии со стороны программиста от явного освобожденя памяти можно избавиться и сборщик мусора не нужен.

Насчет что джава программы читать и писать легче так это ничем не подтвержденная легенда бытующая среди джавистов, возникшая очевидно от того что ничего другого они не знают. Если у Вас есть данные, опровергающие эту точку зрения то ознакомьте нас. Я свою точку зрения обосновывал.

Так что с революцией на этот раз похоже не сложилась.
...
Рейтинг: 0 / 0
Java или C++?
    #32687414
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kompotFXВообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...)

Вы разве не знаете ? Всемирная кофейная мафия - спонсоры Java.
...
Рейтинг: 0 / 0
Java или C++?
    #32687443
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127понимаю о чем идет речь. Остается только сборщик мусора, поскольку malloc все равно есть в виде new. Но я уже говорил, что при совсем небольшом усилии со стороны программиста от явного освобожденя памяти можно избавиться и сборщик мусора не нужен.


"Знатоки" говорят, что есть дескать такие сложные структуры данных, которые ссылаются друг на друга циклически, и возможно опосредованно. Например, 5 объектов, ссылающихся друг на друга по цепочке 1->2->3->4->5->опять 1. И дескать применяя алгоритмы автоматического удаления объектов типа AddRef/Release такие структуры невозможно будет освободить никогда. Звучит в общем убедительно, но блин, я более десяти лет программы пишу, а никогда с надобностью реализации таких структур данных не встречался. Да если бы и встретился - можно декларативно агрегировать это все в еще один объект и удалять все при удалении его. Ну или еще как-то выкрутиться. Да и другие алгоритмы наверняка имеются.
В общем, я целиком согласен - нужность сборщика мусора весьма спорна.
...
Рейтинг: 0 / 0
Java или C++?
    #32687970
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут все просто, сборщик сделан для отстранения от ответственности за выделеную память и для избежания утечек. Посадите паскалиста писать на С++ и вы поймете в чем сила. Удобно другое, например GC постоянно дефрагментирует память, что не говори а для производительности плюс... Да и ко всему особождает вашу систему от чужих кривых рук...
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
...
Рейтинг: 0 / 0
Java или C++?
    #32688527
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2alex_k

я тут посчитал за последние 5 лет выпил больше тонны кофе.

вот вклад в экономику Бразилии
...
Рейтинг: 0 / 0
Java или C++?
    #32688607
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 viper

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

Если паскалист учился по Вирту, то ничего страшного не произойдет. Другое дело если он закончил курсы типа "дельфи для идиотов". В паскале тоже есть указатели и используются они для тех же нужд, что и в C/C++, так что нормальные паскалисты к ним привыкли. А вот GC как раз не сильно успешная попытка удовлетворить выпускников упомянутых курсов.
...
Рейтинг: 0 / 0
Java или C++?
    #32689413
J--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J--
Гость
авторАну покажите ка мне где в Яве независимость от языка?

Jython я точно пробовал :-)
http://www.jython.org/

и есь еще некие
JRuby, JPerl, Jacl и даже Jscheme и JLisp
а также
JBasic (Jaba) [Жаба ????!] :-))
и множество других!

ссылки на енто дело сами леГКО найдете,
так шта Java bytecode вполне "языконезависим"
...
Рейтинг: 0 / 0
Java или C++?
    #32690470
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J-- авторАну покажите ка мне где в Яве независимость от языка?

Jython я точно пробовал :-)
http://www.jython.org/

и есь еще некие
JRuby, JPerl, Jacl и даже Jscheme и JLisp
а также
JBasic (Jaba) [Жаба ????!] :-))
и множество других!

ссылки на енто дело сами леГКО найдете,
так шта Java bytecode вполне "языконезависим"

Ну, ну и кто кроме вас про них знает? В С++ я с помощью ##define могу вам симитировать паскаль или вб или что-то по экзотичнее...
...
Рейтинг: 0 / 0
Java или C++?
    #32692380
J--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J--
Гость
не флейма ради :-))

помощью ##define в C++ можно, конечно, заменить {} на BEGIN и END
и прочее, но это будет именно имитация синтаксиса.

Указанные же продукты - это не "имитация", а полноценные компиляторы Java byte кода.

Согласен, часть приведенного - экзотика, но вот Jython - весьма
известен (рекомендуют юзать при обработке текстов в java прграммах,
см. того же Б.Эккеля, "Thinking in Java").

Видимо, Java не такой уж плохой язык, если уверенно доминирут над
указанными альтернативами так, что про них мало кто знает.
Ну и поддержка производителя, есессна.

А в .NET особенность просто в том, что весь "зоопарк языков"
выброшен фирмой-производителем одновременно и "в одном флаконе",
из-за чего (в сочетании с грамотным пиаром) и создается иллюзия этаково многоязыкового новаторства.
(характерно для MS).
Как видим, это все уже было.
...
Рейтинг: 0 / 0
Java или C++?
    #32693485
viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J--не флейма ради :-))

помощью ##define в C++ можно, конечно, заменить {} на BEGIN и END
и прочее, но это будет именно имитация синтаксиса.

Указанные же продукты - это не "имитация", а полноценные компиляторы Java byte кода.

Согласен, часть приведенного - экзотика, но вот Jython - весьма
известен (рекомендуют юзать при обработке текстов в java прграммах,
см. того же Б.Эккеля, "Thinking in Java").

Видимо, Java не такой уж плохой язык, если уверенно доминирут над
указанными альтернативами так, что про них мало кто знает.
Ну и поддержка производителя, есессна.

А в .NET особенность просто в том, что весь "зоопарк языков"
выброшен фирмой-производителем одновременно и "в одном флаконе",
из-за чего (в сочетании с грамотным пиаром) и создается иллюзия этаково многоязыкового новаторства.
(характерно для MS).
Как видим, это все уже было.
Ну тут вы не правы, есть и COBOL.NET, Perl.NET и куча всякого разного, делфисты тож вроди собирались разродится Delphi.NET но я ничего об этих языках не говорил изходя из приведенных выше соображений. Вообщем не будем переходить на тему Java vs .NET кроме флейма ничего не будет, да и она не так давно обсуждалась...
...
Рейтинг: 0 / 0
Java или C++?
    #32709478
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen MasterZiv wessen[quot MasterZiv]Один такой вызывал уже, SUN потом его по судам затаскала ...

Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было.
Я думаю, что за написание классов с вызовом native функций никто вам ничего не скажет, хотите пользуйтесь, хотите нет. Насколько я помню, M$ сделал так, что если я написал код на Жаве без их классов и скомпилил его в J++, то в байт код, все равно всавлялись вызовы native функций и в результате программа работала только под винду, а это не есть хорошо. Поправте если я не прав.


Суть в была в другом, в MSJVM была ВСТРОЕННАЯ поддержка ms-классов. Т.е. не нужно было передавать их ввиде либов к программе. А это уже нарушение стандартов jvm.
...
Рейтинг: 0 / 0
Java или C++?
    #32709486
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа! По моему Барковский просто разжег флейм! Не теряйте время на этом топике!
...
Рейтинг: 0 / 0
Java или C++?
    #32709499
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте попорядку :)

c127 >В java переменная "указывает на объект и только"
В Си/Си++ указатель это просто адрес ячейки в "памяти"
В чём разница "указателя в смысле Си" и "java" ясно?


Я же говорил, Вы просто не знаете C/C++, отсюда постоянные ляпы. В качестве ликбеза попробуйте завести переменную типа указатель на double, добавить к ней единицу и сравнить оригинальное значение переменной с полученным. В очередной раз будете удивлены.


Мило. Очень мило.
Ляп тут только один - вы :) Особенно если начнёте, после ваших же слов и дальше утверждать, что указатели java и си одно и тоже.


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

О! Неужели вы это стали понимать? Что указатели это навязанная от процедурных языков концепция, абсолютно не нужная при объекто-ориентированном подходе?



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

А вас не удивляет, что люди прослушавшие курсы мат.анализа не могут потом доказать не одной теоремы? :)



>О памяти требуется знать одно: сделаешь новый объект - свободной памяти станет меньше :)

Этим студентам, судя по всему, так и объясняли. А теперь в том же духе расскажите о связанных списках.

Что вы как маленький на самом деле. Когда рассказывают о списках, рисуют картинки, где обозначены объекты и связи между ними. Где там нужна память и с кучей адресов? :)


Надоело повторять: тип указатель в джаве остался, только указатель получился кастрированный. Нельзя к нему добавить единицу, так это и было его основным свойством, от этого указатель указателем быть не перестал, он по-прежнему указывает на область памяти определенного размера.

Вы не представляете, как мне надоело слушать :)
"Кастрирован" он ровно на столько, что бы выполнять функцию "указания на объект" (вспомните стрелочки на рисунках, указатели поворотов, компас).

То что вы называете "по-прежнему указывает на область памяти" - это детали рализации VM. Она(VM) за тем и нужна, что бы скрыть от программиста технические детали (тот же принцип заложен в ОS - избавить пользователя от общения с примитивными сущностями железа, позволить ему всё делать "мышкой").

Вас же, обозначенный факт почему-то сильно задевает.


>О каких результатах речь-то?

О результатах всеобщей компьютерной грамотности. Кроме PC студенты ничего не знают, да и PC с трудом.

Со всем, что вы перечисляли в постах выше лично я знаком. Может мне не давелось писать машинные коды для дикабразов не оправдавших себя или созданных ради спортивного интереса, но это ничего и не значит.
За ваших абстрактных "студентов" ничего сказать не могу.


>Китай не аргумент, а пример.

Неудачный пример. Приведите удачный.

То что в ВАШЕЙ голове китай - это несчастные воробушки, это не моя не удача :) Хотите больше примеров обратитесь к литературе о которой я уже упоминал. Не давно вышло ещё три книжки. Издаёт издательство "радиотехника", оно же издаёт журнал "нейрокомпьютеры".


>Давайте-давайте. У демон у вас поди дома сидит?
А сети успешно работают :)


Так и работает демон не хуже сетей, об том же и речь: результаты аналогичны.

Результаты не аналогичны. Демон фантазия человека, нейросети реально существуют и очень не плохо работают.


>Кто многие? Если доморощенные специалисты - то не удивительно.
У нас их нет, практически нет.

Это не у "нас", это у "них".
>Остаётся мировой опыт,
Во-во, об ем и была речь.

Что касается доступа к "их опыту", то в россию этот краник прекрыт.



>Нейросети это наука, нельзя придти со стороны, узнать основные концепции и сказать - я профи.

Чтоб стать профи основных концепций может и недостаточно, но чтоб разобраться что наука относится к разряду втирания очков обывателю, основных концепций может хватить вполне.
Уважаю основательный подход к вопросу.
Переубеждать вас желания не имею.
Удивлён только, что вы так и не привели общеизвестный "факт" несостоятельности нейронных сетей обнаруженный в 60-х годах, после чего был почти 20-ти летний период когда ими почти не занимались.
...
Рейтинг: 0 / 0
Java или C++?
    #32709510
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Вместо "Нельзя к нему добавить единицу, так это и было его основным свойством"
следует читать: "Нельзя к нему добавить единицу, так это и не было его основным свойством"
Об том и речь. В сях есть избыточность обусловеленная его универсальностью.
Без многих вещей можно счастливо жить.



Подумал, осознал аспект. Теперь вопрос. То, о чем Вы говорите (понижение алгоритмической сложности) есть результат чисто теоретический, совершенно строгий и не требует наличия работающего нейрокомпьютера. Этот результат получается на бумаге. Иными словами чтоб говорить то, что говорите Вы нужно этот результат иметь. Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура.
[/quot]

Книга 6 "Нейроматематика" (из серии "Нейрокомпьютеры и их применение").
Глава 2. "Нейросетевые алгоритмы решения алгебраических задач".
Задача: сложение двух двоичных чисел. Сложность задачи o(n) n - число бит.
Нейросетевое решение: двухслойная сеть без обратных связей. Приведён алгоритм вычисления весов и алгоритм построения сети для произвольного n.
Результат сложения получается за один "такт", не зависимо от значения n.
Доказательство работоспособности элементарное. Приводить рисунки не буду.
Ссылку на источник дал.

Промоделировав сеть в МатЛаб'е, можно убедиться, что никто не врёт, - сеть работает. Железо для построения сетей тоже существует (но главным образом "у них", в том числе и у китайцей, благо есть дешёвая промышленная база)
...
Рейтинг: 0 / 0
Java или C++?
    #32709522
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c1271) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами. Таким вполне логичным представляется экспериментальный результат, что джава код получается длиннее и сложнее, а программисты тратят больше времени на его разработку. Этот эффект небольшой, но есть.

2) джава имеет некие не менее загадочные свойства, облегчающие его использование в качестве языка разработки интернет приложений. В пользу этого вообще не было высказано никаких аргументов, кроме наличия библиотек. Кстати библиотеки всплывают постоянно, но библиотеки дело наживное.


-- Не существует в ООП подпрограмм :) Есть объекты и их методоы.
Сравнивать процедурный стиль написания кода и ОО - бессмысленно.

-- Использовани любой новой технологии по началу идёт не эффективно. Особенно, если изучают её "за неделю".

-- Что лежит за словами сокращение кода? С точки зрения синтаксических конструкций, на С++ можно писать более сжато, это результат наследния от процедурного языка С. Но кол-во кода которое придётся написать на java, в общем случае "будет меньше", за счёт наличия отличных библиотек. В итоге выйгрыш в размере кода. (Подразумевается написание приложения с нуля. Если уже 90% требуемого кода написано предыдущей командой разработчков для смежного проекта на С++, то дописать ещё 10% на том же С++ в кучу раз выгоднее, чем с нуля переписывать всё на java (хотя смысл в этом всё же есть, если смотреть в будущее :)).

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

-- Большой пласт решений уровня копроративных приложений и серьёзных веб приложений вынесен в java frame work'и. Это как технологии J2EE, так и продукты других разработчиков. (Фактически этот процесс представляется как стандартиция удачных решений, что избавляет от изобретения велосипедов во многих группах разработчиков)


-- Всё что реализованно на java, можно реализовать на C++. Даже работать будет быстрее. Если напрячся, то даже не нескольких платформах.
Однако, такая потенциальная возможность, не может заменить реальности. А реальность такова, что на это уйдёт огромное кол-во труда, времени и денег.
(Повторюсь, если "труд, время и деньги" не потратили команды разработчиков занимаясь в смежной области. Халява, она и есть халява.)


С первых дней cуществования java говорится, что это не язык, а платформа, со всеми вытекающими из этого следствиями.
...
Рейтинг: 0 / 0
Java или C++?
    #32709528
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kompotFXМожет и не к теме, но я заметил что c++ програмисты больше и охотнее разбираются в другрих языках - в той же джаве, вб или шарпе, чем джависты в си, вб или шарпе... Это я по своей команде сужу. У нас пацаны во всем шустрят по зову партии и приказу шефа. Но вот два джава-профика как то фанатично упираются - типа пусть через жопу но чтоб в jave.
Ну а вобщем они пацаны нормальные, только вот кофе пьют литрами.
Вообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...)

Естественно, если в зиму по нужде бегать в сортир на улице, то удовольствием будешь ходить на любой горшок по теплее, а вот наоборот... :)

Java - cорт кофе. Beans - зёрна. jar - банки (с кофем). - вся эта терминология живёт в языке :)
...
Рейтинг: 0 / 0
Java или C++?
    #32709559
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

> Что вы как маленький на самом деле. Когда рассказывают о списках, рисуют картинки, где обозначены объекты и связи между ними. Где там нужна память и с кучей адресов? :)

Это, надо понимать, из собственного опыта. А программировать Вы тоже картинками будете? Потому я и говорю: вот они, результаты повальной компьютерной грамотности. Количество обученных не переходит в качество подготовки отдельно взятого индивидуума, он ничего не знает и ничего не умеет.

> Удивлён только, что вы так и не привели общеизвестный "факт" несостоятельности нейронных сетей обнаруженный в 60-х годах, после чего был почти 20-ти летний период когда ими почти не занимались.

Процитируйте плз, только точно, а то я уже подзабыл где я такое говорил.

> -- Не существует в ООП подпрограмм :) Есть объекты и их методоы.

А в C нет процедур, есть функции. И что это меняет? Хоть горшком назови, процедуры останутся процедурами.

> Сравнивать процедурный стиль написания кода и ОО - бессмысленно.

Это Вы сами придумали, или кто-то подсказал? Интересно услышать хоть какую-нибудь аргументацию на сей счет.

Мой аргумент все тот-же: время и усилия (длина кода), затраченные программистом на создание программы. По этому критерию очень даже можно сравнивать ООП, функциональное, логическое, процедурное и всякие другие программирования.

> - Что лежит за словами сокращение кода? С точки зрения синтаксических конструкций, на С++ можно писать более сжато, это результат наследния от процедурного языка С. Но кол-во кода которое придётся написать на java, в общем случае "будет меньше", за счёт наличия отличных библиотек.

Таким образом Вы согласны с тем, что разница только в библиотеках, а язык сам по себе не лучше, а возможно хуже? Что ЯЗЫК сам по себе не обладает свойствами, позволяющими его использовать эффективнее чем C/C++?

Я напоминаю, что мы начали с того, что я сказал, что вместо джавы можно было бы использовать C/C++, дополнив его стандартизированными библиотеками и, возможно, но не обязательно, VM. По-моему Вы сейчас сказали то же самое ("за счёт наличия отличных библиотек").



Теперь нейронные сети.

> Что касается доступа к "их опыту", то в россию этот краник прекрыт.

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

> Результаты не аналогичны. Демон фантазия человека, нейросети реально существуют и очень не плохо работают.

Так это ж не те нейросети. У них одинакового - одно название.

У комара 30 (или 300, не помню) нейронов. Ничтожное число, вполне доступное для моделирования на современных компьютерах. Слабо смоделировать поведение комара своими нейросетями из 300 нейронов? Даже без учета времени реакции системы, чтоб не было отговорок, что компопьютеры медленные. Попробуйте, сразу все встанет на свои места.

> Книга 6 "Нейроматематика" (из серии "Нейрокомпьютеры и их применение").
Глава 2. "Нейросетевые алгоритмы решения алгебраических задач".
Задача: сложение двух двоичных чисел. Сложность задачи o(n) n - число бит.
Нейросетевое решение: двухслойная сеть без обратных связей. Приведён алгоритм вычисления весов и алгоритм построения сети для произвольного n.
Результат сложения получается за один "такт", не зависимо от значения n.
Доказательство работоспособности элементарное. Приводить рисунки не буду.
Ссылку на источник дал.


Наверное Вы не в курсе, но идея вычисления алгоритмической сложности следующая. Задается алгоритм (вычислительное устройство, не важно), а потом его начинают исследовать на задачах какого-то класса, меняя параметры задачи, но не меняя параметры алгоритма (устройства). Это определение, против него не попрешь. В Вашем примере таким переменным параметром есть разрядность числа. И Вы хотите сказать, что, например, сеть состоящая из 100 (или N, но ФИКСИРОВАННОГО числа) нейронов за один такт сложит и 1000-разрядные числа и 10000 разрядные числа и 100*N разрядные числа? Или Вы не поняли, что там написал автор, или автор просто дурак.

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

Учите матчасть.

Вопрос остается открытым: "Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура."
...
Рейтинг: 0 / 0
Java или C++?
    #32711556
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Это, надо понимать, из собственного опыта. А программировать Вы тоже картинками будете?

Программировать я буду на Java пока за это не плохо платят :)
И что вы имеете ввиду под словами "собственный опыт"?
На ваш вопрос я целиком и полностью ответил.


Потому я и говорю: вот они, результаты повальной компьютерной грамотности. Количество обученных не переходит в качество подготовки отдельно взятого индивидуума, он ничего не знает и ничего не умеет.

Поэтому это почему? :)
Слишком много утверждений на пустом месте выстраиваете.


> Удивлён только, что вы так и не привели общеизвестный "факт" несостоятельности нейронных сетей обнаруженный в 60-х годах, после чего был почти 20-ти летний период когда ими почти не занимались.

Процитируйте плз, только точно, а то я уже подзабыл где я такое говорил.

???
Вы и не говорили, в том то и дело :) Для вас этот факт не знаком, хоть вы и кичитесь своей "граммотностью".


> -- Не существует в ООП подпрограмм :) Есть объекты и их методоы.

А в C нет процедур, есть функции. И что это меняет? Хоть горшком назови, процедуры останутся процедурами.

Именно поэтому многие используют ОО С++ как процедурный язык, только прикрываясь понятием ОО. Это не мои слова, но вы меня в них убеждаете.
Видимо трудно всё-таки понимать новое, если старое всё ещё работает.


> Сравнивать процедурный стиль написания кода и ОО - бессмысленно.

Это Вы сами придумали, или кто-то подсказал? Интересно услышать хоть какую-нибудь аргументацию на сей счет.

А что вас здесь смущает?
Там где не нужно ООП, там не нужна Java.
А там где приминение ОО подхода оправданно, выйгрыш будет совсем другого порядка, чем от написанного на треть короче кода.
Поэтому хотите сравнивать - сравнивайте. Можете даже сравнить C++ с js и html. Но только без моего участия.


Мой аргумент все тот-же: время и усилия (длина кода), затраченные программистом на создание программы. По этому критерию очень даже можно сравнивать ООП, функциональное, логическое, процедурное и всякие другие программирования.

Можно, но тема топика от этого не должна меняться, а именно Java vs С++ (а не С).


> - Что лежит за словами сокращение кода? С точки зрения синтаксических конструкций, на С++ можно писать более сжато, это результат наследния от процедурного языка С. Но кол-во кода которое придётся написать на java, в общем случае "будет меньше", за счёт наличия отличных библиотек.

Таким образом Вы согласны с тем, что разница только в библиотеках, а язык сам по себе не лучше, а возможно хуже? Что ЯЗЫК сам по себе не обладает свойствами, позволяющими его использовать эффективнее чем C/C++?

Про что речь? Вроде раз пять уже писал.
Да, ЯЗЫК java не обладает свойствами, позволяющими писать компактнее чем на С, но это не влияет на эффективность ОО языка. "Напечатывание кода" самая малая часть процесса программирования.
Эффективность в данном случае это лёгкость проектирования/реализации/отладки/рефекторинга кода. Юзабилити одним словом. В Java она выше. За счёт чего это достигается, тоже говорилось.
Это простота оо модели, отсутствие процедурных атавизмов.

Да, в задавшись строгими правилами, можно и в С++ писать как на Java, так же красиво и мило. И при этом каждой табуретке объяснять - так нельзя делать, нельзя, хоть синтаксис позволяет - но нельзя.
Антипаттернов связанных с саммим языком в C++ на порядок больше, чем в Java.



Я напоминаю, что мы начали с того, что я сказал, что вместо джавы можно было бы использовать C/C++, дополнив его стандартизированными библиотеками и, возможно, но не обязательно, VM. По-моему Вы сейчас сказали то же самое ("за счёт наличия отличных библиотек").

Я уже отвечал на этот вопрос многократно.
Зачем тащить за собой сложную модель языка, процедурные атавизмы и отсутствие стандартизации туда, где это не нужно. Особенно если учесть концепции автоматической уборки мусора и платформенно не зависимого байткода, которые были заложенны в java. А также что java это платформа программирования, а не язык программирования как таковой. Осмысленное управление развитием этой платформы было бы не возможно, если бы в качестве языка служил бы С++.
java != C++.


> Что касается доступа к "их опыту", то в россию этот краник прекрыт.
Чепуха, все открыто. Только нужно изучать все результаты и не отбрасывать те, что противоречат желаемым.

Об чём базар-то?


> Результаты не аналогичны. Демон фантазия человека, нейросети реально существуют и очень не плохо работают.
Так это ж не те нейросети. У них одинакового - одно название.

Вы про что?
Нейросети это не модели нейронов в голове человека.
Такое мнение это результаты вашей "повальной грамотности", не иначе.

Реальные нейронные сети, реализованные в железе благополучно работают, не зависимо от вашего знания об этом :))


У комара 30 (или 300, не помню) нейронов. Ничтожное число, вполне доступное для моделирования на современных компьютерах. Слабо смоделировать поведение комара своими нейросетями из 300 нейронов? Даже без учета времени реакции системы, чтоб не было отговорок, что компопьютеры медленные. Попробуйте, сразу все встанет на свои места.

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


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

Возьмите задачу коммивояжора, для фиксированного N = 1000. И порешайте.
Возьмите фиксированное кол-во (пару сотен) не линейных диф.уравнений - и порешайте.
А потом увеличте кол-во вершин/уравнений ещё на порядок и подумайте, сколько насколько дольше станет работать ваше решение. И насколько дольше это будет делать нейронная сеть после масштабирования.

Вы уж извините, но разрядность ЭВМ'а тоже не бесконечна. Так же как и у нейросетей.

Лол.
Сумматор говорите, за 1-2 такта?
А как насчёт привести схемку и временную диаграммку (ссылочку)?
Или вы изобрели что-то новое?
http://www.skvozilka.com.ru/electronics/DOCel/shmtechnika_7.htm
На двоичной логике вы получите только o(n) от тактов синхронизации, ограниченных временем переключения одного элемента.
Или под классическим сумматором вы понимаете программирование плиски (хранить 2^n результатов, что бы вернуть за один такт требуемый)?

Но тут-то ладно, задача простая, переключение простенького транзистора на порядок быстрее, чем переключение нейрона. Это лишь иллюстрация принципа о котором вы просили, "helloword" своеборазный.

Для более сложных задач, таких как решение систем нелинейных дифф.уравнений, вы тоже предлагаете делать схемотехническое решение на булевской логике ? :) Времени много или денег? :)


И Вы хотите сказать, что, например, сеть состоящая из 100 (или N, но ФИКСИРОВАННОГО числа) нейронов за один такт сложит и 1000-разрядные числа и 10000 разрядные числа и 100*N разрядные числа?

Не хочу.



Учите матчасть.

Благодарю.


Вопрос остается открытым: "Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура."
Дискутировать с вами на тему не интересно. Ничего кроме желания куда-то ткнуть носом с вашей стороны не видно.
...
Рейтинг: 0 / 0
Java или C++?
    #32712020
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 NotGonnaGetUs

> Ничего кроме желания куда-то ткнуть носом с вашей стороны не видно.

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

> И что вы имеете ввиду под словами "собственный опыт"?

Вот это: "NotGonnaGetUs>Когда рассказывают о списках, рисуют картинки, где обозначены объекты и связи между ними. Где там нужна память и с кучей адресов?" Судя по всему Вас так и учили. Память и адреса есть даже на картинке со стрелочками, но Вы об этом не знаете. Как и указатели в джаве.

> Зачем тащить за собой сложную модель языка, процедурные атавизмы и отсутствие стандартизации туда, где это не нужно. Особенно если учесть концепции автоматической уборки мусора и платформенно не зависимого байткода, которые были заложенны в java. А также что java это платформа программирования, а не язык программирования как таковой. Осмысленное управление развитием этой платформы было бы не возможно, если бы в качестве языка служил бы С++.
java != C++.


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


> Эффективность в данном случае это лёгкость проектирования/реализации/отладки/рефекторинга кода. Юзабилити одним словом. В Java она выше. За счёт чего это достигается, тоже говорилось.

За счет чего это достигается? Повторите если не сложно.

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

> Это простота оо модели, отсутствие процедурных атавизмов.

Есть два вопроса.
Вы так часто упоминаете о какой-то особой ОО модели джавы, что мне стало интересно: Вы знаете для чего первоначально разрабатывался язык джава?

Что это за такие процедурные атавизмы, что присутсвуют в C++ и отсутсвуют в джаве?

> Нейросети это не модели нейронов в голове человека.
Такое мнение это результаты вашей "повальной грамотности", не иначе.


Ликбез. Именно так и задумывались нейронные сети, как модель (структурная а не биохимическая конечно) того, что работает в голове человеки и животных. Отсюда и название, если Вы еще не догадались. Аргумент был такой: "вот мозг распознает, мы не знаем деталей как он это делает, но если смоделируем достаточно точно, то и у нас заработает". В этом основная идея: сделать похоже.

> Реальные нейронные сети, реализованные в железе благополучно работают, не зависимо от вашего знания об этом :))

Где они существуют и работают? Ну раскройте же источники в конце концов. А то получается какое-то сокровенное знание: все типа знают что оно есть, но никто не видел.

> Это вообще к чему? Продолжение темы "грамотности"?
Что на какие места встанет? Не позорьтесь.


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

> Возьмите задачу коммивояжора, для фиксированного N = 1000. И порешайте.
Возьмите фиксированное кол-во (пару сотен) не линейных диф.уравнений - и порешайте.
А потом увеличте кол-во вершин/уравнений ещё на порядок и подумайте, сколько насколько дольше станет работать ваше решение. И насколько дольше это будет делать нейронная сеть после масштабирования.


Давайте вначале разберемся с простым примером сложения чисел, а потом поговорим о других задачах. Тем более что сложение чисел в смысле теории вычислений ничуть не хуже "не линейных диф.уравнений".

> Вы уж извините, но разрядность ЭВМ'а тоже не бесконечна. Так же как и у нейросетей.

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

Поэтому вопрос: число нейронов ограничено заранее (т.е. до того, как я решу, какие числа мне нужно сложить) или может меняться в процессе решения задачи (т.е. после того, как я решу, какие числа я буду складывать)?
...
Рейтинг: 0 / 0
Java или C++?
    #32713545
Shultze
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И наступит рай на Земле, и все будут пистать на паскале и компилировать в натив код в один огромный exe-шник, не будет никаких dll , ocx, assembly.
Программы будут работать без операционки, потому что очень большой и умной программе операционка не нужна, она сама себе операционка.
А так же не будет операторов, потому что большие и умные программы сами себе операторы.
Чем больше программа тем она умнее и тем, соответственно процессор под нее можно с самым минимумом команд - чем меньше тем лучше, потому что в программах будет очень много команд, а самые большие и сложные программы будут работать вообще без процессоров, потому что при стремленни объема кода к бесконечности, простота процессора стремится к 0.
И наступит всем счастье...
...
Рейтинг: 0 / 0
Java или C++?
    #32713807
kompotFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 NotGonnaGetUs

А не пора ли вам , молодой человек, книжку написать типа "Как закалялась Ява". Уж больно красиво излагаете. ;)
...
Рейтинг: 0 / 0
Java или C++?
    #32726982
Простите.
А как же быть с решением проблем динамического подключения объектов и методов,
которая решена в Java посредством Reflection.
Согласитесь, но создание подобных механизмов на С++ было бы задачей, мягко говоря сложноватой. В Java это решено средствами языка, что позволяет создавать довольно сложные динамические образования. Как раз эти и активно пользуются разработчики серверов на Java. А если попытаться все это рисовать на С++ с сохранением настроек снаружи, со сборкой мета-классов на лету то скорость подобного решения на С++ оставит желать лучшего.
Там где объектная модель статична можно и нужно использовать С++. Но там где возникает необходимость настраивать объектную среду, возникает и необходимость в более гибких подходах.
А такие необходимости назревают в сложных, настраиваемых бизнес системах.
И если не включать возможности тонкой настройки объектной модели на этапе исполнения, возникает необходимость использовать механизмы интерпритации.
Что все одно медленно.
...
Рейтинг: 0 / 0
Java или C++?
    #32727647
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наблюдатель1Простите.
А как же быть с решением проблем динамического подключения объектов и методов,
которая решена в Java посредством Reflection.

Есть COM и CORBA, они эти проблемы решают. Не нравиться - если нужно можно и самому что-то подобное изобразить. Программ с плагинами на С++ написанных (и даже на С) дофига - ничего , работают.
...
Рейтинг: 0 / 0
Java или C++?
    #32727795
Ну да, конечно, обертки классов для комфортной работы с dlopen.
Руками собранные Class Factory.
Красивые решения?
Впрочем СОМ и CORBA также не отличаются лаконичностью и простотой.
...
Рейтинг: 0 / 0
Java или C++?
    #32729274
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А типа Java отличается, да ?
...
Рейтинг: 0 / 0
Java или C++?
    #32731187
В Java есть Reflection... (встроенный)
...
Рейтинг: 0 / 0
Java или C++?
    #32731821
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уууу помойму во всех форумах , уже продетали темы ,
"что лутьше то или то ?! "


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Java или C++?
    #32732983
zuzu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наблюдатель1В Java есть Reflection... (встроенный)
pro tormoza zabil ... :)
...
Рейтинг: 0 / 0
Java или C++?
    #32735153
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2наблюдатель1
--А как же быть с решением проблем динамического подключения объектов и методов, которая решена в Java посредством Reflection.

там где не хватает динамически подгружаемых dll вполне хватает COM

---Согласитесь, но создание подобных механизмов на С++ было бы задачей, мягко говоря сложноватой.

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

--В Java это решено средствами языка, что позволяет создавать довольно сложные динамические образования.
Как раз эти и активно пользуются разработчики серверов на Java.

вы о каких серверах толкуете ?

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

конкретные примеры приводите. ну не бывает приложений на java быстрее чем на С++ просто по определению. Так вы договоритесь что универсальные процессоры работают быстрее специализированных


--Там где объектная модель статична можно и нужно использовать С++. Но там где возникает необходимость настраивать объектную среду, возникает и необходимость в более гибких подходах.

здесь по-подробнее что значит статичная, что значит динамичная.

--А такие необходимости назревают в сложных, настраиваемых бизнес системах.

сложные бизнес системы (типа PeopleSoft, SAP) пишуться на специализированных языках, жавой там и не пахнет.
...
Рейтинг: 0 / 0
Java или C++?
    #32751709
>там где не хватает динамически подгружаемых dll вполне хватает COM
Не всегда хватает. Не всегда COM. (В мире юниксов все же иные правила.)
И цена Corba решения высока.

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


>--Там где объектная модель статична можно и нужно использовать С++. Но там где >возникает необходимость настраивать объектную среду, возникает и необходимость в >более гибких подходах.

>здесь по-подробнее что значит статичная, что значит динамичная.
Статичная, это когда Вы написали класс, собрали его в библиотечку и пользуетесь.
А динамичная, когда Вы на лету, в процессе работы системы собираете объект из доступных компонент пользуясь некими внешними описателями или сценариями.
Таким образом на стадии выполнения можут возникать некий мета-класс, виртуальная объектная структура изначально неописанная в коде жестко.

>--А такие необходимости назревают в сложных, настраиваемых бизнес системах.

>сложные бизнес системы (типа PeopleSoft, SAP) пишуться на специализированных >зыках, жавой там и не пахнет.
Дело не в том, что там не пахнет жавой, дело в том что там не всегда уместен С++ для решения задач, ну..., к примеру, workflow. Вот потому-то они и пишут свои языки. Но это не означает что Java плох для решения этих задач.
...
Рейтинг: 0 / 0
Java или C++?
    #32810621
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 c127.

насчет интерпретатора С++. Это дело давно существует и развивается.

Есть http://root.cern.ch/root/Cint.html
Это интерпретатор С/С++, к которому можно подключать скомпилированные библиотеки. Для этих целей на основе анализа исходников генерится словарь, который и есть по сути Reflection (в CINT он называется ERTTI).
...
Рейтинг: 0 / 0
Java или C++?
    #32817230
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Ребята, привет.. :)
про несостоятельность нейросетей... это вы круто завернули :)
да был один такой чувак, который написал трактат о том, что нейросети несостоятельны и могу решать только ограниченный класс задач... Минин, кажется.... Только речь там шла об однослойных персептронах тк в его время не было как алгоритмов обучения многослойных сетей (сейчас есть и много) так и альтернативных архитектур... (сейчас тоже есть и тоже очень много :))
только трактат его не опровергнут и до сих пор. поэтому можно говорить о несостоятельности отдельного класса нейросетей, а не всей концепции в целом :)
...
Рейтинг: 0 / 0
Java или C++?
    #32817667
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

>только трактат его не опровергнут и до сих пор. поэтому можно говорить о несостоятельности отдельного класса нейросетей, а не всей концепции в целом :)

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

Но вообще-то я исходил из других соображений. Это математика: если что-то доказано, то значит предварительно было известно что дано и что нужно доказать и другого способа не существует. Концепция в целом несостоятельна по причине отсутсвия концепции в строгом смысле. Этот мужик доказал несостоятельность в частном случае однослойных персептронов (если Вы ничего не путаете), поскольку была формализация этого частного случая. А формализация нейронных сетей вообще - отсутсвует. По крайней при всем моем желании найти ее в литературе мне не удалось. Поэтому то чем занимаются наши клоуны есть очковтирательство чистой воды с целью получить бабки с доверчивых инвесторов или какой-то другой.
...
Рейтинг: 0 / 0
Java или C++?
    #32819561
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет с127. :)

Видимо я нечетко сформулировал свою мысль, если создалось впечатление, что я имею ввиду бесполезность концепции нейронных сетей. Нет. Нечеткие сети работают и работают на ура. Имелось ввиду, что однослойные персептроны могут решать узкий класс задач. Например задачи распознавания образов. Решаются очень хорошо. А так же задачи управления. И вообще применять нейронные сети имеет смысл когда невозможно или очень трудно четко поставить задачу. Вот возьмем, например, задачу распознавания образов: возможных решения всего 2

1. Интеллектуальныая система с нечеткой логикой
2. Применение нейросети

Пункт 1 имеет следующие недостатки:
а) дороговизна создания - придется фактически создавать новый продукт.
б) возможность неполноты, или противоречивости базы знаний.
в) все другие общие недостатки интеллектуальных систем с нечеткой логикой.

Существенное достоинств два:
1) простота объяснения полученных результатов.
2) возможность введения априорных знаний (но эти знания еще нужно сформулировать плюс возможна их неполнота или противоречивость)

Недостатки пункта 2:

а) Сложность объяснения полученных результатов
б) необходимость эмпирического подбора архитектуры сети.
в) невозможность введения априорных знаний

Достоинства :

а) простота реализации и как следствие дешевизна.
б) Невозможность противоречивости знаний.

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

Так вот, вывод из всего этого...

При отсутствии необходимости объяснения результатов и наличии достаточных вычислительных ресурсов нейросети могут оказаться предпочтительнее классических систем. Кстати, существует архитектура нечетких нейронных сетей, которая сочетает в себе достоинства собственно нейросетей и систем построенных на нечеткой логике.
...
Рейтинг: 0 / 0
Java или C++?
    #32819751
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

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

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

>Вот возьмем, например, задачу распознавания образов: возможных решения всего 2

1. Интеллектуальныая система с нечеткой логикой
2. Применение нейросети


На самом деле решение одно: для начала нужно объяснить, что мы имеем в виду под распознаванием образом. Пока задача не формализована говорить не о чем. А она не формализована. Это касается не только распознавания образов, но и искуственного интеллекта вообще.

Что касаетя нечеткой логики, то есть такая строгая теорема, о ней я уже упоминал, доказанная больше 30 лет назад, которая утверждает, что система с многозначной логикой (даже более общий случай, с произвольной булевой алгеброй в качестве истинностных значений) эквивалентна системе с двузначной логикой. С одной из формулировок можно ознакомиться в книгах Джонстон "Топосы" или S.MacLane, етс. "Sheaves in Geometry and Logic". Так что решение 1 - тупик, точнее ничего нового там ожидать нельзя.

Кстати есть и другие методы, которыми народ пытается решать задачу. Например Hidden Markov Models (HMM) - вполне классический и формальный метод, причем очень успешный в определенных областях.

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

Но это не есть доказательство того, что нейросети будут работать. Возьмите, например, однослойные персептроны, о которых Вы упоминали. Они тоже отображают входные сигналы в выходные и тоже представимы в виде композиции простых функций, т.е. все условия соблюдены. Но вы ведь сами утверждаете (со ссылкой на теорему), что они "несостоятельны и могу решать только ограниченный класс задач".
...
Рейтинг: 0 / 0
Java или C++?
    #32821843
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Снова привет :)

Для начала сразу оговорюсь:
Фамилия мужика, написавшего вышеозначенный трактат не Минин, а Минский. Я ошибся, за что прошу прощения. С его работой можно ознакомиться в книге "Перцептроны." авторы Минский М., Пейперт С..

Далее:

> На самом деле решение одно: для начала нужно объяснить, что мы имеем в виду под распознаванием образом. Пока задача не формализована говорить не о чем. А она не формализована. Это касается не только распознавания образов, но и искуственного интеллекта вообще.

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

>Что касаетя нечеткой логики, то есть такая строгая теорема, о ней я уже упоминал, доказанная больше 30 лет назад, которая утверждает, что система с многозначной логикой (даже более общий случай, с произвольной булевой алгеброй в качестве истинностных значений) эквивалентна системе с двузначной логикой. С одной из формулировок можно ознакомиться в книгах Джонстон "Топосы" или S.MacLane, етс. "Sheaves in Geometry and Logic". Так что решение 1 - тупик, точнее ничего нового там ожидать нельзя.

Обязательно ознакомлюсь с данной работой... только по-моему нечеткая логика не совсем подходит под определение произвольной булевой алгебры в качестве истинностных значений. Это скорее ее расширение до бесконечного количества истинностных значений. Причем множество этих значений непрерывно на положительном интервале числовой оси и включает 0. По крайней мере я так понял из из работы L. Zadeh "Fuzzy Sets". Поправте меня, если я заблуждаюсь. Только на этом данная мат. теория не ограничивается. Существует механизм нечеткого вывода и множество алгоритмов его реализации.... Но в общем я не могу утверждать, что Вы не правы, пока не ознакомлюсь с приведенной Вами теоремой...

> Кстати есть и другие методы, которыми народ пытается решать задачу. Например Hidden Markov Models (HMM) - вполне классический и формальный метод, причем очень успешный в определенных областях.

Согласен. Нейросети - не панацея, о чем я уже упоминал.

> Но это не есть доказательство того, что нейросети будут работать

Вам нужны доказательства? Физические, материальные доказательства того, что нейросети работоспособны? Не вопрос. Зайдите на Рамблер и найдите работающий пример. Их тучи. А еще лучше, поставте себе Mathlab, если лень программировать, и попробуйте создать собственную нейросеть.

> Но вы ведь сами утверждаете (со ссылкой на теорему), что они "несостоятельны и могу решать только ограниченный класс задач".

Да утверждаю, и буду утверждать, что однослойные персепртроны решают ограниченный класс задач. Пока кто-нить не опровергнет анализ Минского! А если еще и функция активации порговая - то вообще караул! Емкость такой сети очень низкая.
...
Рейтинг: 0 / 0
Java или C++?
    #32822108
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

>С его работой можно ознакомиться в книге "Перцептроны." авторы Минский М., Пейперт С..

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

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

Если мы хотим использовать математику мы обязаны формализовать задачу. Другого пути просто нет. Вообще результаты интуитивных (без математики) решений могут нас иногда очень неприятно удивить. Примеры можно найти в рассказе Шекли "Страж птица" (http://lib.ru/SHEKLY/straj.txt), написанном в 1957 году.

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

Множество действительных чисел R, о котором Вы говорите, вместе со своей обычной системой подмножеств и операций объединенния-пересечения-дополнения и есть булева алгебра (дистрибутивная решетка с дополнением). Только вместо R обычно берут изоморфный ему единичный полуинтервал I=[0,1[.

Эта теорема есть и в более классическом виде, только я не знаю где ее можно найти. Мои ссылки неудачны, они требуют ознакомления с кучей в принципе ненужного мателриала. Лучше попытаться найти классический вариант теоремы.

c127>Кстати есть и другие методы, которыми народ пытается решать задачу. Например Hidden Markov Models (HMM) - вполне классический и формальный метод, причем очень успешный в определенных областях.
foo>Согласен. Нейросети - не панацея, о чем я уже упоминал.


Вы сказали: "Вот возьмем, например, задачу распознавания образов:
возможных решения всего 2 ". Я утверждаю, что возможных решений большк. Как доказательство привел пример третьего. Но это не важно.

>Вам нужны доказательства? Физические, материальные доказательства того, что нейросети работоспособны? Не вопрос. Зайдите на Рамблер и найдите работающий пример. Их тучи. А еще лучше, поставте себе Mathlab, если лень программировать, и попробуйте создать собственную нейросеть.

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

Боюсь, что если формализовать нейронные сети, то станет понятным, что там ничего нет, точнее все тривиально и уже давно известно. Я тут уже говорил, что широкий класс нейронных сетей сводится к линейным системам, более того, к очень частному виду линейных систем. А о линейных системах уже лет 200 как все известно, их учат на начальных курсах университетов.

Этот вопрос сродни сравнению РСУБД и ООБД. РСУБД формализованы, а ООБД - нет. Сравнивать их невозможно поскольку нечего сравнивать. Почитайте топик в сравнении СУБД. Тут тоже - HMM формализованы, а нейронные сети - нет.

>Да утверждаю, и буду утверждать, что однослойные персепртроны решают ограниченный класс задач. Пока кто-нить не опровергнет анализ Минского! А если еще и функция активации порговая - то вообще караул! Емкость такой сети очень низкая.

Это был контрпимер (приведенный Вами же), опровергающия Ваше рассуждение по поводу "Доказательство же работоспособности всей концепции привел другой мужик (фамилию, к сожалению, не помню)..." Это доказательство работоспособности доказательством не является.
...
Рейтинг: 0 / 0
Java или C++?
    #32823479
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет c127 :)

> Только вместо R обычно берут изоморфный ему единичный полуинтервал I=[0,1[.

Вы абсолютно правы :)

>А разве персептроны это частный вид нейронных сетей?

А что же это еще???

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

Но еще одним важным свойством персепртронов является отсутствие обратных связей.


> Например в распознавании речи нейронные сети уступают HMM. Причем по-моему тут дело не в в сложножности сетей, а в самой концепции.

Боюсь, что если формализовать нейронные сети, то станет понятным, что там ничего нет, точнее все тривиально и уже давно известно. Я тут уже говорил, что широкий класс нейронных сетей сводится к линейным системам, более того, к очень частному виду линейных систем. А о линейных системах уже лет 200 как все известно, их учат на начальных курсах университетов.


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

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

Кстати, в одном из постов Вы спрашивали про аппаратные реализации нейросетей... Могу утверждать, что одна из них находится в лаборатории одного из московских Вузов, не помню, правда, в каком... Мой коллега, который там учился и успешно его закончил утверждает, что на лабораторных работах они на основе нейросети делали регулятор для чайника :) (Задача состояла в том, чтобы поддерживать определенную темпиратуру воды градусов 60 что-ли.. причем с очень маленьким отклонением)
...
Рейтинг: 0 / 0
Java или C++?
    #32824387
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
foo

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

Вы хотя бы представляете какие суммы денег заработает (причем очень быстро и надежно) человек, который сможет предсказывать поведение рынка? А сколько людей сейчас пытаются сделать деньги на торговле ценными бумагами? Люди за деньги готовы на все, не то что купить компьютер и поставить пару пакетов. Если б было так, как Вы пишете хотя бы на частично, то уже не бвло бы отбоя от нейронных сетей ва всех их видах и от желающий их использовать. Заколачивнием денег с помощью нейронных сетей занимались бы толпы людей и организаций. Но ничего этого не просходит. А причина простая: все что Вы написали НЕ РАБОТАЕТ.

>Кстати, в одном из постов Вы спрашивали про аппаратные реализации нейросетей...

Аппаратную реализацию построить несложно. Я спрашивал об их практическом применении и жутких успехах, о которых мы вроде бы должны были услышать.

>(Задача состояла в том, чтобы поддерживать определенную темпиратуру воды градусов 60 что-ли.. причем с очень маленьким отклонением)

Чайник это сложная система, давайте начнем с простого. Например комара с его 30 (или 300) нейронами они не моделировали? Это же так прсто, всего 30 нейронов и пара несложных тестов.
...
Рейтинг: 0 / 0
Java или C++?
    #32825510
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
привет :)

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

Очень много :)

> Если б было так, как Вы пишете хотя бы на частично, то уже не бвло бы отбоя от нейронных сетей ва всех их видах и от желающий их использовать. Заколачивнием денег с помощью нейронных сетей занимались бы толпы людей и организаций. Но ничего этого не просходит. А причина простая: все что Вы написали НЕ РАБОТАЕТ.

Это не есть факт, как сказал один из персонажей хорошего фильма. :) Давайте отвлечемся от нейронных сетей и посмотрим на другую технологию — семантический веб (Semantic Web) - http://www.w3.org/2001/sw/
По-моему очень интересная идея, но, как видите, не введена еще. А почему? тоже не работает? Или не предоставляет тех возможностей что есть сейчас?
Нет... просто требуются затраты (большие), не обещающие прибыли :(
Вот так вот :( все упирается в бабло.....

То же самое и с нейросетями... Пока крупные корпорации не возьмуться за внедрение нейросетей - последние не выйдут за пределы лабораторий... Да, конечно, отдельные реализации пакетов для работы с нейросетями существуют, и у меня нет оснований как сомневаться в их возможностях, так и превозносить их, но кто может уверенно сказать, что это известные пакеты от солидного производителя? Нужна реклама, продвижение нейросетей на рынок... Пока M$, Sun, IBM и другие не заявят, что, "покупайте наши продукты, основанные на супертехнологии нейронных сетей...(Semantic Web\ мультиагентной архитектуре\др. нужное подчеркнуть)" можно считать, что технологии нет. Ее не будут использовать все и вся.... Хотя, тот факт, что инструменты для работы в нейросеттями можно найти в MathLab (или Mapple ???) говорит о том, что интерес к ним проявляется потихоньку...

>Аппаратную реализацию построить несложно.

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

> Я спрашивал об их практическом применении и жутких успехах, о которых мы вроде бы должны были услышать.

И обязательно услышим... Как только кто-нибудь из крупных компаний ими заинтересуется... Менеджеры по рекламе нам все с удовольствием объяснят.

> Чайник это сложная система, давайте начнем с простого.


lol ^)))))))
да, для чайника достаточно нелинейного регулятора :))
Конечно, гвозди и микроскопом можно забивать, но это была лаба, как я понял, так что дело все таки в демонстрации работосрособности, а не в объекте управления ...

> Например комара с его 30 (или 300) нейронами они не моделировали? Это же так прсто, всего 30 нейронов и пара несложных тестов.

Одна группа энтузиастов моделировала одноклеточные организмы. На 10 нейронах. Ссылку я, кажется, давал.. Конечно, до комара им далеко, но пищу они успешно находили и размножались тоже вполне успешно.. и даже в стаи сбивались :) Не знаю не забросили ли они свой проект, а то может и до комара дойдет :)
...
Рейтинг: 0 / 0
Java или C++?
    #32825845
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
foo

>Это не есть факт, как сказал один из персонажей хорошего фильма. :) Давайте отвлечемся от нейронных сетей и посмотрим на другую технологию — семантический веб (Semantic Web) - http://www.w3.org/2001/sw/
По-моему очень интересная идея, но, как видите, не введена еще. А почему? тоже не работает? Или не предоставляет тех возможностей что есть сейчас?


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

>Пока M$, Sun, IBM и другие не заявят, что, "покупайте наши продукты, основанные на супертехнологии нейронных сетей...(Semantic Web\ мультиагентной архитектуре\др. нужное подчеркнуть)" можно считать, что технологии нет. Ее не будут использовать все и вся....

Юноша, если речь идет о месячных доходах в порядка 10^7 гринов, как в случае предсказания рынка, то никакие заявления мелкософта, ибм и пр. не нужны. И если еще этим предсказанием до сих пор никто не прославился, то только потому что нейронные сети не работают.

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

Как это одноклеточный организм на 10 нейронах? Это уже как минимум 10-клеточный организм. Ну и какие Вам после этого еще нужны аргументы, что нейронные сети просто очковтирательство?
...
Рейтинг: 0 / 0
Java или C++?
    #32831302
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет :)

> Юноша

:)

> если речь идет о месячных доходах в порядка 10^7 гринов, как в случае предсказания рынка, то никакие заявления мелкософта, ибм и пр. не нужны.

Ага... конечно, тоесть Вы с одинаковым доверием\недоверием относитесь и к заявлениям крупных компаний и к аналогичным заявлениям мелких? И вам не нужны гарантии крупных компаний? Вы можете доверить управление оборотом в 10^7 грина неизвестной софтине, которая еще и непонятно как работает? Класс.

> И если еще этим предсказанием до сих пор никто не прославился, то только потому что нейронные сети не работают.

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

А вот в качестве исследований - пожалуйста... смотрите сюда:
http://%5Dhttp://www.softcraft.ru/neuro/ni/p12.shtml#L13_1_5_1%5B/url]

Думаю, что данный анализ по сложности, конечно, уступает анализу рынка.
но по сути - одно и то же.

> Как это одноклеточный организм на 10 нейронах?
ну, хорошо, уговорили, :) пусть будет простейший, а не одноклеточный, если Вам так важна формулировка

> Ну и какие Вам после этого еще нужны аргументы, что нейронные сети просто очковтирательство?

Аргументов не нужно, Вы привели их достаточно. Нужны факты. Факт же в том, что нейронные сети работают. И заявленную функциональность демонстрируют. Вы даже можете поискать поделки программеров-любителей, демонстрирующие ту или иную архитектуру или алгоритм обучения. Я в свое время нашел их предостаточно. Например загляните сюда:
http://]http://search.rambler.ru/lite?old_q=%EF%F0%E5%E4%F1%EA%E0%E7%E0%ED%E8%E5+%F0%E5%E7%F3%EB%FC%F2%E0%F2%EE%E2+%E2%FB%E1%EE%F0%EE%E2+%CF%F0%E5%E7%E8%E4%E5%ED%F2%E0+%D1%D8%C0&words=%E4%E5%EC%EE%ED%F1%F2%F0%E0%F6%E8%FF+%F0%E0%E1%EE%F2%FB+%ED%E5%E9%F0%EE%F1%E5%F2%E5%E9 Какие Вам еще нужны доказательства?
...
Рейтинг: 0 / 0
Java или C++?
    #32831304
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет :)

> Юноша

:)

> если речь идет о месячных доходах в порядка 10^7 гринов, как в случае предсказания рынка, то никакие заявления мелкософта, ибм и пр. не нужны.

Ага... конечно, тоесть Вы с одинаковым доверием\недоверием относитесь и к заявлениям крупных компаний и к аналогичным заявлениям мелких? И вам не нужны гарантии крупных компаний? Вы можете доверить управление оборотом в 10^7 грина неизвестной софтине, которая еще и непонятно как работает? Класс.

> И если еще этим предсказанием до сих пор никто не прославился, то только потому что нейронные сети не работают.

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

А вот в качестве исследований - пожалуйста... смотрите
сюда:

Думаю, что данный анализ по сложности, конечно, уступает анализу рынка.
но по сути - одно и то же.

> Как это одноклеточный организм на 10 нейронах?
ну, хорошо, уговорили, :) пусть будет простейший, а не одноклеточный, если Вам так важна формулировка

> Ну и какие Вам после этого еще нужны аргументы, что нейронные сети просто очковтирательство?

Аргументов не нужно, Вы привели их достаточно. Нужны факты. Факт же в том, что нейронные сети работают. И заявленную функциональность демонстрируют. Вы даже можете поискать поделки программеров-любителей, демонстрирующие ту или иную архитектуру или алгоритм обучения. Я в свое время нашел их предостаточно. Например загляните
сюда:
Какие Вам еще нужны доказательства?

И сорри за предидущий пост... :( этот бардак со ссылками вышел случайно :(
...
Рейтинг: 0 / 0
Java или C++?
    #32831392
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

>Ага... конечно, тоесть Вы с одинаковым доверием\недоверием относитесь и к заявлениям крупных компаний и к аналогичным заявлениям мелких? И вам не нужны гарантии крупных компаний? Вы можете доверить управление оборотом в 10^7 грина неизвестной софтине, которая еще и непонятно как работает? Класс.

Вы меня не поняли. Вы эти $10000000 ЗАРАБОТАТЕ за полгода, начав с жалкой суммы в 1000 долларов. Т.е. Вы доверяете софту всего $1000. А через пару лет Билл Гейтс будет в сравнении с Вами нищим, там же геометрическая прогрессия. Какие гарантии от крупных фирм Вам для этого нужны? Да тысячи людей ежедневно рискуют гораздо большими деньгами с гораздо меньшими шансами.

Поверьте мне, очень многие пробовали использовать нейронные сети для зарабатывания денег и так как Вы предлагаете и многими другими способами. Как говарилвал Маркс - нет такого преступления, которое бы не совершил капиталист за 300% прибыли. А тут никаких преступлений, а прибыль гораздо больше. Но нейронные сети не работают.

>Пока не будет софта от крупных поставщиков, никто не станет рисковать.

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

Да и крупные поставщики уже во всю бы поставляли софт, если бы он работал. Или Вы считаете, что мелкософт упустил бы свой шанс в зарабатывании бабок?

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


Где деньги? Предъявите деньги в качестве доказательства. Где эти миллионы-миллиарды, заработанные на предсказаниях биржи, если все работает как заявлено? Или Вам деньги не нужны?

> А вот в качестве исследований - пожалуйста... смотрите сюда:

Во-первых это не исследование, а курс лекций в политехническом институте который теперь почему-то называется "КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ". Ничего не имею против политехнических институтов, но хотелось бы почитать не методичку для технарей, а хотя бы для кибернетиков.

Во-вторых, если характеризовать одним словом, то "кошмар". Чтоб далеко не ходить возьмем самое начало (философию пропускаем) "Формальная постановка задачи" (http://www.softcraft.ru/neuro/ni/p03.shtml#L23_2). Автор пишет: "Зададим пространство ядер классов E, и меру близости , где a – точка из пространства ядер, а x – точка из пространства объектов. Тогда для заданного числа классов k необходимо...." Что такое ядра и что такое классы и как из них строить пространства - студент должен догадаться сам. Автор не снисходит до таких мелочей, хотя потом интенсивно использует эти понятия. Зато тут же долго и путано объясняет, что можно в качестве объектов можно было бы брать и вектора
комплексных чисел. А почему не кватернионов, например? Ссылок на литературу, где тупым можно было бы прочитать, что такое ядро, в этом разделе нет. Это совсем не формальная постановка задачи.

Теперь лекция 13-14 на которую Вы ссвлаетесь, все та же "Формальная постановка задачи". Автор пишет: "Минимальное множество входных сигналов, полученное при обучении сети на задачнике V(A,S), обозначим через F(A,S)." А если оно не единственно что делать? По-видимому автору в голову не пришло, что решетка множеств может содержать больше одного минимального элемента, что говорит о его математическом уровне. Я уже не акцентирую внимание на том, что все страшно запутано даже в основных определениях и обозначения используются нестандартным образом.

Кстати формального определения нейронной сети в этих лекциях по нейронным сетям я таки и не нашел. Хотя понятие интенсивно используется.

>да, для чайника достаточно нелинейного регулятора :))

Забыл спросить, очень интерено, на чем основано данное утверждение?
...
Рейтинг: 0 / 0
Java или C++?
    #32832719
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
> Какие гарантии от крупных фирм Вам для этого нужны? Да тысячи людей ежедневно рискуют гораздо большими деньгами с гораздо меньшими шансами.

И как успехи большинства из них?

> Да и крупные поставщики уже во всю бы поставляли софт, если бы он работал. Или Вы считаете, что мелкософт упустил бы свой шанс в зарабатывании бабок?

"мелкософт" много лет равнодушно(ну почти равнодушно) смотрел на продвижение Java. А потом "вдруг" спохватился и срочно слабал .NET
Вы, я думаю, обратили внимание на поразительную схожесть систем? Если нет - посмотрите еще раз.

> Где деньги?

В банке. :)

> Предъявите деньги в качестве доказательства.

А разве недостаточно работающих программ, использующих нейронные сети?

> Где эти миллионы-миллиарды, заработанные на предсказаниях биржи, если все работает как заявлено? Или Вам деньги не нужны?

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

> Во-первых это (далее следует критика лекций) ...

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

> Забыл спросить, очень интерено, на чем основано данное утверждение?

Отвечу.
На теории автоматического управления.
...
Рейтинг: 0 / 0
Java или C++?
    #32833215
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo


c127>Какие гарантии от крупных фирм Вам для этого нужны? Да тысячи людей ежедневно рискуют гораздо большими деньгами с гораздо меньшими шансами.

foo>И как успехи большинства из них?


Так в том то и дело, что в большинстве никаких. По сравнению с тем, что Вы обещаете: деньги без риска.

>"мелкософт" много лет равнодушно(ну почти равнодушно) смотрел на продвижение Java. А потом "вдруг" спохватился и срочно слабал .NET
Вы, я думаю, обратили внимание на поразительную схожесть систем? Если нет - посмотрите еще раз.


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

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

c127>Где деньги?

foo>В банке. :)

c127>Предъявите деньги в качестве доказательства.

foo>А разве недостаточно работающих программ, использующих нейронные сети?


Напомню, что Вы заявили, что нейронные сети уже сейчас могут предсказывать поведение рынка и это доступно всем, имеющим матлаб. Я сказал, что если это так, то Вы немедленно зарабатываете ОЧЕНЬ много денег. Если у вас денег нет, то на это могут быть только 2 причины: 1) деньги Вам не нужны и Вы не хотите их зарабатывать (и никто не хочет); 2) Ваше заявление об успешности нейронных сетей ошибочно.

Пункт 1 не работает, поскольку если даже Вам деньги не нужны, то найдется ОЧЕНЬ много людей, которым они нужны и которые обладают достаточной квалификацией, компьютером и матлабом. Разговоры о высоком риске и отсутсвии поддержки со стороны крупных компаний несерьезны. Очень многие люди рискуют не только деньгами, но жизнью и свободой, торгуя наркотиками, и никакой ИБМ с мелкософтом их на это не благославлял. Но это их не останавливает хотя их прибыль - жалкие копейки в сравнении с тем, что мы тут обсуждаем. Но людей, заработавших на использовании нейронных сетей в предсказаниях рынка, нет, следовательно пункт 1 можно отбросить.

Поэтому остается пункт 2: нейронные сети не работают. Что и требовалось доказать.

Какие возражения? Дайте другое объяснение.

>А что Вам мешает самому попробовать заработать денег таким способом? Правильно, недоверие к нейронным сетям.

Примерно то же самое, что мешает мне приступить к строительству вечного двигателя (тоже большие деньги). Недоверие к вечному двигателю.

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

Какой именно пример, у меня в бровзере не видно результатов. Если речь идет о выборах президента США на второй срок, то это 50% даже при простом угадывании. К тому же последние 25 лет есть четкое правило: президент сидит 2 срока, как тут можно ошибиться?

c127>Забыл спросить, очень интерено, на чем основано данное утверждение?

foo>Отвечу.
На теории автоматического управления.


А поконкретней. Приведите хотя бы наводящие соображения, почему именно нелинейной?
...
Рейтинг: 0 / 0
Java или C++?
    #32833306
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет :)

> Это производство средств производства, а оно в программировании почти убыточное...

Да? Что то не вериться ... Вы действительно осведомлены или это Ваше личное мнение? Нельзя ли увидеть аргументацию? Кроме Борланда средства построения приложений выпускают многие... Например Sun прекрасно себя чувствует. Только не надо уверять меня, что основной доход Sun приносит Солярис.

> найдется ОЧЕНЬ много людей, которым они нужны и которые обладают достаточной квалификацией, компьютером и матлабом. Разговоры о высоком риске и отсутсвии поддержки со стороны крупных компаний несерьезны. Очень многие люди рискуют не только деньгами, но жизнью и свободой, торгуя наркотиками, и никакой ИБМ с мелкософтом их на это не благославлял. Но это их не останавливает хотя их прибыль - жалкие копейки в сравнении с тем, что мы тут обсуждаем.

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

> Но людей, заработавших на использовании нейронных сетей в предсказаниях рынка, нет, следовательно пункт 1 можно отбросить

История рассудит нас. Свои аргументы я уже привел, Вы привели свои, но мы не убедили друг друга :)

> Примерно то же самое, что мешает мне приступить к строительству вечного двигателя (тоже большие деньги). Недоверие к вечному двигателю

Тут другое дело... Закон сохранения энергии никто не отменял... так что Ваш пример представляется не совсем удачным. Приступить к строительству вечного двигателя Вам мешает знание физики.

> К тому же последние 25 лет есть четкое правило: президент сидит 2 срока, как тут можно ошибиться?

lol ^))))

Но речь шла действительно о Выборах президента .. :)

Этот пример я встретил, еще когда сам был студентом 3 курса, правда не в этих лекциях, а где-то еще...

> foo>Отвечу.
На теории автоматического управления.

А поконкретней. Приведите хотя бы наводящие соображения, почему именно нелинейной?


Пожалуйста :)
Вот общий ход рассуждений:

Из ТАУ известно, что есть Двухпозиционный метод регулирования (ДМР)

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

И насколько мне известно двухпозиционный метод регулирования относится к нелинейным методам регулирования.

Так что нужен двухпозиционный регулятор. А он нелинейный.

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

Если я не прав, то ожидаю аргументированной критики :)
...
Рейтинг: 0 / 0
Java или C++?
    #32833658
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

c127>найдется ОЧЕНЬ много людей, которым они нужны и которые обладают достаточной квалификацией, компьютером и матлабом. Разговоры о высоком риске и отсутсвии поддержки со стороны крупных компаний несерьезны. Очень многие люди рискуют не только деньгами, но жизнью и свободой, торгуя наркотиками, и никакой ИБМ с мелкософтом их на это не благославлял. Но это их не останавливает хотя их прибыль - жалкие копейки в сравнении с тем, что мы тут обсуждаем.

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


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

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

Тут другое дело... Закон сохранения энергии никто не отменял... так что Ваш пример представляется не совсем удачным.

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

>Приступить к строительству вечного двигателя Вам мешает знание физики.

А приступить к строительству нейронных сетей мне мешает мое знание математики. Проблема даже не в том, будут они работать или нет. Проблема в том, что пока нет формальной модели математику ПРИМЕНИТЬ невозможно. А надеяться построить вычислительное устройство без использования математики может только глубоко необразованный человек, примерно как строители вечного двигателя. И когда Вы говорите, что их уже во-всю используют то о людях их использующих у меня появляется соответсвующее мнение (примерно как о строителях вечного двигателя). Ничего не могу с собой поделать.

> Но речь шла действительно о Выборах президента .. :)

Не просто выботов, а выборов на второй срок. Есть разница.

Так какой там результат, какая вероятность предсказания? У меня броузер почему-то не показывает.

О терморегуляторе отвечу позже, мне нужно кое-что проверить.
...
Рейтинг: 0 / 0
Java или C++?
    #32833992
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

>Если я не прав, то ожидаю аргументированной критики :)

Критикую. В принципе все правильно, двухпозиционный регулятор работает и он есть нелинейное управление. Но оригинальная фраза была:

>да, для чайника достаточно нелинейного регулятора :))

И потом:

>Так что нужен двухпозиционный регулятор. А он нелинейный.

Не обязательно нужен нелинейный. Для чайника достаточно и линейного регулятора. В качестве регулятора можно взять линейную систему a*t+b где a<0, b>0 t - температура. Или полином более высокого порядка по t, но это врядли понадобится. При правильном подборе параметров он будет работать даже лучше чем двухпозиционный и при этом это линейное управление. Т.е. даже более простая система (а линейные системы проще нелинейных) справляется с управлением чайником.
...
Рейтинг: 0 / 0
Java или C++?
    #32834675
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
Привет с127 :)

> Не обязательно нужен нелинейный. Для чайника достаточно и линейного регулятора. В качестве регулятора можно взять линейную систему a*t+b где a<0, b>0 t - температура. Или полином более высокого порядка по t, но это врядли понадобится. При правильном подборе параметров он будет работать даже лучше чем двухпозиционный и при этом это линейное управление. Т.е. даже более простая система (а линейные системы проще нелинейных) справляется с управлением чайником

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

По поводу всего остального:

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

честно сообщу, что к данной работе я не имею ни малейшего отношения, но прошу пояснить, чем Вам не нравиться приведенное там формальное описание нейросети?
...
Рейтинг: 0 / 0
Java или C++?
    #32835935
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

О полиномах это я глупость сморозил, при n>1 это конечно же нелинейная функция. Т.е. остается только a*x+b.

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

Я согласен, реле проще, но поведение системы получается сложнее. О линейных системах все известно и можно использовать стандартные методы. А всякая нелинейная требует индивидуального подхода. Хотя со всякими кусочно-постоянными типа двухпозиционных регуляторов наверное тоже все просто.

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

Почитаю на досуге.

>История рассудит нас.

И с этим согласен, но сколько же можно ждать? Уже лет пятнадцать 32-х разрядные машины доступны даже домохозяйке, а сдвигов в нейронных сетях все нет. Когда по-Вашему может случиться суд истории?
...
Рейтинг: 0 / 0
Java или C++?
    #32837877
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О! Топег жив еще! Ну чё порешили, Javу на свалку истории, да ?
...
Рейтинг: 0 / 0
Java или C++?
    #32837935
нф!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barkovskyпросто, безосновательно, безаргументированно, бесознательно, немотивированно выберите:

Java или C++?

Jython!
...
Рейтинг: 0 / 0
Java или C++?
    #32840387
foo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
foo
Гость
2 MasterZiv
> О! Топег жив еще! Ну чё порешили, Javу на свалку истории, да ?
Да какая разница??? мне честно говоря все равно, жалко, конечно, что С++ уходит постепенно на второй план... Красивый и удобный язык... А у Java тоже есть положительные и отрицательные стороны... короче... не волнует меня этот вопрос совсем.

2 c127
> но сколько же можно ждать? Уже лет пятнадцать 32-х разрядные машины доступны даже домохозяйке, а сдвигов в нейронных сетях все нет. Когда по-Вашему может случиться суд истории?

Сдвиги есть... народ активно пытается их использовать. Даже в качестве нелинейных регуляторов :)
А суд истории случиться обязательно. Вспомните первые процессоры. Им тоже сулили скорую погибель от их "больших" соперников.
...
Рейтинг: 0 / 0
Java или C++?
    #32840616
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 foo

>честно сообщу, что к данной работе я не имею ни малейшего отношения, но прошу пояснить, чем Вам не нравиться приведенное там формальное описание нейросети?

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

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

"допустимы ребра с общими вершинами" - это как? Хотел бы я посмотреть на граф где у ребер нет общих вершин, такой граф есть просто набор несвязанных ребер. Но это мелочь.

Вот это важно. "вершинами которого являются параметризованные операции". Нет определения операции. Ни до ни после, можете проверить. Есть упоминание: "Перенумеровав вершины схемы, можно записать общий вид параметризованной операции ...", но это не определение и тут уже операции вторичны, а вершины первичны (операции определяются через вершины), хотя только что говорили, что вершина определяется как операция.

"Порядок вершины определяется рекурсивно: для вершин у которых нет входов, принадлежащих сети (истоки сети), порядок равен 0, для остальных порядок есть максимум порядка входов плюс единица."

Не нашел определения "порядка входов".

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

Еще порадовало:
R[a,b] – множество вещественных чисел на [a,b]

Обычно отрезок [a,b] как раз и есть подмножетсво множества вещественных чисел R. Следовательно всегда R[a,b]==[a,b]. И туда же:
R==R[-inf,inf]

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

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

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

Во-вторых малые процессоры (i386 и Ко) как ставились так и продолжают ставиться исключительно в машины для домохозяек. Для серьезных задач по-прежнему рекомендуется выбирать более серьезную архитектуру.

Так сколько лет нужно истории для суда? Хобя бы приблизительную цифру назовите.
...
Рейтинг: 0 / 0
Java или C++?
    #32840628
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать

foo>мне честно говоря все равно, жалко, конечно, что С++ уходит постепенно на второй план

Да все нормально, никуда он не уходит. Он еще джаву и пошарпаный C переживет. Даже на чистом C пишется куча программ, а C++ вообще в каждой серьезной конторе присутсвует. Кстати на фортране тоже, хотя лет 10 ходят слухи о его только что имевшей место окончательной кончине.
...
Рейтинг: 0 / 0
Java или C++?
    #32871173
Maxim25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У опытных Java программистов зарплата выше чем у C программеров.
Да и разработки поинтереснее.

А писать хорошему программисту без разницы на чем - хоть на ASM.
В свое время выбрал Java - прошло 3 года и нисколько не жалею.
...
Рейтинг: 0 / 0
Java или C++?
    #32871217
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Maxim25

>У опытных Java программистов зарплата выше чем у C программеров.

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


>В свое время выбрал Java - прошло 3 года и нисколько не жалею.

Никаких проблем. Но Вы же не знаете, что бы было, если бы Вы джаву не выбрали. Может быть не жалели бы еще больше.
...
Рейтинг: 0 / 0
Java или C++?
    #32874832
Maxim25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну по Новосибу если смотреть вакансии, то наиболее высокие ЗП идут у j2ee программером, выше только менеджеры или какие-нибудь редкие спецы ценятся ...
По городу средние зарплаты j2ee от 800 для средних. В то время как C++ от 400 - в среднем 600.

Как в других городах - не знаю.
...
Рейтинг: 0 / 0
Java или C++?
    #32875986
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Maxim25

>Ну по Новосибу если смотреть вакансии, то наиболее высокие ЗП идут у j2ee программером, выше только менеджеры или какие-нибудь редкие спецы ценятся ...
По городу средние зарплаты j2ee от 800 для средних. В то время как C++ от 400 - в среднем 600.

Как в других городах - не знаю.


Это уже конкретнее. Вы проводите сравнение j2ee с C++. Но j2ee это не вся джава, а только продвинутые приложения, причем по-моему только серверные, но тут я могу ошибаться, лень искать. А C++ это весь C++, включая уровень "hello world". Сравните по позициям, где требуестя знание например PRO*C, или ембедед СКЛ.
...
Рейтинг: 0 / 0
Java или C++?
    #32876566
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
воистину, и С++ и Java будут жить долго, пока будут вызывать такие ветки по 250 сообщений :-)
...
Рейтинг: 0 / 0
Java или C++?
    #32878257
Koks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОЧЕМУ?:

1. функции начинаются с малой буквы и продолжаются с большой? типа pervoeslovoVtoroeslovo
2. определения функций пишут типа
function(){
purga++;
}

хотя

function()
{
purga++;
}

привычнее глазу..

только за это яву обхожу стороной поозможности ;)....
...
Рейтинг: 0 / 0
Java или C++?
    #32878267
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эдак тебе долго петлять придется.
всетаки стандартов именования ни ява ни си++ не навязывают, и скобочки фигурные как угодно можно ставить что там что там.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Java или C++?
    #36953498
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для больших вычислительных задач Ява не подходит. Создать большой массив длиной, например, 1e9 просто нельзя - не скомпилирует она такой код. Список - тоже нельзя - метод получения элемента по индексу принимает в качестве индекса только число типа int. Может быть, я просто не знаю, как на яве обойти эту проблему через что-то. Но мое мнение основано на этих двух фактах. Но плюсы жесть еще та имхо =). А ява приятный язык очень, если не эклипс использовать, а например Intellij Idea в качестве среды разработки.
...
Рейтинг: 0 / 0
Java или C++?
    #36954087
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainboДля больших вычислительных задач Ява не подходит. Создать большой массив длиной, например, 1e9 просто нельзя - не скомпилирует она такой код.

что за бред.
только что создал, все компилится.
Но на моей тачке хватило места только для массива байт. Для интов компилиться, но я не могу выделить столько места для виртуалки. Но на 64-битном сервере, думаю таких проблем не будет.
...
Рейтинг: 0 / 0
Java или C++?
    #36954100
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainbo,

ты не перепутал джаву с с++?
а то у меня наоборот:
в java все компилится, а при компиляции в с++ выдает ошибку:
Код: plaintext
1.
Error	 1 	error C2148: total size of array must not exceed 0x7fffffff bytes	d:\prcpp.cpp	 9 	 1 	prcpp
...
Рейтинг: 0 / 0
Java или C++?
    #36955177
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaN,

Не очень хочется устраивать холисрач, честно говоря. Для меня самого сейчас эта тема жизненно важна - "на чем программировать Java или C++"? На каком-то уровне заботал и то и другое. Пишу то, на что сам напоролся.

Я не С++ с Java перепутал, а на порядок ошибся - не 1е9, а 1е8:

double weights[] = new double[100000000];

- вот такая штука не скомпилится в Java. Я точно не знаю функцию зависимости длины этого массива от размера оперативки. Комп довольно средний у меня, но не в этом дело. Все промежуточные вычисления в C++ да и в Java все равно производятся в int . Мне не нужен массив байт, понимаешь?

На этот код Java выдает следующее: java.lang.OutOfMemoryError: Java heap space.

Кроме того, в Java он не скомпилит и это (на порядок меньше):

double weights[] = new double[10000000];

Думаю, это потому что там все под int заточено - длина массива (довольно очевидное заключение).
Ну и разумеется массив с длиной в BigInteger в Java сделать нельзя. То есть через это не обойдешь.
Получается все руками надо писать. Как - не думал над этим.

А в плюсах это: double weights[100000000] = {0};

или это

double* weights_heap = new double[100000000];

все компилится.

Если массив больше 1е8 на порядок, то хз - тут уже задачи проектирования. Ни там, ни там не компилится. Но разница на два порядка! Тут не в числе доступной памяти дело. Просто Java более стандартизирована, удобна и безопасна, но ограничивает иногда.
...
Рейтинг: 0 / 0
Java или C++?
    #36955186
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас вот пишу на числом Си, потому как ООП компромиссная хрень, смысловой нагрузки в нем мало имхо. Вот цитата из википедии:

Вирт часто критикует «американский подход» к разработке средств программирования, в котором маркетинговые соображения превалируют над требованиями математической стройности и гарантированной надёжности, и каждое новое модное поветрие сопровождается некритичным внесением в языки программирования новых синтаксических элементов. Это приводит к неправильной оценке роли некоторых идей и, в конечном итоге, к неправильной расстановке приоритетов в разработке ПО. В частности, говоря об ООП, Вирт неоднократно отмечал, что оно является достаточно тривиальным расширением того же структурного подхода, сдобренным новой терминологией, и вряд ли может претендовать на звание «революционной методологии программирования». Известно ехидное замечание Вирта по поводу привычки американцев к антропоцентризму в терминологии: «Они называют расширение типа „наследованием“, но, вообще-то, наследство обычно переходит к потомку только тогда, когда предок умирает».

В Яве ООП просто хорошо и понятно сделано - наследование через интерфейсы без плюсового множественного наследования (это не моя мысль, но в плюсах множ. наследование это скорее чит чем фича). Все заточено под то, чтобы можно было удобно и в короткие сроки относительно большой командой разработчиков создать продаваемый продукт и толкнуть кому-нибудь побыстрее.
...
Рейтинг: 0 / 0
Java или C++?
    #36955193
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А байтовый массив в C++ (char - аналог byte):

char weights[100000000000000];

компилится.

В Java:

byte weights[] = new byte[10000000000];

уже нет.

И от архитектуры это не зависит в Java (потому как философия ее в том числе и независимость от конкретной архитектуры - размеры типов фиксированы). Поэтому вот эту фразу:

"Но на 64-битном сервере, думаю таких проблем не будет."

вообще не понял.
...
Рейтинг: 0 / 0
Java или C++?
    #36955197
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С типом int то же самое что и с byte (char).
...
Рейтинг: 0 / 0
Java или C++?
    #36955205
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainboА байтовый массив в C++ (char - аналог byte):

char weights[100000000000000];

компилится.

Тоесть на твоей машине/компилляторе выделение памяти, объёмом ~ 95 Тербайт происходит успешно?
...
Рейтинг: 0 / 0
Java или C++?
    #36955217
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
byte weights[] = new byte[ 2147483647 ];
Похоже в Java-языке индексатор может принимать в качестве
максимального значения макисмальное знаковое целое 32bit.
Не знаю, кому это надо, строить такие толстые векторы, но
можно сделать workaround в виде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public class LongByteVector
{
       weights[][]=....;
       public byte getByte(long i)
       {
          ....
       }
}
...
Рейтинг: 0 / 0
Java или C++?
    #36955264
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainboZyK_BotaN,

Не очень хочется устраивать холисрач, честно говоря. Для меня самого сейчас эта тема жизненно важна - "на чем программировать Java или C++"? На каком-то уровне заботал и то и другое. Пишу то, на что сам напоролся.

Я не С++ с Java перепутал, а на порядок ошибся - не 1е9, а 1е8:

double weights[] = new double[100000000];

- вот такая штука не скомпилится в Java. Я точно не знаю функцию зависимости длины этого массива от размера оперативки. Комп довольно средний у меня, но не в этом дело. Все промежуточные вычисления в C++ да и в Java все равно производятся в int . Мне не нужен массив байт, понимаешь?

На этот код Java выдает следующее: java.lang.OutOfMemoryError: Java heap space.



ты ошибаешься. это ошибка не компиляции а рантайма.
просто при запуске программы нужно указать доступную память.
у меня с параметром -Xmx1500M.

В случае плюсов - с уменьшением порядка все заработало.
...
Рейтинг: 0 / 0
Java или C++?
    #36955266
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainbo

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

ты часом не троль?
это как раз интерфейсы - чит.
а с множественным наследованием все ок.
...
Рейтинг: 0 / 0
Java или C++?
    #36955268
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Код: plaintext
byte weights[] = new byte[ 2147483647 ];
Похоже в Java-языке индексатор может принимать в качестве
максимального значения макисмальное знаковое целое 32bit.
Не знаю, кому это надо, строить такие толстые векторы, но
можно сделать workaround в виде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public class LongByteVector
{
       weights[][]=....;
       public byte getByte(long i)
       {
          ....
       }
}


та индекс у него меньше.
у него проблема в недостаточном размере кучи.
...
Рейтинг: 0 / 0
Java или C++?
    #36955275
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И архитектуру своей Jav-ы не указал. Наверное 32 бит.
...
Рейтинг: 0 / 0
Java или C++?
    #36955284
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ архитектуру своей Jav-ы не указал. Наверное 32 бит.
дак у меня 32 бита и все компилируется.

а программа на сишке в случае задания константного размера - ругается при компиляции,
а если размер задан переменной, то в рантайме.
...
Рейтинг: 0 / 0
Java или C++?
    #36955421
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonbrainboА байтовый массив в C++ (char - аналог byte):

char weights[100000000000000];

компилится.

Тоесть на твоей машине/компилляторе выделение памяти, объёмом ~ 95 Тербайт происходит успешно?
=))) хз, видимо это баг компилятора.
...
Рейтинг: 0 / 0
Java или C++?
    #36955424
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNbrainboZyK_BotaN,

Не очень хочется устраивать холисрач, честно говоря. Для меня самого сейчас эта тема жизненно важна - "на чем программировать Java или C++"? На каком-то уровне заботал и то и другое. Пишу то, на что сам напоролся.

Я не С++ с Java перепутал, а на порядок ошибся - не 1е9, а 1е8:

double weights[] = new double[100000000];

- вот такая штука не скомпилится в Java. Я точно не знаю функцию зависимости длины этого массива от размера оперативки. Комп довольно средний у меня, но не в этом дело. Все промежуточные вычисления в C++ да и в Java все равно производятся в int . Мне не нужен массив байт, понимаешь?

На этот код Java выдает следующее: java.lang.OutOfMemoryError: Java heap space.



ты ошибаешься. это ошибка не компиляции а рантайма.
просто при запуске программы нужно указать доступную память.
у меня с параметром -Xmx1500M.

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

памяти у меня гиг. в настройках стоит -Xms1024m -Xmx1024m
...
Рейтинг: 0 / 0
Java или C++?
    #36955425
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNbrainbo

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

ты часом не троль?
это как раз интерфейсы - чит.
а с множественным наследованием все ок.
это философский вопрос.
...
Рейтинг: 0 / 0
Java или C++?
    #36955427
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я про наследование
...
Рейтинг: 0 / 0
Java или C++?
    #36955447
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaNmayton
Код: plaintext
byte weights[] = new byte[ 2147483647 ];
Похоже в Java-языке индексатор может принимать в качестве
максимального значения макисмальное знаковое целое 32bit.
Не знаю, кому это надо, строить такие толстые векторы, но
можно сделать workaround в виде:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public class LongByteVector
{
       weights[][]=....;
       public byte getByte(long i)
       {
          ....
       }
}


та индекс у него меньше.
у него проблема в недостаточном размере кучи.
И то и другое.
...
Рейтинг: 0 / 0
Java или C++?
    #36955449
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но это через жопу слегка имхо, так память выделять на вектор. Хотя спасибо за вариант.
...
Рейтинг: 0 / 0
Java или C++?
    #36955458
brainbo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Реализации виртуальных машин отличаются для разных архитектур. Но почему на 64 можно больше памяти выделять?
...
Рейтинг: 0 / 0
Java или C++?
    #36955479
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brainboРеализации виртуальных машин отличаются для разных архитектур. Но почему на 64 можно больше памяти выделять?
почитай про адресацию памяти.
мне в этом помогли упражнения с ассемблером.
...
Рейтинг: 0 / 0
278 сообщений из 278, показаны все 12 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Java или C++?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]