|
|
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
J-- авторАну покажите ка мне где в Яве независимость от языка? Jython я точно пробовал :-) http://www.jython.org/ и есь еще некие JRuby, JPerl, Jacl и даже Jscheme и JLisp а также JBasic (Jaba) [Жаба ????!] :-)) и множество других! ссылки на енто дело сами леГКО найдете, так шта Java bytecode вполне "языконезависим" Ну, ну и кто кроме вас про них знает? В С++ я с помощью ##define могу вам симитировать паскаль или вб или что-то по экзотичнее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2004, 21:26 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
не флейма ради :-)) помощью ##define в C++ можно, конечно, заменить {} на BEGIN и END и прочее, но это будет именно имитация синтаксиса. Указанные же продукты - это не "имитация", а полноценные компиляторы Java byte кода. Согласен, часть приведенного - экзотика, но вот Jython - весьма известен (рекомендуют юзать при обработке текстов в java прграммах, см. того же Б.Эккеля, "Thinking in Java"). Видимо, Java не такой уж плохой язык, если уверенно доминирут над указанными альтернативами так, что про них мало кто знает. Ну и поддержка производителя, есессна. А в .NET особенность просто в том, что весь "зоопарк языков" выброшен фирмой-производителем одновременно и "в одном флаконе", из-за чего (в сочетании с грамотным пиаром) и создается иллюзия этаково многоязыкового новаторства. (характерно для MS). Как видим, это все уже было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 17:04 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
J--не флейма ради :-)) помощью ##define в C++ можно, конечно, заменить {} на BEGIN и END и прочее, но это будет именно имитация синтаксиса. Указанные же продукты - это не "имитация", а полноценные компиляторы Java byte кода. Согласен, часть приведенного - экзотика, но вот Jython - весьма известен (рекомендуют юзать при обработке текстов в java прграммах, см. того же Б.Эккеля, "Thinking in Java"). Видимо, Java не такой уж плохой язык, если уверенно доминирут над указанными альтернативами так, что про них мало кто знает. Ну и поддержка производителя, есессна. А в .NET особенность просто в том, что весь "зоопарк языков" выброшен фирмой-производителем одновременно и "в одном флаконе", из-за чего (в сочетании с грамотным пиаром) и создается иллюзия этаково многоязыкового новаторства. (характерно для MS). Как видим, это все уже было. Ну тут вы не правы, есть и COBOL.NET, Perl.NET и куча всякого разного, делфисты тож вроди собирались разродится Delphi.NET но я ничего об этих языках не говорил изходя из приведенных выше соображений. Вообщем не будем переходить на тему Java vs .NET кроме флейма ничего не будет, да и она не так давно обсуждалась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2004, 12:40 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
wessen MasterZiv wessen[quot MasterZiv]Один такой вызывал уже, SUN потом его по судам затаскала ... Ну, получается, что да. Microsoft в своем J++ написал кучу классов для вызова native функций WIN32 API. SUN за это ... ну вы наверное знаете, что дальше было. Я думаю, что за написание классов с вызовом native функций никто вам ничего не скажет, хотите пользуйтесь, хотите нет. Насколько я помню, M$ сделал так, что если я написал код на Жаве без их классов и скомпилил его в J++, то в байт код, все равно всавлялись вызовы native функций и в результате программа работала только под винду, а это не есть хорошо. Поправте если я не прав. Суть в была в другом, в MSJVM была ВСТРОЕННАЯ поддержка ms-классов. Т.е. не нужно было передавать их ввиде либов к программе. А это уже нарушение стандартов jvm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 22:45 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Господа! По моему Барковский просто разжег флейм! Не теряйте время на этом топике! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 23:12 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Давайте попорядку :) c127 >В java переменная "указывает на объект и только" В Си/Си++ указатель это просто адрес ячейки в "памяти" В чём разница "указателя в смысле Си" и "java" ясно? Я же говорил, Вы просто не знаете C/C++, отсюда постоянные ляпы. В качестве ликбеза попробуйте завести переменную типа указатель на double, добавить к ней единицу и сравнить оригинальное значение переменной с полученным. В очередной раз будете удивлены. Мило. Очень мило. Ляп тут только один - вы :) Особенно если начнёте, после ваших же слов и дальше утверждать, что указатели java и си одно и тоже. Указатель это не просто тип данных, это концепция программирования, в процедурных языках так точно. О! Неужели вы это стали понимать? Что указатели это навязанная от процедурных языков концепция, абсолютно не нужная при объекто-ориентированном подходе? Вот и джависты не могут ничего объяснить, не прибегая к понятию указатель. Попробуйте рассказать о создании связанного списка не прибегая к этому понятию. О какой логичности языка можно говорить, если студенты, начавшие обучение программирования с джавы и прослушавшие курс алгоритмов на ее основе, потом не могут могут разобраться в том, что там происходит и в результате не могут построить этот разнесчастный список. Это примеры из жизни причем речь далеко не о самых плохих студентах. А вас не удивляет, что люди прослушавшие курсы мат.анализа не могут потом доказать не одной теоремы? :) >О памяти требуется знать одно: сделаешь новый объект - свободной памяти станет меньше :) Этим студентам, судя по всему, так и объясняли. А теперь в том же духе расскажите о связанных списках. Что вы как маленький на самом деле. Когда рассказывают о списках, рисуют картинки, где обозначены объекты и связи между ними. Где там нужна память и с кучей адресов? :) Надоело повторять: тип указатель в джаве остался, только указатель получился кастрированный. Нельзя к нему добавить единицу, так это и было его основным свойством, от этого указатель указателем быть не перестал, он по-прежнему указывает на область памяти определенного размера. Вы не представляете, как мне надоело слушать :) "Кастрирован" он ровно на столько, что бы выполнять функцию "указания на объект" (вспомните стрелочки на рисунках, указатели поворотов, компас). То что вы называете "по-прежнему указывает на область памяти" - это детали рализации VM. Она(VM) за тем и нужна, что бы скрыть от программиста технические детали (тот же принцип заложен в ОS - избавить пользователя от общения с примитивными сущностями железа, позволить ему всё делать "мышкой"). Вас же, обозначенный факт почему-то сильно задевает. >О каких результатах речь-то? О результатах всеобщей компьютерной грамотности. Кроме PC студенты ничего не знают, да и PC с трудом. Со всем, что вы перечисляли в постах выше лично я знаком. Может мне не давелось писать машинные коды для дикабразов не оправдавших себя или созданных ради спортивного интереса, но это ничего и не значит. За ваших абстрактных "студентов" ничего сказать не могу. >Китай не аргумент, а пример. Неудачный пример. Приведите удачный. То что в ВАШЕЙ голове китай - это несчастные воробушки, это не моя не удача :) Хотите больше примеров обратитесь к литературе о которой я уже упоминал. Не давно вышло ещё три книжки. Издаёт издательство "радиотехника", оно же издаёт журнал "нейрокомпьютеры". >Давайте-давайте. У демон у вас поди дома сидит? А сети успешно работают :) Так и работает демон не хуже сетей, об том же и речь: результаты аналогичны. Результаты не аналогичны. Демон фантазия человека, нейросети реально существуют и очень не плохо работают. >Кто многие? Если доморощенные специалисты - то не удивительно. У нас их нет, практически нет. Это не у "нас", это у "них". >Остаётся мировой опыт, Во-во, об ем и была речь. Что касается доступа к "их опыту", то в россию этот краник прекрыт. >Нейросети это наука, нельзя придти со стороны, узнать основные концепции и сказать - я профи. Чтоб стать профи основных концепций может и недостаточно, но чтоб разобраться что наука относится к разряду втирания очков обывателю, основных концепций может хватить вполне. Уважаю основательный подход к вопросу. Переубеждать вас желания не имею. Удивлён только, что вы так и не привели общеизвестный "факт" несостоятельности нейронных сетей обнаруженный в 60-х годах, после чего был почти 20-ти летний период когда ими почти не занимались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2004, 23:34 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
c127Вместо "Нельзя к нему добавить единицу, так это и было его основным свойством" следует читать: "Нельзя к нему добавить единицу, так это и не было его основным свойством" Об том и речь. В сях есть избыточность обусловеленная его универсальностью. Без многих вещей можно счастливо жить. Подумал, осознал аспект. Теперь вопрос. То, о чем Вы говорите (понижение алгоритмической сложности) есть результат чисто теоретический, совершенно строгий и не требует наличия работающего нейрокомпьютера. Этот результат получается на бумаге. Иными словами чтоб говорить то, что говорите Вы нужно этот результат иметь. Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура. [/quot] Книга 6 "Нейроматематика" (из серии "Нейрокомпьютеры и их применение"). Глава 2. "Нейросетевые алгоритмы решения алгебраических задач". Задача: сложение двух двоичных чисел. Сложность задачи o(n) n - число бит. Нейросетевое решение: двухслойная сеть без обратных связей. Приведён алгоритм вычисления весов и алгоритм построения сети для произвольного n. Результат сложения получается за один "такт", не зависимо от значения n. Доказательство работоспособности элементарное. Приводить рисунки не буду. Ссылку на источник дал. Промоделировав сеть в МатЛаб'е, можно убедиться, что никто не врёт, - сеть работает. Железо для построения сетей тоже существует (но главным образом "у них", в том числе и у китайцей, благо есть дешёвая промышленная база) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 00:07 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
c1271) джава имеет некие загадочные свойства революционного характера, существенно облегчающие написание программ в сравнении с C/C++. В результате дискуссии выяснилось, что наличие сборщика мусора, в принципе сокращающего и упрощающего код с лихвой компенсируется отсутсвием нормального механизма обмена данными с подпрограммами. Таким вполне логичным представляется экспериментальный результат, что джава код получается длиннее и сложнее, а программисты тратят больше времени на его разработку. Этот эффект небольшой, но есть. 2) джава имеет некие не менее загадочные свойства, облегчающие его использование в качестве языка разработки интернет приложений. В пользу этого вообще не было высказано никаких аргументов, кроме наличия библиотек. Кстати библиотеки всплывают постоянно, но библиотеки дело наживное. -- Не существует в ООП подпрограмм :) Есть объекты и их методоы. Сравнивать процедурный стиль написания кода и ОО - бессмысленно. -- Использовани любой новой технологии по началу идёт не эффективно. Особенно, если изучают её "за неделю". -- Что лежит за словами сокращение кода? С точки зрения синтаксических конструкций, на С++ можно писать более сжато, это результат наследния от процедурного языка С. Но кол-во кода которое придётся написать на java, в общем случае "будет меньше", за счёт наличия отличных библиотек. В итоге выйгрыш в размере кода. (Подразумевается написание приложения с нуля. Если уже 90% требуемого кода написано предыдущей командой разработчков для смежного проекта на С++, то дописать ещё 10% на том же С++ в кучу раз выгоднее, чем с нуля переписывать всё на java (хотя смысл в этом всё же есть, если смотреть в будущее :)). -- В результате дискусси выяснилось, что в java избыточности усложнаяющих написание кода и позволяющих писать уродский код. Никто не избавит программиста от сложности решаемой задачи "самой по себе". -- Большой пласт решений уровня копроративных приложений и серьёзных веб приложений вынесен в java frame work'и. Это как технологии J2EE, так и продукты других разработчиков. (Фактически этот процесс представляется как стандартиция удачных решений, что избавляет от изобретения велосипедов во многих группах разработчиков) -- Всё что реализованно на java, можно реализовать на C++. Даже работать будет быстрее. Если напрячся, то даже не нескольких платформах. Однако, такая потенциальная возможность, не может заменить реальности. А реальность такова, что на это уйдёт огромное кол-во труда, времени и денег. (Повторюсь, если "труд, время и деньги" не потратили команды разработчиков занимаясь в смежной области. Халява, она и есть халява.) С первых дней cуществования java говорится, что это не язык, а платформа, со всеми вытекающими из этого следствиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 01:12 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
kompotFXМожет и не к теме, но я заметил что c++ програмисты больше и охотнее разбираются в другрих языках - в той же джаве, вб или шарпе, чем джависты в си, вб или шарпе... Это я по своей команде сужу. У нас пацаны во всем шустрят по зову партии и приказу шефа. Но вот два джава-профика как то фанатично упираются - типа пусть через жопу но чтоб в jave. Ну а вобщем они пацаны нормальные, только вот кофе пьют литрами. Вообше, это как-то связано (кофе и джава) ? (У них вроде-как даже на эмблеме это нарисовано...) Естественно, если в зиму по нужде бегать в сортир на улице, то удовольствием будешь ходить на любой горшок по теплее, а вот наоборот... :) Java - cорт кофе. Beans - зёрна. jar - банки (с кофем). - вся эта терминология живёт в языке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 01:22 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
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 разрядные числа? Или Вы не поняли, что там написал автор, или автор просто дурак. А если устройтсво имеет переменное количество элементов, то для решения таких задач совсем не нужно изобретать нейроные сети: любой классический сумматор переменной разрядности складывает числа за один или два такта не хуже нейронных сетей, а скорее лучше, ведь такты короче. Но только это НЕ понижение вычислительной сложности и НЕ уменьшение времени решения. Учите матчасть. Вопрос остается открытым: "Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2004, 06:02 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
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 разрядные числа? Не хочу. Учите матчасть. Благодарю. Вопрос остается открытым: "Вот и дайте ссылку или приведите тут доказательство того, что нейрокомпьютер или нейронная сеть решает хоть какую нибудь задачу за меньшее время, чем классическая архитектура." Дискутировать с вами на тему не интересно. Ничего кроме желания куда-то ткнуть носом с вашей стороны не видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2004, 14:58 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 NotGonnaGetUs > Ничего кроме желания куда-то ткнуть носом с вашей стороны не видно. У меня совершенно нет такого желания. Я решаю свои задачи и тыкание носом кого-то куда-то в них не входит. Иногда это получается мимоходом, как побочный эффект, так не говорите чепухи и все будет нормально. > И что вы имеете ввиду под словами "собственный опыт"? Вот это: "NotGonnaGetUs>Когда рассказывают о списках, рисуют картинки, где обозначены объекты и связи между ними. Где там нужна память и с кучей адресов?" Судя по всему Вас так и учили. Память и адреса есть даже на картинке со стрелочками, но Вы об этом не знаете. Как и указатели в джаве. > Зачем тащить за собой сложную модель языка, процедурные атавизмы и отсутствие стандартизации туда, где это не нужно. Особенно если учесть концепции автоматической уборки мусора и платформенно не зависимого байткода, которые были заложенны в java. А также что java это платформа программирования, а не язык программирования как таковой. Осмысленное управление развитием этой платформы было бы не возможно, если бы в качестве языка служил бы С++. java != C++. Во-первых стандарт C/C++ есть. Во вторых автоматическая сборка мусора вообще не концепция, а всего-лишь механизм, довольно глюкавый, кстати и очень сложный в реализации. То же касается байткода, это не концепция. Я уже говорил, что в любом эмуляторе, работает байткод C/C++, так что концепцией тут и не пахнет. Точно так же и платформой. Я согласен с тем, что сан, если бы он выбрал вместо нового языка джава старый C++, не имел бы контроля над стандартом (это говорит о том, что стандарт все-таки есть). Но такой контроль и не нужен с технической точки зрения, в C++ есть все необходимое. Новый язык и контроль над стандартом нужен из соображений маркетинга. Либо есть еще причина, которой я не понимаю, но не технического характера. > Эффективность в данном случае это лёгкость проектирования/реализации/отладки/рефекторинга кода. Юзабилити одним словом. В Java она выше. За счёт чего это достигается, тоже говорилось. За счет чего это достигается? Повторите если не сложно. Еще очень интересно было бы посмотреть на пример, который бы показал, что проектировать для джавы легко, а для C++ сложно. > Это простота оо модели, отсутствие процедурных атавизмов. Есть два вопроса. Вы так часто упоминаете о какой-то особой ОО модели джавы, что мне стало интересно: Вы знаете для чего первоначально разрабатывался язык джава? Что это за такие процедурные атавизмы, что присутсвуют в C++ и отсутсвуют в джаве? > Нейросети это не модели нейронов в голове человека. Такое мнение это результаты вашей "повальной грамотности", не иначе. Ликбез. Именно так и задумывались нейронные сети, как модель (структурная а не биохимическая конечно) того, что работает в голове человеки и животных. Отсюда и название, если Вы еще не догадались. Аргумент был такой: "вот мозг распознает, мы не знаем деталей как он это делает, но если смоделируем достаточно точно, то и у нас заработает". В этом основная идея: сделать похоже. > Реальные нейронные сети, реализованные в железе благополучно работают, не зависимо от вашего знания об этом :)) Где они существуют и работают? Ну раскройте же источники в конце концов. А то получается какое-то сокровенное знание: все типа знают что оно есть, но никто не видел. > Это вообще к чему? Продолжение темы "грамотности"? Что на какие места встанет? Не позорьтесь. Объясняю совсем просто. Своими нейронными сетямя Вы не сможете сэмитировать даже поведение комара, хотя у него всего 300 нейронов, т.е. количество, которое доступно для моделирования на существующих сегодня компьютерах или в тех нейронных сетях, которые якобы работют ("реализованные в железе благополучно работают"). Это есть доказательство того, что нейронные сети в их современном понимании - фикция: комар летает, уходит от уорозы, кормится и чувствует себя замечательно с 300 нейронами, а искуственные нейронные сети с гораздо большим числом "нейронов" не распознают простейших вещей, гораздо более простых, чем те, которые распознает комар. > Возьмите задачу коммивояжора, для фиксированного N = 1000. И порешайте. Возьмите фиксированное кол-во (пару сотен) не линейных диф.уравнений - и порешайте. А потом увеличте кол-во вершин/уравнений ещё на порядок и подумайте, сколько насколько дольше станет работать ваше решение. И насколько дольше это будет делать нейронная сеть после масштабирования. Давайте вначале разберемся с простым примером сложения чисел, а потом поговорим о других задачах. Тем более что сложение чисел в смысле теории вычислений ничуть не хуже "не линейных диф.уравнений". > Вы уж извините, но разрядность ЭВМ'а тоже не бесконечна. Так же как и у нейросетей. Правильно, я об этом и говорил. А разрядность чисел, которые мне захочется сложить, потенциально бесконечна, т.е. любая. И в этом проблема. Поэтому вопрос: число нейронов ограничено заранее (т.е. до того, как я решу, какие числа мне нужно сложить) или может меняться в процессе решения задачи (т.е. после того, как я решу, какие числа я буду складывать)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2004, 04:53 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
И наступит рай на Земле, и все будут пистать на паскале и компилировать в натив код в один огромный exe-шник, не будет никаких dll , ocx, assembly. Программы будут работать без операционки, потому что очень большой и умной программе операционка не нужна, она сама себе операционка. А так же не будет операторов, потому что большие и умные программы сами себе операторы. Чем больше программа тем она умнее и тем, соответственно процессор под нее можно с самым минимумом команд - чем меньше тем лучше, потому что в программах будет очень много команд, а самые большие и сложные программы будут работать вообще без процессоров, потому что при стремленни объема кода к бесконечности, простота процессора стремится к 0. И наступит всем счастье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2004, 18:49 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 NotGonnaGetUs А не пора ли вам , молодой человек, книжку написать типа "Как закалялась Ява". Уж больно красиво излагаете. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2004, 02:51 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Простите. А как же быть с решением проблем динамического подключения объектов и методов, которая решена в Java посредством Reflection. Согласитесь, но создание подобных механизмов на С++ было бы задачей, мягко говоря сложноватой. В Java это решено средствами языка, что позволяет создавать довольно сложные динамические образования. Как раз эти и активно пользуются разработчики серверов на Java. А если попытаться все это рисовать на С++ с сохранением настроек снаружи, со сборкой мета-классов на лету то скорость подобного решения на С++ оставит желать лучшего. Там где объектная модель статична можно и нужно использовать С++. Но там где возникает необходимость настраивать объектную среду, возникает и необходимость в более гибких подходах. А такие необходимости назревают в сложных, настраиваемых бизнес системах. И если не включать возможности тонкой настройки объектной модели на этапе исполнения, возникает необходимость использовать механизмы интерпритации. Что все одно медленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 23:31 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
наблюдатель1Простите. А как же быть с решением проблем динамического подключения объектов и методов, которая решена в Java посредством Reflection. Есть COM и CORBA, они эти проблемы решают. Не нравиться - если нужно можно и самому что-то подобное изобразить. Программ с плагинами на С++ написанных (и даже на С) дофига - ничего , работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:01 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Ну да, конечно, обертки классов для комфортной работы с dlopen. Руками собранные Class Factory. Красивые решения? Впрочем СОМ и CORBA также не отличаются лаконичностью и простотой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:42 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
А типа Java отличается, да ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 10:26 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
В Java есть Reflection... (встроенный) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2004, 00:03 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Уууу помойму во всех форумах , уже продетали темы , "что лутьше то или то ?! " ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2004, 11:54 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
наблюдатель1В Java есть Reflection... (встроенный) pro tormoza zabil ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2004, 19:09 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2наблюдатель1 --А как же быть с решением проблем динамического подключения объектов и методов, которая решена в Java посредством Reflection. там где не хватает динамически подгружаемых dll вполне хватает COM ---Согласитесь, но создание подобных механизмов на С++ было бы задачей, мягко говоря сложноватой. Это от незнания. Самые сложные корпоративные программы написаны не на Java и ситуация не думаю что изменится. Взять даже Oracle , любящий жава боьлше чем нужно и тот пишет основное и самое сложное на С++ --В Java это решено средствами языка, что позволяет создавать довольно сложные динамические образования. Как раз эти и активно пользуются разработчики серверов на Java. вы о каких серверах толкуете ? ---А если попытаться все это рисовать на С++ с сохранением настроек снаружи, со сборкой мета-классов на лету то скорость подобного решения на С++ оставит желать лучшего. конкретные примеры приводите. ну не бывает приложений на java быстрее чем на С++ просто по определению. Так вы договоритесь что универсальные процессоры работают быстрее специализированных --Там где объектная модель статична можно и нужно использовать С++. Но там где возникает необходимость настраивать объектную среду, возникает и необходимость в более гибких подходах. здесь по-подробнее что значит статичная, что значит динамичная. --А такие необходимости назревают в сложных, настраиваемых бизнес системах. сложные бизнес системы (типа PeopleSoft, SAP) пишуться на специализированных языках, жавой там и не пахнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 23:19 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
>там где не хватает динамически подгружаемых dll вполне хватает COM Не всегда хватает. Не всегда COM. (В мире юниксов все же иные правила.) И цена Corba решения высока. >>---А если попытаться все это рисовать на С++ с сохранением настроек снаружи, со >>сборкой мета-классов на лету то скорость подобного решения на С++ оставит желать >>лучшего. >--Там где объектная модель статична можно и нужно использовать С++. Но там где >возникает необходимость настраивать объектную среду, возникает и необходимость в >более гибких подходах. >здесь по-подробнее что значит статичная, что значит динамичная. Статичная, это когда Вы написали класс, собрали его в библиотечку и пользуетесь. А динамичная, когда Вы на лету, в процессе работы системы собираете объект из доступных компонент пользуясь некими внешними описателями или сценариями. Таким образом на стадии выполнения можут возникать некий мета-класс, виртуальная объектная структура изначально неописанная в коде жестко. >--А такие необходимости назревают в сложных, настраиваемых бизнес системах. >сложные бизнес системы (типа PeopleSoft, SAP) пишуться на специализированных >зыках, жавой там и не пахнет. Дело не в том, что там не пахнет жавой, дело в том что там не всегда уместен С++ для решения задач, ну..., к примеру, workflow. Вот потому-то они и пишут свои языки. Но это не означает что Java плох для решения этих задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2004, 00:19 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
2 c127. насчет интерпретатора С++. Это дело давно существует и развивается. Есть http://root.cern.ch/root/Cint.html Это интерпретатор С/С++, к которому можно подключать скомпилированные библиотеки. Для этих целей на основе анализа исходников генерится словарь, который и есть по сути Reflection (в CINT он называется ERTTI). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2004, 20:07 |
|
||
|
Java или C++?
|
|||
|---|---|---|---|
|
#18+
Ребята, привет.. :) про несостоятельность нейросетей... это вы круто завернули :) да был один такой чувак, который написал трактат о том, что нейросети несостоятельны и могу решать только ограниченный класс задач... Минин, кажется.... Только речь там шла об однослойных персептронах тк в его время не было как алгоритмов обучения многослойных сетей (сейчас есть и много) так и альтернативных архитектур... (сейчас тоже есть и тоже очень много :)) только трактат его не опровергнут и до сих пор. поэтому можно говорить о несостоятельности отдельного класса нейросетей, а не всей концепции в целом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 17:31 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32712020&tid=1343323]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
198ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 504ms |

| 0 / 0 |
