2011-12-14 3 views
16

Mio figlio mi ha dimostrato Mathematica qualche tempo fa. C'è qualcosa di simile che funziona nella metafora della cartella di lavoro, ma che non è limitato a Mathematica?Esiste un'applicazione che supporta una cartella di lavoro in stile Mathematica ma personalizzabile?

+0

Che cosa trovi non personalizzabile in M-? Cosa intendi esattamente con un notebook limitato a M-? –

+2

Stai cercando funzionalità matematiche o semplicemente la capacità di raccogliere elementi in un album? –

+0

@Sjoerd C. de Vries: Un album che ha un meccanismo per diversi linguaggi di programmazione e uscite – bugmagnet

risposta

12

Seco (in precedenza Scriba) supporta molte lingue in stile notebook ispirato a Mathematica.

Si noti che, con un bit of programming, i notebook di Mathematica non si limitano al linguaggio Mathematica.

8

Suppongo che tu stia chiedendo quali altri linguaggi di programmazione/sistemi supportano i notebook, al contrario della tradizionale linea di comando lineare (e di tutte le sue varianti migliorate). Credo che il paradigma notebook è eccezionalmente ottimo modo per lavorare in modo interattivo, ed è un peccato che così pochi ha riconosciuto la sua utilità (che sta prendendo piede, ma non così veloce come dovrebbe a mio parere)

  • la maggior parte dei sistemi di computer algebra sembrano avere qualche tipo di interfaccia notebook (Maple, MuPAD, Sage fare)

  • versioni recenti di MATLAB hanno un cell mode, che non è esattamente un notebook, ma abbraccia un filosofia simile e permette una simile flusso di lavoro.

  • Come Python è spesso usato per il lavoro scientifico, ci sono diversi redattori Python che o cercano di implementare un'interfaccia notebook (per esempio Reinteract) oppure copiare la modalità cella di MATLAB (per esempio iep), nessuno davvero ben mantenuto. Un progetto molto promettente ma non ancora pubblicato è IPython 0.12's HTML notebook.

+2

+1 per IPython. Spero tu abbia avuto una bella pausa! –

+0

Un altro +1 per [IPython] (http://ipython.org/), la nuova console Qt (così come il blocco note HTML) nella versione 0.12 sembra davvero buona. Mi sono divertito a discuterne a [SciPy 2011] (http://conference.scipy.org/scipy2011/talks.php) – Simon

5

Prendendo la strada opposta a Szabolcs, se per “non limitato a Mathematica” si intende “possibile utilizzare altri linguaggi di programmazione nella stessa interfaccia”, è opportuno ricordare che Mathematica ha già ganci in altre lingue , incluso Java, C, .Net e la riga di comando (utilizzando Run command).

In linea di principio si potrebbe sviluppare il codice nell'interfaccia notebook e basta salvare i bit rilevanti come file di testo utilizzando il “Salva selezione con nome ...” comando. Sembra un po 'rotonda, ma è fattibile.

5

condividendo anche l'interpretazione di Verbeia, è possibile in teoria usare l'interfaccia notebook per altre lingue utilizzando l'impostazione CellEvaluationFunction. È possibile utilizzare un nuovo stile di cella per mescolarlo con i comandi Mathematica.

+0

grande +1, sono curioso, lo usi per qualsiasi cosa nella pratica? – Szabolcs

+0

Funziona molto bene [con MATLAB] (http://stackoverflow.com/questions/8326258/install-mathlink-program-with-arbitrary-path-environment). – Szabolcs

+0

@Szabolcs, no non lo faccio, quindi "teoricamente". –

1

vim-notebook - un (unix-only) plug-in per l'editor Vim per la gestione di qualsiasi interprete in stile notebook.

DBtree implementa stile simile di interagire con un database SQL.

wxMaxima è un front-end grafico stile simile per il sistema di computer algebra Maxima.

Juno - un IDE per il linguaggio di programmazione Julia.

IJulia Notebook è basato su IPython.

esProc e RStudio sono in qualche modo simili in quanto mantengono il risultato della valutazione del comando in una forma visualizzabile.

Vorrei anche menzionare la console Factor (a causa del suo Inspector) e Insight Maker.

0

Forse una delle aggiunte più insolite e penso correlate a questa categoria di strumenti (che non è venuto in mente subito perché non è uno strumento di programmazione di per sé) è Aibase - un gestore di dati creativo. Realizza il concetto di Aimos - script-contenitori scritto in Python 3 - che può implementare azioni e calcoli.