Кроссплатформенный минимум!

Любые обсуждения, не нарушающие правил форума.

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

Re: Кроссплатформенный минимум!

Сообщение sign » 24.03.2012 12:48:58

vitaly_l писал(а):sign - говорит что это разработччики ОС, запрещают запускать приложения...

Э-э-э!
Осторожней, не надо перевирать мои слова.
Если вы не понимаете как происходит взаимодействие ОС с программой, то я в этом не виноват.

А теперь вам домашнее задание. Подумайте, почему только одна программа в компе запускается сама. Всё остальное - нет.
(Я про писюки речь веду).

vitaly_l писал(а):ОС - берёт всю информацию из приложения, что мешает в приложении оставить указатели на принадлежность к ОС?

Что мешает вам прочитать историю развития операционных систем?
sign
энтузиаст
 
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 13:29:26

sign писал(а):Осторожней, не надо перевирать мои слова. Что мешает вам прочитать историю развития операционных систем?

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

alexey38 писал(а):Объясните, почему у художника нет одной универсальной кисти, на все случаи жизни, которой бы можно было бы и писать картины, и реставрировать их, и еще использовать в хозяйстве?

Почему нет??? Есть такая кисть - это кисть руки.

alexey38 писал(а):Называть ОС "системным геноцидом" - это тоже самое, что называть " красную краску" - "системным геноцидом", ведь как было бы удобно, если бы она еще иногда была зеленой, синей, желтой и т.п.
Вы здесь вопросы не технические указали, а политические... А я спрашиваю про технические вопросы. Проблемы "Разделяй и властвуй" - художников, давно уже не забавляют. Художников интересуют вопросы программирования на Лазарус... Это нам интересно... А касаемо красивых аналогий и метафор, то, например: Китайцы - употребляют суп палочками, но это: меня, есть суп палочками - не обязывает, я вправе кушать суп ложкой, даже в Китайском ресторане или в гостях...

Kemper писал(а):Лазарус - это IDE, которая использует компилятор fpc. Я понял что вы не знаете как работает компилятор. Поясню. Pascal-вский код компилятор переводит в Asambler - код и уже потом ОС использует его перенося в 0 и 1.

Спасибо - Вы правильно поняли. Эта информация востребована. Тем более что, Вы не отрицаете, что создание такого файла - реальность.

Однако, ясного и понятного, безапелляционного ответа на заданный вопрос, я всё ещё не нашёл...

Kemper писал(а):Если мы будем пихать от всех ОС принципы их работы в один файл там будет черт знает что. "Не усложни".

Вы хотите сказать что, это сложно??? Сложность в обращении к различным системам??? Что сложного в процедуре наподобие case of ... end;???
Вот этот момент я и хочу понять... Что мешает объединять??? (что заставляет разделять я знаю). Лазарус, (при определённых параметрах) - умеет делать громаднейшие exe-шники, может это оно и есть??? Может эти бинарники могут быть кроссплатформенными, если указать нужный параметр при сборке??? Если кто знает: Объясните - ПОЖАЛУЙСТА (только не метафорами, а технически).
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение alexey38 » 24.03.2012 14:04:55

Виталий. Универсализм Вы увидели только в самом человеке, а не в инструментах. Я про тоже самое. Не стоит ожидать, что технический универсализм даст какую-то выгоду.
ОС - это тоже нечто среднее между средой (помещение) и инструментом. Определенные попытки универсализации есть, например, виртуальные машины (как я понял, Вы именно про них говорите, когда используете термин эмуляция) или wine. Но все же основное назначение ОС - это не универсальность, а эффективность.

Каждая ОС создавалась для определенных целей и задач, с использованием определенных подходов. Обеспечить унификацию - это значить исключить особенности.
Например, в больших складах используют всевозможные погрузчики, на промплощадках работают самосвалы, трактора и прочая техника. Если Вы свою художественную мастерскую будете делать универсальной, то должны сделать так, чтобы в ней могли работать не только художники, но и трактора с самосвалами.

В попытке обеспечить универсальность были созданы интерпретирующиеся языки программирования. В некоторых случаях такие программы вообще не имеют бинарника, а интерпретатор, который уже установлен в соответствующую ОС во время выполнения разбирает текст и выполняет это на ходу. Есть варианты с байт-кодом, например, у Java. Когда первоначально текст компилируется в некий байт-код, т.е. в тот же текст, но более пригодный для скоростной интерпритации. А далее в соответствующей ОС установлен интерпретатор байт-кода. Самая известная система - это Java Runtime Environment (JRE) - http://ru.wikipedia.org/wiki/Java_Virtual_Machine.
Возможно, что Вам требуется именно это. Но JRE - тоже не панацея. Если честно, то все сложные программные системы полностью построенные на JRE, из тех, которые я видел - работают слишком по тормозному.

Если в терминах творчества, то универсальная программа - это ширпотреб (3 в 1). А настоящий профессиональный инструмент должен быть нативным (т.е. адаптирован под каждую ОС, в т.ч. иметь свой бинарник для каждой ОС).
Думаю, что Вам понятно отличие оригинала картины, от ее фото копии (универсальная копия). Также Вам думаю понятно, чем отличается профессиональная скрипка (гитара, и т.п.) от сделанной на конвеере методом штамповки.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 14:19:07

alexey38 писал(а):трактора с самосвалами

Это хорошо... :? :(
alexey38 писал(а):Также Вам думаю понятно, чем отличается профессиональная скрипка (гитара, и т.п.) от сделанной на конвеере методом штамповки.

Хэндмэйд - всегда ценится выше чем конвеер, т.к. это много сложнее, а главное всегда универсально.
alexey38 писал(а):Java Runtime Environment (JRE)

Ну раз JRE интерпретирует, значит и бинарник может...
Что мешает??? Неужели нельзя??? :( :oops: :cry:

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение daesher » 24.03.2012 14:42:47

vitaly_l писал(а):даже с исходным кодом, через сто лет - будет возможно запустить только в музее...

На самом деле, не всё так страшно. Имея исходный код сколь угодно древнего проекта (кроме случаев, когда используется совсем уж экспериментальная экзотика, тупиковая вещь), можно с минимумом усилий пересобрать его под современную платформу, здесь особо серьёзного разработчика не надо. А вот если исходного кода нет - это уже проблема. Так, кстати, умер Kylix - даже с его OpenEdition.
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 15:03:26

daesher писал(а):Имея исходный код сколь угодно древнего проекта

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

Делаю это вслух, т.к. информация может быть востребована и другими...
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение daesher » 24.03.2012 15:26:39

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


Не всё так просто: перед программистом специальная задача просто может не появиться, а если ему эту задачу поставят другие, он может не понять, о чём речь (тем более, если задачу ставит художник, достаточно далёкая профессия).
Меня на данном этапе интересует именно кросплатформенность, я просто выясняю маленькие технические детали.

Кросс-платформенным должен быть код. Если он не использует необычных конструкций и не пытается работать с системой напрямую, он будет кросс-платформенным.
daesher
постоялец
 
Сообщения: 221
Зарегистрирован: 09.03.2010 22:17:14

Re: Кроссплатформенный минимум!

Сообщение Kemper » 24.03.2012 16:02:04

vitaly_l писал(а):Ну раз JRE интерпретирует, значит и бинарник может...
Что мешает??? Неужели нельзя???

Пойдите и почитайте что такое интерпретируемые языки и машины и компилируемые.

vitaly_l писал(а):Однако, ясного и понятного, безапелляционного ответа на заданный вопрос, я всё ещё не нашёл...

Сейчас скажу!
vitaly_l писал(а):Вы хотите сказать что, это сложно??? Сложность в обращении к различным системам??? Что сложного в процедуре наподобие case of ... end;???
Вот этот момент я и хочу понять... Что мешает объединять??? (что заставляет разделять я знаю). Лазарус, (при определённых параметрах) - умеет делать громаднейшие exe-шники, может это оно и есть??? Может эти бинарники могут быть кроссплатформенными, если указать нужный параметр при сборке??? Если кто знает: Объясните - ПОЖАЛУЙСТА (только не метафорами, а технически).

Да то что там будут куча всякого ассемблер кода и могут быть различные вызовы для различных систем, а уж какие ошибки мы можем там получить можно только догадываться. Рефакторить это чудо уже будет целая проблема, потому как многие проблемы нужно проверять и устранять на ассемблерских выводах(что придусмотрено в лазарусе). Забудьте про один бинарник для всего. К тому же прелесть адаптирования программы под ОС пропадёт сразу и к тому же получим огромные сборки. Нельзя так сделать!

Мне уже тоже начинает казаться, что попахивает троллями....
Kemper
новенький
 
Сообщения: 61
Зарегистрирован: 18.05.2010 00:29:44

Re: Кроссплатформенный минимум!

Сообщение alexey38 » 24.03.2012 16:28:09

vitaly_l писал(а):Хэндмэйд - всегда ценится выше чем конвеер, т.к. это много сложнее, а главное всегда универсально.


Тут Вы не совсем правы. Конвейер - универсален. Станок для штамповки тоже универсален. А вот ручная работа уникальна. Рабочему штампующему детали без разницы, что штамповать, дали форму и он штампует. А мастеру делающему ручное изделие такой подход не пригоден. Каждое изделие уникально, и делается долго.

С исходниками тоже самое. Кроссплатформенный код с ручной компиляцией под конкретную систему - требует труда, но и работает лучше (если его делает мастер). Универсальный байт-код (JRE) сделать проще, но про высокие характеристики программы можно забыть. Кстати байт-код - это бинарный файл, но не в машинных кодах, а в специальных интерпретируемых терминах. Не зависит от платформы (ОС и процессор), но работает гарантированно медленнее. Вам как разработчику решать, что конкретно Вам важнее.

P.S. Вы будучи художником - требуете ширпотреб. Причем не как возможность, а считаете, что только ширпотреб имеет право на жизнь. По Вашей логике труд художника - это системный геноцид, достаточно фотоаппарата и принтера (дешево, быстро и доступно каждому). Зачем заказывать портрет у художника - пустая трата времени. Фото и принтер - доступны каждому. Разработчику принтера и фотокамеры не нужно задумываться над каждой фото-работой, выполняемой пользователем. Вот пик универсализма в изобразительном искусстве.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 16:39:58

alexey38 писал(а):А мастеру делающему ручное изделие такой подход не пригоден. Каждое изделие уникально, и делается долго.

Золотые - слова! Согласен с каждым словом.

alexey38 писал(а):Кроссплатформенный код с ручной компиляцией под конкретную систему - требует труда, но и работает лучше (если его делает мастер).
В этом вижу понятную логику, т.к. разница в системах - действительно есть.

alexey38 писал(а):Вы будучи художником - требуете ширпотреб.

Я ничего не требую, я ищу решение и уточняю информацию (программисты - ответ знают лучше меня и гуглей).
В Ваших словах я вижу ниточку (жилку из сказок Бажова)... Спасибо.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение alexey38 » 24.03.2012 17:29:59

У Вас выбор: либо кроссплатформенный текст программы на Паскале с индивидуальной компиляцией бинарника под каждую ОС (группу ОС), либо взять за основу JRE, то тогда нужно сменить язык программирования. Байт-код для JRE делают многие языки, т.е. не только Java.
alexey38
долгожитель
 
Сообщения: 1627
Зарегистрирован: 27.04.2011 19:42:31

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 17:48:35

alexey38 писал(а):Байт-код для JRE делают многие языки, т.е. не только Java

Честно говоря я не очень понимаю что значит "Байт-код"?
Я знаком только с java script, там ещё есть апплеты... Вы java - апплеты, называете "Байт-код"?
Lazarus умеет делать Байт-код?
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение hinst » 24.03.2012 17:53:16

вроде бы недавно в FPC начали запиливать компиляцию для JRE. Только зачем? Байт-код - зло. Вряд ли сейчас поддержка генерации жабного байт-кода в FPC находится на том уровне, чтобы можно было что-то приличное писать на паскале под JRE. Короче говоря, он как бы умеет, но пользоваться этим сейчас - не лучшее решение. И это никогда не станет лучшим решением. И не может стать. JRE, Java, байт-код - это всё зло
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: Кроссплатформенный минимум!

Сообщение vitaly_l » 24.03.2012 18:03:22

hinst писал(а):Только зачем? Байт-код - зло.

Потому что, получается что: JRE - это единственный кроссплатформенный язык, а все остальные - псевдо кроссплатформенные языки... Но честно говоря, я к Паскалю многократно лучше отношусь...
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: Кроссплатформенный минимум!

Сообщение ev » 24.03.2012 18:16:21

Честно говоря я не очень понимаю что значит "Байт-код"?

Байт-код

Потому что, получается что: JRE - это единственный кроссплатформенный язык, а все остальные - псевдо кроссплатформенные языки...

это не так
ev
долгожитель
 
Сообщения: 1764
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Пред.След.

Вернуться в Потрепаться

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

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

Рейтинг@Mail.ru