Форум ''Интернет и Право''
25 Апреля 2024, 23:43:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Форум "Интернет и Право" прекратил свою работу с 01 января 2013 г.
 
   Начало   Помощь Поиск Войти Регистрация  
В закладки:
Страниц: 1 ... 4 5 [6] 7   Вниз
  Печать  
Автор Тема: Сайт - программное обеспечение или нет?  (Прочитано 40143 раз)
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #50 : 13 Апреля 2005, 01:06:31 »

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

А я с этим и не спорю. С тобой у нас полный консенсус Подмигивающий
У меня основная "рубка" происходит по "процедурному вопросу" Подмигивающий с Николаем Николаевичем и Dmitry.
Дискуссия, кстати, далеко не праздная (доводы оппонентов очень интересны) и даже вполне может вылиться в статью. Потому как, судя по всему, никто не задавался вопросом о формальных критериях разграничения "программ" и "непрограмм".

P.S. Или ты хочешь эту ветку "заглушить"?
Записан
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #51 : 13 Апреля 2005, 02:18:44 »

Следует ли этот ваш аргумент понимать так, что на упомянутом мной Prolog'e написать программу нельзя, потому что он является логическим языком программирования?

Нет. Дело в том, что, во-первых, любая программа на Прологе может быть представлена последовательностью машинных инструкций (которые арифметико-логические), а, во-вторых, программу на Прологе можно перевести на процедурный язык программирования, например Си (http://www.cs.uvic.ca/~nigelh/Publications/prolog2c.pdf).

Кстати, нашёл на сайте Википедии довольно сносный критерий "программности": "Формально любая компьютерная программа может быть представлена как набор инструкций для универсальной машины Тьюринга".

Цитировать
Описание преобразования данных в НТМL, кстати, имеется - например, масштабирование изображения картинки под заданный размер, только сам алгоритм этого масштабирования от вас скрыт интерпретатором, также как скрыт от вас алгоритм исчисления предикатов и структуры данных в логическом неалгоритмическом языке Prolog.

Ну нет там преобразования, есть только ПРЕДСТАВЛЕНИЕ (форматирование). Как Вы сами заметили, все преобразование вынесено в компьютерную программу - интерпретатор HTML. Масштабирование картинки - непростая алгоритмическая задача и решение её описывается отнюдь не в тексте с форматированием HTML, а в исходном тексте компьютерной программы "рендеринга" изображений. В данном случае, данные о масштабе изображения в тексте HTML являются не командой для процессора, а пользовательским вводом данных (как если бы Вы задали их в параметрах командной строки "рендерера").
Кстати, "неалгоритмическая" обработка данных осуществляется только нейросетями (аппаратными), в цифровых ЭВМ, построенных на модели фон Неймана-Лебедева, вся обработка - алгоритмическая (в силу принципа работы).

Текст же программы на Прологе отличается от текста с форматированием HTML тем, что в нём описаны правила логического вывода, согласно которым выполняется программа. Опять же, программе на Прологе задаются исходные данные, она меняет свои состояния и в результате выдаёт выходные данные, являющиеся решением формализованной задачи. Повторюсь, все действия, выполняемые процессором при исполнении программы на Пролог, можно зафиксировать, в результате чего получится исполняемый код исходной программы, а не интерпретатора (как это произойдёт с текстом с форматированием HTML).

Цитировать
Попробую зайти с другой стороны. Сергей, а что такое в вашем понимание программирование? По вашим предыдущим сообщениям создается впечатление, что только процесс разработки алгоритма (процедуры, последовательности) решения задачи представляется для вас существенным. Но ведь в том же Prolog'e это практически отсутствует. Процесс разработки структур данных, их представления и описания на различных этапах обработки и т.п. - программированием не является?

Ой. Ну и вопросики, по ночам-то.
(Википедия порадовала: "Программирование — процесс и искусство создания компьютерных программ с помощью языков программирования" - экспонат это то, что экспонируется Смеющийся )

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


P.S. Скажу вообще страшную вещь. Насколько мне известно, уже есть системы, интерпретирующие задания на естественном языке. Чего делать с классификацией текстов подобных заданий? Считать текст на естественном языке "компьютерной программой"?
По моему мнению, в этом случае понятие "компьютерная программа" просто теряет смысл, т.к. вычислительное устройство уже не нуждается в программировании.
Записан
Николай Николаевич Федотов
Тех.специалист
Internet-law team
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 4531


Мафия бессмертна, сыск вечен!

263087756
WWW E-mail
« Ответ #52 : 13 Апреля 2005, 09:59:11 »

 Если мы будем из под отладчика фиксировать все инструкции процессора, которые выполняются по мере исполнения "программы" и окажется, что все они "принадлежат" интерпретатору (т.е. обеспечивают его функциональность), то интерпретируемый текст - не компьютерная программа, т.к. процессор её, фактически, не выполняет.

Сергей, вы отказываете всем интерпретаторам в праве на "программность". Вот, например, Java или Perl...
Записан

Форензика - компьютерная криминалистика: http://forensics.ru/
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #53 : 13 Апреля 2005, 10:38:26 »

 Если мы будем из под отладчика фиксировать все инструкции процессора, которые выполняются по мере исполнения "программы" и окажется, что все они "принадлежат" интерпретатору (т.е. обеспечивают его функциональность), то интерпретируемый текст - не компьютерная программа, т.к. процессор её, фактически, не выполняет.

Сергей, вы отказываете всем интерпретаторам в праве на "программность". Вот, например, Java или Perl...

Николай Николаевич, Вы имеете ввиду сами интерпретаторы или же программы на интерпретируемых языках?

Если говорить, например, о Java, то, учитывая наличие "виртуальной машины" (JVM) и возможность компиляции программ в Java bytecodes, которые можно рассматривать, как инструкции Java-процессора (который всё никак не сделают), в "программности" программ на Java можно не сомневаться.
На языках типа Перл тоже пишутся компьютерные программы, т.к. реализуемый ими алгоритм не вытекает из функциональности интерпретатора, а описывается средствами языка. Кроме того, опять же, есть конвертеры исходного кода Java и Perl в исходный код на Си.

P.S. Подумал тут вот ещё о чём. Допустим, у нас есть текст на "настоящем" языке программирования. Но. Этот текст является ФРАГМЕНТОМ компьютерной программы, который не обладает самостоятельной функциональоностью (это может быть тот же windows.h для программ на Си/Си++ или windows.pas для Дельфи с описанием функций и структур данных WinAPI, либо просто произвольный кусок исходного текста, который сам по себе работать не будет "по построению"). Следует ли считать его программой для ЭВМ с технической и юридической точек зрения?
Записан
Николай Николаевич Федотов
Тех.специалист
Internet-law team
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 4531


Мафия бессмертна, сыск вечен!

263087756
WWW E-mail
« Ответ #54 : 13 Апреля 2005, 17:51:05 »

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

Форензика - компьютерная криминалистика: http://forensics.ru/
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #55 : 13 Апреля 2005, 19:09:44 »

Сергей, у вас  не вполне традиционное понятие о программах и алгоритмических языках.

Спасибо, я стараюсь Подмигивающий

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

А Вам не сложно будет привести несколько цитат? (у меня его сейчас в наличии нет)
Кстати, может заодно кого-то из отечественных классиков посоветуете?
Записан
Dimon
Участник
**
Офлайн Офлайн

Сообщений: 802


No comments


« Ответ #56 : 16 Апреля 2005, 08:56:03 »

У вас тут интересная дискуссия завязалась. Но тогда первый поверностный вопрос к Сергею и др. Если HTML - не язык программирования, то что это? Улыбающийся

Можно ли также "вкрапления" на javascript и пр. считать чем-то типа подпрограмм (пусть и на другом языке) в программном коде языка HTML, которые выполняют "вычислительные" и тому подобные действия?
Записан
yuriyah
Специалист
Internet-law team
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 3369


Ох я дурень старой, голова с дырой (с) Морозко


E-mail
« Ответ #57 : 16 Апреля 2005, 10:59:04 »

Сереж, гляди-ка, уже и Dimon проникся твоим убеждением, что все программы - это языки программирования...
Записан
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #58 : 16 Апреля 2005, 11:51:14 »

У вас тут интересная дискуссия завязалась. Но тогда первый поверностный вопрос к Сергею и др. Если HTML - не язык программирования, то что это? Улыбающийся

HTML - HyperText Markup Language (Язык Разметки ГиперТекста). Это - язык представления данных, я не язык программирования, как и написано его разработчиками.

Цитировать
Можно ли также "вкрапления" на javascript и пр. считать чем-то типа подпрограмм (пусть и на другом языке) в программном коде языка HTML, которые выполняют "вычислительные" и тому подобные действия?

Полагаю, что "вкрапление" можно считать компьютерной программой (а не подпрограммой, т.к. подпрограмма - часть программы, а код HTML - не программа). Если же несколько "вкраплений" в одном и том же файле HTML используют общие переменные, то, скорее всего, компьютерной программой следует считать комплекс из этих "вкраплений".

P.S. Вспомнился мне тут незабвенный ДосНавигатор, встроенный калькулятор которого позволяет вводить сложные выражения с матиематическими функциями (типа "(1*(2+3)^4")/(sin(120)*tan(30))" ). По логике "всё, что влияет на обработку данных, является командой", приведённое мной выражение тоже нужно признать программой для ЭВМ. Тогда программами нужно признать вообще всё в цифровом представлении...

P.P.S. To yuriyah: а с чего ты взял, что я считаю, что "все программы - это языки программирования"? Программы пишутся на языках программирования (от сверхвысокого до машинного уровня), но сами языками не являются.  Это - вообще разные категории. Не надо путать тёплое с мягким Подмигивающий
Записан
Dmitry
Участник
**
Офлайн Офлайн

Пол: Мужской
Сообщений: 630


Я не юрист, и даже не сын его.


« Ответ #59 : 16 Апреля 2005, 17:07:06 »

Сергей, все-таки повторюсь, в ваших взглядах на программирование, IMHO, всецело в явной или неявной форме превалирует процедурный подход, что, опять же IMHO, не верно. Если соберетесь об этом писать статью, я рекомендовал бы подступаться к проблеме с изучения современного состояния дела в вопросах автоматизированного проектирования программного обеспечения, используемых при этом средств, уровня абстракции от данных и алгоритмов, которые ими обеспечиваются, формальные языки, используемые в этих средствах. Также хотел бы порекомендовать некоторые ключевые слова и выражения, поиск по которым может быть полезным для обобщения представления о программировании - domain specific languages, executable specification languages.

А что касается ссылки, которая вам не понравилась в предыдущий раз, попробую привести еще одну
http://www.vtt.fi/inf/pdf/publications/2003/P510.pdf
стр.27

ЗЫ. А вообще, IMHO, проблемы стоящие за этим спором и их привязка к вопросам авторского права, IMHO, тема практически неизученная и при должной разработке вполне потянет на докторскую.
ЗЗЫ. Перечел, и самому не понравился какой-то привкус менторства в том, что написал. Заранее извиняюсь, получилось совершенно ненамеренно.
« Последнее редактирование: 16 Апреля 2005, 20:25:14 от Dmitry » Записан

Страниц: 1 ... 4 5 [6] 7   Вверх
  Печать  
 
Перейти в:  

Яндекс цитирования © Антон Серго, 1998-2012. Правовая информация.
Карта сайта "Интернет и Право" (internet-law.ru).

На правах рекламы:

Произвольная ссылка:







Powered by SMF 1.1.21 | SMF © 2011, Simple Machines