|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Опрос. Каким стилем программирования вы предпочитаете пользоваться и почему?
Инженер
Deutschland
Регистрация: 27.04.2009
Сообщений: 208
|
||
Просмотров: 11984
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
xml - прекрасное средство для хранения сложно структурированных данных. И по идее к опросу о стилях программирования это имеет отношения мало.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер-строитель Регистрация: 15.08.2007
Киров
Сообщений: 2,204
|
У меня вообще решающую роль играет лень.
Вот например модификация таблиц. Через ActveX это делается легко и непринуждённо. Но при больших объёмах получаются заметные тормоза, т.к. в ActveX каждая ячейка модифицируется в реальном времени. Интуитивно кажется, что вроде более рациональным было бы пойти по пути dxf, модифицировать спискок dxf-представления, а потом один раз entmod. Но там же чёрт ногу сломит. Пока разберёшся - крыша съедет. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Makswell, а разве кто-то мешает снимать регенерацию таблицы перед обработкой? RegenerateTableSuppressed в руки и вперед
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Можно. Используй
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Но на самом деле практически нельзя. Потому, что даже ведущие фирмы конкурируют и никто не хочет "ложиться" под Microsoft. Вот и живет он в .NET и WF. И даже Autodesk, которая легла и ножки задрала, хоть и объявила о когда-тошней поддержке XAML, всё равно "динамит". А как бы удобен был XAML вместо ублюдочного DCL. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Зависит от задач. Далеко не всегда оправдано применение xml для определения диалогов (особенно если разговор ведется про dcl).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
![]() |
Offtop: DCL может решать определенный круг задач. Если Вы знаете DCL и Ваша задача решается с помощью DCL - не слушайте никого.
Всё вышесказанное относится и к AutoLISP. Моё мнение - в теме жидается флуд т.к. само название темы к нему распологает |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Пользователей устраивает, потому что они пользуются, а не разрабатывают. Да и "слаще хрена" не видели. А теперь уже второй десяток 21 века пошел. Давно всё это делается визуальными конструкторами форм. И только у Autodesk "вижуализация" закончилась словом Visual для LISP. И примитивным набором "контролов". Кстати, сам конструктор, при использовании XAML мог бы быть и от любой другой среды, если уж у самих кишка тонка. Хотя это примерно уровень курсовой работы (в крайне случае - дипломного проекта). Вот потому я давно в DCL ничего не делаю. Цитата:
|
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
ShaggyDoc, ссылочку на что-нибудь попроще из XAML не подкинешь (типа учебничек или примерчики)? Одним глазком глянуть на сие чудо. А то в DCL немного разобрался, а про XAML первый раз слышу.
![]() Что касаемо Цитата:
![]() Так уже понятно, что от атавизмов типа DCL лучше избавляться в пользу визуальных средств программирования. ![]() Непонятно еще про смесь стилей - кашу, насколько это будет "резать глаза", если половина программы из командных команд (во загнул ![]() |
|||
![]() |
|
||||
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
![]() |
Опять же, на мой взгляд: автору профессионального приложения вообще незачем знать DCL. разработчику-любителю под AutoCAD необязательно знать кокой либо язык разметки, кроме DCL.
Цитата:
![]() На счет функциональных ограничений DCL: Недавно встретился с реализацией диалога на DCL(предположительно на DCL т.к. не знаю какой ещё диалог можно встроить в VLX), который написать в нем на мой взгляд просто невозможно. Чешу голову уже три дня и до сих пор не придумал даже мало-мальски разумной версии, как он сделан. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
![]() Для меня предпочтительнее ActiveX, но получается букаф много... Часто многие пользуются SendCommand ![]() |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
XML - способ хранения данных в файлах, универсальный и доступный любым программам. Очень удобен для обмена. XML можно и публиковать в Интернет, например. И он "сам" будет трансформироваться в удобный для человеческого чтения вид. Пример с этого же форума - RSS-лента http://dwg.ru/rss/rssforum13.xml. В разных браузерах может иметь немного отличающийся вид (зависит от умолчаний), но содержимое одно. |
|||
![]() |
|
||||
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
![]() |
Цитата:
При работе с диалогом у пользователя создаётся уверенность, что он может выбирать-удалять-добавлять различные графические элементы (прямоугольники, линии или что там ещё "нарисовано") в элементе image_button просто тыча в него мышью. Я всегда считал, что этого не может быть, потому что не может быть никогда. Перевел vlx в fas, раскомпилировал(не воровства для, а только любопытства ради), буду разбираться, что за чудеса. А может и не чудеса вовсе, а я просто туплю...? |
|||
![]() |
|
||||
Помогаю, кому делать нечего. Регистрация: 27.03.2009
Русская деревня
Сообщений: 394
|
А что тут особенного? Просто поиграйся функциями start_image, fill_image, slide_image и end_image.
fill_image затирает старое изображение а slide_image выводит новое. Цитата:
Последний раз редактировалось E-degtyarev, 30.06.2010 в 14:23. |
|||
![]() |
|
||||
Регистрация: 11.03.2009
Тюмень
Сообщений: 109
![]() |
Цитата:
Не понимаю, как с помошью перечисленных тобой функций (+ vector_image) система поймет куда именно (в какую точку) ткнул пользователь на image_button? Последний раз редактировалось Capiton, 30.06.2010 в 15:29. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я с помощью лиспа (хотя вся шутка в том, что как раз в автолиспе это "хреноватенько" реализованно, так сказать на зачаточном состоянии) пришел к пониманию прелести рекурсии и лямбда функций (не путать с mapcar'ом штука удобная, но это совсем не рекурсия). Понравиться этот стиль программирования или нет - вопрос вторичный - но как минимум понять его надо.
P.S. простой проверкой понял ты его или нет - ответь сам себе на вопрос - можешь ли ты написать (можно без графического оформления - просто логику) любую логическую игру - крестики-нолики (большие), шашки, шахматы, реверси - игру с практически неограниченным (по крайней мере многократно превышающим возможности современных ЭВМ) количеством вариантов ходов.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Проектирование заборов уже в прошлом Регистрация: 29.10.2009
Рязань
Сообщений: 2,089
|
В первом посте не наблюдаю слова "AutoCAD" (хотя намек на него). Я так понимаю, другие аспекты работы инженера тоже в счет?
![]() Тогда - с++ (стандартный стиль), использую для мини-программок, что-то вроде: - подсчета массы арматуры (вводятся строчки по три числа - диаметр, длина, кол-во стержней; строчки в файле, ярлык для файла на раб.столе). Хочу сделать расчет массы сеток, вводятся диаметр и длина х ширина в см. - Есть программа "балка_win32" (классика жанра - тренируемся на котятах, т.е. на балке на 2х опорах), но ввод/вывод в ней сделаны "на скорую руку", скоро буду переписывать на ввод/вывод из/в файл. - Разнообразные опыты по программированию "параметрических объектов" ![]() ![]() Последний раз редактировалось Meknotek, 01.07.2010 в 14:29. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Вопрос, скорее всего к ShaggyDoc:
каким образом применить XML вместо DCL для создания диалогового окна? С чего начать? Есть какой-нибудь примерчик? Meknotek, а как связываются Автокад и С++? Или у тебя просто это разные проги для разных задач? |
|||
![]() |
|
||||
это только кличка Регистрация: 22.10.2006
Москва
Сообщений: 252
|
Из готовых решений - WPF от Микрософт. Использует язык XAML для разметки пользовательского интерфейса. Но для этого необходимо знать основы .NET, один из языков программирования .NET, саму библиотеку классов WPF и иметь навыки создания .NET приложений под AutoCAD.
__________________
...в шее моей жилы железные, и лоб мой - медный... |
|||
![]() |
|
||||
Проектирование заборов уже в прошлом Регистрация: 29.10.2009
Рязань
Сообщений: 2,089
|
Цитата:
![]() |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Набрав в Google "Диалоговые окна XAML" найдете множество примеров. Но самому начинать не надо. Любая спецификация языка мертва, пока она не будет реализована в системе программирования. В LISP используется только DCL, так что экспериментировать бесполезно. И ни на какой иной язык описания интерфейсов, похоже, переходить не собираются. Хотя обещания были. Но если очень хочется начать - надо работать в .NET. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
ShaggyDoc, то есть для несложных задач пока нет альтернативы DCL и вряд ли будет? За ссылки спасибо, посмотрел.
Почему вообще встал такой вопрос по стилям программирования, скорее всего, потому что интересно стало, на что следует обратить внимание в первую очередь. Понятно, что все имеет свои плюсы и минусы, спорить можно бесконечно. Порой остановиться на чем - нибудь одном невозможно. Вот и хотелось бы "вкратце понять", какие есть конкретно, скажем, для меня,( уже не чайника, но еще и не самовара ![]() Осталось выяснить, когда предпочтительнее использовать АктивЫ-Х и почему. Offtop: Очень жаль, что XML не поможет с окошками, скажу честно, понравились. Может быть удастся хотя бы как базу данных для примитивов использовать. |
|||
![]() |
|
||||
Цитата:
Цитата:
|
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Цитата:
А вот использовать XML для хранения данных можно и нужно. Только с умом. К сожалению, конкурирующие фирмы и здесь два способа описания данных умудрились сделать ![]() Вот, например, XML для описания таблицы: Код:
Здесь просто заготовка, но строки и колонки могут быть заполнены данными и вновь сохранены в XML - а это уже настоящая локальная база данных. Из этой же таблицы данные можно отображать и в окне браузера, в "человеко-читаемом" виде - если дополнить еще одной строчкой. Да, в XML можно описать диалоговое окно и какой-то программой на основании описанных в XML-правил, сгенерировать DCL-файл. Но вряд ли это стоит реально делать. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Код:
Цитата:
В этом случае делается своя dll с COM-сервером и из LISP обращение происходит к нему. На LISP также придется немало поработать. Например, для рисования таблиц у меня набралось 18 функций. Но само чтение данных при наличии библиотечных функций происходит достаточно просто: Код:
Код:
|
|||
![]() |
|
||||
Цитата:
Если говорить применительно к .NET (это я для общей информации тем, кто на .Net не пишет, но задумывается об этом), то работать с XML очень просто. Причём в разрезе рассматриваемой задачи можно использовать два способа работы: 1. Использовать LINQ to XML - простая, но самая мощная на данный момент времени .Net-технология, позволяющая работать с XML-данными почти как с базой данных (в том смысле что доступны многие операции подобные тем, которые обычно производятся в СУБД). Немаловажно, что данный парсер работает весьма шустро. 2. Использовать сериализацию в XML - это самый лучший вариант для рассматриваемых в топике примеров. Код получается очень лаконичным и не нужно ничего вручную парсить. Последний раз редактировалось hwd, 07.07.2010 в 08:44. |
||||
![]() |
|
||||
Цитата:
Google существует не просто так. Ответы на задаваемые вами вопросы легко находятся, если хотя бы попытаться найти их (тынц и тынц). Если вы и в дальнейшем будете сидеть и ждать, когда вам разжуют и положат в рот - результаты такого "взаимодействия" будут хреновыми (ИМХО). Не ленитесь искать самостоятельно ответы, прежде чем задавать вопросы на форуме. Иначе вы только настраиваете против себя и в тот момент, когда вам действительно будет нужна помощь, вас могут проигнорировать просто по инерции, решив, что раз топик создан вами, то в него можно не заглядывать, поскольку вопросы обусловлены ленью открыть поисковик. Последний раз редактировалось hwd, 07.07.2010 в 11:05. |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Последний раз отвечаю: Цитата:
Элементы могут образовывать дерево, тогда у каждого "листика" этого дерева будет свой путь. Прочитав листик (элемент) можно получить и значения атрибута по имени и значение самого элемента. В XML, приведенном в #38 есть элемент: Код:
"Изделия закладные, кг" это, очевидно, текст в ячейке заголовке таблицы. Это понятно любому неботанику и легко может быть извленчено парсером. В другом примере из #40 есть строка Код:
Прочитать значение атрибута я могу функцией ru-xml-storage-read-string Хоть из своего файла, хоть из чужого. И значение тоже могу прочитать. Если бы это было не описание таблицы AutoCAD, а описание диалогового окна на каком-то валидном и well-formatted XML (независимо от названия) - можно было бы и прочитать занчения всех параметров диалогового окна и его элементов. Но зачем это надо? Вот если бы AutoLISP умел по переданному в памяти списку данных сформировать диалоговое окно - в этом мог бы быть смысл. Но этого он не умееет, а умеет только считывать в память DCL-файлы. Да и оттуда умеет строить только самый примитивный набор "контролов". А другие системы умеют - в той же .NET. Но зато они не умеют ни DCL прочитать, ни например, DFM-файл Delphi. А в нем, по сути, находится та же информация, только иначе оформленная. До унификации описаний диалогов в мире еще не дошли. Технических препятствий нет - одна "техническая политика", когда ради шкурных интересов плюют на интересы потребителей. Вот и строим "вавилонскую башню" не умея между собой общаться. |
|||
![]() |
|
||||
Цитата:
В некотором смысле унификацией можно считать XML (если бы его не было - вот это было бы действительно хреново). Работа с конкретными его диалектами - дело не сложное. Меня очень расстроил тот факт, что в Mono решили не реализовывать аналогию WPF, а ведь было бы очень удобно... |
||||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Offtop: Прошу прощения у уважаемых форумчан, действительно, банальная лень может служить огромной преградой по пути к цели. Впредь обязуюсь по пустякам не беспокоить
![]() Из всей огромной имеющейся литературы так трудно найти несколько важных моментов, что легче становиться спросить ... и получить по "шапке" ![]() За советы спасибо, за терпение - два спасиба и стакан и огурчик впридачу ![]() ![]() |
|||
![]() |