Re: Some initial clarifications

new topic     » goto parent     » topic index » view thread      » older message » newer message
lib9 said...

I am going to continue the work I did some years ago in Cxx, and I'm trying to find the best language/environment for me. I want to implement algorithms for clustering and genetic algorithms.

  • oE|Phix are one-based indexing languages
  • if you are fixated by off-by-one indexing your algorithms will need work
lib9 said...

As I'm looking for simple things in life and oE and Phix seem to fit this initial requisite, there are some more questions I'd like some explanation.

  • simple is our strength
  • much easier to learn oe|Phix than some conventional language
lib9 said...

1. In Cxx, I used vector (and arrays) containers as I needed to make computations between the 2D place of a element in a matrix and its eight neighbors. For that vector and arrays, as they are random access very fast fitted the necessity. Is it possible to do this in oE with equivalent speed? I don't mind 30 or 50% more execution time, but can not tolerate ten times more.

There is only the sequence type which may simulate a 2D array

s = { { 1,2,3 }, 
      { 4,5,6 }, 
      { 7,8,9 } } 

Item 9 is s[3,3] ; a row is s[1], only column thinking is a bit different in the sequence world (but we have routines that take care of this).

You may find Phix indexing to be more flexible than oE indexing because Phix allows negative values for indexes.

You would have to show us what you expect from item 5 which is s[2][2]; I am not familiar with genetic algorithms.

lib9 said...

2. I've seen the most recent speed benchmark in the forum. Are there any other more intensive benchmarks comparing oE to C or Cxx in respect to speed and memory use?

My fault. I happend to find something Python is very bad at. In general both oE|Phix are fast. The small speed gain from 'c' is not worth the extra effort. We also had someone present the case that a LUA jit compiler will have great results. Julia crunches numbers but seems to have a slow startup time--it would not be fun to develop an algorithm that way.

I have not done any memory benchmarking.

lib9 said...

3. Have no experience in parallelism and in Cxx looked hard for me that have no formal education in programming. I know the subject is not easy for many kinds of work. In oE, is it simpler than in C/C?

oE has multi-taking but not parallel programming.

lib9 said...

4. Is there support to load and save text files of CSV, XML and other formats?

Should be no big problem.

lib9 said...

5. I've read about the several GUI toolkits available. Later on I'll need one. Never done such thing, except in Red, is iup easy? Really didn't want to learn GTK as it seems a mammoth to me.

euGTK is much simpler than GTK on 'c'.

The path of least resistance is Linux plus GTK.

IUP is great for simple GUI (Windows or Linux); but I get bogged down in the graphics; but others may help with this.

lib9 said...

6. The website seems to have contents outdated. Is version 4.1 stable or beta? https://openeuphoria.org/wiki/view/DownloadEuphoria.wc seems to show 4.0.5 as stable. Is there no 4.1 for Linux x86_64? I come so?

Remind me to kill the reference to oE4.0.5 (it is the "stable" version, but we all use 4.1) oE works well for Linux 32 and 64 bit. The "holding issue" is how the interpreter can have bug in the switch statement that compiles without a problem.

lib9 said...

8. Is Phix able to execute faster and have less memory requirements than oE for the subject of my work?

Seems to be a cat and mouse game. Sometimes oE sometimes Phix. The differences are small between the two. If your data is string based then Phix will have a memory advantage.

lib9 said...

Many questions but I need to have these answers.

I have no trouble saying oE|Phix are simpler, faster, more fun, ..., and easier to learn that some popular conventional language.

For a particular algorithm/application you may find a particular language that is the "best." That means you have to present us with a benchmark based on your project which we can help translate into oE|Phix. A specialized algorithm is difficult to comment on.

_tom

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu