Re: OT programming languages/ systems for advanced applications on Linux

2011-12-27 Thread Chris Davies
David Christensen dpchr...@holgerdanske.com wrote:
 I didn't say, but, yes, I have looked at Ruby.  It seems to be 
 purpose-built for web stuff, which would help me with the web apps I'm 
 wanting, but I don't know how well it would work for everything else.

I'd say that Ruby itself is a reasonably general purpose language. When
you add the Rails framework (or one of the other lesser known frameworks,
for that matter) it becomes much more focused to web applications.

Chris


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/8pnps8x0tf@news.roaima.co.uk



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-27 Thread Chris Davies
Bob Proulx b...@proulx.com wrote:
 I keep waiting for Ruby to mature and get past these packaging
 problems.  I hope that one day it will be as well packaged as Perl.
 But years have rolled by and still the problems continue.

As someone watching from the outside of the Ruby world (well, standing on
the edge, really), I'm intrigued by the attempts of the Ruby developers
to solve problems such those relating to package versioning. (I
know my application has been tested with version X of package A and
version Y of package B. That's what I want to deploy to my production
environment.) As far as I can tell this is mostly what pushes Ruby
applications to requiring a live connection for deployment.

It is possible to override this behaviour - but not recommended. It's also
a consequence of solving a different problem to that usually addressed
by package managers such as apt, rpm, emerge, etc. And the perl world
doesn't seem to have solved it at all (as I only too often discover to
my frustration).

Chris


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/n4ops8x18g@news.roaima.co.uk



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread Teemu Likonen
* 2011-12-25T12:46:07-08:00 * David Christensen wrote:

 I'm looking for a language/ system that is general-purpose in scope
 and supports historical through recent paradigms: procedural,
 structured, modular, and OO.

 The applications I want to build include web content management
 systems and web portals.

 Other wish-list features include FOSS, rigorous language/ library
 design and documentation, a comprehensive and easily extended library,
 support for automated testing, robust interoperability with OS, local
 resources, and remote services, and deep integration with the FOSS
 ecosystem. Built-in mini-languages for regular expressions,
 documentation, formatting/ templating, SQL, etc., are a conundrum;
 libraries would suit me fine.

 Agreed. (The language/ system I'm seeking should be capable of
 implementing application-specific languages.)

That's Common Lisp. I think SBCL is the most popular free-software
implementation for the language. Emacs+Slime is the most popular
development environment.

Usenet group comp.lang.lisp is a good place for discussing Common Lisp.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87d3bbbsrt@mithlond.arda



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread David Christensen

On 12/25/2011 06:17 PM, Joel Rees wrote:

Did you say you'd looked at Ruby?


I didn't say, but, yes, I have looked at Ruby.  It seems to be 
purpose-built for web stuff, which would help me with the web apps I'm 
wanting, but I don't know how well it would work for everything else.




Well, lisp was mentioned.


Which Debian Squeeze package do you recommend for hello, world! and 
STFW tutorials?




Did you say you've messed around with yacc/lex and their derivatives?


I've always thought of them as tools for building compilers.



And there's also Forth, but you say you want support for familiar
paradigms, so that may not be such a good suggestion.


Forth looks similar to LISP.


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef8f1b5.50...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread Bob Proulx
David Christensen wrote:
 Joel Rees wrote:
  Did you say you'd looked at Ruby?
 
 I didn't say, but, yes, I have looked at Ruby.  It seems to be
 purpose-built for web stuff, which would help me with the web apps
 I'm wanting, but I don't know how well it would work for everything
 else.

I like Ruby quite a bit.  It wasn't designed for the web but was
designed to be able to create a domain specific languages.  Just like
lisp and others before it.  People have used that ability to target
web frameworks and of late it is web frameworks that have made it
extremely popular in those circles.  But also other topic areas are
also targeted too.  It isn't just about the web.  I used Ruby for a
number of years before the Ruby on Rails framework existed.

But Ruby suffers from being popular on platforms that lack a good
package manager.  That hurts it terribly on Debian because so many
Ruby authors have written so much packaging code making it difficult
or perhaps impossible to create a well behaved system package of it.
It is difficult to use Ruby without a network connection in order to
be able to download scripts on the fly from the network and run them
on the fly as part of an installation.

I keep waiting for Ruby to mature and get past these packaging
problems.  I hope that one day it will be as well packaged as Perl.
But years have rolled by and still the problems continue.

 And there's also Forth, but you say you want support for familiar
 paradigms, so that may not be such a good suggestion.
 
 Forth looks similar to LISP.

Hmm...  Maybe in an abstract concept way.  They are both small core
languages and in that way are similar.  But I think they are also
significantly different in practical use.  For example Forth's
interactive shell and associated syntax is fairly suitable as a
command shell.  It's low memory footprint makes it ideal for small
embedded machines.  I have seen it used in a lot of machine control
applications.  Lisp isn't a language I would want to try to type in on
the command line.  It is a language that I would rather interact with
inside an editor.  Lisp depends upon dynamic strings and garbage
collection to the extent that it hasn't traditionally been a choice of
embedded systems developers.

Bob


signature.asc
Description: Digital signature


Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread Joel Rees
On Tue, Dec 27, 2011 at 7:14 AM, David Christensen
dpchr...@holgerdanske.com wrote:
 On 12/25/2011 06:17 PM, Joel Rees wrote:

 Did you say you'd looked at Ruby?


 I didn't say, but, yes, I have looked at Ruby.  It seems to be purpose-built
 for web stuff, which would help me with the web apps I'm wanting, but I
 don't know how well it would work for everything else.

Yeah, it's well advertised for webbish stuff, but the guy who wrote it
did/does not intend to limit it to the web. It's worth a play or two
without rails, at least.

 Well, lisp was mentioned.


 Which Debian Squeeze package do you recommend for hello, world! and STFW
 tutorials?

Not enough experience with it to make a recommendation, so I'll defer
to Teemu on that. (I already had SBCL loaded, and I'm loading
emacs-slime now to take a look.

 Did you say you've messed around with yacc/lex and their derivatives?

 I've always thought of them as tools for building compilers.


ergo, special purpose languages.

They aren't as easy to use, for me, as Forth, but they should scale
better than (existing implementations of) Forth (unless you can figure
out what Chuck is doing with colorforth and ride that wave, but it
looks like a wild ride to me).

 And there's also Forth, but you say you want support for familiar
 paradigms, so that may not be such a good suggestion.


 Forth looks similar to LISP.

Sometimes I think of Forth as Lisp reversed, without the parentheses
and the mathematical rigor that parentheses allow.

Lacking those would contribute to the difficulty of getting Forth to
scale. (I keep thinking I need to dig deeper into lisp and its progeny
-- Scheme, etc..)

Joel Rees


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caar43inr2ck+e5b5uhtiaym1e7frqqyh2g4exvtveeh34z1...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread Joel Rees
 Which Debian Squeeze package do you recommend for hello, world! and STFW
 tutorials?

 Not enough experience with it to make a recommendation, so I'll defer
 to Teemu on that. (I already had SBCL loaded, and I'm loading
 emacs-slime now to take a look.

Digging around, I find a nice surprise on the Wikipedia page for common lisp:

http://en.wikipedia.org/wiki/Common_Lisp

Drop down below the index and there is a nice tutorial.

(It seems that, in their attempt to be rigorous and, well,
Encyclopaediac, they've been abandoning these kinds of pages. That's
one of my disappointments in the current directions of Wikipedia.)

Joel Rees


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caar43inmtd50juys7gsjjnaep02mld+dgorgm+abpjsehfn...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread David Christensen

On 12/26/2011 01:12 AM, Teemu Likonen wrote:

That's Common Lisp. I think SBCL is the most popular free-software
implementation for the language. Emacs+Slime is the most popular
development environment.


I've installed all three packages and will play with them.



Usenet group comp.lang.lisp is a good place for discussing Common Lisp.


OK.


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef906ba.2020...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread David Christensen

On 12/26/2011 02:54 PM, Bob Proulx wrote:

But Ruby suffers from being popular on platforms that lack a good
package manager.  That hurts it terribly on Debian because so many
Ruby authors have written so much packaging code making it difficult
or perhaps impossible to create a well behaved system package of it.
It is difficult to use Ruby without a network connection in order to
be able to download scripts on the fly from the network and run them
on the fly as part of an installation.


Thanks for the warning.


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef907c6.2070...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-26 Thread Bob Proulx
David Christensen wrote:
 Bob Proulx wrote:
 But Ruby suffers from being popular on platforms that lack a good
 package manager.  That hurts it terribly on Debian because so many
 Ruby authors have written so much packaging code making it difficult
 or perhaps impossible to create a well behaved system package of it.
 It is difficult to use Ruby without a network connection in order to
 be able to download scripts on the fly from the network and run them
 on the fly as part of an installation.
 
 Thanks for the warning.

And yet even given the problems I still find myself choosing to
program in Ruby because I like it better than other options available
to me.  It is such a nice language in so many ways.

Bob


signature.asc
Description: Digital signature


Common Lisp (was: OT programming languages/ systems for advanced applications on Linux)

2011-12-26 Thread Teemu Likonen
* 2011-12-26T14:14:13-08:00 * David Christensen wrote:

 Which Debian Squeeze package do you recommend for hello, world! and
 STFW tutorials?

#!/usr/bin/sbcl --script
(write-line Hello, world!)


* 2011-12-26T15:43:54-08:00 * David Christensen wrote:

 On 12/26/2011 01:12 AM, Teemu Likonen wrote:
 That's Common Lisp. I think SBCL is the most popular free-software
 implementation for the language. Emacs+Slime is the most popular
 development environment.

 I've installed all three packages and will play with them.

For installing external libraries the best choise is Quicklisp:

http://www.quicklisp.org/beta/

Practical Common Lisp by Peter Seibel is very good tutorial/book. It's
available in the Internet as well as printed book.

http://www.gigamonkeys.com/book/


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87y5tyr3vv.fsf...@mithlond.arda



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Joel Rees
On 12/23/11, David Christensen dpchr...@holgerdanske.com wrote:
 Someone wrote:
 I am like you and wrote most of my C++ during the
 early years of the language.  I used the ATT Cfront version 1.2
 compiler for years.  Always on Unix machines and never on Windows.

 I have become disillusioned with the new C++ that has the kitchen sink
 in it.  It has become the new ADA.

Is ADA evil?

  I believe it makes easy programs
 easy and hard programs harder.  So now I program in C and haven't
 written much C++ in years.

 I learned Perl in 1998, and have been using it as my primary programming
 language/ system since ~2001.  Easy stuff is easy, and I can manage
 moderate stuff.  Brilliant/ workaholic people can make Perl do anything,
 but I'm not there.

Me neither, but I find that, for certain classes of problems, I'm
definitely more productive in perl than in C.

 The core language and library are outstanding for a
 non-corporate, non-standards body product.  But the rest of the library
 (CPAN) is a volunteer community effort.  Scope and quality of individual
 CPAN modules range from good to garbage.  And, as they say, a
 programming language is only as good as its library.  The stream of
 available books has fallen off, although a new Camel book is due shortly.


 Perl's motto There's more than one way to do it (TIMTOWTDI) is great
 for duct tape that holds the Internet together.  But the dark side of
 TIMTOWTDI is that effort grows exponentially as you cobble together Perl
 modules with differing designs and interfaces. Conceptual integrity
 and systems programming product appear to be precluded (ref. Brooks,
 The Mythical Man-Month).

Perl is a naturally evolved language.

 I've come to the conclusion that I need another language/ system for
 advanced applications; one that meets Brook's ideals.  So, I
 periodically consider other languages/ systems.

Join the crowd.

 I learned C++ in 1995 and used it professionally until ~2000.  While I
 loved C, I have mixed memories of C++.  I have positive memories of STL
 and mixed memories of Rational Rose.  Boost seems to be upcoming and C++
 is fully supported by Umbrello. C and C++ seem to occupy significant
 positions in the Linux ecosystem, and are broadly supported on many
 platforms.

C and C++ are currently about the closest thing you can have to true
cross-platform for large-scale apps. The issues you are fighting with
are less the language and more the support tools. Underlying that is
the variety of disciplines. When the rubber meets the road, there's,
ahem, more than one way to do it. (cough)

 Java is a corporate product, and doesn't feel truly FOSS (especially
 since Oracle).  I am leery about its apparent requirement for IDE's -- I
 prefer the understanding and control afforded by the shell.  And, I've
 heard one too many Java factory-factory-factory-factory jokes.

I decided something like a decade ago that Java is the new CoBOL.
Haven't changed my opinion there.

 C# by itself looks appealing, but C#/.NET is corporate and and I can't
 stand Windows or the Microsoft ecosystem.  Mono seems to be doomed to
 playing catch-up.  I'd rather invest my efforts into a FOSS language/
 system that has first-class support on all the common platforms and the
 possibility for embedded systems.

Indeed.

 Python has been upcoming for years.  Python's Benevolent Dictator for
 Life and there should be one -- and preferably only one -- obvious way
 to do it philosophies would seem more likely to achieve Brook's ideals.
   But, Python's whitespace sensitivity has always put me off, and the
 version 2 = 3 language change still seems to be propagating through the
 standard library.

Python looks to me like it ought to be a fun replacement for BASIC. I
mean that in a good way.

 Go is intriguing.  It's corporate, but feels FOSS.  The designers appear
 to have very specific goals in mind (e.g. conceptual integrity). The
 language incorporates many desirable advanced features, while eschewing
 certain others commonly found in other languages.  Code is compact and
 regular.  Go compiles and runs fast, and is being used for real stuff.
   But, the language is still evolving (version 1 due next year?),
 documentation is terse, and the library has limited breadth and depth.
 I'm still hoping/ waiting for Google to pull the cork out and develop
 Go to its full potential.


 Any other comments/ suggestions regarding programming languages/ systems
 for advanced applications on Linux?


 David

Well, I'd tell you about the beautiful language I am working on.

Except, it's less working on and more on the back burner. And, since
Go is too much in a state of flux for you, I'm sure you don't want to
mess with the state of flux my mind is in.

My language is based on Forth and it should be ready sometime in the
next century. Assuming I can make some sort of deal with God or with
my children.

(Sigh. My son hates programming. He likes mucking around with the
source code for his customized 

Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Joel Rees
On 12/25/11, PMA peterarmstr...@aya.yale.edu wrote:
 Rather than APL itself -- value judgement aside --
 you might consider its successor and superset,
 *J* ( http://www.jsoftware.com/ ).

Is there a package for that?


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caar43ipdymqt03aztazs3wr5g13ojmppz-d-3pm2ktlkqnm...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Claudius Hubig
Joel Rees joel.r...@gmail.com wrote:
(Sigh. My son hates programming. He likes mucking around with the
source code for his customized Three Kingdoms MUD. Perl. I've tried to
teach him C and it's like he thinks I'm trying to brainwash him for
even mentioning it. Heh.)

A MUD written in Perl? Sounds like an…interesting concept. Maybe you
could succeed using a LPC-based MUD? The syntax is a little bit like
C, at least.

Best regards,

Claudius


-- 
When the going gets tough, the tough go grab a beer.
Please use GPG: ECB0C2C7 4A4C4046 446ADF86 C08112E5 D72CDBA4
http://chubig.net/ http://nightfall.org



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111225142802.2fdfc...@ares.home.chubig.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread PMA

Yes, specifically at http://www.jsoftware.com/stable.htm,
though I'd recommend linking from Getting Started on
the Home page -- for overview, docs, labs

Joel Rees wrote:

On 12/25/11, PMApeterarmstr...@aya.yale.edu  wrote:

Rather than APL itself -- value judgement aside --
you might consider its successor and superset,
*J* ( http://www.jsoftware.com/ ).


Is there a package for that?



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef740dc.8010...@aya.yale.edu



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Miles Fidelman

Joel Rees wrote:

On 12/23/11, David Christensendpchr...@holgerdanske.com  wrote:

Someone wrote:

I am like you and wrote most of my C++ during the
early years of the language.  I used the ATT Cfront version 1.2
compiler for years.  Always on Unix machines and never on Windows.

I have become disillusioned with the new C++ that has the kitchen sink
in it.  It has become the new ADA.

Is ADA evil?

Don't you mean the new PL1? :-)

Re. Ada: Surprisingly, after everyone thoroughly ignored the DoD mandate 
to use Ada, it's had some ongoing success as a language for mission- and 
safety-critical systems.


On a more general note: for advanced application (as the subject 
focuses on), and assuming that advanced translates to complicated - 
there's a lot to be said for application-specific languages - otherwise 
there's way to much cognitive pain involved in translating to/from 
problem domain to/from low-level constructs a la c, java, . --- 
e.g., for mathematical manipulation, give me MATLAB or MACSYMA over c, 
any day of the week



--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef76082.10...@meetinghouse.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread David Christensen

On 12/25/2011 09:42 AM, Miles Fidelman wrote:

On a more general note: for advanced application (as the subject
focuses on), and assuming that advanced translates to complicated -


Yes, you caught me.  I had a hard time deciding what word to use, and 
settled on advanced.  To elaborate, I'm looking for a language/ system 
that is general-purpose in scope and supports historical through recent 
paradigms:  procedural, structured, modular, and OO.  I've done some 
concurrent programming and want to do more.  I've toyed with functional 
programming; even less meta-programming.  I don't need bleeding edge.



The type of applications I've been writing with Perl include system 
utilities, text munging, data acquisition and control, and CGI scripts. 
 Most everything interfaces via the environment, STDIN, STDOUT, STDERR, 
and/or files.  The applications I want to build include web content 
management systems and web portals.  I've staying away from graphical 
user interfaces and hope to use Web 2 technologies instead.  I prefer 
text files over databases for interoperability and version control 
reasons, although I do have ideas for using SQL for indexing and query 
acceleration.



Other wish-list features include FOSS, rigorous language/ library design 
and documentation, a comprehensive and easily extended library, support 
for automated testing, robust interoperability with OS, local resources, 
and remote services, and deep integration with the FOSS ecosystem. 
Built-in mini-languages for regular expressions, documentation, 
formatting/ templating, SQL, etc., are a conundrum; libraries would suit 
me fine.




there's a lot to be said for application-specific languages - otherwise
there's way to much cognitive pain involved in translating to/from
problem domain to/from low-level constructs a la c, java, . ---
e.g., for mathematical manipulation, give me MATLAB or MACSYMA over c,
any day of the week


Agreed.  (The language/ system I'm seeking should be capable of 
implementing application-specific languages.)



David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef78b8f.4060...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Miles Fidelman

David Christensen wrote:

On 12/25/2011 09:42 AM, Miles Fidelman wrote:

The type of applications I've been writing with Perl include system 
utilities, text munging, data acquisition and control, and CGI 
scripts.  Most everything interfaces via the environment, STDIN, 
STDOUT, STDERR, and/or files.  The applications I want to build 
include web content management systems and web portals.  I've staying 
away from graphical user interfaces and hope to use Web 2 technologies 
instead.  I prefer text files over databases for interoperability and 
version control reasons, although I do have ideas for using SQL for 
indexing and query acceleration.


Other wish-list features include FOSS, rigorous language/ library 
design and documentation, a comprehensive and easily extended library, 
support for automated testing, robust interoperability with OS, local 
resources, and remote services, and deep integration with the FOSS 
ecosystem. Built-in mini-languages for regular expressions, 
documentation, formatting/ templating, SQL, etc., are a conundrum; 
libraries would suit me fine.



there's a lot to be said for application-specific languages - otherwise
there's way to much cognitive pain involved in translating to/from
problem domain to/from low-level constructs a la c, java, . ---
e.g., for mathematical manipulation, give me MATLAB or MACSYMA over c,
any day of the week


Agreed.  (The language/ system I'm seeking should be capable of 
implementing application-specific languages.)


Implementing application-specific languages (in which case LISP is the 
classic environment for doing so), or an application-specific language 
for manipulating system information (in which case, arguably, various 
shells, perl, and tcl are the classic application-specific languages for 
doing so)? :-)


Cheers,

Miles


--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef7c6fe.7090...@meetinghouse.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-25 Thread Joel Rees
On 12/26/11, David Christensen dpchr...@holgerdanske.com wrote:
 On 12/25/2011 09:42 AM, Miles Fidelman wrote:
 On a more general note: for advanced application (as the subject
 focuses on), and assuming that advanced translates to complicated -

 Yes, you caught me.  I had a hard time deciding what word to use, and
 settled on advanced.  To elaborate, I'm looking for a language/ system
 that is general-purpose in scope and supports historical through recent
 paradigms:  procedural, structured, modular, and OO.  I've done some
 concurrent programming and want to do more.  I've toyed with functional
 programming; even less meta-programming.  I don't need bleeding edge.


 The type of applications I've been writing with Perl include system
 utilities, text munging, data acquisition and control, and CGI scripts.
   Most everything interfaces via the environment, STDIN, STDOUT, STDERR,
 and/or files.  The applications I want to build include web content
 management systems and web portals.  I've staying away from graphical
 user interfaces and hope to use Web 2 technologies instead.  I prefer
 text files over databases for interoperability and version control
 reasons, although I do have ideas for using SQL for indexing and query
 acceleration.


 Other wish-list features include FOSS, rigorous language/ library design
 and documentation, a comprehensive and easily extended library, support
 for automated testing, robust interoperability with OS, local resources,
 and remote services, and deep integration with the FOSS ecosystem.
 Built-in mini-languages for regular expressions, documentation,
 formatting/ templating, SQL, etc., are a conundrum; libraries would suit
 me fine.

Did you say you'd looked at Ruby?

(I have done no more than look at it, but I know a lot of perl
programmers who say they like it.)

 there's a lot to be said for application-specific languages - otherwise
 there's way to much cognitive pain involved in translating to/from
 problem domain to/from low-level constructs a la c, java, . ---
 e.g., for mathematical manipulation, give me MATLAB or MACSYMA over c,
 any day of the week

 Agreed.  (The language/ system I'm seeking should be capable of
 implementing application-specific languages.)

Well, lisp was mentioned.

Did you say you've messed around with yacc/lex and their derivatives?

And there's also Forth, but you say you want support for familiar
paradigms, so that may not be such a good suggestion. (Sorry that my
beautiful language is not yet ready to be used in any meangful way.
;-/)

Joel Rees


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caar43inz2r6lmkt_grjbuggbmmzejwp+bmqp0cpdf5k5qoo...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Miles Fidelman

David Christensen wrote:


Any other comments/ suggestions regarding programming languages/ 
systems for advanced applications on Linux?



Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to 
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing mission-critical/safety-critical 
systems



If you're really interested in programming languages:
http://lambda-the-ultimate.org/



--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef5e563.5000...@meetinghouse.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread lina
On Sat, Dec 24, 2011 at 10:44 PM, Miles Fidelman
mfidel...@meetinghouse.net wrote:
 David Christensen wrote:


 Any other comments/ suggestions regarding programming languages/ systems
 for advanced applications on Linux?

 Lisp
 Smalltalk
 Erlang
 Haskell
 Caml/OCaml
 APL - if you're crazy or want to be; or you could go all the way to
 Brainfuck (http://esolangs.org/wiki/Brainfuck)
 for that matter, Ada, if you're writing mission-critical/safety-critical
 systems


 If you're really interested in programming languages:
 http://lambda-the-ultimate.org/

Tonight I am pretty free, so started to read something about perl.

#!/usr/bin/perl

print Hello World! \n;

$a = 3;

print $a  \n;

@food = {apples, pears, eels};

@music = {whistel, flute};

@moremusic = {organ, @music, harp};

push(@food, eggs);

print @food;
print @food;

I am so CONFUSED why the output is:
Hello World!
3
HASH(0x19ec998)eggsHASH(0x19ec998) eggs

print @food

is wrong? or something wrong with my box.

$ perl --version

This is perl 5, version 14, subversion 2 (v5.14.2) built for
x86_64-linux-gnu-thread-multi

Thanks,




 --
 In theory, there is no difference between theory and practice.
 In practice, there is.    Yogi Berra




 --
 To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject
 of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/4ef5e563.5000...@meetinghouse.net



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAG9cJmkajt7tsoFnQ=hndpwm83zcpbbsrpn1oeejlnpslgo...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Vincent Lefevre
On 2011-12-24 23:43:18 +0800, lina wrote:
 Tonight I am pretty free, so started to read something about perl.
 
 #!/usr/bin/perl
 
 print Hello World! \n;
 
 $a = 3;
 
 print $a  \n;
 
 @food = {apples, pears, eels};

I suppose you want:

@food = (apples, pears, eels);

{...} is used for a hash reference, and [...] for an array reference.

 @music = {whistel, flute};
 
 @moremusic = {organ, @music, harp};

Ditto.

 push(@food, eggs);
 
 print @food;
 print @food;
 
 I am so CONFUSED why the output is:
 Hello World!
 3
 HASH(0x19ec998)eggsHASH(0x19ec998) eggs

print @food;

gives

HASH(0x19ec998)eggs

(because it contains a hash reference and eggs), without a newline.

print @food;

gives

HASH(0x19ec998) eggs

(same thing, but with a space between the elements).

I suggest that you read more about perl (man perl tells you what
you can read...).

-- 
Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/
100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111224164221.gb5...@xvii.vinc17.org



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread lina
On Sun, Dec 25, 2011 at 12:42 AM, Vincent Lefevre vinc...@vinc17.net wrote:
 On 2011-12-24 23:43:18 +0800, lina wrote:
 Tonight I am pretty free, so started to read something about perl.

 #!/usr/bin/perl

 print Hello World! \n;

 $a = 3;

 print $a  \n;

 @food = {apples, pears, eels};

 I suppose you want:

 @food = (apples, pears, eels);

 {...} is used for a hash reference, and [...] for an array reference.

Thanks, I was so careless.
Did not notice the difference between () and {} in tutorial.  (might
sit too far away from laptop haha ... if not careless).

Best regards,

 @music = {whistel, flute};

 @moremusic = {organ, @music, harp};

 Ditto.

 push(@food, eggs);

 print @food;
 print @food;

 I am so CONFUSED why the output is:
 Hello World!
 3
 HASH(0x19ec998)eggsHASH(0x19ec998) eggs

 print @food;

 gives

 HASH(0x19ec998)eggs

 (because it contains a hash reference and eggs), without a newline.

 print @food;

 gives

 HASH(0x19ec998) eggs

 (same thing, but with a space between the elements).

 I suggest that you read more about perl (man perl tells you what
 you can read...).

 --
 Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/
 100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/
 Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


 --
 To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/20111224164221.gb5...@xvii.vinc17.org



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAG9cJmø_bzo9oylz52y_2mpiz8cjucydgljxrps2p-fht...@mail.gmail.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread PMA

Rather than APL itself -- value judgement aside --
you might consider its successor and superset,
*J* ( http://www.jsoftware.com/ ).


Miles Fidelman wrote:

David Christensen wrote:


Any other comments/ suggestions regarding programming languages/
systems for advanced applications on Linux?


Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing mission-critical/safety-critical
systems

If you're really interested in programming languages:
http://lambda-the-ultimate.org/



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef602f3.50...@aya.yale.edu



Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Tony van der Hoff

Should have gone to the list; sorry Lina:

 Original Message 
Subject: Re: OT programming languages/ systems for advanced applications 
on Linux

Date: Sat, 24 Dec 2011 16:35:29 +
From: Tony van der Hoff t...@vanderhoff.org
To: lina lina.lastn...@gmail.com

On 24/12/11 15:43, lina wrote:


Tonight I am pretty free, so started to read something about perl.

#!/usr/bin/perl

print Hello World! \n;

$a = 3;

print $a  \n;

@food = {apples, pears, eels};

@music = {whistel, flute};

@moremusic = {organ, @music, harp};

push(@food, eggs);

print @food;
print @food;

I am so CONFUSED why the output is:
Hello World!
3
HASH(0x19ec998)eggsHASH(0x19ec998) eggs

print @food

is wrong? or something wrong with my box.



Yep, that's PERL for you. Having taken over the maintenance of a large
PERL project, I've come to the conclusion that it's IMHO the worst
programming language ever invented. Totally non-intuitive.

Hello World is obvious, as is 3.

@food = {apples, pears, eels};
Assuming you wanted to create an array, containing those 3 elements, the
correct syntax is
@food = (apples, pears, eels);
You can then print @food; and print @food;

The construct in braces creates an anonymous hash with an odd number of
elements (bad), and places that in the first array element.
You could retrieve it using print %{@food[0]}

The push adds 'eggs' as the second array element, so you'd need to
print @food[1]; to retrieve that.

Mindboggling, eh? And so it continues for the rest of the language.

You'd probably find it useful to add use warnings as the second line
of your program, for the interpreter to emit slightly more help.

--
Tony van der Hoff| mailto:t...@vanderhoff.org
Buckinghamshire, England |


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6069e.3080...@vanderhoff.org



Re: Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Vincent Lefevre
On 2011-12-24 17:06:38 +, Tony van der Hoff wrote:
 Yep, that's PERL for you. Having taken over the maintenance of a large
 PERL project, I've come to the conclusion that it's IMHO the worst
 programming language ever invented. Totally non-intuitive.

I completely disagree. It's a very powerful language, allowing you
to express things in very concise ways. In every language, you may
find unintuitive things (though that may be a bit subjective). For
instance, in C, a subtraction on integers may not give the same
result as the mathematical one (even when there is no overflow).
In python, you have this silly indentation rules. And so on.

-- 
Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/
100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111224173443.ge5...@xvii.vinc17.org



Re: Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Tony van der Hoff

On 24/12/11 17:34, Vincent Lefevre wrote:

On 2011-12-24 17:06:38 +, Tony van der Hoff wrote:

Yep, that's PERL for you. Having taken over the maintenance of a large
PERL project, I've come to the conclusion that it's IMHO the worst
programming language ever invented. Totally non-intuitive.


I completely disagree. It's a very powerful language, allowing you
to express things in very concise ways. In every language, you may
find unintuitive things (though that may be a bit subjective). For
instance, in C, a subtraction on integers may not give the same
result as the mathematical one (even when there is no overflow).
In python, you have this silly indentation rules. And so on.


You're at perfect liberty to disagree :).

No doubt it's powerful, and you can do powerful things. The problem is 
that the syntax is so ideosyncratic, that I'm so relieved to get 
someting finally to do what I need, that I can't be bothered expressing 
it in a very concise way.


I believe the problems Lina experienced are typical, and the over-use of 
certain symbols, in particular {}, causes that. Sublimal 
context-switching gives further problems.


The TMTOWTDI only gets in the way. Who, other than PERL authors could 
think up such an acronym? Do it one way, and do it intuitively, would be 
a better slogan.


The Camel Book  seriously pisses me off, with its silly little asides, 
which add nothing to the material.


Give me C, or C++, with its minor ideosyncracies any day. Compiling is a 
pain, but it roots out syntax errors before getting anywhere near to 
running anything.


For scripting, PHP.

I agree that pyhon's odd, but for PERL, Let's agree to differ, eh? ;)

Cheers, Tony
--
Tony van der Hoff| mailto:t...@vanderhoff.org
Buckinghamshire, England |


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef616c6.80...@vanderhoff.org



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Dean Allen Provins, P. Geoph.
On Fri, Dec 23, 2011 at 11:46:23PM -0800, David Christensen wrote:
 On 12/23/2011 07:57 AM, Dean Allen Provins, P. Geoph. wrote:
 I noted your comments on Python, and while I haven't any
 experience with the 2 -  3 transition, I am inclined to prefer
 it.  In fact, almost all my work is now in that language.  You
 can see some examples at my page (below) in the SOFTWARE section.
 
 Which version of Python do you use?
 
 
 David

 2011-12-23 23:43:38 dpchrist@p43400e ~
 $ cat /etc/debian_version
 6.0.3
 
 2011-12-23 23:44:03 dpchrist@p43400e ~
 $ python --version
 Python 2.6.6

My system and Python versions are identical to yours.

Dean

-- 
   Dean Provins, P. Geoph.
 dprov...@alumni.ucalgary.ca
 http://www.telusplanet.net/~provinsd
  KeyID at at pgpkeys.mit.edu:11371: 0x9643AE65
  Fingerprint: 9B79 75FB 5C2B 22D0 6C8C 5A87 D579 9BE5 9643 AE65


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111224185101.GB2942@ve6wvc



Re: Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Joel Roth
On Sat, Dec 24, 2011 at 06:15:34PM +, Tony van der Hoff wrote:
 On 24/12/11 17:34, Vincent Lefevre wrote:
 On 2011-12-24 17:06:38 +, Tony van der Hoff wrote:
 Yep, that's PERL for you. Having taken over the maintenance of a large
 PERL project, I've come to the conclusion that it's IMHO the worst
 programming language ever invented. Totally non-intuitive.

To make an analogy:

Mandarin, with its tones, is inferior due to the
non-intuitive way that minor intonation changes meaning.
It is the worst language ever invented.

English, with its irregular rules, is inferior to more
regular languages. 

Japanese, with usage that often lacks explicit signals
to indicate subject or object is inferior to languages
with pointers to this information. Early Christian missionaries
believed it was created by the devil to obstruct their good
works.

German and Hindi, with their complicated cases and genders, are 
inferior to languages with simpler grammars.

All these languages are totally non-intuitive.

Esperanto is a great language, simple, regular, easy to
learn, but few people use it.

Yiddish, now there's a language that is famously expressive,
and at one time in history widely understood.

What would be the Yiddish of programming languages?

The point is, these judgments are largely based on experience,
temperament, aesthetics and personal preference.

As personal a choice as vim vs. emacs. 

Have a nice day (and fun learning whatever languages you
are drawn to or directed to by your employer.)


-- 
Joel Roth


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111224193202.GB24914@sprite



Re: Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Vincent Lefevre
On 2011-12-24 18:15:34 +, Tony van der Hoff wrote:
 No doubt it's powerful, and you can do powerful things. The problem is that
 the syntax is so ideosyncratic, that I'm so relieved to get someting finally
 to do what I need, that I can't be bothered expressing it in a very concise
 way.

Well, I have no problems with that, though one should avoid to write
unreadable code (but this is true for every language). I think that
Perl syntax is not really hard to understand once one has spent some
time on it (compare with zsh or sendmail config files... :).

 The TMTOWTDI only gets in the way. Who, other than PERL authors could think
 up such an acronym? Do it one way, and do it intuitively, would be a better
 slogan.

Several people will express things intuitively in different manners.
That's TMTOWTDI.

For instance, some people prefer the OO way, while others will prefer
the imperative way.

 The Camel Book  seriously pisses me off, with its silly little asides,
 which add nothing to the material.

I've never read it.

 Give me C, or C++, with its minor ideosyncracies any day. Compiling
 is a pain, but it roots out syntax errors before getting anywhere
 near to running anything.

The problem with C is not the syntax, but the semantics, which may
depend on the implementation or be undefined. And you will generally
get no warnings about semantics errors. The code may run fine on some
platform, but start to fail on a different platform or with different
optimization options. Well-known problems that not all developers are
aware of: integer overflows, automatic conversions that can change
the value (e.g. from signed to unsigned, and this can depend on the
platform), memory aliasing...

-- 
Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/
100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111224201603.gf5...@xvii.vinc17.org



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On 12/24/2011 06:44 AM, Miles Fidelman wrote:

Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing mission-critical/safety-critical
systems
If you're really interested in programming languages:
http://lambda-the-ultimate.org/


Interesting shopping list.  :-)


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef63c6d@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Jerome BENOIT

what about D ?

On 24/12/11 21:56, David Christensen wrote:

On 12/24/2011 06:44 AM, Miles Fidelman wrote:

Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing mission-critical/safety-critical
systems
If you're really interested in programming languages:
http://lambda-the-ultimate.org/


Interesting shopping list. :-)


David





--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef63eed.30...@rezozer.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On 12/24/2011 08:54 AM, lina wrote:

Did not notice the difference between () and {} in tutorial.


Perl is the most complex and subtle programming language/ system I know 
(attempt?).  For example, see the following Perl script which 
demonstrates syntax for accessing single and multiple (slice) elements 
of an array using basic types, functions, and simple OO.



As you can see, there's more than one way to do it (TIMTOWTDI).  (And, 
probably more than I found.)  There are even more ways that appear 
correct upon casual coding, but either generate errors/ warnings (lucky 
you) or have some subtle bug (you poor slob). (My example surely 
contains the later.)  Once you find enough no-error-or-warning-message 
choices and lay them out side by side, some method to the madness can be 
observed.  But, finding all the possibilities, finding a choice you 
like, or even just finding a choice that works can be very daunting, 
especially when faced with a blank screen.



Now, imagine what happens when you add multi-level data structures, tied 
variables, additional OO (polymorphism, operator overloading, multiple 
inheritance, roles, delegates, method modifiers, etc.), 
meta-programming, higher-order functions, and/or other Perl capabilities.



Understand that there is no specification for Perl 5; the implementation 
and regression tests serve as the de facto standard.  So, finding the 
rules for enumerating all the correct possibilities for a given decision 
means analyzing the source code of Perl itself.  I'm not going there.



As best I can figure, writing a computer program involves making some 
number, N, of key decisions.  With a Python motto, you make 1**N = N 
decisions and you're done.  With a Perl motto and M choices per 
decision, you need to explore M**N possibilities.  Both presume at least 
one correct choice for each decision.  (That's why a comprehensive and 
high-quality library is required for a language/ system to be general 
purpose and generally usable.)



With practice and experience, I've come up with favorite choices for the 
most common decisions I've faced (using whatever subset of each M I 
could find).  These choices are incorporated throughout the libraries 
and programs I maintain.  But, as I push harder and reach higher, new 
capabilities often force me to re-evaluate prior decisions. 
Foundational changes, such as abandoning my home-grown logging system 
and switching to Log::Log4Perl, create domino effects.  Now I'm learning 
Moose (the Perl 6 advanced OO system back-ported to Perl 5) and foresee 
a lot of work.



David
--



2011-12-24 11:29:16 dpchrist@p43400e ~/sandbox/perl
$ cat /etc/debian_version
6.0.3

2011-12-24 11:29:20 dpchrist@p43400e ~/sandbox/perl
$ perl -v

This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
(with 53 registered patches, see perl -V for more detail)

Copyright 1987-2009, Larry Wall

Perl may be copied only under the terms of either the Artistic License 
or the

GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using man perl or perldoc perl.  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


2011-12-24 11:29:25 dpchrist@p43400e ~/sandbox/perl
$ cat array-slice.pl
#!/usr/bin/perl
# $Id: array-slice.pl,v 1.2 2011-12-24 19:29:15 dpchrist Exp $

### enforce clean code and autoflush output:
use strict;
use warnings;
$| = 1;

### define a class that holds an array:
package MyArray;
sub new { my $class = shift; return bless [@_], $class }
sub   a { my $self  = shift; return  @$self  }
sub  ra { my $self  = shift; return [@$self] }

### main script:
package main;

### pull in some helpful modules:
use Array::Utils ':all';
use Data::Dumper;
$Data::Dumper::Indent = 0;
use Test::More tests = 45;

### define array and contents:
my @a = qw( a b c d e f );

### define reference to array:
my $ra= \@a;

### define function that returns array contents:
sub fa  { @a };

### define function that returns reference to array:
sub fra { $ra };

### allocate object that contains a copy of array contents:
my $oa= MyArray-new(@a);

### define expected results of tests:
my $a = [qw( a )];
my $abc   = [qw( a b c )];
my $abcdef= [qw( a b c d e f )];
my $rxA   = 'ARRAY\(0x[0-9a-g]{7}\)';

### shopping list of test code and expected values:
my @code_exp = (
'@a',   $abcdef,# 1
'$a[0]',$a, # 2
'@a[0, 1, 2]',  $abc,   # 3
'@a[0 .. 2]',   $abc,   # 4

'@{$ra}',   $abcdef,# 5
'$ra-[0]',  $a, # 6
'@{$ra}[0, 1, 2]',  $abc,   # 7

Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Miles Fidelman

Nah... D is just warmed over C.

Now E, on the other hand, adds significant capabilities for secure 
distributed computing based on the object-capability model:

http://en.wikipedia.org/wiki/E_%28programming_language%29

Jerome BENOIT wrote:

what about D ?

On 24/12/11 21:56, David Christensen wrote:

On 12/24/2011 06:44 AM, Miles Fidelman wrote:

Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing 
mission-critical/safety-critical

systems
If you're really interested in programming languages:
http://lambda-the-ultimate.org/


Interesting shopping list. :-)


David








--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef64ea2.2020...@meetinghouse.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On Fri, Dec 23, 2011 at 11:46:23PM -0800, David Christensen wrote:

$ cat /etc/debian_version
6.0.3
$ python --version
Python 2.6.6


On 12/24/2011 10:51 AM, Dean Allen Provins, P. Geoph. wrote:

My system and Python versions are identical to yours.


Python 3.2.2 seems to be the current stable:

http://python.org/download/releases/3.2.2/


I see a Python 3.1.3 package for Squeeze:

http://packages.debian.org/stable/python/python3


Wheezy is newer:

http://packages.debian.org/testing/python/python3


Do you feel any need to upgrade to Python 3?

http://wiki.python.org/moin/Python2orPython3


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef65017.70...@holgerdanske.com



Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Jerome BENOIT



 Original Message 
Subject: Re: OT programming languages/ systems for advanced applications on 
Linux
Date: Sat, 24 Dec 2011 17:23:46 -0500
From: tony baldwin tonybald...@gmx.com
To: g62993...@rezozer.net

 - Original Message -

From: Jerome BENOIT
Sent: 12/24/11 04:06 PM
To: debian-user@lists.debian.org
Subject: Re: OT programming languages/ systems for advanced applications on 
Linux

what about D ?

On 24/12/11 21:56, David Christensen wrote:
 On 12/24/2011 06:44 AM, Miles Fidelman wrote:
 Lisp


I do like lisp.
I've barely played with it, but something about it is...I don't know,
lisp code is pretty to look at.
Is it weird that I think that?
Should I seek therapy?
I've decided I'd really like to learn it, at the very least.
(I know: I like tcl, now lisp...I should start speaking latin, too.)

Ruby looks fun. It looks like the bastard child of tcl and perl, or something.

./tony
--
http://www.tonybaldwin.net
All Tony, all the time!


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef65479.5040...@rezozer.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Jerome BENOIT



On 24/12/11 23:13, Miles Fidelman wrote:

Nah... D is just warmed over C.


may be more than a better C.



Now E, on the other hand, adds significant capabilities for secure distributed 
computing based on the object-capability model:
http://en.wikipedia.org/wiki/E_%28programming_language%29

Jerome BENOIT wrote:

what about D ?

On 24/12/11 21:56, David Christensen wrote:

On 12/24/2011 06:44 AM, Miles Fidelman wrote:

Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck)
for that matter, Ada, if you're writing mission-critical/safety-critical
systems
If you're really interested in programming languages:
http://lambda-the-ultimate.org/


Interesting shopping list. :-)


David











--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6550d.10...@rezozer.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On 12/24/2011 01:06 PM, Jerome BENOIT wrote:

what about D ?


I'd really like to start using a UML power tool to help me with advanced 
applications.



I've used Umbrello, but it hasn't been updated since June 2007 and its 
Perl support is thin/ immature. (C++ and Java appear to be the best 
supported, but I haven't tried.)  Umbrello 1.5.71 seems to have a code 
generator for D.  Have you tried using Umbrello with D?


http://uml.sourceforge.net/index.php


Are there better FOSS UML power tools out there, for Perl, D, or whatever?


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6555a.8080...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On 12/24/2011 02:13 PM, Miles Fidelman wrote:

Now E, on the other hand, adds significant capabilities for secure
distributed computing based on the object-capability model:
http://en.wikipedia.org/wiki/E_%28programming_language%29


Interesting.  But, Go has similar (?) concurrency features and looks 
more promising.



David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef65713.3070...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread David Christensen

On 12/24/2011 08:50 AM, PMA wrote:

Rather than APL itself -- value judgement aside --
you might consider its successor and superset,
*J* ( http://www.jsoftware.com/ ).


Interesting.  :-)


David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6586d.9060...@holgerdanske.com



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Vincent Lefevre
On 2011-12-24 14:06:20 -0800, David Christensen wrote:
 As you can see, there's more than one way to do it (TIMTOWTDI).  (And,
 probably more than I found.)  There are even more ways that appear correct
 upon casual coding, but either generate errors/ warnings (lucky you) or have
 some subtle bug (you poor slob). (My example surely contains the later.)

You can also write less concise code and have fewer bugs.

 Once you find enough no-error-or-warning-message choices and lay them out
 side by side, some method to the madness can be observed.  But, finding all
 the possibilities, finding a choice you like, or even just finding a choice
 that works can be very daunting, especially when faced with a blank screen.

You don't have to find all possibilities! Just take the first one
that comes to your mind. You can improve it later, but this is like
optimizing code in any language...

 Understand that there is no specification for Perl 5; the implementation and
 regression tests serve as the de facto standard.  So, finding the rules for
 enumerating all the correct possibilities for a given decision means
 analyzing the source code of Perl itself.  I'm not going there.

There is documentation. Just avoid what isn't clearly documented.
You do not have to read the Perl source code!

 As best I can figure, writing a computer program involves making some
 number, N, of key decisions.  With a Python motto, you make 1**N = N
 decisions and you're done.  With a Perl motto and M choices per decision,
 you need to explore M**N possibilities.  Both presume at least one correct
 choice for each decision.  (That's why a comprehensive and high-quality
 library is required for a language/ system to be general purpose and
 generally usable.)

You do not need to explore all the possibilities. Just take one.

I sometimes hesitate between several solutions, but very often, it's
from an algorithmic point of view. There would be the same problem
with any language.

-- 
Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/
100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111225015210.gg5...@xvii.vinc17.org



Fwd: Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread PMA

 Original Message 
Subject: Re: [Jprogramming] Debian Forum comparing J to Brainf*
Date: Sat, 24 Dec 2011 14:09:31 -0500
From: Marshall Lochbaum mwlochb...@gmail.com
To: Programming forum programm...@jsoftware.com, 
peterarmstr...@aya.yale.edu


Well, I'm not tired of this stuff quite yet, so here goes:

Brainfuck and APL/J/K get compared a lot on account of being obfuscated.
This is a bit unfair. The correct terms are, respectively, contorted and
terse.

There is one thing that the two languages share: they are each an attempt
to get to the root of programming and SIMPLIFY the discipline. Each can be
 fully specified in a few pages, if you disregard the vocabulary used in an
array language. However, the two have markedly difficult results. Coding in
Brainfuck ends in long strings of  or + , and true automation is
impossible. On the other hand, J code is very compact, in part because it
makes assignment very simple--no distinction is made between primitive and
user-defined functions.

Nonetheless, people complain that J or Brainfuck code is particularly
complicated. Note the distinction between the language and code here.
Brainfuck is a simple language with complicated code. We can't refer to the
language as obfuscated, since that word refers to the addition of
unnecessary detail, and Brainfuck does the opposite. However, the code is
often obfuscated in the sense that it fails to abstract away details, and
thus hinders a higher-level view of the program. Array languages do not
suffer from this difficulty. In fact they are far more extensible than
procedural languages, because they also allow functional manipulation.

I think the word you are in fact looking for to describe these two
languages is unfamiliar. This word places the blame where it lies--not on
the language, but on the programmer! Given the functional languages in the
list, I won't accuse you of being completely unknown to programming outside
of the C paradigm, but most of the time when I hear similar complaints
they're from people who think a piece of text is a program if and only if
it contains the phrase for (int i=0; il; i++). Okay, J doesn't have a
lot of words in it. Neither does ((-b) + sqrt(b^2-4*a*c))/(2*a). I submit
that within a month of actual use, J code will seem clearer, better
designed, and more useful than any other programming language, mathematical
nomenclature included.

I once had a friend tell me that if (x20) return true; else return
false; was clearer than the J equivalent 20. I hope you can see past
the unfamiliar syntax enough to know that that's false, and I hope you are
open-minded enough to not make the same mistake about APL/J/K before
knowing any of the language.

Marshall

On 12/24/2011 06:44 AM, Miles Fidelman wrote

Any other comments/ suggestions regarding programming languages/
systems for advanced applications on Linux?
Lisp
Smalltalk
Erlang
Haskell
Caml/OCaml
APL - if you're crazy or want to be; or you could go all the way to
Brainfuck (http://esolangs.org/wiki/Brainfuck) for that matter, Ada,
if you're writing mission-critical/safety-critical systems



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6a04c.5040...@aya.yale.edu



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-24 Thread Miles Fidelman

re: Perl

IMHO:  The true power of perl comes from cpan.  Nothing else comes close 
in terms of a huge library of modules that self-assemble pretty easily.


--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef6a987.3010...@meetinghouse.net



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-23 Thread Dean Allen Provins, P. Geoph.
David:

On Thu, Dec 22, 2011 at 02:14:44PM -0800, David Christensen wrote:
 Someone wrote:
 I am like you and wrote most of my C++ during the
 early years of the language.  I used the ATT Cfront version 1.2
 compiler for years.  Always on Unix machines and never on Windows.
 
 I have become disillusioned with the new C++ that has the kitchen sink
 in it.  It has become the new ADA.  I believe it makes easy programs
 easy and hard programs harder.  So now I program in C and haven't
 written much C++ in years.
 
 I learned Perl in 1998, and have been using it as my primary

---snip---

 I learned C++ in 1995 and used it professionally until ~2000.  While
 I loved C, I have mixed memories of C++.  I have positive memories

---big snip---

My preference was C (which followed years of FORTRAN) for
geophysical applications.  I did some C++ but never cared for the
syntax.

I noted your comments on Python, and while I haven't any
experience with the 2 - 3 transition, I am inclined to prefer
it.  In fact, almost all my work is now in that language.  You
can see some examples at my page (below) in the SOFTWARE section.

Regards,

Dean

-- 
   Dean Provins, P. Geoph.
 dprov...@alumni.ucalgary.ca
 http://www.telusplanet.net/~provinsd
  KeyID at at pgpkeys.mit.edu:11371: 0x9643AE65
  Fingerprint: 9B79 75FB 5C2B 22D0 6C8C 5A87 D579 9BE5 9643 AE65


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20111223155737.GA2870@ve6wvc



Re: OT programming languages/ systems for advanced applications on Linux

2011-12-23 Thread David Christensen

On 12/23/2011 07:57 AM, Dean Allen Provins, P. Geoph. wrote:

I noted your comments on Python, and while I haven't any
experience with the 2 -  3 transition, I am inclined to prefer
it.  In fact, almost all my work is now in that language.  You
can see some examples at my page (below) in the SOFTWARE section.


Which version of Python do you use?


David



2011-12-23 23:43:38 dpchrist@p43400e ~
$ cat /etc/debian_version
6.0.3

2011-12-23 23:44:03 dpchrist@p43400e ~
$ python --version
Python 2.6.6



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef5834f.3030...@holgerdanske.com



OT programming languages/ systems for advanced applications on Linux

2011-12-22 Thread David Christensen

Someone wrote:

I am like you and wrote most of my C++ during the
early years of the language.  I used the ATT Cfront version 1.2
compiler for years.  Always on Unix machines and never on Windows.

I have become disillusioned with the new C++ that has the kitchen sink
in it.  It has become the new ADA.  I believe it makes easy programs
easy and hard programs harder.  So now I program in C and haven't
written much C++ in years.


I learned Perl in 1998, and have been using it as my primary programming 
language/ system since ~2001.  Easy stuff is easy, and I can manage 
moderate stuff.  Brilliant/ workaholic people can make Perl do anything, 
but I'm not there.  The core language and library are outstanding for a 
non-corporate, non-standards body product.  But the rest of the library 
(CPAN) is a volunteer community effort.  Scope and quality of individual 
CPAN modules range from good to garbage.  And, as they say, a 
programming language is only as good as its library.  The stream of 
available books has fallen off, although a new Camel book is due shortly.



Perl's motto There's more than one way to do it (TIMTOWTDI) is great 
for duct tape that holds the Internet together.  But the dark side of 
TIMTOWTDI is that effort grows exponentially as you cobble together Perl 
modules with differing designs and interfaces. Conceptual integrity 
and systems programming product appear to be precluded (ref. Brooks, 
The Mythical Man-Month).



I've come to the conclusion that I need another language/ system for 
advanced applications; one that meets Brook's ideals.  So, I 
periodically consider other languages/ systems.



I learned C++ in 1995 and used it professionally until ~2000.  While I 
loved C, I have mixed memories of C++.  I have positive memories of STL 
and mixed memories of Rational Rose.  Boost seems to be upcoming and C++ 
is fully supported by Umbrello. C and C++ seem to occupy significant 
positions in the Linux ecosystem, and are broadly supported on many 
platforms.



Java is a corporate product, and doesn't feel truly FOSS (especially 
since Oracle).  I am leery about its apparent requirement for IDE's -- I 
prefer the understanding and control afforded by the shell.  And, I've 
heard one too many Java factory-factory-factory-factory jokes.



C# by itself looks appealing, but C#/.NET is corporate and and I can't 
stand Windows or the Microsoft ecosystem.  Mono seems to be doomed to 
playing catch-up.  I'd rather invest my efforts into a FOSS language/ 
system that has first-class support on all the common platforms and the 
possibility for embedded systems.



Python has been upcoming for years.  Python's Benevolent Dictator for 
Life and there should be one -- and preferably only one -- obvious way 
to do it philosophies would seem more likely to achieve Brook's ideals. 
 But, Python's whitespace sensitivity has always put me off, and the 
version 2 = 3 language change still seems to be propagating through the 
standard library.



Go is intriguing.  It's corporate, but feels FOSS.  The designers appear 
to have very specific goals in mind (e.g. conceptual integrity). The 
language incorporates many desirable advanced features, while eschewing 
certain others commonly found in other languages.  Code is compact and 
regular.  Go compiles and runs fast, and is being used for real stuff. 
 But, the language is still evolving (version 1 due next year?), 
documentation is terse, and the library has limited breadth and depth. 
I'm still hoping/ waiting for Google to pull the cork out and develop 
Go to its full potential.



Any other comments/ suggestions regarding programming languages/ systems 
for advanced applications on Linux?



David


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org

Archive: http://lists.debian.org/4ef3abd4.9090...@holgerdanske.com