Разработка приложения на Lisp

Автор Тема: Разработка приложения на Lisp  (Прочитано 4432 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Андрей1986Автор темы

  • ADN OPEN
  • **
  • Сообщений: 69
  • Карма: 1
Народ, сколько может стоить работа программиста для разработки приложения на 50-100 строк?

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Разработка приложения на Lisp
« Ответ #1 : 09-08-2017, 20:05:51 »
Андрей1986, ты не поверишь - но любую программу на lisp можно записать в одну строчку. И это не будет криминалом.
Точно так же любую программу можно заформатировать так, что там будет 100500 строк.

Задачу освети - а там уже и можно будет думать. Или не думать ;)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Андрей1986Автор темы

  • ADN OPEN
  • **
  • Сообщений: 69
  • Карма: 1
Re: Разработка приложения на Lisp
« Ответ #2 : 09-08-2017, 21:44:26 »
Алексей, ну понимаю я такое бы написал.
Но чтобы рыцари такое писали. ;).
А как же принципы хорошего кода: "Все, что можно отделить и назвать — должно быть отделено и названо."

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Разработка приложения на Lisp
« Ответ #3 : 09-08-2017, 21:54:33 »
Для иллюстрации, код взят из http://www.theswamp.org/index.php?topic=26953.msg324794#msg324794
Два варианта форматирования:
Код - Auto/Visual Lisp [Выбрать]
  1. (defun rjp-outlookmessage (to subject attachmentlist body send / objmail objol)
  2.   (if (and (setq objol (vlax-get-or-create-object "Outlook.Application"))
  3.            (setq objmail (vlax-invoke-method objol 'createitem 0))
  4.            ) ;_ end of and
  5.     (progn (vlax-put objmail 'to to)
  6.            (vlax-put objmail 'subject subject)
  7.            (vlax-put objmail 'body body)
  8.            (foreach file attachmentlist
  9.              (vl-catch-all-apply 'vlax-invoke (list (vlax-get objmail 'attachments) 'add file))
  10.              ) ;_ end of foreach
  11.            (if send
  12.              (vlax-invoke objmail 'send)
  13.              (vlax-invoke objmail 'display :vlax-true)
  14.              ) ;_ end of if
  15.            (vlax-release-object objol)
  16.            (vlax-release-object objmail)
  17.            ) ;_ end of progn
  18.     ) ;_ end of if
  19.   (princ)
  20.   ) ;_ end of defun
20 строк.
Теперь часть 2:
Код - Auto/Visual Lisp [Выбрать]
  1. (defun rjp-outlookmessage (to subject attachmentlist body send / objmail objol) (if (and (setq objol (vlax-get-or-create-object "Outlook.Application")) (setq objmail (vlax-invoke-method objol 'createitem 0))) (progn (vlax-put objmail 'to to) (vlax-put objmail 'subject subject) (vlax-put objmail 'body body) (foreach file attachmentlist (vl-catch-all-apply 'vlax-invoke (list (vlax-get objmail 'attachments) 'add file))) (if send (vlax-invoke objmail 'send) (vlax-invoke objmail 'display :vlax-true)) (vlax-release-object objol) (vlax-release-object objmail))) (princ))
1 строка. А код одинаковый - просто форматирование разное. Работать должны оба :)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Разработка приложения на Lisp
« Ответ #4 : 09-08-2017, 21:55:18 »
Поэтому при разработке в lisp говорить о количестве строк по меньшей мере странно.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Разработка приложения на Lisp
« Ответ #5 : 09-08-2017, 23:10:11 »
Народ, сколько может стоить работа программиста для разработки приложения на 50-100 строк?
Работа программиста может оцениваться не в количестве строк кода, а в часах/днях/месяцах работы над программой. Ну и стоимостью часа/дня/месяца работы конкретного программиста.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Разработка приложения на Lisp
« Ответ #6 : 10-08-2017, 11:30:56 »
Присоединяюсь. Никогда не оценивал стоимость разработки количеством кода.
На стоимость, на мой взгляд, больше всего влияют следующие факторы:
1. Трудозатраты. Например, если требуется инсталлятор для приложения, какая-то примитивная защита от несанкционированного использования - это доп.работа. Сюда же можно включить работу по реализации какого-то продвинутого функционала. Для LISP это, например - работа с событиями, с расширенными данными и словарями, диалогами. Для .NET, например, если используется работа с несколькими документами, с неактивными документами, с Overrule, работа с событиями и т.п. Это сильно повышает требование к навыкам программиста. Следовательно, это будет дороже.
2. Полезность. Например. Если приложение позволит экономить 1 день рабочего времени в месяц одному инженеру и будет использоваться в организации с 10 инженерами с зарплатой 50 т.р. (условно), то  по грубым подсчетам, приложение в месяц позволит сэкономить организации около 20-25 т.р. Сколько можно взять за приложение, в таком случае? Наверное, 1 т.р. - будет слишком щедро.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Разработка приложения на Lisp
« Ответ #7 : 10-08-2017, 11:47:07 »
А если считать на год? :) Тогда расклады уже немного другие становятся ;)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Разработка приложения на Lisp
« Ответ #8 : 10-08-2017, 11:59:38 »
Это же как пример. :)
Можно и на год считать. Можно и как-то по-другому оценивать полезность, не в оплате труда инженеров. Тут же, помимо повышения их производительности труда, еще повышается их удовлетворенность работой. Одно дело - выполнять какие-то муторные однообразные рутинные операции, и совсем другое - когда за тебя это делает приложение. Меньше вероятность возникновения ошибки - качество изделия (чертежа) повышается. Экспертиза будет проходить быстрее. Заказчик доволен и заключает новый контракт на энное кол-во миллионов рублей  8)

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1097
  • Карма: 172
Re: Разработка приложения на Lisp
« Ответ #9 : 10-08-2017, 12:01:18 »
Off-Topic: показать
И за такие плюшки отдать всего 1 килорубль - жмотство :)
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!