Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java > C++, Кого слушать? 
:(
    Опции темы
Mayk
Дата 6.6.2008, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



Какая феерия smile

Цитата


Цитата
А в чём проблема? Уже много лет существует OpenMP технология для фортрана.
Процедурные языки строго соблюдают очерёдность исполнения команд, поэтому процедурные языки распараллеливаются с трудом и,  как правило, криво. 

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

Распаралеливать Фортран глупо. Можно было просто создать библиотеку(DLL) и подключить её к Java.
Цитата
у интерпретируемого кода кроме платформонезависимости есть еще ряд приемуществ, вроде слежения за действия кодами и возможность авторизовывать данные действия или блокировать их.
Но есть и серьёзный недостаток - интерпретаторы медленные. Поэтому докомпиляция кода может ускорить его.


Это сообщение отредактировал(а) Mayk - 6.6.2008, 07:38


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Lazin
Дата 6.6.2008, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Мастер @  6.6.2008,  06:18 Найти цитируемый пост)
Но есть и серьёзный недостаток - интерпретаторы медленные. Поэтому докомпиляция кода может ускорить его.

интерпретатор lua - не медленный, во всяком случае в таких задачах как работа со строками или поиск в таблице, он не медленнее Java, а даже наоборот...

Цитата(Мастер @  6.6.2008,  06:18 Найти цитируемый пост)
Распаралеливать Фортран глупо. Можно было просто создать библиотеку(DLL) и подключить её к Java.

чет я не понял, джава все автоматически распаралеливать научилась? 
Можно тут поподробнее, как джава заставит код из DLL работать параллельно?

 smile
PM MAIL Skype GTalk   Вверх
nerezus
Дата 6.6.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

интерпретатор lua - не медленный
 Он VM без JIT, а не интерпретатор.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Lazin
Дата 6.6.2008, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



lua BNF grammar выглядит так:
Код

    chunk ::= {stat [`;´]} [laststat [`;´]]

    block ::= chunk

    stat ::=  varlist `=´ explist | 
         functioncall | 
         do block end | 
         while exp do block end | 
         repeat block until exp | 
         if exp then block {elseif exp then block} [else block] end | 
         for Name `=´ exp `,´ exp [`,´ exp] do block end | 
         for namelist in explist do block end | 
         function funcname funcbody | 
         local function Name funcbody | 
         local namelist [`=´ explist] 

    laststat ::= return [explist] | break

    funcname ::= Name {`.´ Name} [`:´ Name]

    varlist ::= var {`,´ var}

    var ::=  Name | prefixexp `[´ exp `]´ | prefixexp `.´ Name 

    namelist ::= Name {`,´ Name}

    explist ::= {exp `,´} exp

    exp ::=  nil | false | true | Number | String | `...´ | function | 
         prefixexp | tableconstructor | exp binop exp | unop exp 

    prefixexp ::= var | functioncall | `(´ exp `)´

    functioncall ::=  prefixexp args | prefixexp `:´ Name args 

    args ::=  `(´ [explist] `)´ | tableconstructor | String 

    function ::= function funcbody

    funcbody ::= `(´ [parlist] `)´ block end

    parlist ::= namelist [`,´ `...´] | `...´

    tableconstructor ::= `{´ [fieldlist] `}´

    fieldlist ::= field {fieldsep field} [fieldsep]

    field ::= `[´ exp `]´ `=´ exp | Name `=´ exp | exp

    fieldsep ::= `,´ | `;´

    binop ::= `+´ | `-´ | `*´ | `/´ | `^´ | `%´ | `..´ | 
         `<´ | `<=´ | `>´ | `>=´ | `==´ | `~=´ | 
         and | or

    unop ::= `-´ | not | `#´

распарсить его очень просто, так что интерпретатор там и подавно быстрый...
PM MAIL Skype GTalk   Вверх
JackYF
Дата 6.6.2008, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 2
Всего: 162



Цитата(Lazin @  6.6.2008,  12:01 Найти цитируемый пост)
BNF grammar

EBNF  smile 


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Lazin
Дата 6.6.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(JackYF @  6.6.2008,  13:32 Найти цитируемый пост)
EBNF  

согласен, только в доке написано что это BNF

Добавлено через 26 секунд
но все-же это EBNF smile 
PM MAIL Skype GTalk   Вверх
chipset
Дата 6.6.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 164



Цитата(Мастер @  5.6.2008,  20:18 Найти цитируемый пост)
Процедурные языки строго соблюдают очерёдность исполнения команд, поэтому процедурные языки распараллеливаются с трудом и,  как правило, криво. 



Тебя не смущает что юникс поддерживает лучшую многозадачность чем виндовс? Кстати Юникс написан на процедурном языке, и много приложений под него тоже. Про то что процедурные языки строго соблюдают очередность команд это вообще шедевр. Откуда это?? Ты слышал про WaitForMultipleObjects какой-нибудь или асинхронные потоки в чистом Си? Методы программирования многопоточных прилаг в Си и С++ ничем не отличаются. Поэтому добавив обьекты в фортран ты мало что выиграешь.
Цитата(Мастер @  5.6.2008,  20:18 Найти цитируемый пост)

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


 smile 

Это никак не влияет ни на что. Точно так же могут существовать в одном пространстве и времени данные в какой нибудь shared memory. Как дополнительные функции к обьекту помогут существовать обьекту во в многопоточном пространстве? Эти функции легко вынести за пределы обьекта. 


user posted image



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
MAKCim
Дата 6.6.2008, 19:53 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



chipset

smile

Это сообщение отредактировал(а) MAKCim - 6.6.2008, 19:53


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
chipset
Дата 6.6.2008, 20:10 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 4
Всего: 164



smile 

аааа...

user posted image

Добавлено через 3 минуты и 41 секунду
user posted image


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
W4FhLF
Дата 7.6.2008, 10:16 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Мастер @  6.6.2008,  06:18 Найти цитируемый пост)
Процедурные языки строго соблюдают очерёдность исполнения команд, поэтому процедурные языки распараллеливаются с трудом и,  как правило, криво. 


Не знаю, что у тебя там с очередностью и кривостью, но у меня сейчас два проекта: один на С++ с пом. OpenMP распараллелен, если бы был на С, то точно так же был бы распараллелен без всякой кривоты; второй, на С, через CUDA API распараллеливается на 128 ядер(те, что в GPU) и порядка 4000 потоков. Ищи кривость в другом месте smile 

Цитата(Мастер @  6.6.2008,  06:18 Найти цитируемый пост)
Распаралеливать Фортран глупо. Можно было просто создать библиотеку(DLL) и подключить её к Java.


Можно было просто пойти попить пива.  smile 



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
LSD
Дата 7.6.2008, 10:48 (ссылка) |    (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Эпическая сага о том, как доблестные флеймеры победели злого тролля:
Часть 1. Братство IE.
Часть 2. Два языка.
Часть 3. Возвращение фортрана.

 smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
3,14
Дата 7.6.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 1
Всего: 24



Тоже захотелось пофлеймить немножко  smile 
Цитата(Lazin @  4.6.2008,  08:13 Найти цитируемый пост)
а сейчас я буду объяснять почему Java - отстой smile 
Java - с точки зрения эффективности, далека до идеала (в лице Си), поэтому, когда программа написанная на Java-e выполняется, огромное количество тактов процессора тратится на обработку байт кода и преобразование его в машинные инструкци

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


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Mayk
Дата 7.6.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 2
Всего: 134



ОСТОРОЖНО, БОЯН:

Цитата(3 @ 14, 7.6.2008,  15:32 Найти цитируемый пост)

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

Не проигрывает кому? Интерпретируемым разве что? Или ява уже в состоянии тягаться с icc или хотя бы с gcc?

 smile 

Вообщем бенчмарк или не было.   smile 

 smile  smile  smile smile  smile smile  smile 

Это сообщение отредактировал(а) Mayk - 7.6.2008, 11:50


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
3,14
Дата 7.6.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 1
Всего: 24



Да были уже тесты, и на форуме постились где и Java опережала C/C++. Вопрос в том, что и как тестить. А сегодня времени читать эту ссылку+искать старую нет просто...
ЗЫ: Лично сам против C/C++ ничего не имею, хотя программирую, в основном на Java.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Мастер
Дата 7.6.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Цитата(Lazin @ 6.6.2008,  08:43)
интерпретатор lua - не медленный, во всяком случае в таких задачах как работа со строками или поиск в таблице, он не медленнее Java, а даже наоборот...

Java медленный, если его байткод не компилять. JIT частично решает эту проблему. Ускоряет. Но оптимальый скомпилированный код на лету трудно получить. Если компилятор работает бысторо, то, скорее всего, он генерит не оптимальный код.
Java хороша вместе с Си. Т.е. - те места, которые критичны по времени исполнения, и в них тормозом является именно код(а не железо), то стоит написать нативную функцию. Фурье, к примеру, на Java писать не правильно. Однако, иногда призодится, если код в апплете работает.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1034 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.