LINUX.ORG.RU

Oracle уволила лидера проекта GNOME Accessibility

 , , ,


0

0

Joanmarie Diggs опубликовала открытое письмо Oracle, в котором сообщает, что Oracle уволила двух членов Sun's Accessibility Project Office (проекта, предназначенного для людей с ограниченными возможносями). Среди них — Willie Walker, одновременно являвшийся лидером проекта GNOME Accessibility и лидером разработки Orca — программы для чтения с экрана (скрин ридера) с открытым исходным кодом.

Joanmarie Diggs сообщает, что еще до этого увольнения из Sun's Accessibility Project Office часть персонала была уволена, и в своем открытом письме высказывает надежду, что этот недосмотр со стороны Oracle будет скоро исправлен. В противном случае, если ни Oracle, ни какая-либо другая компания не продолжит работу над программами по Accessibility, то по её мнению окружение рабочего стола GNOME придет в упадок.

>>> Обсуждение на lwn.net

★★★★★

Проверено: svu ()
Последнее исправление: www_linux_org_ru (всего исправлений: 1)

Ответ на: комментарий от Quasar

>Художник? Фотошоп? Использовать фотошоп для рисования - это всё равно, что пытаться молоток использовать в качестве циклотрона.

ну да, в дополнение к фотошопу надо купить еще пейнтер.

stave ★★★★★
()
Ответ на: комментарий от Reset

>http://library.gnome.org/devel/gtk-tutorial/2.17/c39.html#SEC-HELLOWORLD

Афигеть! Где там полиморфизм?

Википедия: Полиморфи́зм (в языках программирования) — взаимозаменяемость объектов с одинаковым интерфейсом.[источник не указан 108 дней] Язык программирования поддерживает полиморфизм, если классы с одинаковой спецификацией могут иметь различную реализацию — например, реализация класса может быть изменена в процессе наследования

Где по твоей ссылке наследование???

В GTK все объекты это структура/ ты получаешь ссылку на нее и потом работаешь с ней с помощью функций гет и сет.

Так-же и с файлами мы работали в ДОС.

Чисто визуально f=open('xyz'); f.writeLine('xxxxx'); f.close() Это объектный подход А вот f=open('xyz'); writeLine(f,'xxxxx'); close(f) Уже нет. Хотя-бы я могу ошибиться и вместо файлового дескриптора запихнуть строку. Функции close и writeLine это не неотемлемая составляющая объекта f. Тут f вообще число. Тоесть инкапсуляции нет! Какие объекты без инкапсуляции....?????

demmsnt
()
Ответ на: комментарий от mezzoforte

Тред не читал

традиционно

но 13 страниц оракло-гномо-срача как бы намекают, что лор - торт

если бы читал, то понял что это просто срач и ЛОР - не торт

los_nikos ★★★★★
()
Ответ на: комментарий от demmsnt

Всё с тобой ясно, ты не понимаешь что такое ООП, поэтому дальше вести беседу просто бессмысленно.

Reset ★★★★★
()
Ответ на: комментарий от vertexua

> Вообще интерестно как вы все зашевелились и стали изливат говно. Типичные кдешники

Глупое обобщение.

AlexKiriukha ★★★★
()
Ответ на: комментарий от los_nikos

>если бы читал, то понял что это просто срач

А кто ж спорит-то?

mezzoforte
()
Ответ на: комментарий от demmsnt

> Афигеть! Где там полиморфизм?

Глаза протрите и читайте код внимательнее.

Чисто визуально f=open('xyz'); f.writeLine('xxxxx'); f.close() Это объектный подход А вот f=open('xyz'); writeLine(f,'xxxxx'); close(f) Уже нет.

Вы это где-то прочитали или сами придумали?

sv75 ★★★★★
()
Ответ на: комментарий от demmsnt

> И как удобно из Хаскеля или из Лиспа или из Луа (тут могу лохануться) использовать Qt

Нормально его использовать, если вспомнить что есть такая штука как SMOKE. Hint: Lisp - CommonQt

Darkman ★★★
()
Ответ на: комментарий от vOrOn

>75% процентов ядра на чьи баблосы? Офис чей? Оракль (экс Солнышко), да Новель.

Насчет офиса не спорю. А теперь зайди на fsf.org и gnu.org, удивись за чьи деньги живет тот же Столлман. Весь GNU/софт (от binutils, заканчивая xnee) живет засчет членских взносов. И если внимательно посмотреть есть люди, которые вносят по 5к-10к баксов ежегодно. На этом собственно построено free software.

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

Кто спонсировал проект madwimax? Никто. Это наши люди захотели и написали. Что для них ты сделал? Ничего, сказал про себя спасибо и только.

Кто спонсирует rtorrent? Никто. Зато сколько людей использует?


Забудьте наконец про «каждый крестьянин, рабочий может управлять государством» и проецированием этого на всё и вся.


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

gh0stwizard ★★★★★
()
Ответ на: комментарий от solid

и в Арче :) похоже, что убунтовцы КДЕ ... недолюбливают

dotbg ★★★★
()
Ответ на: комментарий от Reset

>Всё с тобой ясно, ты не понимаешь что такое ООП, поэтому дальше вести беседу просто бессмысленно.

Да вот видимо мы разное понимаем. Я понимаю ООП как подход к программированию при котором делается упор на Инкапсуляцию (все свойства и действия с предметом реального мира содержатся в одной структуре - объекте) Полиморфизм (поведение разных объектов основывается на их описании - Есть человек, а есть Бухгалтер. Но бухгалтер это уже наследник от человека. Тоесть если требуется человек, то бухгалтер подходит) И наследование (какраз Бухгалтер отнаследован от человека.)

Можно имитировать ООП в не ООП языках. Например в Perl объект представляет из себя хеш с полями. Можно сделать в паскале динамическую структуру в которой будут поля со своствами и функциями. При вызове функций передавать им еще и ссылку на всю структуру. Это будет практически ООП, но это не делает паскаль ООП языком. У него нет ВСТРОЕННОЙ поддержки ООП (например мы тут сами начнем мастерить RTTI, но всеравно записей вида obj.property мы не получим.

Вот GTK был написан на C, не ООП языке. Например кнопка -

Есть структура в которой хранятся свойства кнопки, размер там цвет и прочее. Есть функции, не методы заметь. которым в качестве первого параметра передается ссылка на структуру. Функции могут нарисовать кнопку или удалить её или что еще с ней сделать. Но это внешние никак не связанные (кроме головы разработчика) сущности. Тоесть кнопки как атомарного объекта не существует.....

Я конечно наверное идиот, но где я не прав?

Я уже сказал, что в паскале я могу организовать рекурсию. Он что от этого станет функциональным языком? Вот еслиб можно было средствами языка запретить присваивание и писать только в функциональном стиле - тогда да.

Я могу написать на C какойнибудь DSL, Скажем SQL. SQL - Какой? Декларативный - так? Так, что от этого C стал декларативным? Получается исходя из твоей логики, что да. Тоесть у нас С императивно декларативно функциональный язык с элементами ООП!

Нифигасебе, Зачем тогда вообще классификация?

demmsnt
()
Ответ на: комментарий от demmsnt

Ты бред несешь. Вот тебе домашнее задание, студент

  • Найти в коде по ссылке выше признаки ООП (в том числе полиморфизм)
  • Какой из двух фрагментов кода является ООП, а какой не является и почему
    // 1
    f.writeLine('xxxxx'); 
    f.close();
    // 2
    writeLine(f,'xxxxx'); 
    close(f);
    
  • Как сделать инкапсуляцию в Си

Иди учись, а пока незачет.

Reset ★★★★★
()
Ответ на: комментарий от anonizmus

> Прибыли больше всего будет если суммировать тебя с блондинками %-)

Расходы тоже сумируются.

поэтому вы купите нвидию, и правильно сделаете.


Ну дык:) С 2001 года стабильно:) Хотя какая была карта RageII+ в свое время.

r ★★★★★
()
Ответ на: комментарий от demmsnt

>Афигеть! Где там полиморфизм?

g_signal_connect

Уже нет.


Серьезно? Ты таки посмотри тот пример на clojure.

r ★★★★★
()
Ответ на: комментарий от demmsnt

>Я понимаю ООП как подход к

Дык вот - ты его понимаешь неправильно.

Это будет практически ООП


Это и будет ООП.

но это не делает паскаль ООП языком.


А никто не называл С объектным языком. Объектным называли GTK. Или ты не видишь разницы?

Я конечно наверное идиот, но где я не прав?


Практически во всем.

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP.


Знаешь кто сказал? Догадайся.

Он что от этого станет функциональным языком?


Рекурсия и функциональный стиль. Ага да. Опыта у тебя еще нет в реальном мире. На паскале можно писать в чисто функциональном стиле. Сделает ли это его функциональным языком? Нет. Но написанная в этом стиле программа будет функциональной. Точно так же как GTK - объектный фреймворк.

r ★★★★★
()
Ответ на: комментарий от demmsnt

Object-oriented programming is the Roman numerals of the Computer Science =)

Absurd ★★★
()
Ответ на: комментарий от r

Все эти мысли уже были вывалены в треде.
Мне кажется, этому товарищу бесполезно что-либо объяснять.

solid
()
Ответ на: комментарий от oguretz

Художник и ФШ => /0

Покажи ей Corel Painter или MyPaint.

srj ★★
()
Ответ на: комментарий от impfp

impfp

Боже мой, сколько соплей слюней и драмы. Ну сдохнет гном, еще кеды останутся :)

А гном пред своей жуткой скоропостижной смертью разве в них жижу не напустит от души?

vOrOn
()
Ответ на: комментарий от Quasar

Оракл как раз таки MySQL себе оставляет, и вбухивает в разработку ещё больше денег.

у тебя так мозгов и не прибавилось :) BSD - RIP! :)

xpahos ★★★★★
()
Ответ на: комментарий от FractalL

>некоторые, будучи физически здоровыми, не умеют считать до трёх таких вообще следует изничтожать на месте

А не факт, что он физически здоров :) Хотя, откуда нам знать... Вопрос о психическом здравии пОциента остаётся открытым. Говорят, некоторые завсегдатаи ЛОРа посещают психиатров

По теме: не радует совсем это решение. Даже если сообщество будет работать над Accessibility, это явно не идёт на пользу репутации Oracle. А вообще, это ещё мало что значит. Мы ведь причин не знаем, может, на этом месте будет новый лидер, и проект будет развиваться.

Честно говоря, не понимают, отчего такой жуткий, pardon, срач. И ещё: воздержитесь от оскорблений, хотя бы. Извиняюсь, накипело.

AlexGret
()
Ответ на: комментарий от Reset

Второй не является ибо f и writeLine сущности разные

demmsnt
()
Ответ на: комментарий от r

>На паскале можно писать в чисто функциональном стиле. Сделает ли это его функциональным языком? Нет. Но написанная в этом стиле программа будет функциональной.

Программа будет с «использованием функционального подхода»

demmsnt
()
Ответ на: комментарий от r

>А никто не называл С объектным языком. Объектным называли GTK. Или ты не видишь разницы?

1) Есть GTK. Есть GTK+. Если GTK ООП, то смысл существования GTK+ пропадает. Но он есть

2) f.write и write(f Это 2 большие разницы в Первом случае write неотъемлемая часть f, а во втором f может быть чем угодно.

3) Ansi.sys оперирует таблицей данных экрана, и делает set и get - Это тоже ООП? Следуя такому подходу к классификации мы получаем, что все UI библиотеки ООП. И само упоминание, что библиотека ООП становится бесмыссленным. Если есть возражения - по математически , жду контрпример который покажет UI библиотеку без таблиц и не ООП

demmsnt
()
Ответ на: комментарий от demmsnt

>Нет. Это софизм

Софизм - это та чушь что ты несешь. Ты почему то пытаешься доказать что раз «язык не объектный» на нем нельзя писать объектные программы. Ты увлекся игрой слов и ярлыков вместо того чтобы смотреть в суть понятий и определений. ООП не определяется через язык программированния. Точно так же как и ФП.

r ★★★★★
()
Ответ на: комментарий от demmsnt

>Программа будет с «использованием функционального подхода»

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

r ★★★★★
()
Ответ на: комментарий от demmsnt

> Если GTK ООП, то смысл существования GTK+ пропадает.

facepalm.mkv

2) f.write и write(f Это 2 большие разницы в Первом случае write неотъемлемая часть f, а во втором f может быть чем угодно.


А ты понятия семантики и синтаксиса различаешь? А если я напишу

write $$$$ «hello world» --------- f

для гипотетического языка - ты тоже дашь ответ про части и что угодно?

Следуя такому подходу к классификации мы получаем, что все UI библиотеки ООП.


Не знаю что получаете «вы» - но мы руководствуемся понятием ООП которое дал Алан Кей. А «вы» почему-то месторасположением точки.

жду контрпример который покажет UI библиотеку без таблиц и не ООП


xlib, gl, fudgets,....

r ★★★★★
()

Teh drama

GNOME сам по себе уже стал accessibility desktop средой :)

mutronix ★★★★
()
Ответ на: комментарий от r

>Ты почему то пытаешься доказать что раз «язык не объектный» на нем нельзя писать объектные программы.

Нет. Я такого не говорю. Да на любом языке можно писать с отклонением от его ниши.

Далее я сказал, что GTK не ООП библиотека упомянув, хотяб потому: что написана не на ООП языке.

Попытки доказать мне, что использование таблицы свойств и внешних функций для имитации объекта я отвергаю потому, что:

1) Таблица свойств и функции которые её читают, пишут это разные сущности. Это нарушение инкапсуляции (вообще, я могу ошибаться но работать с свойствами объекта правильно только через get set методы)

2) Пусть ваше утверждение, что использование структуры для хранения свойств и внешних функций обрабатывающих эту структуру это ООП верно. Тогда winsock это ООП библиотека ansi.sys это ООП. И вообще тогда получается все библиотеки ООП, в них есть структуры и есть функции работающие с структурами. В таком случае термин ООП библиотека бессмысленнен так, как обратного не бывает.

Если я не прав приведите пример UI библиотеки без ООП.

demmsnt
()
Ответ на: комментарий от r

xlib, gl, fudgets,....


вот пример с xlib

#include <X11/Xlib.h>
#include <unistd.h>

main()
{
// Открыть дисплей
Display *d = XOpenDisplay(0);
^^^^^^^^^^^^ Структура
if ( d )
{
// Создать окно
Window w = XCreateWindow(d, DefaultRootWindow(d), 0, 0, 200,
          100, 0, CopyFromParent, CopyFromParent,
          CopyFromParent, 0, 0);
^^^^^^^^^^^^^ Функция работающая со структурой
// Нарисовать окно на экране
XMapWindow(d, w);
XFlush(d);

// Выполнить задержку, достаточную
// по времени, чтобы мы смогли увидеть окно
sleep(10);
}
return 0;
}

Исходя из вашего определения XLib - ООП библиотека. Жду не ООП

demmsnt
()
Ответ на: комментарий от r

>Не знаю что получаете «вы» - но мы руководствуемся понятием ООП которое дал Алан Кей. А «вы» почему-то месторасположением точки.

Давайте определение. Потом покажите, что GTK попадает под него и покажите, что XLib не попадает

demmsnt
()
Ответ на: комментарий от demmsnt

Внутри сущности FILE может быть завернут файл, пайп, сокет, ... Внутри сущности GWidget может быть завернут любой widget ...

Window это только окно и ничего больше, Display это только дисплей и ничего больше.

Reset ★★★★★
()
Ответ на: комментарий от demmsnt

> 1) Есть GTK. Есть GTK+. Если GTK ООП, то смысл существования GTK+ пропадает. Но он есть

Есть gtk+ и gtkmm, говоря gtk подразумевают gtk+, так как просто gtk без «+» не существует.

Смысл существования gtkmm в том, чтобы облегчить программирование, запихав все ужасы ООП на Си внутри конструкций Си++.

Reset ★★★★★
()
Ответ на: комментарий от demmsnt

>>Ты почему то пытаешься доказать что раз «язык не объектный» на нем нельзя писать объектные программы.

Нет. Я такого не говорю. Да на любом языке можно писать с отклонением от его ниши.


Далее я сказал, что GTK не ООП библиотека упомянув, хотяб потому: что написана не на ООП языке.


Не находишь что сам себе противоречишь?


1) Таблица свойств и функции которые её читают, пишут это разные сущности. Это нарушение инкапсуляции (вообще, я могу ошибаться но работать с свойствами объекта правильно только через get set методы)


Это не инкапсуляция. Это самое примитивно неверное понимание инкапсуляции которое тем не менее распространено. Инкапсуляция это: «protection and hiding of state-process» (C) д-р. Алан Кей. А не сеттеры и геннеры для полей.


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


Ничего подобного я не утверждал. Просто структура с указателями на функции - один из способов организовать «extreme late-binding of all things» и подобие «messaging» (C) д-р. Алан Кей. Это ручная работа там где например в С++ это делает компилятор. Но делают они одно и тоже. И с одной и той же целью.

Если я не прав приведите пример UI библиотеки без ООП.



Ты когда нибудь хоть одну GTKшную структуру видел? Ты знаешь что там хранится?

Я тебе привел пример уже трех.


r ★★★★★
()
Ответ на: комментарий от demmsnt

> Исходя из вашего определения XLib - ООП библиотека. Жду не ООП

Это исходя из твоего неверного предположения что я говорю. Сделай домашнее задание - посмотри чем отличаются структуры GTK от структур XLib.

r ★★★★★
()
Ответ на: комментарий от demmsnt

>Давайте определение. Потом покажите, что GTK попадает под него и покажите, что XLib не попадает

Приводил выше. Со словами «guess who». Разбор как под него подпадает GTK - постом выше. Найти чем отличает Xlib - тебе домашнее задание.

r ★★★★★
()
Ответ на: комментарий от r

>Это самое примитивно неверное понимание инкапсуляции которое тем не менее распространено

К стати понятно откуда это идет. AFAIR большинство преподавателей/писателей ООП начинают с «проблем сложности систем в прошлом» и преодоление этих проблем методом ООП в настоящем «посредством позднего связывания (тут идет обычно в ход объяснение виртуальности и VMT C++) и инкапсуляции реализации (тут обычно идут в ход примеры с полями и методами» при чем переход от «сложных систем» к «VMT» осуществляется методом «отсюда с очевидностью следует». И огромное количество слушателей/читателей на этом заклинивает и они думают, что OOP это VMT + сеттеры. Больше повезло тем кому выпадает изучать ООП на примере смолтолка - они хотя бы концепцию месседжинга осознают не в терминах VMT, особенно глядя на «does not understand».

Из-за этого и «инкапсулируют» объекты методом добавления сеттеров. А понятия внешнего протокола aka интерфейса при этом ни у кого нет.

r ★★★★★
()
Ответ на: комментарий от demmsnt

Ты хоть читаешь, что тебе пишут или наобум отвечаешь?

golodranez ★★★★
()
Ответ на: комментарий от demmsnt

>gobject это эмуляция.

На Си можно писать ООП программы?

golodranez ★★★★
()

Клоуны в этом треде были ленивыми, унылыми и скучными. Моя оценка: 2-

XoxoTyH
()
Ответ на: комментарий от demmsnt

>Афигеть! Где там полиморфизм?

ты неизлечим. Путаешь ОО-язык и ООП вообще. Если вообще понимаешь что это такое.

golodranez ★★★★
()

golodranez у тебя на аватарке надпись «Это Я» сильно вправо смещена, должна быть возле левого края, поправь.

XoxoTyH
()
Ответ на: комментарий от Reset

>Есть gtk+ и gtkmm, говоря gtk подразумевают gtk+, так как просто gtk без «+» не существует.

Черт. Я не пишу на C++. Использовал GTK, ужасов там нет. Если мне надо создать диалог я создаю его исразу после делаю gtk.main(). Но вы подразумеваете gtk+ - Не надо.

В GTK просто набор функций и структур, как и в Xlib, я вам пример привел.

В FILE ничего не завернуто - это вообще INT это порядковый номер в таблице файлов. Сокет это может быть уже не на уровне программы, а на уровне ОС.

demmsnt
()
Ответ на: комментарий от r

>Приводил выше. Со словами «guess who». Разбор как под него подпадает GTK - постом выше. Найти чем отличает Xlib - тебе домашнее задание.

Положем я туп. Ткните носом. А пока я не вижу разницы между GTK (не GTK+) и Xlib. - набор структур и функций, не более того

demmsnt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.