Java и OS

332
4
Всем привет!

меня зацепили следующие вопросы:
1)Каким образом java зависит от OS (Windows)
2)Что собой представляют .exe файлы
3)И если java все таки зависит, то какой язык не зависит (кроме asemblera и машинных кодов)

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

В общем, кому не трудно прошу ответить )
[merge_posts_bbcode]Добавлено: 29.02.2016 19:39:10[/merge_posts_bbcode]

Сори ошибся в ссылке.
exe
 
1,137
5
3
1) абстракция, более менее кросс платформенная (нативы, например, разные. Gwt имеет различия. Это либа)
2) заголовки. Код машинный под ОС
3) да любой зависит в какой-то мере
 
1,087
2
1. Java интерпритируемый язык программирования, следовательно она требует другие языки (Ну C, C++ или Assembler, я не разбирался в этом деле) в системе (Не только в Windows).
2. .exe - это DOS исполняемый файл (Windows от DOS произошла), что непонятного? В Mac OS X это dmg или app. В Linux это sh, run и так далее, но во многих дистрибутивах есть и новые исполняемые файлы:
deb, rpm, ubu etc.
3. Ну вопрос туповатый, просто ищи по неинтерпритируемым языкам.
 
183
1
4
FanKar написал(а):
1. Java интерпритируемый язык программирования, следовательно она требует другие языки (Ну C, C++ или Assembler, я не разбирался в этом деле) в системе (Не только в Windows).
Java - компилируемый язык
 
398
4
7
Хотя я не программист, но неплохо представляю как работает железо, особенно на уровне отдельных вентилей.
В остальном я мало понимаю, но все же.

1) wilah сказал что-то похожее на истину. FanKar - берд. Интерпретатору не необходима ОС и уж тем более какие-то сторонние компиляторы.
2) wilah опять прав. И в это лезть бессмысленно, если не собираешься писать руткиты всякие.
3) И опять wilah в чем-то прав, а FanKar несет бред. Но твой вопрос некорректный, поэтому на него невозможно правильно ответить.
Тут нужно дать определение языку, ОС и прочему. Например, стандартная библиотека Си является частью языка? А ведь без нее легко можно обойтись.
Программы написанные на ассемблере весьма сложно перенести даже на другую ОС, не говоря уже об архитектуре процессора.
 
398
4
7
Heitem написал(а):
Да, .exe, я прочел, вроде как бы понял, но не могу представить как иначе может запускаться программа, без
опеационной системы
Пожалуйста, интерпретатор/компилятор простейшего языка программирования, работающий без ОС https://bitbucket.org/Shuleshkin/cortex-m3-forth

Самодельный компьютер, написанный на VHDL с похожим компилятором/интерпретатором https://bitbucket.org/Shuleshkin/forth-computer

И мод с этим компьютером https://bitbucket.org/Shuleshkin/nedocomputers/src/
[merge_posts_bbcode]Добавлено: 29.02.2016 22:34:43[/merge_posts_bbcode]

Heitem написал(а):
Можно сказать, компилируемый в байткод, но не машинный код. Но лучше по поводу терминов в этом случае не спорить.
 
332
4
Что-то понял)
Короче, неиспользовав библиотеки, написанные под OS, я смогу добиться независимости от OS?
 
398
4
7
Конечно нет. Хотя бы потому, что ОС занимает ресурсы. "неиспользовав библиотеки" - я думаю что почти во всех ОС это невозможно.

114ed.jpg

Вот это можешь полистать, может поймешь что-нибудь.
 
1,137
5
3
Java правда интерпретируемый, ибо вм интерпретирует байт код джавы.
 
183
1
4
wilah написал(а):
Java правда интерпретируемый, ибо вм интерпретирует байт код джавы.
Да, JVM исполняет байткод. Но перед этим Java код предварительно компилируется с помощью компилятора в этот самый байткод.
 
1,137
5
3
Я знаю, поэтому сам код компилируемый, а вот байт-код интерпретируемый. Может тут я сказал туфту, но я понял, как в общем это работает
 
183
1
4
wilah написал(а):
Я знаю, поэтому сам код компилируемый, а вот байт-код интерпретируемый. Может тут я сказал туфту, но я понял, как в общем это работает
Цитата из вики:
Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет (интерпретирует) исходный текст без предварительного перевода. 


Программа на компилируемом языке при помощи компилятора (особой программы) преобразуется (компилируется) в машинный код (набор инструкций) 
 
1,137
5
3
Сложно очень как-то. Джава компилируемая. Но байт-код интерпретируемый?! Поясни на пальцах, дабы не ошибаться больше
 
183
1
4
wilah написал(а):
Сложно очень как-то. Джава компилируемая. Но байт-код интерпретируемый?! Поясни на пальцах, дабы не ошибаться больше
Байт-код - набор инструкций, исполняемых JVM, но это отнюдь не делает ни его, ни саму джаву интерпретируемым языком програмированния
 
1,137
5
3
Но виртуальная машина, по сути, интерпретатор байт-кода
 
398
4
7
Это называется Just-in-time compilation. Так работают многие интерпретаторы.

Но грань между интерпретацией и компиляцией нечеткая, поэтому не стоит спорить по поводу терминов. Более того есть такое явление как микропрограммы.
Это как грань между CISC и RISC.
 
1,137
5
3
Это как грань между CISC и RISC.
Поясни что это, на пальцах
 
398
4
7
Если совсем "на пальцах", то RISC - это процессоры у которых команды более короткие, за счет более простых режимов адресации, CISC - наоборот. Подробнее - в гугл.
 
332
4
Ну дак, Wilah ответил на третий вопрос, что каждый язык в какой-то мере зависит от OS,
А как Windows написан на C++, если  C++ зависит от Windows? ))))
 
Сверху