Coders in the Gulch
Posted by Poplicola 9 years, 8 months ago to Technology
As a new arrival, I'd like to get to know anyone else who enjoys computer programming. I am also curious about what languages and tools they find most productive.
My main language of choice is Ruby, although I tend to approach it as a Lisp with a lot of syntactic sugar. Javascript comes in as a close second, since it also supports a functional coding style.
Go, Racket, and Haskell would then fall into the "languages that I'd like to use for real work, but haven't found a project where they are the best fit yet" category.
For support tools & methodologies, I swear by Literate Programming which entails writing a mix of documentation and code primarily for human readers. The Literate Programming tool then turns this unified code/documentation web into multiple source code files for the language you are using, and a beautifully typeset and cross-referenced book documenting it.
This is the only approach that has let me pick up a large body of code that I wrote several years ago and quickly wrap my head back around it again.
I am currently using Nuweb, which is programing language independent and leverages the LaTeX infrastructure to give me final documentation.
I also find Parsing Expression Grammars to be indispensable on many occasions, and I use PegJS in Javascript and TreeTop in Ruby.
What is in your toolbox?
My main language of choice is Ruby, although I tend to approach it as a Lisp with a lot of syntactic sugar. Javascript comes in as a close second, since it also supports a functional coding style.
Go, Racket, and Haskell would then fall into the "languages that I'd like to use for real work, but haven't found a project where they are the best fit yet" category.
For support tools & methodologies, I swear by Literate Programming which entails writing a mix of documentation and code primarily for human readers. The Literate Programming tool then turns this unified code/documentation web into multiple source code files for the language you are using, and a beautifully typeset and cross-referenced book documenting it.
This is the only approach that has let me pick up a large body of code that I wrote several years ago and quickly wrap my head back around it again.
I am currently using Nuweb, which is programing language independent and leverages the LaTeX infrastructure to give me final documentation.
I also find Parsing Expression Grammars to be indispensable on many occasions, and I use PegJS in Javascript and TreeTop in Ruby.
What is in your toolbox?
The results in writing a lot of Ruby and occasionally some very looney bash..
Over the years I have written some fairly seriously big piles of perl and php..
When its time to do something serious I tend to turn to C.. If its really really serious I still do not fear the assembler..
In fact back in the day I really took the idea of being an embedded assembly guy seriously.
There was a great Forth book called "Object-Oriented Forth" by Dick Pountain; but it is out of print and the used book prices for it are *insanely* high. Fortunately you can find a partial summary of his thinking here:
http://www.forth.com/archive/jfar/vol3/n...
Another orphaned research thread I ran across once was an attempt to get the best of both worlds by building a Lisp on top of Forth. Of course there have been a number of subsequent projects emulating Forth with Lisp macros, but that approach tends defeats the point of wanting to talk directly to hardware.