|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Этот - да, гостевая книга как отдельный вид искусства. А подобные персонажи и здесь во всех смыслах периодически всплывают, тот же Кудахтыч. Обострения сезонные или день открытых дверей.
__________________
На работе было скучно:shout: Последний раз редактировалось ciril, 26.03.2020 в 19:22. |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Цитата:
Все таки замахнуться на написания языка программирования это надо иметь за спиной хорошие проекты. Цитата:
|
|||
|
||||
Регистрация: 02.10.2016
Сообщений: 205
|
чем вам РЯП не нравится? )))
https://m.habr.com/ru/post/490384/ - РЯП. или КуМир? https://www.niisi.ru/kumir/ ----- добавлено через 53 сек. ----- Всё уже изобретено до нас... ----- добавлено через ~8 мин. ----- чем вам Кудахтыч не угодил? парень просто хочет написать свою систему автоматизированого проектирования и это его право. видимо автокад уже не удовлетворяет его запросы. ----- добавлено через ~12 мин. ----- и снова тема свелась к обсужденю яп. хотя парень изначально про лицензирование спрашивал. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
И до РЯП и КуМир-а...
У фирмы Borland была программа Eureka (еще на самых первых PC), еще задолго дом всяких "маткадов". Там на практически естественном языке, просто в текстовом файле описывались задачи типа Цитата:
Цитата:
|
|||
|
||||
Регистрация: 18.11.2019
Сообщений: 1,521
|
Цитата:
С лицензией мы разобрались выше. Но остались нерешенные задачи. Из нерешенных задач осталась организация взаимодействия с другими языками - лиспом, C#, питоном, дельфи и т.д. Чуть позже создам тему "Как из Objectarx/.Net вызвать функцию, написанную на лисп и передать в нее параметры", я пока не знаю, как это сделать. Я имел ввиду сам способ описания документов Mathcad, там есть циклы, функции и т.д. Т.е. это все можно тоже назвать языком. |
|||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Почему не нравится, прекрасный пример клинического идиотизма автора, начало поста по ссылке, а именно: "Начал разработку русского языка программирования." характерное.
Он вне обсуждения, мы все, конечно, учимся, но не настолько же Цитата:
Не парься, выложи небольшой кусок кода, который сам по себе ничего не делает, чисто на посмотреть. Спереть, никто не сопрет - нечего, а большего позора, чем после ряда высказываний, тебя уже не ждёт. Выложи.
__________________
На работе было скучно:shout: |
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874
|
Глупо придумывать новый язык, в котором будет все то же самое, только слова русские. А язык, максимально близкий к предметной области, нужен всегда - это вообще уже давно должно быть стандартом для всех более-менее приличных программ с автоматизацией.
В Автокаде лиспом с его "(абыр (кадыр (дырдыр)))" пользуются от безысходности, а не от того, что автор языка - гений всех времен и народов, а все кругом идиоты. Куча расчетов в разделе download для Excel есть потому, что формулы - это как раз родной язык для вычисления в таблицах. А программировался бы Excel на ассемблере, как положено у чотких программистов - не было бы загрузок, а были бы одни ссаные тряпки в комментах. Мой скрипт по экспорту расчетных схем был написан только потому, что JavaScript в нанокаде тупо воспроизводит действия пользователя, которые я знаю. И запись "Drawing.ModelSpace.AddCircle()" - ровно то, что должно быть в нормальной автоматизации. Я знаю, что справлюсь с MultiCAD.NET, но у меня нет времени изучать тамошние библиотеки, и писать в 5 раз более многословные программы. Потому пользовательский скрипт у меня есть, а NET-экспортера нет и не будет, хотя это вообще первое, что пришло в голову, когда я искал, как передавать геометрию на расчет. Так что затея дать пользователям Аквтокад простой инструмент для создания объектов - она просто очевидная, и должна была быть реализована много лет назад самим Автодеском. И смеяться тут надо как раз над тем, что этого не было сделано раньше. Вот тут, например, смешно. |
|||
|
||||
САПР Регистрация: 29.09.2011
СПб
Сообщений: 283
|
Цитата:
Во-первых, Маккарти если и не был гением, то был весьма к этому близок, во-вторых, из применяемых языков высокого уровня, старше Лиспa только Фортран, что, как мне кажется, говорит о его достоинствах. И насчет безысходности тоже зря, гибкости и выразительности Акадовского диалекта Лиспа вполне достаточно для быстрого решения большинства задач. Цитата:
Цитата:
----- добавлено через ~5 мин. ----- Лично я смеюсь отнюдь не над намерениями что-то сделать.
__________________
На работе было скучно:shout: |
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Цитата:
----- добавлено через ~2 мин. ----- nickname2019 - я надеюсь Ваш ЯП будет похож на привычные языки Паскаль, С++, VB. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Offtop: Очередной холивар на ровном месте...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
оставьте надежду - там свой путь) Ну если есть у человека время и желание - почему бы и нет.. может даже в википендию внесут со временем)
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874
|
Сделавший то, до чего раньше не додумались - это и есть гений. Синтаксис языка из двух скобок и команды - однозначно гениальный ход. Даже бесполезный брайнфак - и то сложнее. Но проблема лиспа не в этом. Он не соответствует тому, что делает пользователь. И, чтобы им пользоватся, надо помнить абсолютно посторонние вещи, типа "что значит этот ваш CDR" или "какой DXF-код у первой точки отрезка". Какое отношение это имеет к простому действию "начертить отрезок"?
Если человек вместо решения своих задач убивает время на заучивание посторонних идей - значит, он связался с сектой. Вот я пользователь. Мне не нужно программирование. Мне нужно автоматизировать какие-то действия. Например, нужны расчеты по формуле. Очевидно, лучшее решение - набрать формулу и получить ответ. Именно это Excel и дает, без советов "сначала выучи, что такое простраство имен, подключаемая библиотека, класс, метод, шаблон, исключение, база данных, транзакция, и через десять лет упорных тренировок сможешь автоматически умножить два на два". Пользовательский инструмент нужен для простых задач. Если задача настолько сложна, что не решается этим инструментом, то ее должен решать программист, а не пользователь. Блоки - это как раз оно. И динамические блоки, потому что обычные слабоваты. И параметрические, потому что динамические блоки формулы не тянут. И палитры тоже. И макросы. И семейства в Ревите. И пользовательские объекты в СПДС. Только в самой известной чертежной программе ...дцать лет прямо на этом форуме регулярно всплывает вопрос "как приделать пользовательские свойства к линии, и превратить ее в арматуру, или в кабель". И всегда дается один и тот же ответ - иди странствуй восемь лет учи ObjectARX. Так что удастся затея - будут не вопросы на форуме, а готовые объекты на 100 страницах, как в других приличных темах. Достаточно знать одному из двадцати. Моими самодельными панелями пользовались две конструкторские группы. Но, чем сложнее инструмент, тем меньший процент сможет им пользоваться. Достаточно посмотреть, сколько добра лежит в темах про пользовательские блоки, и сколько - в темах по ObjectARX. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
А тут и свой ЯП не нужен - все уже придумано. Если надо, чтобы пользователь сам мог создавать какие угодно вычислительные операции, процедуры или функции - достаточно в проект на Delphi включить модули JvInterpreter, JvInterpreterFm, JvHLParser, JvHLEditor из бесплатной библиотеки JEDI с открытым кодом.
Пользователь может писать любые PAS-файлы (конечно по правилам) и выбранный будет выполняться в программе, как если бы код там был написан. Ну а Паскалю-то до сих пор и в "ПТУ" обучают. ----- добавлено через ~17 мин. ----- Цитата:
Надо знать, что есть функция command, которой передается знакомое пользователю имя команды Автокада и, последовательно, то, что этак команда Автокада ожидает. Например последовательность координат точек, так, как инженер их и вводит. Именно благодаря наличию command обычные инженеры и наделали для Автокада множество собственных программ. Но есть варианты и для инженеров, "знающих толк в извращениях". Например тот же отрезок можно создать функцией entmake. Вот для нее над знать DXF-коды. Она будет работать чуть быстрее. Но есть еще и объектные методы. Они введены для еще большей быстроты. Добавить отрезок можно функцией vla-addline. Тут уже несколько сложнее и не по-лисповски, а по "vba-шному". И это только в Автолисп, а еще есть и другие системы. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
сперва на энное количество страниц - почему работает не так как ожидалось) Ну в том же Ревит создали семейства, или как они там называются.. где сотни страниц готовых объектов под него на форуме? У нас сформировалось общество потребителей, ожидающих готовое и чтобы им все при этом разжевали как пользоваться - чтобы голову не включать по возможности.. И, естественно, желательно на халяву или за те гроши - за которые сами бы не пошевелились что-то делать...
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874
|
Цитата:
А какой смысл вызывать бейсик через лисп? Чтобы выучить два языка по цене одного? Любой инженер умеет писать формулы. Любой инженер читает нормы с простейшими "программами" на естественном языке, типа "если диаметр сваи больше 0.8м, условную ширину принимать 1.5d+0.5". Любой инженер знает, что такое точка или линия. И программа на том самом бейсике для него читается почти так же, как текст свода правил. IF d > 0.8 THEN bp = 1.5 * d + 0.5. ModelSpace.AddLine p1, p2 Разве что в бейсике не хватало доступа к геометрической библиотеке. А лисп - это даже не костыль, а костыль на костыле, который сам от костыля костыль. И LISP, и C#, и C++ предполагают, что программист почему-то работает инженером. Неожиданно он находит в Автокаде знакомый язык программирования, и начинает на нем велосипедить. Решение систем уравнений на лиспе - легко! Матричная арифметика с нуля за 21 день - легко! Своя библиотека векторной алгебры - запросто! Нормальный язык автоматизации должен давать доступ к функциям программы, в максимально простом виде. А еще лучше - и к инженерным функциям, типа интерполяции, матриц, геометрический вычислений и т.п. встроенными средствами. Тогда он "пользовательский", а не "программистский". Цитата:
Если два разных пользователя создают два семейства, нажимая в точности те же самые кнопки - получатся две одинаковых, но несовместимых друг с другом версии. Чужое семейство не будет работать в проекте без переделки параметров для спецификаций. Автокадовскими блоками можно просто меняться, а Ревитовскими семействами - нет. Нельзя создавать параметры длины с отрицательными значениями. Что сказал бы программист про язык, в котором отрицательных чисел нет, а нужно имитировать, что есть? А про ООП-язык, в котором наследование от каждого пятого класса запрещено в случайном порядке (как в ревите, где нельзя создавать свои стены, лестницы и арматуру)? Что это - лучший язык? И что тот, кто спрашивает "а какого, собственно?" - просто не хочет работать? Что при работе в лиспе, что при работе в ревите, бОльшая часть усилий уходит не на выполнение основной работы, а на решение идиотских побочных ребусов. Вот с бейсиком такого эффекта не было. Не, не так. Рыба, бОльшая часть которой несъедобна, называется тухлой. Горная порода, не содержащая достаточного количества полезных ископаемых - пустая. Языку программирования, состоящему на 90% из не относящегося к делу хлама, тоже можно подобрать разные эпитеты. Программистский способ создания объектов в автокаде есть, а пользовательского нет. Разница - в трудозатратах на полезную единицу. У программиста она одна, у пользователя другая. Программисты должны программировать по-большому, а инженеры - по-маленькому. |
|||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Никакой "бейсик" из Lisp не вызывается, там используется объектная модель, для которой в Справке фирма зачем-то написала все примеры на VBA. Уоторый потом сама же и кинула, набаловавшись. Что касается применения Lisp вообще, так это вообще другая "религия", непонятная для тех, кто слаще морковки ничего не едал. Lisp - это язык обработки списков, которыми как раз и пронизан Автокад. В свое время очень правильный был выбор - строчка на Lisp только из штатных базовых функций делает то, что на других языках надо описывать десятком страниц кода. Вот пример шедевра: Код:
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
как уже вроде говорили ранее на форуме - рассматривать следует ревит скорее как тест-площадку для отработки технологий интеллектуального проектирования.. ну и попутно с присущим им прагматизмом стараются отбить вложенную денюжку. Поэтому проблемы с переносом данных, с несовместимостью версий и т.п. - так как идет поиск решений, а не доработка продукта на одном и том же программном ядре.
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,874
|
Я не просто не разбираюсь, я сознательно не разбираюсь. Я листал справку по автокаду, видел примеры для разных языков, и лисп из списка интересов вычеркнул.
Объектная модель достаточно близко соответствует восприятию программы с точки зрения пользователя. А VBA позволяет записывать ее проще и короче других. Для меня выбор просто очевиден. Другой выбор возможен только для того, кто уже знает другой язык, причем гораздо лучше, чем VB. Сейчас я вообще сижу в нанокаде, и там ближайшее соответствие - JavaScript с доступом через ту же самую объектную модель, разве что редактирование и отладка не так удобны. Цитата:
Очевидно, велосипед делает. Причем из запчастей, из которых для инженера, не учившего лисп, знакома только "transpose". Почему автоматизация в инженерной программе с сорокалетней историей не имеет встроенных средств инженерных расчетов - загадка. Если это транспонирование матрицы, то наилучшее решение должно быть таким: . Так оно сделано в каком-нибудь Маткаде. Соглашусь с версиями M.Transp() или Transp(M) - для тех, кто предпочитает набор с клавиатуры. А если отвечать на вопрос "как транспонировать матрицу" предложениями "сначала разоберись, как работает apply - так в лиспе принято", "научись использовать экранирование" и т.п. - результат будет один: никаких пользовательских дополнений в массовом количестве не появится. Еще раз, без шуток и подколок: у пользователя другие требования к языку. Потому и популярны Эксель с Маткадом, а не шарпы с ассемблерами. Пользователь, решающий на работе задачи, в которых нужны языки-тяжеловесы, занимается не своим делом. И затея автора темы совершенно правильная, чем больше простых и удобных инструментов для работы, тем легче работается. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,049
|
Цитата:
----- добавлено через ~4 мин. ----- Цитата:
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опрос. Какой язык программирования для автокада лучше. | proektant-minsk | Программирование | 17 | 18.03.2020 19:42 |
Фундамент на площадке с уклоном. Какой лучше? | Юлия Серенко | Основания и фундаменты | 28 | 29.09.2014 13:10 |
Какой вариант шарнирного узла балки лучше с т.з. технологичности изготовления на заводе | Metkon | Металлические конструкции | 4 | 26.03.2014 13:19 |
Какой лучше фундамент выбрать для типового павильона? Какой тип фундамента более универсален? | ольга сычикова | Основания и фундаменты | 8 | 02.02.2011 12:58 |
Какой бетон лучше принять? | WeeLL | Железобетонные конструкции | 7 | 03.01.2009 23:14 |