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

Поиск:

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


Новичок



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

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



Цитата
а можно вопрос, зачем для этого функция eval?
Правило, которое запомнил, условный рефлекс, что выработал, как превратишь в действие иначе?

смайли ки в этом форуме: класс!!! smile  smile smile

(народ на памперсах раззорится)

Это сообщение отредактировал(а) Мастер - 3.6.2008, 20:13
PM MAIL   Вверх
MAKCim
Дата 3.6.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Мастер
как ты думаешь, Java сможет заменить ассемблер?
и вот еще что
перечисли программы, которые у тебя установлены на компьютере, написанные на Java и требующие для запуска JVM


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

PM MAIL   Вверх
Мастер
Дата 3.6.2008, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
как ты думаешь, Java сможет заменить ассемблер?

Сгенерить код для железяки можно на любом (пригодном для этого) компьютере. Генератор можно написать на Си или на Java.
Я когдато программировал контроллеры York International с ноутбука, из под ДОС, по RS232.
Генератор кода был написан на Си.

Добавлено @ 19:29
Цитата
перечисли программы, которые у тебя установлены на компьютере, написанные на Java и требующие для запуска JVM
Согласен. С++ завтра будет ещё жив. Но, преучиваться советую начать уже сейчас.

Это сообщение отредактировал(а) Мастер - 3.6.2008, 19:29
PM MAIL   Вверх
MAKCim
Дата 3.6.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Мастер @  3.6.2008,  19:26 Найти цитируемый пост)
Сгенерить код для железяки можно на любом (пригодном для этого) компьютере. Генератор можно написать на Си или на Java.

ОК
представим ситуацию: тебе нужно написать обработчик прерывания, скажем, под IA-32e
у тебя есть кодогенератор на Java/C
твои действия? (по пунктам)


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

PM MAIL   Вверх
Мастер
Дата 3.6.2008, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
представим ситуацию: тебе нужно написать обработчик прерывания, скажем, под IA-32e

IA-32e - это процессор?

Хорошо-хорошо. Асемблер будет жить... Сдаюсь!

Конечно будет, но - этот язык не для массового потребления. Инструмент специализированный.
Я, к примеру, никогда не программировал BIOS. Ассемблер использовал только как вставки в Си от Борланд.

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

Насколько я помню, обработчик прерываений, это код, на который указыает ссылка из списка указателей на прерывания. Список этот находится в памяти по конкретному адресу. Место в списке - есть номер прерывания. Так? (В досе это было, кажется, так.)

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

Мне кажется, этим должна заниматься биос. Она должна инициализировать вектор прерываний.

Вот тут что-то говорится о JDK для процессоров IA. Т.е. - Java написана для вашего процессора. Вам её не хватает?

Это сообщение отредактировал(а) Мастер - 3.6.2008, 20:12
PM MAIL   Вверх
MAKCim
Дата 3.6.2008, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Мастер @  3.6.2008,  19:52 Найти цитируемый пост)
С++, очевидно, сохранится, но - не как язык общего пользования.

тогда еще один вопрос: что легче реализовать, компилятор С++ или JVM?
ты уверен, что можно реализовать JVM под все платформы?

Цитата(Мастер @  3.6.2008,  19:52 Найти цитируемый пост)
A-32e - это процессор?

нет




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

PM MAIL   Вверх
Мастер
Дата 3.6.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
ты уверен, что можно реализовать JVM под все платформы?
Много лет назад было сообщение, что Java работала в наручных часах. Java работает в пластиковых картах и сотовых телефонах. Т.е. - с точки зрения потребления ресурсов - Java хороша.
Что касается платформ. Я застал ещё аналоговые компьютера. В них перемножадись не числа, а волты и амперы. (Кстати, аналоговые компьютеры управляют Ту-160.) Наверняка, там Java работать не будет. Java не будет работать в нейронной среде, если та аналоговая.
Java работает в многопроцессорных (RISC) компьютерах. (См. тут).

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

Это сообщение отредактировал(а) Мастер - 3.6.2008, 20:39
PM MAIL   Вверх
Shaggie
Дата 4.6.2008, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

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



Цитата(Мастер @  3.6.2008,  18:50 Найти цитируемый пост)
в Java нет eval.

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

Код

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.put("frameTitle", new Date());
String script = "importPackage(java.awt);\n" +
                "importClass(java.awt.Frame);\n" +
                "var frame = new java.awt.Frame(frameTitle.toString());\n" +
                "frame.setVisible(true);\n" +
                "println(frame.title);";
engine.eval(script);


Одного не пойму - и как с помощью eval() можно захватить мир? Да, временами очень удобно... но не более того. Тем более в Java, которая очень строго относится к попыткам выстрелить себе в ногу.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
Lazin
Дата 4.6.2008, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



для плюсов полюбому больше скриптовых движков smile

Добавлено через 51 секунду
Ма-стерМа-стерМа-стерМа-стерМа-стерМа-стерМа-стер!! давай еще!
 smile

Добавлено через 3 минуты и 59 секунд
Цитата(Мастер @  3.6.2008,  20:29 Найти цитируемый пост)
Что касается платформ. Я застал ещё аналоговые компьютера. В них перемножадись не числа, а волты и амперы.

в них решаются диф-уравнения, джавы там точно нет smile

Добавлено через 13 минут и 14 секунд
а сейчас я буду объяснять почему Java - отстой smile 
Java - с точки зрения эффективности, далека до идеала (в лице Си), поэтому, когда программа написанная на Java-e выполняется, огромное количество тактов процессора тратится на обработку байт кода и преобразование его в машинные инструкции ну и на много чего еще (наверное), каждый такт процессора - трата электроэнергии, что-бы произвести эту энергию нужно, к примеру, сжечь некоторое количество углеводородов, эти углеводороды образовывались миллион лет, и они не возобновляемые... то-есть программируя на Java вы только увеличиваете энтропию вселенной, приближаете ее тепловую смерть. еще это приводит к дефициту углеводородов, как результат - посевные площади занимают рапсом, а в странах третьего мира - нехватка продовольствия и голод...
теперь вы видите, почему программы должны быть эффективными, почему их нужно писать на компилируемых(в нативный код) языках!  smile 
PM MAIL Skype GTalk   Вверх
Мастер
Дата 4.6.2008, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
Начиная с шестой JDK имеется механизм поддержки скриптовых движков
Не знал. В первой Jave этого не было.
Кто же компиляет скрипт?
Впрочем, это не совсем то. В Jave нельзя сгенерить код на Java, и исполнить его.
Цитата
Одного не пойму - и как с помощью eval() можно захватить мир?
Для начала вам нужно разобраться с интеллектом. Интеллект - это что?
Когда поймёте - станет ясно - как это можно реализовать на компьютере.
Кстати, интеллектом обладают все, кто имеет нервную систему. Обучаться (вроде бы) могут не все.

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

Теперь, чтоб запомнить правило, его, правило это, нужно ещё сгенерить. А вот это - от задачи зависит, и - от вашего понимания её.
Цитата
программы ... нужно писать на компилируемых(в нативный код) языках!
А что мешает скомпилировать байт код? Я, почемуто, думаю, что это проще, чем скомпилировать Сишный текст.

Кроме того, писать на Java алгоритмы обработки данных  неправильно. К Java нужно подключить библиотеку, которая это делает. Задача Java - синхронизировать работу многих нативных процессов. Большего от неё требовать не следует. Даже интерфейс на Java писать не правильно, потому, что неудобно. Cложно и гибкий он не получается.
Интерфейс нужно писать на DHTML.

Это сообщение отредактировал(а) Мастер - 4.6.2008, 09:16
PM MAIL   Вверх
nerezus
Дата 4.6.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

Уже неверно. Начиная с шестой JDK имеется механизм поддержки скриптовых движков, и, по идее, выполнить можно любую строку, удовлетворяющую некоему формату.
 А теперь пожалуйста то же самое, но в синтаксисе Java ;)


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


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


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

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



Цитата(Мастер @  4.6.2008,  12:50 Найти цитируемый пост)
Для начала вам нужно разобраться с интеллектом. Интеллект - это что?

Тар, это ты?

Цитата(Мастер @  4.6.2008,  12:50 Найти цитируемый пост)
Впрочем, это не совсем то. В Jave нельзя сгенерить код на Java, и исполнить его.

В самом деле?

Цитата(Мастер @  4.6.2008,  12:50 Найти цитируемый пост)

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

Набор слов. 

Цитата(Мастер @  4.6.2008,  12:50 Найти цитируемый пост)
Ваша программа не умеет учиться.

Что такое "учиться"(с)?


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


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

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



Мастер, разницу между скриптами и компилируемыми в машинный код языками понимаем?
PM Jabber   Вверх
Shaggie
Дата 4.6.2008, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

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



Цитата(Мастер @  4.6.2008,  09:50 Найти цитируемый пост)
В Jave нельзя сгенерить код на Java, и исполнить его.

Технически можно, только это мало похоже на пресловутый eval(). Достаточно сгенерировать правильный код для класса и подать внешнему компилятору команду на компиляцию. Более того, с этой проблемой народ встречается не так редко; Apache создали удобный пакет Java Compiler Interface для её решения.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
Мастер
Дата 4.6.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата
Мастер, разницу между скриптами и компилируемыми в машинный код языками понимаем?
А что - есть сомнения?
JIT - это компилятор?
Зачем "компилировать налету", если можно докомпилять байткод до натив. Что мешает?
Цитата
Цитата
В Jave нельзя сгенерить код на Java, и исполнить его.
Технически можно, только это мало похоже на пресловутый eval()
Java, хотя и проще чем С++, сложный язык. Поэтому реализация в Java возможностей, которые уже есть в JavaScript, кажутся не очень интересными. Я в Java только по нужде хожу. (Сокеты там хороши. Ах!)

Это сообщение отредактировал(а) Мастер - 4.6.2008, 09:43
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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