Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2016, 20:53   #21
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Да не вопрос. К персоне добавились паспортные данные. Вгрузите его обратно. Если думаете, что так не бывает, то сплошь и рядом. Особенно во всяких бухгалтерских программах, справочных системах и т.д.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.05.2016, 07:02   #22
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Код:
Предприятие
.Аппарат
..Директор
...Секретарь
.Цех_программистов
..Старшая_обезьяна
..Юнга
..Техничка
..Чайник (эмалоированный)
Ну вот уже эротичней.
А еще нагляднее - просто пробельные сдвиги. Да только они и могут поддерживаться некоторыми редакторами. Однако, возможны ошибки. Тут писали о проблемах с Питоном.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Не представляю как. Нужно в обычном тексте.
Дерево - это, например, таблица, где одна размерность - предки, а вторая - потомки (неудобно - сильно разреженная, n^2) или уровень вложенности определяют те же самые отступы (пустые ячейки, тогда разреженность зависит от сбалансированности дерева).
Обычный текст:
а: x, y
x: y, z

Цитата:
Сообщение от Utkin Посмотреть сообщение
Да, но написать такую систему, которая будет мешать пиво с виски (то есть текст с графикой) немного утомительно. Особенно на старте. Это на создание ИДЕ уйдет куча времени. Тут хотя бы так начать. Да и потом работа с текстом программы только в одном редакторе не сильно будет способствовать распространению языка. То есть нужны какие-то общедоступные компоненты для быстрого создания редактора.
Средство существеннее идеи. Возможность править дерево в тексте любым блокнотом порождает ошибки. Сами по себе текстовые редакторы не учитывают строения Вашего "дерева", поэтому не дадут ни удобства, ни надежности, ни физической скорости исполнения (нагрузка на железо большая). Для сколько-нибудь удобства понадобится писать отдельное дополнение для каждого редактора, которое будет сильно отъедать выч. ресурсы из-за того, что работает поверх текста (живой пример - IDEA).

Цитата:
Сообщение от Utkin Посмотреть сообщение
Универсальные динамические структуры данных. Проблемы современных типов данных - они не универсальны. В виде дерева можно выразить очень много абстрактных типов данных. Например, без проблем можно создать вектор, одним из элементов которого будет массив множеств стеков. Напишите это на с++ пожалста. В дереве это можно хранить в одной переменной. Которую одним оператором можно сбросить в XML и прочитать оттуда. Дерево можно реализовать в любой современной базе данных. Скорость реализации Ваших мечтов увеличится в разы. Все эти struct или там record это статичность. В дереве Вы на лету можете насувать туда столько всего, и все это быстренько прочитать/записать в файл.
Короче выразительная сила дерева огромна (но есть конечно предел, те же графы). Фактически простые программы могут использовать всего одну переменную, просто беря нужные значения из отдельных ветвей дерева. Вопрос только удобства такого подхода. Даже сама вот тема - я вот хочу описать оргструктуру предприятия в программе. Ну напишите это быстро на паскале. Мне будет достаточно описания дерева. Пункт два деревья упрощают обратную совместимость программ. То есть например, если Вы только добавляете новые ветви в дерево, то можно составить такой алгоритм обработки дерева, что программа сможет читать и работать с данными нового формата (в той части, в которой реализован ее функционал естественно).
Верхний уровень всегда сужает физические допуски нижележащего. Если сделаете дерево поверх текста, которое будет правиться текстовыми редакторами - оно унаследует их недостатки.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Ну я хочу немного по-другому представлять процесс. Сама программа это вообще-то тоже дерево. Это в Лиспе очень хорошо видно. Просто перенести акценты, заставив программиста думать именно под таким соусом.
JSON не универсален, например там есть массив. XML универсален, но в принципе ничего не мешает взять и JSON. Просто не пользоваться "лишними" элементами. Строго говоря Питон тоже не универсален, просто в нем разнообразие коллекций.
Лисп придумали более полувека назад, а в каких редакторах появилась удобная работа с его строениями? А ведь по своему назначению разницы м/у его скобками и отступами в Питоне нет. Какой смысл в шурупах, если забивать молотками?
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 27.05.2016 в 07:07.
MihalNik вне форума Ответить с цитированием
Старый 27.05.2016, 07:18   #23
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А еще нагляднее - просто пробельные сдвиги. Да только они и могут поддерживаться некоторыми редакторами. Однако, возможны ошибки.
Да. Точки здесь взялись потому что форум не дает ставить пробелы просто так . Но с пробелами действительно будут проблемы. Если дерево обширное, то запросто можно промахнуться уровнями, на глаз не определишь 6-й там пробел или 7-й. Можно пробовать табуляцию как в Питоне блоки.
Цитата:
Обычный текст:
а: x, y
x: y, z
Как и графы будет плохо читаться наверно. Не знаю, выразите представленную оргструктуру организации таким образом. И еще как Вы опишите y? Их ведь там 2. А если один из них будет иметь еще ветви. Как определить про какой y идет речь в Вашем описании?
Цитата:
Средство существеннее идеи. Возможность править дерево в тексте любым блокнотом порождает ошибки. Сами по себе текстовые редакторы не учитывают строения Вашего "дерева", поэтому не дадут ни удобства, ни надежности, ни физической скорости исполнения (нагрузка на железо большая). Для сколько-нибудь удобства понадобится писать отдельное дополнение для каждого редактора, которое будет сильно отъедать выч. ресурсы из-за того, что работает поверх текста (живой пример - IDEA).
Уверен есть решение, только я о нем еще не знаю. Вот собственно и ищу.
Цитата:
Верхний уровень всегда сужает физические пропуски нижележащего. Если сделаете дерево поверх текста, которое будет правиться текстовыми редакторами - оно унаследует их недостатки.
Дайте пример проблемы.
Цитата:
Лисп придумали более полувека назад, а в каких редакторах появилась удобная работа с его строениями?
Лисп смотрит на программы как на вложенный вызов функций. Я хочу смотреть на программу как на дерево.
Цитата:
Какой смысл в шурупах, если забивать молотками?
Мне интересно. С другой стороны если бы Лисп умирал, проблем бы не возникало. А он живет и здравствует во всяких Автокадах и Фотошопах с Гимпами.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 27.05.2016 в 07:24.
Utkin вне форума Ответить с цитированием
Старый 27.05.2016, 07:38   #24
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Как и графы будет плохо читаться наверно. Не знаю, выразите представленную оргструктуру организации таким образом.
Предприятие: Аппарат, Цех_программистов
Аппарат: Директор
Директор: Секретарь
Цех_программистов: Старшая_обезьяна, Юнга, Техничка, Чайник

Скорее всего секратаря не собирались помещать в директора, но х.з.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Уверен есть решение, только я о нем еще не знаю. Вот собственно и ищу.
Текстовые форматы и редакторы существуют очень давно. А Вы ищете заведомо очень простое и общее решение, достигаемое простым перебором. Поэтому, маловероятно, чтобы оно находилось в искомом поле текстов.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Дайте пример проблемы.
Например, кодировки и концы строк. Какое вообще отношение они имеют к деревьям и как про них можно забыть, реализуя деревья через текст? А будут ли тогда они подходить для любых данных?
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 27.05.2016 в 07:40.
MihalNik вне форума Ответить с цитированием
Старый 27.05.2016, 07:43   #25
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Скорее всего секратарь не собиралась размещаться в директоре, но х.з.
Когда Аватар читал, там в моем посте была ошибка, я потом поправил.
Но что если у Цеха_программистов будет свой собственный Аппарат? Как это будет выглядеть тогда?
Цитата:
Текстовые форматы и редакторы существуют очень давно. А Вы ищете заведомо очень простое и общее решение, достигаемое простым перебором. Поэтому, скорее всего, оно не находится в искомом поле текстов.
Но точно этого утверждать нельзя, так как задача не сказать чтобы частая и граблей раскидано мало в виду того, что если раньше там кто и искал, то миру об этом известно мало.
Цитата:
Например, кодировки и концы строк. Какое вообще отношение они имеют к деревьям и как про них можно забыть, реализуя деревья через текст? А будут ли тогда они подходить для любых данных?
Можно взять одну кодировку - Юникод конкретный там, их же тоже дофига. Концы строк не сказать чтобы большая проблема, ввести константу на описание данного символа. В XML тоже не все знаки хранить разрешено, они там заменяются на абракадабру и их правильная расшифровка проблема парсера, а не того кто читает эти данные.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.05.2016, 07:56   #26
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Когда Аватар читал, там в моем посте была ошибка, я потом поправил.
Но что если у Цеха_программистов будет свой собственный Аппарат? Как это будет выглядеть тогда?
Странный вопрос.
Предприятие: Аппарат, Цех_программистов
Аппарат: ...
Цех_программистов: Аппарат, ...

Цитата:
Сообщение от Utkin Посмотреть сообщение
Но точно этого утверждать нельзя, так как задача не сказать чтобы частая и граблей раскидано мало в виду того, что если раньше там кто и искал, то миру об этом известно мало.
Хранятся данные в тектовых форматах очень часто.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Можно взять одну кодировку - Юникод конкретный там, их же тоже дофига. Концы строк не сказать чтобы большая проблема, ввести константу на описание данного символа. В XML тоже не все знаки хранить разрешено, они там заменяются на абракадабру и их правильная расшифровка проблема парсера, а не того кто читает эти данные.
Это не меняет сущности граблей, нужно писать кучу отдельных парсеров, в редакторах горы мешающих абракадабр.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 27.05.2016 в 07:59.
MihalNik вне форума Ответить с цитированием
Старый 27.05.2016, 08:06   #27
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Странный вопрос.
Я вижу неоднозначные описания обоих аппаратов. Как определить к какому аппарату что будет относится?
Цитата:
Хранятся данные в тектовых форматах очень часто.
Ну и здорово. Значит нужно выработать свой. Собственно об этом тема и есть.
Цитата:
Это не меняет сущности граблей, нужно писать кучу отдельных парсеров, в редакторах горы мешающих абракадабр.
Пока хватит и одного для начала. А там дальше видно будет имеет ли это вообще какой-то смысл.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 27.05.2016, 08:15   #28
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Я вижу неоднозначные описания обоих аппаратов. Как определить к какому аппарату что будет относится?
Можно сократить раскрытие либо по уровню вложенности, т.е.:
Аппарат: ...
но
Цех_программистов.Аппарат: ...
Либо до первого уникального предка (скорее всего предпочтительнее - понятнее для человека).
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 27.05.2016 в 08:17.
MihalNik вне форума Ответить с цитированием
Старый 27.05.2016, 08:28   #29
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Можно сократить раскрытие либо по уровню вложенности, т.е.:
Аппарат: ...
но
Цех_программистов.Аппарат: ...
Либо до первого уникального предка (скорее всего предпочтительнее - понятнее для человека).
Ну я тут за простое и однозначное восприятие человеком, лишь бы не было неоднозначностей при вводе и чтении человеком. Пока мне больше всего нравится аватарский вариант.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 27.05.2016 в 08:31.
Utkin вне форума Ответить с цитированием
Старый 27.05.2016, 08:30   #30
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Да не вопрос. К персоне добавились паспортные данные. Вгрузите его обратно.
Добавились куда? В файл (==файл от новой версии)? Или в программу (==файл от старой версии)?

В первом случае просто пропускать неизвестные записи в файле, во втором не падать при отсутствии записи.
Или программа настолько умная, что должна уметь работать с новым форматом без внесения изменений в ее логику?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод описания функции Flay Общие вопросы C/C++ 0 01.10.2013 14:12
файл описания ресурсов MasterSporta Win Api 4 08.07.2012 18:28
анализ описания переменных ALıya Паскаль, Turbo Pascal, PascalABC.NET 3 02.11.2011 21:43
описания алгоритма! Patriot_14 Помощь студентам 8 15.06.2011 23:32
ОПЕРЕЖАЮЩИЕ ОПИСАНИЯ ПРОЦЕДУР DRAgon™ Паскаль, Turbo Pascal, PascalABC.NET 13 11.06.2010 21:24