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

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

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

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

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

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

Код:
Предприятие
.Аппарат
..Директор
...Секретарь
.Цех_программистов
..Старшая_обезьяна
..Юнга
..Техничка
..Чайник (эмалоированный)
Ну вот уже эротичней.
Цитата:
Можно в excel-таблице со сдвигом по колонкам. Вероятность ошибок по сравнению с другими простыми способами небось самая маленькая будет
Не представляю как. Нужно в обычном тексте.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.05.2016, 19:41   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Нужно в обычном тексте
Не подходит, согласен. В таблице просто наиболее удобно набирать такую инфу. Жаль, что просто так в исходник не впихнешь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.05.2016, 19:47   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А почему не хотите сделать графический интерфейс ввода дерева? Это удобнее чем описывать его текстово.
А читать его потом как? Ну вот отдал программу другому человеку. Как он поймет какое дерево было описано, если оно нарисовано? А программа-то обычный текстовик, как и везде собственно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.05.2016, 19:50   #14
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
А читать его потом как? Ну вот отдал программу другому человеку. Как он поймет какое дерево было описано, если оно нарисовано? А программа-то обычный текстовик, как и везде собственно.
Это старое мышление WysiWyg рулит. Вот я написал "" и все видят его как картинку. А что как там внутри никому никогда не увидеть и видеть не надо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 26.05.2016 в 19:54.
Pavia вне форума Ответить с цитированием
Старый 26.05.2016, 19:56   #15
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Это старое мышление WysiWyg рулит.
Да, но написать такую систему, которая будет мешать пиво с виски (то есть текст с графикой) немного утомительно. Особенно на старте. Это на создание ИДЕ уйдет куча времени. Тут хотя бы так начать. Да и потом работа с текстом программы только в одном редакторе не сильно будет способствовать распространению языка. То есть нужны какие-то общедоступные компоненты для быстрого создания редактора.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 26.05.2016, 20:02   #16
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Тогда давай так. Зачем вам деревья? Что это даст будущим программистам?
Просто сейчас есть много средств DOM, Protobuf, текстовый препроцессор Кнута (https://en.wikipedia.org/wiki/Literate_programming) и т.п..
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

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

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

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

Так это и в чем-нибудь типа JS и прочих РНР и Питонах можно же. А в JSON и конвертировать в XML ничего не надо

Код:
{
   "a":{
      "b":{
         "c":{ },
         "d":{
            "e":{ },
            "f":{ }
         }
      }
   }
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.05.2016, 20:45   #19
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Так это и в чем-нибудь типа JS и прочих РНР и Питонах можно же.
Ну я хочу немного по-другому представлять процесс. Сама программа это вообще-то тоже дерево. Это в Лиспе очень хорошо видно. Просто перенести акценты, заставив программиста думать именно под таким соусом.
Цитата:
А в JSON и конвертировать в XML ничего не надо
JSON не универсален, например там есть массив. XML универсален, но в принципе ничего не мешает взять и JSON. Просто не пользоваться "лишними" элементами. Строго говоря Питон тоже не универсален, просто в нем разнообразие коллекций.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 26.05.2016 в 20:48.
Utkin вне форума Ответить с цитированием
Старый 26.05.2016, 20:50   #20
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Вот вам на Cи#
https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Можно перевести на Delphi. Net или не Net надо смотреть, кто атрибуты поддерживает.
Атрибуты класса вещь сильная.

Сериализация/десиарилизация делается через атрибутный класс. У всякого класса есть информация о типах RTTI. Выходной формат можно сделать на выбор: XML или JSON любой свой.

Цитата:
Ну вот например хранятся у Вас настройки программы:
Окно.Ширина
Окно.Высота
А в новом формате Вы еще добавили
Окно.Заголовок.
Тоже не сложно, вспомню как напишу.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 26.05.2016 в 21:01.
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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