Модули для работы с OpenCL и OpenGL


#21

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


#22

Ядро OpenGL (то есть все подпрограммы Не из расширений и которые Не устарели) в целом готово к употреблению.


#23

Когда можно будет принимать pull request?


#24

Уже неделю как можно, я на гитхабе об этом сказал:


#25

Я сильно обновил OpenCLABC и написал справку (в начале исходника, ибо там её найти легче всего).

@Admin, хотел переспросить у вас, я сам то правильно эти термины понимаю?
И, может вы как педагог - знаете как лучше можно это объяснить?

Пока пулл не кидаю, хочу подчистить пару мелочей…


#26

Это всё не очень Это для официального инсталлята недостойно такое писать.

Метод - особая подпрограмма, вызываемая по точке для переменной
//   К примеру, метод Context.SyncInvoke выглядит в коде как "cont.SyncInvoke(...)", где cont - переменная типа Context
// 
// Статичный метод - особый метод, который вызывается по точке для типа вместо переменной
//   К примеру, статичный метод Buffer.ValueQueue выглядит в коде как "Buffer.ValueQueue(...)"
// 
// Остальные термины, которые могут быть непонятны (как свойства, которые property) - ищите в справке паскаля/гуглите

Вот переделанный вариант:

Метод - подпрограмма, описанная в классе и вызываемая в прикладном коде через переменную класса.

Статический метод - подпрограмма, описанная в классе с модификатором static и вызываемая в прикладном коде через имя класса.

Ну хотя бы так. Непонятно, зачем в стандартном модуле эти странные термины. Пропустите текст через спеллчекер по крайней мере. И - не пишите в стандартном модуле определения.

После исправлений я пройдусь по коду и поправлю ваш русский


#27

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

А весь смысл справки - сделать модуль более доступным всем. Умники то и без справки разберутся, по одним только примерам…

Поэтому вариант с заумными словами неуместен. Надо что то среднее. Я к вам лично обратился как раз потому что думал - вы знаете как понятнее объяснить…

Кроме всего прочего - примите во внимание что паскаль учат школьники, а давать информацию сложными терминами (с расчётом “не маленький уже, ищи и догадывайся сам”) - это прикол университетов. Поэтому в упрощении некоторых вещей (пусть даже с потерей небольшого кол-ва информации) - имеет смысл. И да, я вижу что в моём варианте не немного информации потерялось и мне самому это не нравится…

Я уже Котова попросил (правда, он ещё не совсем согласился).


#28

Я поправил.

В инсталляте неуместны никакие жаргонизмы. Вообще.


#29

Я абсолютно согласен с этим. Но не все не_сложные слова - жаргон. И вот таким не_сложными словами надо объяснить всё в данном случае.

Конкретно, мне в вашем варианте не нравится 2 пункта:

Это не точка фокуса данного предложения. Раздел объясняет использование а не описание. Поэтому это лишняя и только отвлекающая информация.

Можно в последнем абзаце (который “Остальные термины, …”) объяснить тот факт, что описание методов и т.п. - надо искать в основной справке паскаля. Но, по моему, как раз это - и так понятно.

Ну и, вообще то, не класс а тип… Методы есть у всех типов.

Это заумное слово не несущее особо никакого смысла. Единственное что можно назвать теоретическим кодом - это псевдо-код, но тут речь не может идти про него.

Принимая это всё во внимание - предлагаю следующий вариант:

// 1.0.3 - Термины, которые часто путают новички в программировании
// 
// Команда - запрос на выполнение чего-либо
//   Как запрос на запуск программы на GPU
//   Или запрос на начало чтения данных из буфера на GPU в оперативную память
//   Называть процедуры и функции командами - ошибочно
// 
// Подпрограмма - процедура или функция
// 
// Метод - особая подпрограмма, вызываемая в коде через переменную
//   К примеру, метод Context.SyncInvoke выглядит в коде как "cont.SyncInvoke(...)", где cont - переменная типа Context
// 
// Статичный метод - особая подпрограмма, вызываемая в коде через имя типа
//   К примеру, статичный метод Buffer.ValueQueue выглядит в коде как "Buffer.ValueQueue(...)"
// 
// Остальные термины (как свойства), которые будут непонятны - ищите в справке паскаля или интернете

Вы про что?


#30

Наверное, https://github.com/pascalabcnet/pascalabcnet/commit/f356efc9f20901c9dc72128ee69f95c8969d5cd6

Я если и займусь твоей орфографией, то кину пулл в POCGL


#31

Я убрал все эти попытки объяснить термины в стандартных модулях


#32

А, вот про это:

Спецификация (что то типа справки)

Справка более распространённое слово чем спецификация. Я первый раз услышал слово спецификация когда стал работать с OpenCL, и понял только как слово производное от specify.

Если вам не нравится слово “типа” - надо заменить на, к примеру, “вроде”. Но вы убрали нужный кусок информации.

Если чего то не хватает - писать сюда:

Нет, не для замечаний, а именно если не хватает. То есть не хватает функции или её перегрузки, не хватает энума и т.п.

там нет функций, есть только энумы и коды ошибок. Но в чём смысл если возвращать и принимать их нечему?

Вопрос там не просто так. Ожидается, что если кто то знает ответ - найдёт способ написать мне.

  1. энумы это не перечеслимые типы паскаля (type e1 = (es1, es2, es3)). И это не что то что можно магически объяснить добавив в текст англ. слово. В случае OpenCL и OpenGL - энумы это записи со статичными свойствами, возвращающими экземпляры этих записей, записывая в них определённое значение.

кто что то знает - напишите в issue, пожалуйста

Эта строчка тоже не для красоты там была. Хотя можно сделать красивее, но это не повод тупо удалять.

В OpenGL был изменён заголовок с ссылкой на лицензию. При чём только в нём, хотя точно такой же заголовок есть ещё в 4 модулях. Вообще, разве эта часть не недотрагиваемая для всех кроме автора?

//ToDo матрицы в шейдерах передаются массивом столбцов …

Эта часть была исковеркана и полезной информации не оставлено. А то что осталось - вводит в заблуждение читающего.

Ну и ещё по мелоче убрано важных слов, без которых меняется смысл, а так же зачем то изменено форматирование в 2 местах (убраны 4 пустые строчки).


@Admin

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

    Я вообще ожидал что если вам что то не нравится - вы напишете об этом ещё до принятия пула. В любом случае надо проверять пулл перед тем как вливать его.

  2. Если вы делаете какие то изменения - пожалуйста, кидайте их пулом в соответствующий репозиторий:
    https://github.com/SunSerega/POCGL
    Кидая их в свой репозиторий - вы создаёте путаницу и усложняете совместимость с дальнейшими пулами.
    В частности, в моём репозитории всегда более новая версия, а значит ваши исправления могут быть устаревшими. И при следующем пуле от меня - вполне могут случайно стереться.


#33

Это у Вас на каком языке?

— Где бревно?
— Хрен его знает, говорят, на спутнике макаку чешет.
Перевод:
— Где капитан Деревянко?
— Не знаю, но, говорят, что работает по закрытому каналу связи и отслеживает
    американские испытания прототипа торпеды Мk-48 
                           (Избранное из радиообмена советских военных)

#34

на суржике русско-английского :thinking:


#35

Enumerable?

Это суржик-трасянка.


#36

ну привык человек перечисления называть по-басурмански


#37

Энум - по-русски нельзя писать. Аккуратно это поясите, что имеется в виду. Возможно, со ссылкой на википедию раз это что-то нестандартное, а все привыкли понимать в другом смысле.

В стандартном модуле я не приму фразу “Пишите сюда если что надо дополнить”. Ссылку на Issue с нейтральной фразой - пожалуйста.

“что то типа” - не может быть в стандартном модуле

Я правил только плохой русский язык. Предложите замену. Одинаковую для всех модулей.

Она и без того была непонятной. Мне не нравится, что в стандартных модулях пишется ToDo. Создаётся ощущение, что всё у них так. Не доделано.

Да, это автоматически. Верните.

Понимаю. Нет, я не буду этим заниматься. Это лишняя забота для меня.

Поймите - у разработчиков и без этого много проблем.

Старайтесь писать грамотно и без жаргонов. Это официальный инсталлят PascalABC.NET. Там многих таких вещей быть не должно.


#38

Мне сразу вспомнился престарый боян - вот его начало

Хаммурапи был нехилый политический деятель. Он в натуре катил бочку на окружавших кентов. Сперва он наехал на Ларсу, но конкретно обломился. Воевать с Ларсой было не фигушки воробьям показывать, тем более что ихний Рим-Син был настолько навороченным шкафом, что без проблем приклеил Хаммурапи бороду. Однако того не так легко было взять на понт. Ларса стала ему сугубо фиолетова, и он перевел стрелки на Мари. Ему удалось накидать лапши на уши Зимрилиму, который тоже был крутым мэном, но в данном случае прощелкал клювом. Закорифанившись они наехали на Эшнуну, Урук и Иссин, которые долго пружинили хвост, но пролетели как стая рашпилей. Ассирийцы чего-то возбухали по этому поводу, но их прокатили, как молодых.


#39

Вот так и нужно писать спецификации по паскалю. Сразу всё понятно.

13633_original