Небольшое уточнение.
В 5:18 «… И именно по этому мы имеем сегодня питон, пых-пых и прочую джаву. Лишь бы не компилировать.»
Java как и DotNet это компилируемые языки. Программа компилируется в байт-код и распространяется в виде скомпилированного бинарного байт-кода. В качестве ассемблера для них используется ассемблер виртуальной машины (JVM или .NET). При выполнении программы, её инструкции транслируются в нативные системные вызовы ОС, а отдельные части программы могут быть переведены в нативный машинный код (JIT-компиляция) и выполняться без потери производительности по сравнению с чистыми компилируемыми объектными языками (C++ например).
Динамическая-компиляция возможна и на интерпретируемых языках (питон). https://ru.wikipedia.org/wiki/JIT-компиляция
Без потери производительности не может исполнятся — это миф. Для деплоя всего этого хозяйства нужен жирный рантайм, в виде окружения разворачиваемого рядом с приложением. Прослойка над прослойкой, как верно заметил Дима, не может не сказываться на производительности. Мы просто не замечаем этого в виду атомной производительности нынешнего железа. Утверждение что JIT-компиляция выводит время выполнение на уровень нативного кода — это плевок в лицо законам физики и маркетологический ход. ИМХО, но подумайте логически и придете к тому же
>Без потери производительности не может исполнятся — это миф.
Вы пробовали сравнивать производительность кода, написанного на asm или собранного на компиляторах gcc, g++ (GNU C Compiler) , javac (Java) , csc (C# MS C# Compiler) ?
На основании каких исследований вы делаете такие выводы? Вы понимаете, что эффективность полученного кода зависит в первую очередь от компилятора и того самого «жирного рантайма», а не от языка, на котором этот код изначально написан?
>Для деплоя всего этого хозяйства нужен жирный рантайм, в виде окружения разворачиваемого рядом с приложением.
Для запуска вообще любого приложения требует библиотечная прослойка, предоставляющая доступ к api ОС. Без glibc вы не запустите приложение на линуксе, даже если это хелолоу ворд на С, как из данного видео. Без MS redistributable вы не запустите программу, собранную на MS C Compiler. Вам всегда нужен рантайм, не зависимо от языка на котором вы написали программу.
> Утверждение что JIT-компиляция выводит время выполнение на уровень нативного кода — это плевок в лицо законам физики и маркетологический ход.
Попробуйте это на практике.
—-
Я вообще лишь уточнение хотел небольшое внести, а не эти религиозные споры…
> Без glibc вы не запустите приложение на линуксе, даже если это хелолоу ворд на С, как из данного видео.
В качестве исключения. Без glibc запустить можно приложение, но только если оно собрано на основе статических библиотек. Без интерпретатора в Linux обойтись невозможно, хотя есть исключения аналогичные предыдущему предложению.
На всеми любимый вопрос публики «Зачем?» отвечать не стану поскольку вопрос имеет архитектурное значение.
Оооох! На одном дыхании посмотрел. Подход зацепил — «В те времена Земля была огненным шаром и…». Сам так рассказывать люблю. А почему решил о Колибри снять?
Доброго вам времени суток. Пишу с Киева. Смотрю ваши выпуски примерно с середины 2012 года (мне тогда было около 16 лет, только-только окончил среднюю школу). Материал качественный, смотрится легко (так сказать, на одном дыхании), подача материала весьма и весьма интересная. Собственно цикл ваших передач «16 бит тому назад» тогда и пробудил окончательно во мне интерес к старым играм на консолях и ПК. Чем, собственно, увлекаюсь до сих пор, а также параллельно коллекционирую различное старое аппаратное обеспечение.
Выпуск про КолибриОС в рамках цикла «Кремниевые титаны» просмотрел вчера вечером. Было увлекательно. Продолжайте в том же духе. Ни пуха, ни пера.
1. Навскидку, программа на Python, обычно требует наличия других библиотек, которые не факт есть в наличии на машине с предустановленный Python-ом. Добро пожаловать в dependecy hell.
2. Я несколько раз, в качестве advanced user-а, сталкивался с пробелами с .Net Framework. У меня были старые её версии, а какая-то аппликативная программа требовала более новые, и почему-то параллельно старым отказывалась устанавливаться. Вопрос решался выкорчёвываем всех .Net Framework-ом и установки последних их версий.
3. Копирование программ дискетами в exe-формате. Неужели, не сталкивались с отсутствием dll-файлов или наличие несовместимой версии (функция отсутствует или сигнатура изменена несовместимым уровнем)? Далеко не всегда делают static linking… С этим я сталкивался последний раз 4 года назад так точно.
Доброй ночи Дмитрий. Я больше не нашел просто места куда можно было бы спросить. Вопрос следующий и очень интересный. Вот у вас дома либо где то еще стоят сервера в вашей стойке и там живут ваши сервисы. Вопрос такой вы же арендуете у провайдера белые адреса ? Если да то просто интересно в каком колличестве ? Может ли провайдер к примеру ростелеком дать /29 подсеть обычному физическому лицу ? Просто интересно ваше мнение. У меня дома так же стоят сервера доч моих личных целей и 1 адреса стало мало и нужно больше.
Если бы Windows 3.1 была бы просто графической оболочкой, она бы сейчас на FreeDOS в режиме для 386 работала. Видел тут какую-то статью, что Windows 3.1 нужен именно MS-DOS, потому что в процессе работы она выгружает отдельные компоненты MS-DOS, загружая свои, и загружает исходные компоненты обратно при выходе. Да и, помнится, на уроках информатики мы проходили, что ОС имеет ядро и драйверы устройств — что ж, у Windows 3.1 это есть.
«Очень маленькая птичка очень быстро машет крыльями» — хорошо прозвучало)))
Спасибо за выпуск, интересно!
Спасибо за выпуск.
Небольшое уточнение.
В 5:18 «… И именно по этому мы имеем сегодня питон, пых-пых и прочую джаву. Лишь бы не компилировать.»
Java как и DotNet это компилируемые языки. Программа компилируется в байт-код и распространяется в виде скомпилированного бинарного байт-кода. В качестве ассемблера для них используется ассемблер виртуальной машины (JVM или .NET). При выполнении программы, её инструкции транслируются в нативные системные вызовы ОС, а отдельные части программы могут быть переведены в нативный машинный код (JIT-компиляция) и выполняться без потери производительности по сравнению с чистыми компилируемыми объектными языками (C++ например).
Динамическая-компиляция возможна и на интерпретируемых языках (питон).
https://ru.wikipedia.org/wiki/JIT-компиляция
Без потери производительности не может исполнятся — это миф. Для деплоя всего этого хозяйства нужен жирный рантайм, в виде окружения разворачиваемого рядом с приложением. Прослойка над прослойкой, как верно заметил Дима, не может не сказываться на производительности. Мы просто не замечаем этого в виду атомной производительности нынешнего железа. Утверждение что JIT-компиляция выводит время выполнение на уровень нативного кода — это плевок в лицо законам физики и маркетологический ход. ИМХО, но подумайте логически и придете к тому же
>Без потери производительности не может исполнятся — это миф.
Вы пробовали сравнивать производительность кода, написанного на asm или собранного на компиляторах gcc, g++ (GNU C Compiler) , javac (Java) , csc (C# MS C# Compiler) ?
На основании каких исследований вы делаете такие выводы? Вы понимаете, что эффективность полученного кода зависит в первую очередь от компилятора и того самого «жирного рантайма», а не от языка, на котором этот код изначально написан?
>Для деплоя всего этого хозяйства нужен жирный рантайм, в виде окружения разворачиваемого рядом с приложением.
Для запуска вообще любого приложения требует библиотечная прослойка, предоставляющая доступ к api ОС. Без glibc вы не запустите приложение на линуксе, даже если это хелолоу ворд на С, как из данного видео. Без MS redistributable вы не запустите программу, собранную на MS C Compiler. Вам всегда нужен рантайм, не зависимо от языка на котором вы написали программу.
> Утверждение что JIT-компиляция выводит время выполнение на уровень нативного кода — это плевок в лицо законам физики и маркетологический ход.
Попробуйте это на практике.
—-
Я вообще лишь уточнение хотел небольшое внести, а не эти религиозные споры…
> Без glibc вы не запустите приложение на линуксе, даже если это хелолоу ворд на С, как из данного видео.
В качестве исключения. Без glibc запустить можно приложение, но только если оно собрано на основе статических библиотек. Без интерпретатора в Linux обойтись невозможно, хотя есть исключения аналогичные предыдущему предложению.
На всеми любимый вопрос публики «Зачем?» отвечать не стану поскольку вопрос имеет архитектурное значение.
Оооох! На одном дыхании посмотрел. Подход зацепил — «В те времена Земля была огненным шаром и…». Сам так рассказывать люблю. А почему решил о Колибри снять?
Снял потому что заказали, в титрах написано же.
Спасибо большое за выпуск. Сделайте пожалуйста выпуск про React OS.
Доброго вам времени суток. Пишу с Киева. Смотрю ваши выпуски примерно с середины 2012 года (мне тогда было около 16 лет, только-только окончил среднюю школу). Материал качественный, смотрится легко (так сказать, на одном дыхании), подача материала весьма и весьма интересная. Собственно цикл ваших передач «16 бит тому назад» тогда и пробудил окончательно во мне интерес к старым играм на консолях и ПК. Чем, собственно, увлекаюсь до сих пор, а также параллельно коллекционирую различное старое аппаратное обеспечение.
Выпуск про КолибриОС в рамках цикла «Кремниевые титаны» просмотрел вчера вечером. Было увлекательно. Продолжайте в том же духе. Ни пуха, ни пера.
В самом начале очень много косяков.
1. Навскидку, программа на Python, обычно требует наличия других библиотек, которые не факт есть в наличии на машине с предустановленный Python-ом. Добро пожаловать в dependecy hell.
2. Я несколько раз, в качестве advanced user-а, сталкивался с пробелами с .Net Framework. У меня были старые её версии, а какая-то аппликативная программа требовала более новые, и почему-то параллельно старым отказывалась устанавливаться. Вопрос решался выкорчёвываем всех .Net Framework-ом и установки последних их версий.
3. Копирование программ дискетами в exe-формате. Неужели, не сталкивались с отсутствием dll-файлов или наличие несовместимой версии (функция отсутствует или сигнатура изменена несовместимым уровнем)? Далеко не всегда делают static linking… С этим я сталкивался последний раз 4 года назад так точно.
Спасибо большое за выпуск. Сделайте пожалуйста выпуск про React OS.
Спасибо за выпуск. Сделай пожалуйста выпуск про ReactOS.
Доброй ночи Дмитрий. Я больше не нашел просто места куда можно было бы спросить. Вопрос следующий и очень интересный. Вот у вас дома либо где то еще стоят сервера в вашей стойке и там живут ваши сервисы. Вопрос такой вы же арендуете у провайдера белые адреса ? Если да то просто интересно в каком колличестве ? Может ли провайдер к примеру ростелеком дать /29 подсеть обычному физическому лицу ? Просто интересно ваше мнение. У меня дома так же стоят сервера доч моих личных целей и 1 адреса стало мало и нужно больше.
Спасибо за выпуск. Сделай пожалуйста выпуск про React OS.
Дим, там тебя на прохай тэч помянули и немного твоего видело показали, так приятно, аж вспомнил что ты есть =D
Если бы Windows 3.1 была бы просто графической оболочкой, она бы сейчас на FreeDOS в режиме для 386 работала. Видел тут какую-то статью, что Windows 3.1 нужен именно MS-DOS, потому что в процессе работы она выгружает отдельные компоненты MS-DOS, загружая свои, и загружает исходные компоненты обратно при выходе. Да и, помнится, на уроках информатики мы проходили, что ОС имеет ядро и драйверы устройств — что ж, у Windows 3.1 это есть.