Looking for a dream language: sounds like Python to me.

D

Dotan Cohen

Referring to this article:
http://math-blog.com/2009/07/20/complex-algorithm-research-and-development-harder-than-many-think/

The author, who is specifically looking for math-related functions, writes:
"""
The dream algorithm R&D tool would be similar to Matlab or Mathematica
but could be compiled to fast, efficient binaries similar to ANSI C
and would be available for all platforms. An integrated GUI builder
similar to Visual Basic and integrated network support would be
helpful.
"""

It looks to me like he is looking for Python.
 
P

Piet van Oostrum

Dotan Cohen said:
DC> The author, who is specifically looking for math-related functions, writes:
DC> """
DC> The dream algorithm R&D tool would be similar to Matlab or Mathematica
DC> but could be compiled to fast, efficient binaries similar to ANSI C
DC> and would be available for all platforms. An integrated GUI builder
DC> similar to Visual Basic and integrated network support would be
DC> helpful.
DC> """
DC> It looks to me like he is looking for Python.

No fast, efficient binaries yet, and no integrated GUI builder.
 
E

Ethan Furman

[corrected top posting]

Mohammad said:
> You can generate binaries using py2exe, and you can create UI using
> Tkinter (which is very easy) or wxPython (which have GUI builders)
>
> Mohammad Tayseer
> http://spellcoder.com/blogs/tayseer

Creating binaries is not the same as creating /fast, efficient/
binaries. Py2Exe bundles it all together, but does not make it any faster.

~Ethan~
 
D

Dotan Cohen

Creating binaries is not the same as creating /fast, efficient/ binaries.
 Py2Exe bundles it all together, but does not make it any faster.

How inefficient is py2exe. I was under the impression that it's really
not that bad.
 
D

David Cournapeau

How inefficient is py2exe.

It is neither efficient or inefficient: it is just a distribution
tool, to deploy python software in a form familiar to most windows
users. It does not make it any faster than running the software under
a python prompt.

As much as I like python for scientific programming, I would say
python is pretty far from the stated requirements in the posted blog
post. It is difficult to deploy software written with python (much
better than the alternatives, though), and it is slow if you can't
leverage numpy/scipy (where vectorization does not apply).

It remains to be seen whether it will be true in practice, but
something like F#, with its integration in VS 2010, seems much closer
IMHO. It is compiled, high level language, and backed by the biggest
software vendor in the world.

David
 
D

Dotan Cohen

It is neither efficient or inefficient: it is just a distribution
tool, to deploy python software in a form familiar to most windows
users. It does not make it any faster than running the software under
a python prompt.

As much as I like python for scientific programming, I would say
python is pretty far from the stated requirements in the posted blog
post. It is difficult to deploy software written with python (much
better than the alternatives, though), and it is slow if you can't
leverage numpy/scipy (where vectorization does not apply).

It remains to be seen whether it will be true in practice, but
something like F#, with its integration in VS 2010, seems much closer
IMHO. It is compiled, high level language, and backed by the biggest
software vendor in the world.

The blog post is not looking to distribute his code, but he would like
it to be cross platform for his own reasons. VB is not cross platform.
 
D

David Cournapeau

The blog post is not looking to distribute his code, but he would like
it to be cross platform for his own reasons. VB is not cross platform.

I understand his "efficient binary as Ansi C" partially as a
deployment requirement, and independent of cross-platform issues. As a
scientist, being able to share my software with colleagues is a non
trivial matter. Python does not make this easy today.

F# has nothing to do with VB: F# is a ML-language inspired from OCAML,
and run on top of the CLR. It can thus leverage the huge .net
framework (lack of non numerical API is one of the biggest matlab
hindrance, and comparatively big advantage of python + numpy/scipy),
and benefits from the much more efficient implementation compared to
python (under the currently CPython implementation at least).

Some recent F# versions are compatible with mono, making it compatible
on most platforms that matter today for research (but of course, you
lose the IDE integration outside windows).

David
 
R

ray

I understand his "efficient binary as Ansi C" partially as a
deployment requirement, and independent of cross-platform issues. As a
scientist, being able to share my software with colleagues is a non
trivial matter. Python does not make this easy today.

F# has nothing to do with VB: F# is a ML-language inspired from OCAML,
and run on top of the CLR. It can thus leverage the huge .net
framework (lack of non numerical API is one of the biggest matlab
hindrance, and comparatively big advantage of python + numpy/scipy),
and benefits from the much more efficient implementation compared to
python (under the currently CPython implementation at least).

Some recent F# versions are compatible with mono, making it compatible
on most platforms that matter today for research (but of course, you
lose the IDE integration outside windows).

David- Hide quoted text -

- Show quoted text -
I wish . . .

For comparisons, Mathcad has the symbolic notation appropriate for
mathematical communications. I like features of Mathematica and Maple
but Mathcad provides for the user to 'stay' with mathematical
symbolism longer. I prefer Matlab execution environment. So I
develop concepts in Mathcad, prove them in Matlab and then compile to
through C where direct performance is required. Maple and Matlab have
this type of relation.

Matlab, from The Mathworks, has a companion product called Simulink.
This allows the user to graphically build ‘algorithms’ in block form.
There is a similar Python function.

Each of these components would best be served if allowed to exist
independently but supported with transparent integration. I would
like to develop in a stable user environment - a stable GUI. And then
allow efficient algorithms behind the scenes.

By separating the functionality of the workspace, the user can be
given (or create at will) a GUI that suites her desires and provides
for the creativity and productivity she chooses. The functionality
under the GUI should then be pluggable. Developers can provide
solutions from many directions, compete for varying performance
requirements, enhance functional features technology changes, and
still not disturb the fragile user interface.

Allow the user the comfort of home. Let them keep whatever GUI suits
them and provide for their deployment (if any) needs behind the
scenes.

Ray
 
S

Stef Mientki

Matlab, from The Mathworks, has a companion product called Simulink.
This allows the user to graphically build ‘algorithms’ in block form.
There is a similar Python function.
Where can I find a Python functionality like simulink ?

thanks,
Stef Mientki
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top