LINUX.ORG.RU

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

 , ,


4

1

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

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

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


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



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

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

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

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

Deleted

выводить результаты в виде отчёта .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 ()

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

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

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

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.

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

zvezdochiot ()
Последнее исправление: zvezdochiot (всего исправлений: 1)

frigate_freedom (16.01.2019 19:33:28)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

unanimous ★★★★★ ()