Re: OT programming languages/ systems for advanced applications on Linux
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
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-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
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
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
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
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
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
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
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-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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