OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 02:24

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 26 Март, 2019 22:11 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Нежелание людей подключаться к чужому проекту.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 26 Март, 2019 22:25 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 34
Rifat писал(а):
Нежелание людей подключаться к чужому проекту.


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

У меня вопрос остается прежним, что мешает помогать Ивану с BlackBox?
Что мешает устранять недостатки, если они есть и развивать возможности компилятора BlackBox?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 00:51 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Sergey Volkov писал(а):
У меня вопрос остается прежним, что мешает помогать Ивану с BlackBox?
Что мешает устранять недостатки, если они есть и развивать возможности компилятора BlackBox?
Сергей, скажу со своего опыта. Прям вся история образования BlackBox Center'а прошла у нас на глазах. Во-первых, мне с моей славянской ментальностью было сперва трудно врубиться в их демократические выборы по любому поводу. Потом всё это начало приобретать у них авторитарное направление, что нельзя, чтобы вес каждого голоса был одинаков — пусть те, чей вклад в проект больше, и вес голоса имеют больший. Всё это становление коллективного (Напомню! Некоммерческого! Или, по крайней мере, это не было проговорено в начале) проекта было похоже на ряд бюрократических проволочек. Я до сих пор не уверен, что как-то можно было бы организовать такой проект без них. Но это ладно. Я тоже подал заявку на участие, но председательствующий тогда Рене Кривульт её "зажилил" по личным мотивам. У нас с ним в рассылке OMinc случилась ссора, когда я запостил код, работающий с реестром Windows (закомментированный, кстати), а он легковесно меня обвинил в постинге вредоносного кода. Я до сих пор искренне считаю, что он был неправ. Но он затаил на меня злобу и отомстил, как смог)

Потом Иван тоже звал меня в Центр, но я не хотел груза лишних обязанностей, тем более, что это не грозило принести никакой явной пользы. А ещё у меня был опыт проталкивания фич в сопротивляющееся сообщество. И пока основная ветка BlackBox была одна, и в авторитетных руках, это ещё ладно. Но когда BlackBox "расползся" на сборку Цинна, сборку OberonCore, сборку Red, сборку Центра — может и ещё какие есть, я упустил — проталкивать доработки, над которыми надо корпеть очень тщательно, стало ещё сложнее. Разработать их — это ещё не вся работа. Нужно ещё и обосновать, сделать это общественным достоянием. Запулить фичу во все сборки. И вот это-то самое сложное. Потому что весомые авторитарные разработчики с высоким весом голоса не вполне разделяют мнения со стороны. Есть конечно вариант создать свою сборку, но он тоже весьма кислый. Не настолько я авторитетный товарищ, чтобы все полезли юзать мою сборку. И не настолько у меня много времени и желания кропотливо её вылизывать. Вот такая история.

Потом я узнал, что Иван делает новую кроссплатформенную сборку. И конечно я её ставил-смотрел, но не особо внимательно. Если бы нашёл какой-то баг, то конечно сообщил бы. Но использование BlackBox вообще слегка выходит за рамки моих интересов в Обероне. Другое дело, если можно было бы получить какие-то материальные плоды с этих моих усилий. А так, я гляжу, весь мой пар летит в трубу. Мою фичу по убиранию лимита на размер кодовых процедур удалось протащить не во все сборки. Хорошо, хоть Цинн взял. Потом Йозеф тоже решил, что это полезно. Но сделал всё по-своему, иначе. Ну да бог с ним)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 03:28 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Info21 писал(а):
Надо определить понятия.
Пожалуй.

Переносимость - возможность исполнять программы на разных платформах.

Языки ассемблера либо непосредственно машинные языки не обладают какими-то особыми свойствами, которые не позволяют исполнять написанные на них программы на машинах с архитектурой, отличной от родной. Следовательно, нет никакой непереносимости. Естественно, для выполнения в инородной среде необходимо выполнение дополнительных условий, но ничего необычного в этих условиях нет. Всё это должно быть знакомо по условиям выполнения высокоуровневых языков: пошаговые интерпретаторы, динамические и статические трансляторы.

Непереносимость машинных языков существует лишь как психологический барьер.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 07:33 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Comdiv писал(а):
Sergey Volkov писал(а):
2. Любой язык ассемблера переносимый.

Как раз - нет. Олег тут писал, что он пишет на ассемблере с 1995 года.
Так вот я пишу в кодах с 1972, а на ассемблере - с 1974 года.
Ассемблер - это машинно-ориентированный язык.
Для переносимости программ на ассемблере еще в 60-е пытались приспособить макропроцессоры.
Браун для подобных деяний даже написал двухуровневый ML-1 (не путать с языком).
Но потом появился Си, и написанная на Си unix. Которую перенесли на новую архитектуру за месяц-полтора.
И макросы тихо заняли свою нишу.
Хотя постоянно ищут, куда еще пролезть... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 10:35 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2016 17:01
Сообщения: 34
У меня есть ответ на вопрос, почему сообщество не смогло объединиться вокруг одного проекта и создать себе такой компилятор, который всех устраивает.

Если не забуду, то расскажу в седьмом выпуске :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 11:03 

Зарегистрирован: Вторник, 27 Февраль, 2018 09:18
Сообщения: 73
Comdiv писал(а):
Info21 писал(а):
Надо определить понятия.
Пожалуй.

Переносимость - возможность исполнять программы на разных платформах.

Тут тов. Comdiv знатно троллит.

Давайте учитывать не только возможность исполнять программы, но и возможность это эффективно делать?
А именно:
1) Чтобы исполнение программ происходило достаточно быстро
2) Чтобы портирование на новую платформу было адекватным по сложности

Математическая "возможность" не интересна в реальных проектах, если работать будет крайне медленно, или, если на портирование придётся потратить 20 лет.

Comdiv писал(а):
Языки ассемблера либо непосредственно машинные языки не обладают какими-то особыми свойствамих

В подобных словах Comdiv мастерски подменяет слово "виртуальная машина" на "языки ассемблера".
С одной стороны, формально не прикопаешься, но с другой, переносимость "обеспечивает" не сам по себе факт использования ассемблера, а переносимость возникает тогда, когда виртуальная машина (которая к слову, может совпадать с какой-то реальной) оказывается достаточно эффективной и когда можно эффективно портировать эту виртуальную на разные архитектуры.
Всё-таки, чаще используют слова "байткод" или p-code.

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



Comdiv писал(а):
которые не позволяют исполнять написанные на них программы на машинах с архитектурой, отличной от родной.

Наверняка же знаете, что MOV инструкция в x86 Тьюринг-полна?
Можно ли выполнить программу x86, скажем, на Эльбрусе? В теории, конечно, можно. Но на практике полное выполнение всех особенностей x86 займёт немало времени, и работать оно будет крайне небыстро. Практические данные по скорости работы x86 на Эльбрус железе тоже есть, но сходу не вспомню.


Comdiv писал(а):
не позволяют исполнять написанные на них программы на машинах с архитектурой, отличной от родной

У Intel x86 процессоров есть море недокументированных инструкций. Иными словами, подаём ассемблерную команду (из последовательности байт), процессор её выполняет, что-то делает, но нигде не описано что он делает.
Я говорю про "инструкцию db" в x86 ассемблере. Вы же утверждаете, что в ассемблерах нет ничего такого, что не позволяло бы исполнять такие программы на другом железе?

Собственно, доклад про это: https://www.youtube.com/watch?v=KrksBdWcZgQ

Будете утверждать, что программы, написанные на x86 ассемблере переносимы на другое железо?
Или, быть может, программы, написанные на Эльбрус-ассемблере переносимы на другое железо?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 12:39 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Вводить предикат, который всегда тру, как-то бессмысленно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 13:33 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Константин, а давайте не путать "в эмуляторе можно запустить код для другой платформы" с "ассемблер — переносимый язык". В теории и Фортран задумывался для разработки переносимых программ. И Бейсик, который потом разползся на столько диалектов, что о его переносимости вообще нельзя говорить всерьёз. Вы продемонстрируйте нам переносимость ассемблера хотя бы на примере Hello World, который будет работать без эмулятора на нескольких архитектурах с разными процессорами. Да хотя бы просто сложение двух чисел. Наличие эмулятора или виртуальной машины — это не значит, что там внутри переносимый язык.

Да, я боялся чего-то такого. Что программисты, которые не знают уровня машинного кода, а работали только с виртуальными средами, начнут излагать подобные взгляды. Грустно.

Ладно, по большому-то счёту воспроизвести любое окружение можно на любой платформе, если ресурсов хватит. Такова переносимость JVM или Erlang. Но я под переносимостью понимаю всё-таки не это. Нам бы менее толстую, оберонскую переносимость.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 14:19 

Зарегистрирован: Пятница, 11 Январь, 2019 21:33
Сообщения: 88
Comdiv писал(а):
Sergey Volkov писал(а):
2. Си — это переносимый ассемблер.
Кто-то запустил эту манипуляцию в массы, и теперь все повторяют. Но
1. Си - это не ассемблер.


Oleg N. Cher писал(а):
Константин, Вы как-то "замылили" ответ. Мы сейчас вообще не о теориях и не об алгоритмической полноте. Мы о том, что ассемблерная конструкция MOV EAX, EBX имеет смысл _только_ на процессорах архитектуры Intel/AMD 80x86. Точка. Всё. Никакой переносимости. Это и есть ассемблер.

Ассемблер это мнемоническое представление для машинного кода процессора, более удобное для чтения человеком.


Фрагмент кода:
Код:
 BEGIN INTEGER BUCKET;
         IF FLAG THEN
         BEGIN BUCKET := R0; R0 := R1; R1 := R2;
               R2 := BUCKET;
         END ELSE
         BEGIN BUCKET := R2; R2 := R1; R1 := R0;
              R0 := BUCKET;
         END
         RESET(FLAG);
    END


В 1968 сообщество решало: это язык высокого уровня или ассемблер?

Решили, что это всё-таки ассемблер, хотя и высокоуровневый.

Автор языка о нём иногда вспоминал "тихим, незлобным словом":
Цитата:
«Наш первый компилятор Паскаля был реализован на семействе компьютеров CDC-6000 и написан на самом Паскале.
Никакого PL6000 не потребовалось, и я рассматривал это как существенный шаг вперед», — вспоминает Вирт.
Несуществующий язык PL6000 Вирт упомянул в связи с тем,
что несколькими годами раньше для эффективной реализации компилятора языка Algol-W на компьютере IBM/360 ему понадобилось разработать низкоуровневый язык PL360.
Теперь же в этом необходимости не было.


Comdiv писал(а):
Info21 писал(а):
4. И не очень-то он (без #) переносимый.
Если пренебречь производительностью, то переносимый и без условной компиляции. Кроме того, для достижения переносимости условная компиляция не является необходимой.


Пример переносимого Си кода:

Building Math::Pari on Strawberry Perl on 64bit MS Windows ( rt.cpan.org #52146)

==
> Math::Pari needs heavy patching - namely the underlaying pari library is
> absolutely not ready for MSWin/x64 where sizeof(int) != sizeof(void*)

But
sizeof( long long) = sizeof(void*)
==


Problem:
==
The point is that on 64bit MS Windows there is:
- size of int = 4 bytes (!!!)
- size of *void = 8 bytes
==


May be solution:
==
. . .
Код:
+#define PARITEMPL_O_NG(x) (x##LL)
+#define PARITEMPUL_O_NG(x) (x##ULL)
+typedef long long paritemplong_t;
+
+typedef long long mp_l_o_ng;
+typedef unsigned long long mp_ul_o_ng;


. . .
==



==
. . .
Код:
-  if (sizeof(long) == 4)
+  if (sizeof(mp_l_o_ng) == 4)
   {
-    union {double d; unsigned long l[2];} x;
+    union {double d; mp_ul_o_ng l[2];} x;
     x.d = 2.;
-    if      (x.l[0]==0 && x.l[1]==(1UL<<30)) printf("1\n");
-    else if (x.l[1]==0 && x.l[0]==(1UL<<30)) printf("0\n");
+    if      (x.l[0]==0 && x.l[1]==(PARITEMPUL_O_NG(1)<<30)) printf("1\n");
+    else if (x.l[1]==0 && x.l[0]==(PARITEMPUL_O_NG(1)<<30)) printf("0\n");
     else
       printf("NOT IEEE (32 bit)\n");
   }
   else
   {
-    union {double d; unsigned long l;} x;
+    union {double d; mp_ul_o_ng l;} x;
     x.d = 2.;
-    if (x.l==(1UL<<62)) printf("-\n");
+    if (x.l==(PARITEMPUL_O_NG(1)<<62)) printf("-\n");
     else
       printf("NOT IEEE (64 bit)\n");
   }

. . .
==






http://pari.math.u-bordeaux.fr/archives ... 00003.html
=}
===
From: Jason Moxham
...
I've got Pari-svn running on Windows with/without GMP/MPIR in 64bit mode. This
is with MSVC , and when MinGW/MSYS goes 64bit it will work with that :)
The main problem with Windows64 is that it uses a LLP data model rather than
the usual LP data model , this means that long's are 32 bit. I'm doing this
for the Sage project but it would be nice if the changes could be
incorporated back into Pari , so I propose this.

Introduce a new type and macro ( with signed and unsigned versions)
typedef long paritemplong_t;
#define PARITEMPLONG(x) (x##L)

replace all occurances of long with paritemplong_t and numberL with
PARITEMPLONG(number)

The above is all just simple text replacement and although it means changes to
every file it will have no "real" changes.

Then for WIN64 only we change the definition

typedef long long paritemplong_t;
#define PARITEMPLONG(x) (x##LL)
...
===

+

==
. . .
On Mon, Nov 04, 2002 at 08:07:31PM +0100, Bill Allombert wrote:
- Hide quoted text -
> On Fri, Nov 01, 2002 at 12:13:16AM -0800, Ilya Zakharevich wrote:
> > On which architectures can PARI run with sizeof(long) > sizeof(long*)?
> > I tested, and it does not work on x86.

>
> None, as far as I know.
> None of the 11 architectures I have access to exhibit this behaviour.


This patch kinda-allows compiling with GEN = long long*. The result
of make bench is
. . .
==


===
...
Before applying the patch, a massive replace should be made, e.g., by
running (pfind is available from my directory 'scripts' on CPAN):

pfind src '/\.[ch]$/' '=~ s/\b(unsigned\s+|u)long\b/PARI_uword/g'
pfind src '/\.[ch]$/' '=~ s/\blong\b/PARI_word/g'
pfind src '/\.[ch]$/' '=~ s/\b(\d+|0[0-7]+|0x[\da-fA-F])(U?)L\b/as_${2}WORD($1)/g'
pfind src '/\.[ch]$/' '=~ s/(%[.0-9]*)l([ux])\"/$1\"UW${2}f/g'
pfind src '/\.[ch]$/' '=~ s/(%[.0-9]*)l([d])\"/$1\"IW${2}f/g'
pfind src '/\.[ch]$/' '=~ s/(%[.0-9]*)l([ux])/$1\"UW${2}f\"/g'
pfind src '/\.[ch]$/' '=~ s/(%[.0-9]*)l([d])/$1\"IW${2}f\"/g'
...
===

. . .
==

Метод практически работающий, но изящный ли?
( И это 64-битный Windows, т.е. "не экзотика")

P.S.
Oleg N. Cher писал(а):
по большому-то счёту воспроизвести любое окружение можно на любой платформе, если ресурсов хватит.
И возможно, и воспроизводят: PCem ( https://pcem-emulator.co.uk ).
Причём, не только 3DFX Voodoo Graphics, но и "accurate 8088/8086 timings".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 14:45 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Info21 писал(а):
Вводить предикат, который всегда тру, как-то бессмысленно.
Предикат вводили для описания практической возможности в текущих условиях. Другие люди автоматически перевели его из области конъюктуры в область идей. Это была логическая ошибка. Свойства языков от конъюктуры не зависят.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 14:52 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Владимир Ситников писал(а):
Можно ли выполнить программу x86, скажем, на Эльбрусе? В теории, конечно, можно.
Судя по словам "в теории", Вы, похоже, не понимаете насколько правильный вопрос задали.

Цитата:
О сколько нам открытий чудных
Готовят просвещенья дух
И Опыт, [сын] ошибок трудных,
И Гений, [парадоксов] друг,
[И Случай, бог изобретатель]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 14:52 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Константин, если воспроизводить окружение для каждого виртуально "переносимого" языка, получите зоопарк. И эти окружения будут устаревать, будут выходить их новые версии, переносимость со старыми будет неуклонно ухудшаться, размер пухнуть. В конце концов, это громадьё развалится под собственным весом. Эмулировать ассемблер одной архитектуры на другом ассемблере другой архитектуры и всерьёз говорить о переносимости ассемблера? Смешно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 14:56 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Oleg N. Cher писал(а):
Наличие эмулятора или виртуальной машины — это не значит, что там внутри переносимый язык.
...
Ладно, по большому-то счёту воспроизвести любое окружение можно на любой платформе, если ресурсов хватит. Такова переносимость JVM или Erlang.
Я пока не понял исходя из этих слов, как Вы считаете, Java - это переносимый язык или нет?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 15:07 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Java это относительно переносимый (благодаря толстому слою эмуляции в виде JVM, разработанному для каждой архитектуры отдельно) язык, но эта переносимость имеет свои особенности и недостатки.

Особенно сильно недостатки такой переносимости видны, например, на девайсах на Java ME, которые имеют разные способы управления, разное разрешение экрана и т.д. То есть, принцип "Напиши раз, запускай везде" он немного лукавый.

А я не понял, почему Вы называете ассемблер самым переносимым языком. Неужто PHP в Вашем понимании переносим как-то хуже?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 15:11 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1449
Откуда: Киев
Oleg N. Cher писал(а):
А я не понял, почему Вы называете ассемблер самым переносимым языком.
Я тоже не понял, почему Вы считаете, что я так называю


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 17:05 

Зарегистрирован: Вторник, 27 Февраль, 2018 09:18
Сообщения: 73
Comdiv писал(а):
Судя по словам "в теории", Вы, похоже, не понимаете насколько правильный вопрос задали.


Красота.
Сначала постулируем, что
Comdiv писал(а):
2. Любой язык ассемблера переносимый.


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

Могли бы прямо сказать где вы наблюдаете ошибку в моих заключениях и всего делов.
Вот я вам привёл два примера, где переносимость ассемблера под большим таким вопросом.

А что получаю в в ответ? "похоже, не понимаете"? Слабо, сударь. Слабо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 17:50 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Sergey Volkov писал(а):
У меня есть ответ на вопрос, почему сообщество не смогло объединиться вокруг одного проекта и создать себе такой компилятор, который всех устраивает.

Если не забуду, то расскажу в седьмом выпуске :)

Моё мнение, что у многих разработчиков различные мнения по принципиальным вопросам.
Например, писать компилятор с нуля или дорабатывать существующий. Или делать код открытым или закрытым.
Если, допустим, по каждому вопросу 50% людей или туда или сюда, то при двух вопросах, полностью совпадающих мнений будет только 25%. При большем количестве вопросов еще меньше.
В случае, коммерческой разработки, люди работают так, как заказывает тот, кто платит деньги.

Создал опрос, который как раз выясняет ответы на два этих вопроса: опрос.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 27 Март, 2019 18:08 
Аватара пользователя

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 113
Откуда: Equestria
Sergey Volkov писал(а):
У меня вопрос остается прежним, что мешает помогать Ивану с BlackBox?
Я сейчас по мелочам делаю фиксы консольной версии. Если надо сконцентрироваться на чем-то другом - то меня достаточно попросить, да.
Sergey Volkov писал(а):
Что мешает устранять недостатки, если они есть и развивать возможности компилятора BlackBox?
Тут я согласен с Олегом. Как потом проталкивать всё это в центр и другие форки? Делать ещё один никому не нужный форк как-то не хочется.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Март, 2019 13:55 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Сергей, прими и мой отзыв на подкаст №6. Наконец-то и я выбрал время его послушать. :-)

Два замечения. Первое — неприятные щелчки с моей стороны. Дело тут в моём микрофоне или в чём-то другом — надо разбираться. Обязательно надо что-то с этим сделать. Вопрос: ты их слышал при записи? В общем, щелчки сильно достают.

Тут ещё я сам виноват — Сергей предложил писать копию звука локально, а я, за отсутствием опыта, отказался. Хотя может это и не помогло бы.

Второе — в конце подкаста слушателю может показаться, что я несу произвольную чушь на своё усмотрение, тогда как я отвечал на твои вопросы, но самих вопросов в записи не слышно — ты их вырезал. Так что что переход от темы к теме как-то уж сильно резок, а конец получился смятым. По возможности, больше так не делай, ладно?)

Всё остальное очень понравилось. Спасибо за приглашение! :) Ты в роли ведущего звучишь очень достойно.

Comdiv писал(а):
Oleg N. Cher писал(а):
А я не понял, почему Вы называете ассемблер самым переносимым языком.
Я тоже не понял, почему Вы считаете, что я так называю

Ну а как ещё интерпретировать высказывание
Comdiv писал(а):
Любой язык ассемблера переносимый.
Константин, если подходить к вопросу переносимости так, как это делаете Вы, то самым переносимым языком надо считать не ассемблер, а Спектрум-Бейсик. Потому что эмулятор Спектрума можно запустить практически на любом железе, даже там, где не пойдёт .NET, JVM или PHP. То есть, Спектрум-Бейсик средство намного более переносимое, чем эти окружения. В свете этого, мы получили более плохую переносимость, чем она была в начале 80-х)

Такая аналогия переносимости: Вам, чтобы иметь переносимость, надо не просто проявить гибкость и пойти в другой дом с другими комнатами. Нет. Вместо этого Вам нужно свою комнату со всем её окружением туда втащить. Если Ваша комната в этот дом не влезает (не хватило ресурсов), то значит переносимость невозможна. Хотя в доме может быть полно других комнат, просто не похожих на Вашу планировкой, скажем, меньшей высоты, но большей ширины. Ну вот такой дом.

Именно поэтому «переносимость» JVM и .NET по воссозданию своего личного окружения (своей комнаты) очень лукавая. И слишком ресурсоёмкая. Поэтому я называю её виртуальной. И недолюбливаю. Но целое поколение программистов типа Вас переносимость понимают именно таким образом.

Но зря Вы начали про переносимость ассемблера утверждать. По этому вопросу Вас просто раскатают, и поделом.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 117 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB