Здравствуйте, AVC, Вы писали:
AVC>КОП уже предполагает ООП (в частности, КОП есть некая дисциплина применения ООП, решающая определенные проблемы компонентного ПО — хрупкие классы и т.д.), а bash какое имеет к этому отношение?
Ну это уже твои домыслы. В названии "компонентно-ориентированное программирование" нет ни единого слова про объекты.
AVC>Смесь бульдога с носорогом, а не язык КОП.
Ну здрасьте. Сначала ты приводишь мне ссылку на википедию, как на подтверждение своих слов. Как только я нахожу там информацию, которая противоречит твоим словам, ты тут же заявляешь "нет, это фигня ссылка, вот на тебе другую, где написано что я прав"
И как это называется?
А ныне Objective C, между прочим — основной язык программирования под Mac OS X. Такое количество пользователей оберонщикам только в самых дичайших грезах привидится. Вот тебе и "смесь бульдога с носорогом"
Здравствуйте, Дарней, Вы писали:
AVC>>КОП уже предполагает ООП (в частности, КОП есть некая дисциплина применения ООП, решающая определенные проблемы компонентного ПО — хрупкие классы и т.д.), а bash какое имеет к этому отношение?
Д>Ну это уже твои домыслы. В названии "компонентно-ориентированное программирование" нет ни единого слова про объекты.
Я понял, что мне ты не веришь.
Ну тогда посмотри здесь: http://ru.wikipedia.org/wiki/Компонентно-ориентированное_программирование
Компонентно-ориентированное программирование (англ. component-oriented programming) возникло как своего рода дисциплина, то есть набор определенных ограничений, налагаемых на механизм ООП, когда стало ясно, что бесконтрольное использование ООП приводит к проблемам с надежностью больших программных комплексов.
Это так называемая проблема хрупких базовых типов (fragile base class problem); проблема может проявиться при попытке изменить реализацию типа-предка, когда может оказаться, что изменить реализацию типа-предка даже при неизменных интерфейсах его методов невозможно, не нарушив корректность функционирования типов-потомков.
AVC>>Смесь бульдога с носорогом, а не язык КОП.
Д>Ну здрасьте. Сначала ты приводишь мне ссылку на википедию, как на подтверждение своих слов. Как только я нахожу там информацию, которая противоречит твоим словам, ты тут же заявляешь "нет, это фигня ссылка, вот на тебе другую, где написано что я прав" Д>И как это называется?
Слушай, Objective C составлен из языков Си и Смоллток.
Ни тот, ни другой не являются языками КОП.
Почему же Objective C вдруг стал?
За счет чего?
Д>А ныне Objective C, между прочим — основной язык программирования под Mac OS X. Такое количество пользователей оберонщикам только в самых дичайших грезах привидится. Вот тебе и "смесь бульдога с носорогом"
Ну и что?
Язык Си, например, основной язык системы UNIX.
Это делает его языком КОП?
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, Дарней, Вы писали:
Д>А Objective-C был реализован, если верить википедии, еще в 1980 году. Вот так то.
Вообще-то, там написано, что он был разработан в начале 80-х (и не только там, например еще на сайте GNUStep). Более точная дата указана на Cetus-Links.org:
Objective-C is an extension of the C language, developed around 1982-1983 by Brad Cox and Tom Love.
что более правдоподобно, т.к. врядли в 80-м году мог быть реализован язык, берущий многое из Smalltalk-80.
Здравствуйте, eao197, Вы писали:
E>Вообще-то, там написано, что он был разработан в начале 80-х (и не только там, например еще на сайте GNUStep). Более точная дата указана на Cetus-Links.org: E>
E>Objective-C is an extension of the C language, developed around 1982-1983 by Brad Cox and Tom Love.
Евгений, спасибо за интересную находку!
ИМХО, из представленного достаточно очевидно, что Objective C действительно повлиял на Java.
Особенно интересна конструкция protocol, весьма сходная с interface в Java.
Заметно также стилистическое влияние.
Но мне интересно, что именно ты называешь фактом?
Если ты полагаешь, что влияния Objective C достаточно, чтобы больше не вспоминать в этой связи об Обероне, то давай посмотрим на некоторые неудобные "мелочи".
Сколько я не разговаривал с Java-программистами, главным для них были такие свойства языка, как безопасность типов и сборка мусора.
Я не поленился заглянуть в литературу по Objective C и не нашел там таких замечательных свойств.
Также как не нашел апплетов, байткода и т.д.
Именно безопасность типов, сбока мусора ,апплеты и принцип WORA сделали Java популярной и "отличной от других" (в том числе от Objective C, но не... ).
Меня интересует не поверхностное сходство, а глубинное техническое решение.
Впрочем, иногда это проявляется и на поверхности — в грамматике языка.
Обратил ли ты внимание на отсутствие в Java объединений (union)?
Между тем, в Objective C они присутствуют.
С чего бы это вдруг их исключили из языка?
Позволю себе процитировать старую статью Вирта "От Модулы к Оберону":
Концепция задуманной операционной системы потребовала высокодинамичного централизованного распределения памяти, операющегося на технологию сборки мусора. И хотя Modula в принципе никак не препятствует встраиванию соответствующего сборщика мусора, наличие в языке вариантных записей создает серьезные препятствия. Поскольку новый механизм расширения типов сделал вариантные записи излишней возможностью, то логичным решением было попросту изъять этот ненужный элемент.
Так ты действительно полагаешь, что Java произошла от Objective C?
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AVC, Вы писали:
AVC>Так ты действительно полагаешь, что Java произошла от Objective C?
Алексей, вообще-то я полагаю, что Java произошла от Гослинга
Ссылку же привел, потому что раньше вообще никогда не слышал, чтобы Obj-C упоминали как один из предшественников Java.
А еще в своем сообщении я забыл смайлик в конце поставить
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, AVC, Вы писали:
AVC>>Так ты действительно полагаешь, что Java произошла от Objective C?
E>Алексей, вообще-то я полагаю, что Java произошла от Гослинга E>Ссылку же привел, потому что раньше вообще никогда не слышал, чтобы Obj-C упоминали как один из предшественников Java.
E>А еще в своем сообщении я забыл смайлик в конце поставить E>
Однако, должен заметить, что данная тобой ссылка произвела на меня впечатление.
Оказывается, про связь Java с Objective C пишется даже в Википедии (в статье про Java; наряду со Смоллтоком и Си++).
Так что, если это была шутка, должен признать — она удалась на славу!
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AVC, Вы писали:
AVC>Я понял, что мне ты не веришь.
Это просто частное определение. На самом деле компонентность как таковая никак не связана с объектами.
AVC>Слушай, Objective C составлен из языков Си и Смоллток. AVC>Ни тот, ни другой не являются языками КОП. AVC>Почему же Objective C вдруг стал? AVC>За счет чего?
В той ссылке, которую привел ты сам, именно он приводится как пример первой реализации компонентности в ООП языке.
Здравствуйте, AVC, Вы писали:
AVC>Я не поленился заглянуть в литературу по Objective C и не нашел там таких замечательных свойств. AVC>Также как не нашел апплетов, байткода и т.д. AVC>Именно безопасность типов, сбока мусора ,апплеты и принцип WORA сделали Java популярной и "отличной от других" (в том числе от Objective C, но не... ). AVC>Меня интересует не поверхностное сходство, а глубинное техническое решение.
апплеты — это глубинное техническое решение? браво!
WORA — это в обероне с его бесчисленными диалектами?
безопасность — это в языке, где можно просто подключить модуль, и делать все что хочешь на самом низком уровне?
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Pavel Dvorkin, Вы писали:
VD>Думаю ты неверно представляещь себе гипотетическую действительность. Если бы Влад провел бы у тебя курс лекций студентам, скажем, четвертого курса по Неперле, то к концу этого курса твой труп случился бы в автоматическом режиме, так как студенты не простили бы тебе, что столько времени ты компостировал им мозги каким-то ВыньАпы на СиПусПлус.
Сомневаюсь. Дело в том, что я заложил одну мину в свое предложение. Я тебе предложил провести спецкурс. А спецкурс — это такая штука у нас, когда студенты ходят или нет по своему усмотрению. Заставить ходить их никто не может. Они обязаны за 5 лет набрать столько-то спецкурсов, но выбирать их могут сами. На мой спецкурс (не по Win32) , на первую лекцию, приходит обычно человек 20-25, а зачет сдает половина, и это нормально.
Так что на первое занятие к тебе, скорее всего, из любопытства пришли бы. Но первый вопрос, который бы задали — где это можно сейчас употребить и чем это лучше, чем все остальное. Ну а получив от тебя ответ в стиле твоих лучших высказываний здесь — на второе занятие скорее всего бы не пришли.
Здравствуйте, eao197, Вы писали:
PD>>А про Linux — каково соотношение машин с Linux и машин с Windows в бизнесе или на домашних ПК ? Вот то-то и оно. А то, что его любителей среди профессионалов, полупрофессионалов и их знакомых не так уж мало — ничего не значит. Для индустрии.
E>Ну посмотри на соотношение в сегменте x86 серверов
Так я и говорю — в среде профессионалов. Там совсем другие законы действуют. Ну и учти все же, что доля Unix там была когда-то почти 100% — до появления Windows NT. Кстати, при ее появлении многие сомневались, что она вообще сможет Unix там потеснить...
E>А если не только x86 серверов, то вообще E>А ведь самый, что ни есть бизнес, требовательный весьма (решения 24x7 и с пятью девятками норовит требовать постоянно )
E>Кстати, если бы в России за ПО приходилось бы деньги платить, каково бы было соотношение Windows и Linux на домашних ПК?
Дальше по ветке развернулась на эту тему дискуссия, вполне достойная Священных войн. Полагаю, она вполне обойдетчя без моего участия
АХ> А так любимая тобой индустрия включает в себя и Google и Яндекс, где используют Python, и множество сайтов на Linux+Apache+MySQL+PHP/Perl и конторы где используют AutoCAD с Lisp.
АХ> И это реальный бизнес, который приносит доход. Может быть не такой как у MS или Oracle, но тем не менее вполне ощутимо.
Я разве утверждал, что периферия не приносит дохода ?
АХ>>>Ну и тот же Linux. Создан вполне кустарно, тем не менее сейчас вполне принят индустрией.
PD>>Хм... Для индустрии персональной вычислительной техники Linux (и Unix вообще) именно типичная периферия. АХ>Для десктопов — да, но еще посмотрим что дальше будет.
То же, что и есть. Для того, чтобы сейчас заставить массовый рынок сменить Windows на что-то иное — денег в мире ни у кого не найдется. Это все равно, что пытаться во всех домах 220В заменить на 250В. или внедрить шурупы с размером, средним между двумя существующими
АХ>Но основные деньги то на серверном рынке.
Хм... Интересно, откуда такое ? Сколько в мире серверов и сколько рабочих станций ? Сколько продано (и уворовано) лицензий на 2003 Server или же установлено Линуксов и сколько в мире машин с W9x и XP ? Сколько Апачей и ИИС, и сколько Word и Excel ?
АХ>Вот статистика по сайтам за Сентябрь:
АХ>Apache 59699872 сайтов — 61.64 % АХ>Microsoft IIS 30272249 сайтов — 31.26 % АХ>... (другие) АХ>(отсюда) АХ>Как видно сайтов на Апаче больше в 2 раза.
Да, не спорю. Но при чем здесь Linux ? Apache есть ведь и под Windows . И как сервер он просто лучше, чем IIS, по мнению многих.
Я же не утверждал, что мэйнстрим — это только ПО от MS.
PD>> Вот у OS/2 могли быть шансы, если бы иначе сложилось... Могла быть неплохая конкуренция между ней и Windows, и это пошло бы на пользу отрасли, как и всякая конкуренция. PD>>А про Linux — каково соотношение машин с Linux и машин с Windows в бизнесе или на домашних ПК ? Вот то-то и оно. А то, что его любителей среди профессионалов, полупрофессионалов и их знакомых не так уж мало — ничего не значит. Для индустрии. АХ>Это справедливо только для России.
Ой ли ? В Америке все домашние хозяйки исключительно на Линуксе свои кулинарные рецепты держат ? И дети их в Линуксовые игры играют ? Сомневаюсь...
АХ>Хотя с точки зрения бизнеса важнее TCO, и в этом случае все неоднозначно.
Неоднозначно, да. Вот к примеру, директор магазина на 10-20 человек персонала и пару-тройку компьютеров. И крутится у него БД какая-то, с помощью которой сотрудники определяют , есть ли у них товар и его цену, да Excel с Word'ом, с помощью которых накладные сочиняют да документы всякие изготавливают, да IE с OE, чтобы письма писать, и сотрудники в свободное время чтобы не скучали . Вот и переубеди их на Линукс перебраться...
АХ>С другой стороны, если вы работаете с Windows постоянно приходится обновлять дорогое ПО и Железо (вон чтобы Висту установить нехилая система будет нужна!),
Здравствуйте, Pavel Dvorkin, Вы писали:
АХ>>Для десктопов — да, но еще посмотрим что дальше будет.
PD>То же, что и есть. Для того, чтобы сейчас заставить массовый рынок сменить Windows на что-то иное — денег в мире ни у кого не найдется. Это все равно, что пытаться во всех домах 220В заменить на 250В. или внедрить шурупы с размером, средним между двумя существующими
Сейчас нет, а постепенно доля Линукс все равно растет и будет расти. Развивающимся странам гораздо симпатичнее Линукс, хотя бы потому что он не контролируется американской корпорацией.
И поэтому если писать ПО под Линукс, то они не попадут в зависимость от политики MS.
Ну и понятно, что так как Линукс распространяется с исходными кодами, его проще заточить под свои нужды.
PD>Да, не спорю. Но при чем здесь Linux ? Apache есть ведь и под Windows .
Apache под Windows — это все-таки не так часто.
АХ>>Это справедливо только для России.
PD>Ой ли ? В Америке все домашние хозяйки исключительно на Линуксе свои кулинарные рецепты держат ?
Боюсь они их в книгах читают.
PD>И дети их в Линуксовые игры играют ? Сомневаюсь...
Дети их играют в PlayStation. А PlayStation 3 будет с Linuxом.
АХ>>Хотя с точки зрения бизнеса важнее TCO, и в этом случае все неоднозначно.
PD>Неоднозначно, да. Вот к примеру, директор магазина на 10-20 человек персонала и пару-тройку компьютеров. И крутится у него БД какая-то, с помощью которой сотрудники определяют , есть ли у них товар и его цену, да Excel с Word'ом, с помощью которых накладные сочиняют да документы всякие изготавливают, да IE с OE, чтобы письма писать, и сотрудники в свободное время чтобы не скучали . Вот и переубеди их на Линукс перебраться...
Пока нет, но поживем увидим, ситуация может измениться, особенно если пиратство серьезно прижимать начнут.
То есть я не утверждаю, что все сразу в таком случае пересядут на Линукс, но повод задуматься будет.
Ну а в принципе, все это ПО есть под Линукс.
АХ>>С другой стороны, если вы работаете с Windows постоянно приходится обновлять дорогое ПО и Железо (вон чтобы Висту установить нехилая система будет нужна!),
PD>В $1000 уложимся ?
Не факт, сложите цены на железо + MS Windows XP + MS Office для каждого из сотрудников
+ MS Windows Server + MS SQLServer + MS IIS + MS Project или что там еще у нас на всех.
Че-то мы в Win vs Linux скатились. Предлагаю закончить .
PD>>То же, что и есть. Для того, чтобы сейчас заставить массовый рынок сменить Windows на что-то иное — денег в мире ни у кого не найдется. Это все равно, что пытаться во всех домах 220В заменить на 250В. или внедрить шурупы с размером, средним между двумя существующими АХ>Сейчас нет, а постепенно доля Линукс все равно растет и будет расти. Развивающимся странам гораздо симпатичнее Линукс, хотя бы потому что он не контролируется американской корпорацией.
по своему личному наблюдению, с 1998 года доля линукса в конторах, в которых я работал не вырастала, а наоборот, немного падала...
АХ>И поэтому если писать ПО под Линукс, то они не попадут в зависимость от политики MS.
а чем так плоха зависимость?
Ведь необходимость в написании программ — это не процесс, а результат. Создают программы для решения проблем...
АХ>Ну и понятно, что так как Линукс распространяется с исходными кодами, его проще заточить под свои нужды.
что-то не понял как из первого вытекает второе.
PD>>Да, не спорю. Но при чем здесь Linux ? Apache есть ведь и под Windows . АХ>Apache под Windows — это все-таки не так часто.
Кстати, когда проводится исследование, проверяются хосты, а не серверы, на которых установлен тот или иной веб сервер.
Когда-то проскакивало исследование, чем пользуются 100 Top контор. Там с апачем как-то напряженнее было...
[skip]
PD>>В $1000 уложимся ? АХ>Не факт, сложите цены на железо + MS Windows XP + MS Office для каждого из сотрудников АХ>+ MS Windows Server + MS SQLServer + MS IIS + MS Project или что там еще у нас на всех.
Виндус идёт в комплекте, правда сейчас это home версия.
Всё что вы написали — это укладывается в термины TCO. У винды деньги надо платить сразу, зато потом тратиться меньше. С линуксом наоборот...
Кстати, вот недавно купил себе MC Office 2003 Pro всего за 30 евро Всё официально. (в МС не работаю )
АХ>Че-то мы в Win vs Linux скатились. Предлагаю закончить .
Здравствуйте, Дарней, Вы писали:
Д>апплеты — это глубинное техническое решение? браво!
Апплеты стали возможны благодаря определенному техническому решению.
Техническое решение — обероновская система типов, замкнутая и обеспечивающая возможность защиты памяти даже без аппаратной защиты, и поддержка динамической модульности (раздельная компиляция, загрузка по требованию, контроль совместимости (никакого DLL-hell), fingerprints и т.д. и т.п.).
Если кому-то кажется, что Objective C "породил" Java, пусть немного помедитирует над системой типов: какова она в Java, и какова она в Си, пусть даже в Objective (вот только, пожалуй, protocol действительно повлиял на interface).
Кроме того, в обероновских апплетах впервые была применена технология slim binaries.
Поэтому обероновские апплеты никогда не были "тормознутыми", в отличие от их аналога в Java.
Д>WORA — это в обероне с его бесчисленными диалектами?
Вообще-то переносилась одна и та же версия Оберона (и языка, и системы).
Апплеты и "тонкие бинарники" (автор и того, и другого — Михаэль Франц) появились при переносе Оберона под MacOS, работавшей тогда на двух аппаратных платформах.
Д>безопасность — это в языке, где можно просто подключить модуль, и делать все что хочешь на самом низком уровне?
Видимо, ты говоришь о (псевдо)модуле SYSTEM, являющемся частью компилятора Оберона.
В том-то и дело, что в Обероне нельзя импортировать его незаметно.
Список импортируемых модулей доступен не только компилятору, но и загрузчику.
Можно просто запретить загрузку новых модулей, импортирующих SYSTEM.
Получится что-то вроде Java.
Д>
Я рад, что тебе понравилось.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, AVC, Вы писали:
AVC>Техническое решение — обероновская система типов, замкнутая и обеспечивающая возможность защиты памяти даже без аппаратной защиты, и поддержка динамической модульности (раздельная компиляция, загрузка по требованию, контроль совместимости (никакого DLL-hell), fingerprints и т.д. и т.п.). AVC>Если кому-то кажется, что Objective C "породил" Java, пусть немного помедитирует над системой типов: какова она в Java, и какова она в Си, пусть даже в Objective (вот только, пожалуй, protocol действительно повлиял на interface).
Выглядит неубедительно, чтобы делать настолько далеко идущие выводы о происхождении явы от оберона.
AVC>Можно просто запретить загрузку новых модулей, импортирующих SYSTEM. AVC>Получится что-то вроде Java.
такая возможность уже есть, или ее можно "легко выточить напильником"?
PD>>И дети их в Линуксовые игры играют ? Сомневаюсь... АХ>Дети их играют в PlayStation. А PlayStation 3 будет с Linuxом.
Он не будет с Линухом. Сони выпустит Линух для Playstation. А это — две большие разницы. Просто для предыдущих Сони в качестве эксперимента выпускала Линукс. Для третьей Сони тоже выпустит — это просто своего рода тоже PR
Здравствуйте, AVC, Вы писали:
AVC>Видимо, ты говоришь о (псевдо)модуле SYSTEM, являющемся частью компилятора Оберона. AVC>В том-то и дело, что в Обероне нельзя импортировать его незаметно. AVC>Список импортируемых модулей доступен не только компилятору, но и загрузчику. AVC>Можно просто запретить загрузку новых модулей, импортирующих SYSTEM.
ГЫ! Распространяется что? Правильно бинарник. Код в этом бинпрники проверяется как? Правильно никак.
Вопрос что нам мешает создать заголовки так чтобы там небыло никакого модуля SYSTEM. Или как вариант пропатчить уже собранный бинарник. Ы?
А как там у нас с использованием оберона в распределенке? Или даже на многопроцессорных машинах? Ведь один ГЦ на всех это не эффективно даже для многопроцессорных систем, а в распределенке он вобще не живет (вернее завести можно но это будет мегатормоз).
А как у нас там с многопользовательскими делами? С правами доступа?
...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>А как там у нас с использованием оберона в распределенке? Или даже на многопроцессорных машинах? Ведь один ГЦ на всех это не эффективно даже для многопроцессорных систем, а в распределенке он вобще не живет (вернее завести можно но это будет мегатормоз).
Кстати, а у кого с этим нет проблем?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.