LINUX.ORG.RU

на чём писать программу непрограммисту?

 , ,


4

1

Хочу написать небольшую программу. По сути, большая часть кода — вычисления, которые уже написаны на R.

Сначала хотел не париться и задавать исходные данные в виде таблицы и скармливать это скрипту на R, но решил сделать что-то более законченное с GUI.

Программа должна уметь:


  • загружать исходные данные из файла;
  • сохранять исходные данные в файл;
  • сохранять результаты в файл;
  • выводить результаты в виде отчёта .tex с конвертацией в .pdf с моим шаблоном;
  • иметь интерфейс для забивания туда исходных данных вручную в поля ввода;
  • быть кросплатформенной;
  • интерфейс должен уметь масштабироваться под разный DPI.



Вычисления несложные, поэтому скорость роли не играет. Хочу параллельно написанию выучить что-нибудь полезное и перспективное из программирования.

Также хочется не заниматься конвертацией кода из R на другие языки, то есть надо, чтобы язык GUI дружил с R.

И ещё, чтобы создание GUI давалось максимально легко, например, путём рисования боксов мышкой.

Подскажите, пожалуйста, на чём писать и какой IDE использовать для этого?

Deleted

Ответ на: комментарий от Deleted

Если есть уже готовый инструмент в среде R – то да, советую использовать именно его.

Deleted
()

Я бы использовал MS Excel+VBS.
Не троллинг, просто опыт есть.

Наверно LO Calc тоже сможет это.

anonymous
()

выводить результаты в виде отчёта .tex с конвертацией в .pdf с моим шаблоном

Возможно, Вам удастся заставить knitr или rmarkdown делать что-то похожее.

иметь интерфейс для забивания туда исходных данных вручную в поля ввода;
быть кросплатформенной;

library(tcltk) есть в большинстве инсталляций R.

интерфейс должен уметь масштабироваться под разный DPI.

Tk'шные шрифты по умолчанию сделали в физических единицах вместо пикселей в Tk 8.6.6.

anonymous
()
Ответ на: комментарий от anonymous

library(tcltk) есть в большинстве инсталляций R.

Вот это выглядит гораздо интереснее, чем Shiny. Похоже, что создать исполняемый файл на R тоже не простое занятие.

Думаю, сделаю так:

1. Пишу код на R;

2. Создаю простой .jar файл с RCaller;

3. Компилирую код в исполняемый файл для Linux так: https://stackoverflow.com/a/41829433

4. Компилирую код в .exe каким-то из этих способов: https://stackoverflow.com/a/2011746

Deleted
()

попробую разложить кашу из головы по полочкам

У меня есть набор .Rnw файлов. Нужно наименьшими усилиями превратить это в standalone приложение, которое способно получать переменные из файла или окна ввода, выполнять код расчётов (если не на R, то могу переписать на что-то другое), показывать графики и результаты в окне, экспортировать эти графики в .pdf с моим .cls для LaTeX.

При этом желательно, чтобы это приложение не имело установочного файла, то есть содержало всё необходимое внутри одного исполняемого файла.

От R, в принципе, можно отказаться, но я не понимаю, как генерировать .tex, а затем и .pdf из исполняемого файла.

Deleted
()

Сначала хотел не париться и задавать исходные данные в виде таблицы и скармливать это скрипту на R, но решил сделать что-то более законченное с GUI.

Дочитал до сюда. Первое решение - самое верное. Единственное, хорошо бы свести выходные данные к какому-то открытому и распостранённому формату.

Иначе, ты либо на острие рокетной науки, либо пока не понял сутевое приложение своих рассчётов.

onhydro
()
Ответ на: комментарий от Deleted

C не пробовал осилить

И не надо пробовать, в твоей задаче он не поможет

annulen ★★★★★
()

Если таки неймётся - api сервер. Ipc и возможность дать сделать морду тем, кто на этом специализируется, ты лучше дальше считай.

onhydro
()
Ответ на: комментарий от Deleted

На сях пишется низкоуровневая логика. А потом все это запихивается в обертку на баше. Просто и легко.

anonymous
()

Можно питон взять, но если тебе действительно нужен кросплатформенный GUI который должен уметь масштабироваться под разный DPI, то тебе надо брать свежие культи Qt и какой-то из языков, который с ним умеет работать. Смотри биндинги к культям на официальном сайте. Как вариант, оформи GUI отдельно, а логику отдельно, тебе всё равно генерацию .tex и конвертацию его в .pdf надо внешним инструментом оформлять, если нет желания закапываться во всё это с головой и надолго. Ну или веб приложение можешь пилить.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 2)
Ответ на: комментарий от ArkaDOSik

Потому что пхытоном только полные мудозвоны и гондоны пользуются! Людям пхытон как-то противен: есть еще чувство отвращения, понимаешь ли...

anonymous
()

Excel либо Haskell

Deleted
()
Ответ на: комментарий от saahriktu

Формочки то там лепить просто, а вот собрать потом под нужные оси - тот еще гемор с тулчейнами.

anonymous
()
Ответ на: комментарий от ArkaDOSik

Питон, непрограммисту? ММММММММммммммм не знаю, имхо какой-нибудь васик или васик скрипт больше зайдёт, и можно спокойно клепать формочки в студии. Причём при большом желании в той же студии на васике можно делать и вполне полноценные программы. Если нужно чисто работать с данными, можно взять ms access или ooo base — там можно клепать формочки и настраивать связи данных в гуе.

А питон, это, во-первых сложно, во-вторых непонятно для многих. Прежде чем получится его эффективно использовать, придётся изучить достаточный объём теории, т.е. не стать кодером не получится. Лучше взять что-нибудь более ровноскриптовое тогда уж, луа какой-нибудь.

anonymous
()

https://wiki.wxpython.org/Boa Constructor
https://www.youtube.com/watch?v=C0mPBStmOv0

Пишешь на стабильном 2.7/Wx с GTK2, потом пара правок хоть под новый 3.6, хоть под Wx с GTK3, хоть под windows или motif. Везде будет выглядеть хорошо.

Подготовку данных можно с помощью библиотеки pandas сделать. R из питона также вызывается напрямую.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 2)

peregrine, Shadow и остальные отписавшие, спасибо большое за советы. Думаю, остановлюсь на python, уметь программировать всё же очень полезно, а python довольно универсальный язык, самое то для изучения первого компилируемого языка программирования.

Deleted
()
Ответ на: комментарий от Deleted

компилируемого

Ты, мягко говоря, заблуждаешься.

Да и вообще, пхытон — то еще говно. Лучше С изучай. Уж С стопудово пригодится. А пхытон — это детские игры. Совершенно несерьезно же!

anonymous
()
Ответ на: комментарий от anonymous

Ну си это не серьёзно, ты бы ещё асм ботать всерьёз предложил. Питон хотя бы обладает всеми недостатками ООП языков, а это значит что не придётся гланды через жопу удалять как в си.

anonymous
()

Подскажите, пожалуйста, на чём писать и какой IDE использовать для этого?

FreeBASIC is a free/open source (GPL), BASIC compiler for Microsoft Windows, DOS and Linux.

Вроде как полностью соответствует заявке. Чего никто не предложил?

Есть также:

BaCon - BASIC to C converter.

Но с ним не всё так просто.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Jetty

Ты посмотри, что автору надо.
Это как построить проект на монге а потом обнаружить, что нужны произвольные связи

Shadow ★★★★★
()

frigate_freedom (16.01.2019 19:33:28)

Вычисления несложные, поэтому скорость роли не играет. Программа должна уметь:

  • загружать исходные данные из файла;
  • сохранять исходные данные в файл;
  • сохранять результаты в файл;
  • выводить результаты в виде отчёта .tex с конвертацией в .pdf с моим шаблоном;
  • иметь интерфейс для забивания туда исходных данных вручную в поля ввода;
  • быть кросплатформенной;
  • интерфейс должен уметь масштабироваться под разный DPI.

Ё-маё! Это ж gnumeric! Как сразу то не увидел?

Deleted
()
Ответ на: комментарий от anonymous

Пхытон - наркоманский недоЯП, созданный вантузятниками, у которых баша нормального нет!

Линуксоиду пхытон нафиг не нужен, т.к. мелочевка делается в баше, а серьезные вещи — на сях. Пхытон же с его тормознутостью и наркоманским синтаксисом не нужен!

anonymous
()

Так если математика и непрограммист, то чем какой-нибудь матлаб или подобное не устраивает?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от anonymous

+1, матлаб это лучшее, из того что есть. Однако, лицензия стоит денег.

Ну может там задача такая, что какой-нибудь максимы за глаза хватит. А ещё scilab например очень неплох для тех, кто не умеет в программирование.

Stanson ★★★★★
()
Ответ на: комментарий от anonymous

Как же ты Эдик заколебал со своим скудоумием! Редкий сплав тупости с неумением молчать. С тобой противно быть даже одного вида, не то что бы сказать, что это тоже представитель российской высшей школы.

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

Я - представитель не только «российской высшей школы», но и «российской науки» =D

А со своим скудоумием задолбали придурки, лезущие со всякими недо-ЯПами. И молчать нельзя, когда такие дебилы вокруг! Их нужно учить. А если они учиться неспособны, бить по голове, чтобы дурь выбить!

anonymous
()
Ответ на: комментарий от anonymous

Octave как свободный вариант матлаба в данном случае отлично подойдет. Графики в гнуплоте можно строить и не разбираясь особо в его внутренностях.

Синтаксис у октавы даже приятней матлабовского, т.к. есть всякие +=, -= и т.п.

Конечно, нет симулинка, но кому он нужен?

anonymous
()
Ответ на: комментарий от anonymous

но и «российской науки»

Если только из того же фольклора, что и пьяные российские космонавты в ушанках. Ты вообще трезвеешь? Или хотя бы на лор трезвым заходишь?

Юзать C в науке — надо быть редкостым имбецилом. Или фортран — для любителей по-старинке, там хоть многомерные массивы вменяемые есть, либо языки прототипирования, коих тоже порядком, от матлаба/октавы/R до модного-нового-молодежного julia. Да что уж, даже плюсы и то более полезны в науке, на них хоть вменяемая матричная алгебра написана вроде eigen или Armadillo.

unanimous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.