![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
блин, даже если скомпилировать под конкретный C2D
все равно больше, чем у GCC ![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Мастер |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Вот что я нашел в сети: http://www.linux.org.ru/view-message.jsp?m...9413&page=3
|
||||
|
|||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
а что, программирование на Java освобождает программиста от заботы о синхронизации потоков? ![]() что будет если 1 поток будет добавлять элементы в список, а другие читать этот список? |
|||
|
||||
Мастер |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) Мастер - 7.6.2008, 15:03 |
||||
|
|||||
Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
я просто пытаюсь понять, чем Java в этом плане так принципиально отличается от того-же С++, чем она мне помогает. поможет ли Java отследить race condition, deadlock или падение производительности из-за неправильного использования многопоточности. например С++ программисту сложно понять даст ли преимущество в скорости распараллеливание цикла, или только добавит тормозов, или - стоит лочить данный объект, или это приведет к простою других потоков, которые его все равно не изменяют... такие вещи, по идее, должны быть лучше известны компилятору, чем программисту, но на практике это все выполняется вручную... |
||||
|
|||||
Мастер |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
К Java можно относиться как к продвинутому Shell поверх базовых натв-функций. (К весьма продвинотому Shell.) Набора стандартных возможностей, которые предоставляет Java, как правил - хватает (ну, или - должно хватать), чтобы реализовать большинство практических задачь, на большинстве процессоров и архитектур. Эти возможности реализованы в библиотеках и в самой JVM. Библиотеки универсальны, реализованы и отлажены профессионалами. Есть исходники, их можно посмотреть, изучить, научится правильно программировать. Что ещё нужно программисту.
Это сообщение отредактировал(а) Мастер - 7.6.2008, 15:24 |
||||
|
|||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
о сколько нам открытий чудных... ![]() Добавлено через 39 секунд
странно, а разве это не ЯП общего назначения? Добавлено через 1 минуту и 59 секунд ну так кто спорит, что на Java можно (и даже удобно) программировать, вопрос только в том что там есть такого особенного для "синхронизации процессов" как вы говорить ![]() |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Это от языка не зависит ![]() ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Мастер |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) Мастер - 7.6.2008, 16:06 |
||||||
|
|||||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
Java - это императивный яп, то-есть язык, в котором программист определяет порядок вычислений, в этом плане Java от C ничем не отличается, а ООП это просто способ удобной структуризации кода, вот и все... Ну так вот, императивный стиль программирования входит в противоречие с параллельным программированием, так как порядок выполнения конструкций языка не определен (вернее определен, но только для одного трэда, а как они там друг на друга наложатся никто не знает), а вся эта синхронизация нужна только для того, что-бы хотя-бы на уровне методов одного объекта, мыслить категориями 80-х годов зная, что другие потоки в данный момент стоят и ждут пока метод отработает в этом потоке... Что то новое могут предложить функциональные языки, там порядок вычислений неважен, а вместо общей памяти, для связи между потоками данные копируются, поэтому все эти локи-анлоки, там не нужны. |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Хорошо, давайте выберем задачу, которую можно распараллелить и при этом нужно синхронизировать отдельные части, назначить области видимости каких-то данных или даже редукцию, в общем, чтобы задача была необъёмная, но с подвыподвертом ![]() ![]() -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
Ещё раз: тебя не смущает, что GCC доступен на большем количестве архитектур, чем Java? ![]() Добавлено через 5 минут и 33 секунды Я фигею, дорогая редакция. Нашёл, блин, авторитетный источник - анонимуса на ЛОРе ![]() |
|||
|
||||
Мастер |
|
||||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 17.5.2008 Репутация: нет Всего: нет |
К этому можно было бы вернуться, позже, но у меня задачи пока нет на Java. (Сори.) Впринципе, если вы хотите быстро с Си перейти на Java, могу дать совет и прислать примеры. Совет: Есть такая книга: "Программирование на Java, 1001 совет" Марк с. Чен, Стивен В. Грифис, Энтони Ф. Изи, Издательство Попури, 1997 год. Книга, хотя и старая, но ничего лучше я нет видел. У меня есть приеры(0.8М) к ней, и, кажется, английский вариант этой книги в электронном виде. Ссылка: Введение в Java
Скорость исполнения Java байткода увеличится, и будет не хуже чем у Си, если его компильнуть, но при этом может увеличиться обём кода, что не всегда допустимо. Скорость выполнения кода часто не так важна, как сам факт того, что он(пусть медленно но) работает. Это сообщение отредактировал(а) Мастер - 7.6.2008, 17:16 |
||||
|
|||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
... и поэтому, наверное, пользователи жалуются, что то тормозит, это тормозит... ![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 4 Всего: 154 |
Ну, для многих применений Java очень даже хороша, многие вещи там делаются намного проще чем на С++ и часто более экономически оправдано. Если к примеру основную нагрузку на систему создает работа СУБД, то на чем написана программа которая с ней работает уже вопрос третий
![]() Но все-же, неприятно когда ты это запускаешь, а оно как начнет тормозить ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |