Age, experience

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

I've been programming professionally for more than 20 years, but only
discovered Euphoria in the last couple of months.  I've often worked with
extensive text data and the atom/sequence paradigm of Euphoria has a lot of
appeal to me.

I work with perl and while it has some powerful features there are some
reasons why I'd rather not use it for my own, private development.  First of
all, I want to be able to distribute my applications in such a way that
someone can use it without having to first install an environment to support
my application.  Euphoria's bind capability satisfies this. I understand
much progress has been made on a perl compiler, so I'll have to check that
out one of these days.  Another factor is simplicity.  I've worked with
massive, complex memory structures in perl, and I can understand the
complaints I've heard from some quarters that it can be difficult to read
and understand.  When I'm programming for fun I'd rather not have to deal
with those complexities.

I recently spent some time looking at Liberty Basic for some home
programming.  I came across it when my son learned some Basic programming at
a summer camp and I wanted to have a Basic programming language that he
could use at home.  However, after playing with LB for awhile I became fed
up with its limitations.  LB's creator has said he is deliberately keeping
it simple in order to have something that is easy to use.  He apparently
disdains some requests for features from professional developers as being
unnecessary.  I'm sure that he has gotten requests which are unnecessary for
his purposes, but having subroutines which can have local variables and
accept parameters seem to me to be such basic functionality that I don't
feel like putting up with a language that doesn't support them.  For that
reason and others I started looking elsewhere for another Basic option
(without spending hundreds of dollars on integrated professional development
systems) when I found Euphoria.

It took me a little bit to understand the vision of unlimited data
structures provided with sequences, but I've started to get excited about
how easy it can be to support nesting to virtually any depth without needing
to develop new tools for every structure.  The elegance (what an apt
description) and simplicity of the overall design is quite appealing.

I looked at Python very briefly, but I was immediately turned off by its
syntax-specified indentation scheme.  I have my own ideas about how to
layout code so that it is understandable, and I thought programming had
moved away from languages with program text layout restrictions since I
stopped using assembler, COBOL, and FORTRAN.

I read some articles from links found in some Python web sites where various
programming languages were compared, and the writers of those articles were
quite articulate about what they liked and didn't like.  However, I came
away with the impression that they wouldn't be happy unless they knew with
certainty that they could control the manipulation of every bit (and I mean
literally binary bits) of data that they used in their programs.  For
myself, I don't generally choose to program in assembler or machine language
(which I've done, I've even studied micro-coding machine instructions)
because I want my programming language of choice to hide the details from
me.  I don't really care if a sequence is defined as an array of memory
addresses and lengths or if some other scheme has been devised.  My concern
is that when I use the syntax of a language to reference a data structure
that I can set and get that data accurately.  I'll be even happier when
computers can be programmed to do what I want them to do instead of what I
tell them to do, but in the meantime, I'll settle for making it easy to tell
them (computers) what to do to the best of my ability.

Another aspect of Euphoria's appeal is the supportive and friendly user
community which I've observed here on the mailing list and to which I hope
that I can contribute.  I have encountered a few problems which I might ask
for help with if I cannot resolve them, and I'm working on some utilities
which I'll share once I've done my best to check them out thoroughly
(there's no point in spreading bugs around which overshadow whatever limited
utility my routines offer).  I have already benefitted from the contributed
libraries of others (and Win32Lib is invaluable as I am working in a Windows
environment) and I hope to be able to contribute in kind.

               -J. Kenneth Riviere

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

Search



Quick Links

User menu

Not signed in.

Misc Menu