Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти
Майки от BearDyugin shop ;)
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Доброго времени суток всем. Отключена личная переписка для только что зарегистрированных, в связи с массовой регистрацией СПАМ-ботов и рассылками. Форумчане, настоятельно просим, не переходите по ссылкам в личных переписках от женщин с «низкой социальной ответственностью», в т.ч. «перечисляющих» Вам деньги.
    Скрыть объявление

Программирование в геодезии

Тема в разделе "Общие вопросы", создана пользователем Alexyz, 11 май 2009.

  1. zeon111

    Форумчанин

    Регистрация:
    19 сен 2012
    Сообщения:
    262
    Симпатии:
    116
    Но вы то на С программируете или Pascal...? Возможно?
    А вот уже разделение. Lisp, C#.
     
    #61
  2. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.489
    Симпатии:
    386
    Адрес:
    gnomtrir@mail.ru
    на C# писать проще и быстрее, а при необходимости можно вызывать методы из C++
     
    #62
  3. igor kruchkovskiy

    Форумчанин Форумчанин

    Регистрация:
    10 июн 2012
    Сообщения:
    1.791
    Симпатии:
    897
    Адрес:
    Астрахань
    На лиспе можно простенькие программы создавать, на сишарп по сложнее, есть поддержка объектно ориентированного подхода.
    --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 ---
    Сильно не владею информацией, но думаю в C#, как и в Java,должна быть поддержка контейнеров,то есть коллекций объектов.Обьектами могут выступать например геодезические точки(набор точек может быть полилинией), имеющие имена, координаты, коды и другие переменные(поля).Контейнеры позволяют производить различные операции с объектами, например отсортировать по имени, вставить, удалить объект в контейнер и т.д.
     
    #63
    zeon111 нравится это.
  4. BearDyugin

    BearDyugin Модератор
    Форумчанин Форумчанин

    Регистрация:
    30 ноя 2007
    Сообщения:
    2.134
    Симпатии:
    1.331
    Адрес:
    Сибирь
    Наиболее прост это безусловно AutoLisp, да это даже по сути не язык программирования а инструмент для инженеров. Но чего-то гениального на нём не напишешь, хотя я стараюсь ::biggrin24.gif:: Писать какие-то простые приложения на AutoLisp сможет практически любой инженер.
    Самый перспективный это .NET писать там можно хоть на VBA, хоть на С++ но родной язык для .NET это всё таки С# но для написания приложений на .NET уже необходимо быть не просто инженером, а программистом, а это к сожалению не всем дано. Лично я уже много лет пытаюсь начать осваивать .NET но всё безрезультатно ::sad24.gif::
     
    #64
    Alex_Shaton и zeon111 нравится это.
  5. chnav

    Форумчанин Форумчанин

    Регистрация:
    5 янв 2011
    Сообщения:
    658
    Симпатии:
    595
    Адрес:
    Москва
    В 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)
     
    #65
  6. zeon111

    Форумчанин

    Регистрация:
    19 сен 2012
    Сообщения:
    262
    Симпатии:
    116
    Это стеб? Что сложного?
    Так какой язык программирования для программ под Автокад вы считаете лучше?
     
    #66
  7. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.489
    Симпатии:
    386
    Адрес:
    gnomtrir@mail.ru
    вы просто не умеете его готовить - сейчас всякие его диалекты очень популярны ;=)
     
    #67
  8. chnav

    Форумчанин Форумчанин

    Регистрация:
    5 янв 2011
    Сообщения:
    658
    Симпатии:
    595
    Адрес:
    Москва
    Нет, это не стёб, я же говорю попробуйте развернуть на LISP выражение
    Код:
    SQRT((x1-x2)^2+(y1-y2)^2)
    Я писал на VBA, всё устраивало. Сейчас наверное C# лучше.

    AutoLISP жив для преемственности, потому-что под него написано много кода, но это не значит что надо продолжать мучиться.
     
    #68
  9. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.489
    Симпатии:
    386
    Адрес:
    gnomtrir@mail.ru
    (expt (+ (expt (- x1 x2) 2) (expt(- y1 y2) 2)) 0.5)

    Clojure — современный диалект Лиспа, Появился в 2007
    lisp есть даже в python'е
    lisp на Android
    и даже можно выполнять

    зависит от задаче, но C# лучше
     
    #69
    chnav нравится это.
  10. zeon111

    Форумчанин

    Регистрация:
    19 сен 2012
    Сообщения:
    262
    Симпатии:
    116
    Ну я честно говоря не силен в языках программирования последний раз в университете изучал ... но хотел бы изучить.
    Так что спасибо за совет. У меня батя на Си пишет программы, так что будет у кого спросить.
    Программу построения профиля... как я уже писал ....
     
    #70
  11. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.489
    Симпатии:
    386
    Адрес:
    gnomtrir@mail.ru
    так Civil 3D же есть - зачем велосипед изобретать?
     
    #71
  12. igor kruchkovskiy

    Форумчанин Форумчанин

    Регистрация:
    10 июн 2012
    Сообщения:
    1.791
    Симпатии:
    897
    Адрес:
    Астрахань
    C# без условно проще.В основном все происходит на уровне объектов, условно говоря, что то в роде виртуальных моделей аналогов реального мира.К примеру нужно создать аналог забора в виде условного знака(упростим пусть это будет просто полилиния), нужно просто создать шаблон в виде кода, который называется класс.В случае с полилинией, ее шаблон может состоять из более простых(агрегация) объектов-точек, те в свою очередь могут состоять из строковых объектов, внутри классов они могут быть объеденны с помощью массивов или коллекций. Допустим нам нужно создать полилинию, у нас есть готовый шаблон-класс делаем так:

    Полилиния мояПерваяВжизниполилиния = Новая Полилиния(аргумент в виде массива точек или контейнера с точечными объектами) ;

    У каждого объекта есть свои методы, допустим он может выводить в командную строку все точки полилинии или нарисовать ее на экране, для этого можно поступить так:

    мояПерваяВжизниполилиния . нарисоватьМоюПолилинию(здесь опять могут быть различные параметры, например в хорошем качестве, или синим цветом или без ничего, тоесть будет рисовать по умолчанию).
    --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 ---
    Си мало поможет в освоении С#, синтаксис похож, но принципы применяемые для построения программ в корне отличаются, хотя есть и схожие моменты.Например работа с памятью, С не использует объектно ориентированный подход, за этим скрывается более глубокий смысл чем кажется.
     
    #72
    zeon111 нравится это.
  13. MaxKal

    Форумчанин Форумчанин

    Регистрация:
    17 окт 2014
    Сообщения:
    95
    Симпатии:
    125
    да
    --- Сообщения объединены, 29 ноя 2017, Оригинальное время сообщения: 29 ноя 2017 ---
    код в lisp плохо читается, через неделю трудно понять что писал и тем более как это улучшить.
     
    #73
    zeon111 нравится это.
  14. trir

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.489
    Симпатии:
    386
    Адрес:
    gnomtrir@mail.ru
    вы просто плохо его курили
     
    #74
    stout нравится это.
  15. MaxKal

    Форумчанин Форумчанин

    Регистрация:
    17 окт 2014
    Сообщения:
    95
    Симпатии:
    125
    да, пожалуй, но факт плохой читаемости кода это не отменяет, я поставлю это на первое место просто из практических соображений
     
    #75
    zeon111 нравится это.
  16. ИЛЮХАA

    Форумчанин

    Регистрация:
    8 сен 2014
    Сообщения:
    426
    Симпатии:
    254
    Адрес:
    Москва
    Лисп - функциональщина ж, арифметические операции - обычные функции ::tongue24.gif::
     
    #76
    stout нравится это.
  17. zeon111

    Форумчанин

    Регистрация:
    19 сен 2012
    Сообщения:
    262
    Симпатии:
    116
    спасибо всем... значит C#
     
    #77
  18. MaxKal

    Форумчанин Форумчанин

    Регистрация:
    17 окт 2014
    Сообщения:
    95
    Симпатии:
    125
    хороший выбор, тем более C# - мультипарадигмальный язык, уже в ранних версиях появились лямбда-выражения и LINQ
     
    #78
    stout нравится это.
  19. stout

    Форумчанин Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    3.221
    Симпатии:
    8.280
    Адрес:
    Златоглавая и Белокаменная
    Прошу в приличном обществе не выражаться, понимаешь…
     
    #79
  20. ИЛЮХАA

    Форумчанин

    Регистрация:
    8 сен 2014
    Сообщения:
    426
    Симпатии:
    254
    Адрес:
    Москва
    Оффтоп
    Не совсем уж в ранней, с 3.0
     
    #80

Поделиться этой страницей

Rambler's Top100 Рейтинг@Mail.ru Надёжный хостинг от HTS.ru

Реклама на ГЕОДЕЗИСТ.РУ