На лиспе можно простенькие программы создавать, на сишарп по сложнее, есть поддержка объектно ориентированного подхода. --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 --- Сильно не владею информацией, но думаю в C#, как и в Java,должна быть поддержка контейнеров,то есть коллекций объектов.Обьектами могут выступать например геодезические точки(набор точек может быть полилинией), имеющие имена, координаты, коды и другие переменные(поля).Контейнеры позволяют производить различные операции с объектами, например отсортировать по имени, вставить, удалить объект в контейнер и т.д.
Наиболее прост это безусловно AutoLisp, да это даже по сути не язык программирования а инструмент для инженеров. Но чего-то гениального на нём не напишешь, хотя я стараюсь Писать какие-то простые приложения на AutoLisp сможет практически любой инженер. Самый перспективный это .NET писать там можно хоть на VBA, хоть на С++ но родной язык для .NET это всё таки С# но для написания приложений на .NET уже необходимо быть не просто инженером, а программистом, а это к сожалению не всем дано. Лично я уже много лет пытаюсь начать осваивать .NET но всё безрезультатно
В 1994 пытался изучать AutoCAD Lisp, элементарные формулы превращаются в головную боль, без пол-литра не прочитаешь. Вот так например выглядит сложение четырёх чисел Код: (+ 1 2 3 4) Представьте как выглядел перевод из одной системы координат в другой... В EXCEL и 1C это сделать проще )) Из запомнившегося - LISP был (есть) хорош поддержкой списков и переменным числом аргументов, за прошедшие четверть века они появились во всех языках ООП. Забросил я его через пару недель т.к. это не программирование, а не пойми что, очень специфичный язык. Меня сложно было чем-то удивить, языки программирования изучал со школы, но Lisp побил все рекорды по нечитаемости. Учитывая что больших задач тогда не стояло - я спокойно дожил до поддержки VBA. В современных терминах это скриптовый язык, который относительно просто организует интерактив с пользователем типа "введите первую точку" и вы вводите координаты курсором, потом "вторую точку" и между ними выполняете какую-то команду Автокада. На этом все достоинства заканчиваются. PS: впоследствии немного писал под Автокад на VBA - небо и земля. PPS: кому интересно, поиском нашел простенький пример с объяснениями, посчитать сумму отрезков https://acad-prog.ru/primer-autolisp-programmy-summa-dlin-otrezkov/ Он действительно простенький т.к. для вычисления длины отрезка используется встроенная функция. Для полноты картины можно попросить опытных разработчиков написать на Lisp формулу Код: SQRT((x1-x2)^2+(y1-y2)^2)
Нет, это не стёб, я же говорю попробуйте развернуть на LISP выражение Код: SQRT((x1-x2)^2+(y1-y2)^2) Я писал на VBA, всё устраивало. Сейчас наверное C# лучше. AutoLISP жив для преемственности, потому-что под него написано много кода, но это не значит что надо продолжать мучиться.
(expt (+ (expt (- x1 x2) 2) (expt(- y1 y2) 2)) 0.5) Clojure — современный диалект Лиспа, Появился в 2007 lisp есть даже в python'е lisp на Android и даже можно выполнять зависит от задаче, но C# лучше
Ну я честно говоря не силен в языках программирования последний раз в университете изучал ... но хотел бы изучить. Так что спасибо за совет. У меня батя на Си пишет программы, так что будет у кого спросить. Программу построения профиля... как я уже писал ....
C# без условно проще.В основном все происходит на уровне объектов, условно говоря, что то в роде виртуальных моделей аналогов реального мира.К примеру нужно создать аналог забора в виде условного знака(упростим пусть это будет просто полилиния), нужно просто создать шаблон в виде кода, который называется класс.В случае с полилинией, ее шаблон может состоять из более простых(агрегация) объектов-точек, те в свою очередь могут состоять из строковых объектов, внутри классов они могут быть объеденны с помощью массивов или коллекций. Допустим нам нужно создать полилинию, у нас есть готовый шаблон-класс делаем так: Полилиния мояПерваяВжизниполилиния = Новая Полилиния(аргумент в виде массива точек или контейнера с точечными объектами) ; У каждого объекта есть свои методы, допустим он может выводить в командную строку все точки полилинии или нарисовать ее на экране, для этого можно поступить так: мояПерваяВжизниполилиния . нарисоватьМоюПолилинию(здесь опять могут быть различные параметры, например в хорошем качестве, или синим цветом или без ничего, тоесть будет рисовать по умолчанию). --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 --- Си мало поможет в освоении С#, синтаксис похож, но принципы применяемые для построения программ в корне отличаются, хотя есть и схожие моменты.Например работа с памятью, С не использует объектно ориентированный подход, за этим скрывается более глубокий смысл чем кажется.
да --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 --- код в lisp плохо читается, через неделю трудно понять что писал и тем более как это улучшить.
да, пожалуй, но факт плохой читаемости кода это не отменяет, я поставлю это на первое место просто из практических соображений
хороший выбор, тем более C# - мультипарадигмальный язык, уже в ранних версиях появились лямбда-выражения и LINQ