Confession: I never did ASM

On Wed, Oct 03, 2007 at 02:08:02PM +0900, M. Edward (Ed) Borasky wrote:

John J. wrote:

Ah, come on, man, what about Larry Wall’s camel?!
That’s like the Hunter S. Thompson of programming books! Eternal classic.

Yeah, except that Randal Schwartz’ Perl book is much more sacred – is
that the Llama book??

I tend to just refer to “the camelid trilogy”. The llama, the alpaca,
and the camel go together quite well, and should pretty much be bought
as
a set if you’re going to do any serious Perl programming.

The camel is really the Perl Bible, though. The llama and the alpaca
just get you to the point of being able to fully appreciate the camel.
Of course, there are those who know programming so well from a number of
other languages that only the camel is needed, but they’re the same
people who can learn Ruby more easily from the short primer in the back
of AWDR and the online docs, without even having to pick up a copy of
the
pickaxe book.

Interesting how my (written in Ruby) randomized signature script chose
the JAPH signature for this email.

Chad P. wrote:

pickaxe book.

Interesting how my (written in Ruby) randomized signature script chose
the JAPH signature for this email.

  1. I have never owned a copy of any of the camelid books. Then again, my
    Perl code reads like “awk” converted to Perl 4, which is exactly what it
    is. :slight_smile:

  2. I tried to learn Ruby from AWDR and gave up. I got the Pickaxe a week
    or so later. Too bad you can’t learn Rails from an appendix in the
    back of the Pickaxe. :slight_smile:

  3. I don’t know about the rest of the folks here, but I’m getting really
    tired of learning new programming languages. I think Erlang is going to
    be the last one I devote any significant time to learning. Sure, it’s
    fun to know Lisp/Scheme and Forth and Ruby (and R and Perl and C and
    Fortran and SQL …) but it’s also fun to get paid to program.

“That paper, as well known as it is, was pretty tough to track down in
HTML.”

That’s why we need governments all over the world to sponsor/push
efforts to make the knowledge available in a “web-ready” format, be it
html, database, pdf, whatever. Good reason exists too, paper is
information with an expiration date :slight_smile:

On Oct 3, 2007, at 11:57 PM, M. Edward (Ed) Borasky wrote:

  1. I have never owned a copy of any of the camelid books. Then
    again, my Perl code reads like “awk” converted to Perl 4, which is
    exactly what it is. :slight_smile:
    Missing out, they’re a fun read, even if you don’t need to learn
    anything about Perl.
  1. I tried to learn Ruby from AWDR and gave up. I got the Pickaxe a
    week or so later. Too bad you can’t learn Rails from an appendix
    in the back of the Pickaxe. :slight_smile:

Get that Rails book from Sitepoint, they’re giving it away free as a
pdf right now! It’s gentle. Rails just takes a bit of doing to get it
to start making sense. Lots of ‘other people’s’ software is that way.
Wait, my own software is that way…
Seriously, though, the Sitepoint book cuts through clearly. AWDR
makes sense later as a reference book.

On Oct 4, 2007, at 12:52 AM, Marc H. wrote:

“That paper, as well known as it is, was pretty tough to track down in
HTML.”

That’s why we need governments all over the world to sponsor/push
efforts to make the knowledge available in a “web-ready” format, be it
html, database, pdf, whatever. Good reason exists too, paper is
information with an expiration date :slight_smile:

Posted via http://www.ruby-forum.com/.

Like electronic formats are more permanent?
You’re right, but web ready means html. pdf’s are for printing.
But many books should be preserved in their original formats and made
available, even reproduced.

On Thu, Oct 04, 2007 at 02:52:52PM +0900, Marc H. wrote:

“That paper, as well known as it is, was pretty tough to track down in
HTML.”

That’s why we need governments all over the world to sponsor/push
efforts to make the knowledge available in a “web-ready” format, be it
html, database, pdf, whatever. Good reason exists too, paper is
information with an expiration date :slight_smile:

We’d be better off with volunteer efforts – think a “Library of
Alexandria” variation on the Wikipedia theme – for a number of reasons.
For one thing, political interests wouldn’t necessarily have as big an
impact on how it was managed (and if it did, someone else would come
along and fork it, whereas with a government effort that’s unlikely).
For another, it wouldn’t involve another tax hike. For yet another,
governmental bureaucracy wouldn’t slow things to a crawl, misallocate
funding as a matter of course, and make contributing to it a severe pain
in the fourth point of contact. Additionally . . . et cetera. I could
probably go on in this vein for quite some time.

. . . but I’m all for a “Library of Alexandria” volunteer resource. It
wouldn’t take too much, in terms of planning, I’d think – but putting
together the resources for it would be a bit more of a challenge.

On 10/4/07, M. Edward (Ed) Borasky [email protected] wrote:

  1. I don’t know about the rest of the folks here, but I’m getting really
    tired of learning new programming languages.

Ed,

You’ve earned it. :slight_smile: You’ve probably forgotten more about programming
than many of us on this list have yet learned. While I was cutting my
coding teeth in grade school on Applesoft and Integer BASICs on an
Apple II+, you had already learned, what, Assembly (several flavors),
FORTRAN, a few BASICs, JCL, some COBOL, umm… probably some Ada… am
I close? :slight_smile:

-A

On Thu, Oct 04, 2007 at 03:48:49PM +0900, John J. wrote:

On Oct 3, 2007, at 11:57 PM, M. Edward (Ed) Borasky wrote:

  1. I have never owned a copy of any of the camelid books. Then
    again, my Perl code reads like “awk” converted to Perl 4, which is
    exactly what it is. :slight_smile:
    Missing out, they’re a fun read, even if you don’t need to learn
    anything about Perl.

. . . especially the camel. The other two are more useful for getting
you to the camel, if you’re not ready for it to begin with. They’re
excellent didactic texts for their target skill levels, but not quite as
entertaining as the camel itself.

makes sense later as a reference book.
The more I hear about the Sitepoint book, the more I think I should read
it.

Alex LeDonne wrote:

FORTRAN, a few BASICs, JCL, some COBOL, umm… probably some Ada… am
I close? :slight_smile:

-A

Well … not exactly. By the time Apple II came out, I had learned Lisp
1.5, FORTRAN, several flavors of assembler, NELIAC, Dartmouth Basic, no
COBOL or Ada, and a little Floating Point Systems AP-120B microcode. But
I really thought Forth was going to catch on – BASIC on the Apple and
TRS-80 and Commodore 64 and all the other 8-bit machines sucked so bad,
and there weren’t really C compilers worthy of the name. I thought Forth
was it … forever.

Maybe it was. :slight_smile:

On Sep 27, 7:21 am, julik [email protected] wrote:

Von Neumann machine to get by unscathed without brain damage" or so?
Except Donald Knuth because I also have a day job to fulfill :slight_smile:

Check this one:
“The Definitive Guide to How Computers Do Math : Featuring the
Virtual DIY Calculator”
A beginner book that teaches you everything about bits, bytes ,low-
level IO, bit shifting and so on, using a Motorola emulator.
Here is the Amazon link:
http://www.amazon.com/Definitive-Guide-How-Computers-Math/dp/0471732788/ref=pd_bbs_sr_1/105-4362267-5661255?ie=UTF8&s=books&qid=1191544138&sr=8-1
And here a direct download link:
http://www.pdfchm.com/book/the-definitive-guide-to-how-computers-do-math-featuring-the-virtual-diy-calculator-3891/

On 10/4/07, M. Edward (Ed) Borasky [email protected] wrote:

Well … not exactly. By the time Apple II came out, I had learned Lisp
1.5, FORTRAN, several flavors of assembler, NELIAC, Dartmouth Basic, no
COBOL or Ada, and a little Floating Point Systems AP-120B microcode.

Hmm, in my case BEFORE the Apple II came out I’d learned:

Fortran II
Fortran IV
PL/I
APL
Lisp 1.5
Snobol
Algol-60
1620 Assembler
PDP-5/8 Assembler
PDP-11 Assembler
IBM 360/370 Assembler
PL/S
maybe some others I’ve since forgotten.

Since then

Pascal
Basic
C
ClassC (Invented that one myself)
Smalltalk
Java
Ruby
and learning Erlang as I find the time.

plus un petit peu de francais!


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

On Oct 4, 12:57 am, “M. Edward (Ed) Borasky” [email protected]
wrote:

  1. I don’t know about the rest of the folks here, but I’m getting really
    tired of learning new programming languages. I think Erlang is going to
    be the last one I devote any significant time to learning. Sure, it’s
    fun to know Lisp/Scheme and Forth and Ruby (and R and Perl and C and
    Fortran and SQL …) but it’s also fun to get paid to program.

Erlang

good news: it can utilize multiple cores well
bad news: you’ll need the multiple cores to get any decent performance

  • d’oh!

Having a PragProg book should give Erlang a shot in the arm, but I
haven’t seen enough to motivate me to learn it yet. Other functional
languages such as Haskell seem more interesting.

I can relate to the new language burnout; I wonder if I had learned
Lisp years ago if I could have just stuck with it instead of learning
a variety of languages that haven’t seemed to surpass it yet. The
fundamental nature of Lisp is attractive, but the syntactic sugar of
Ruby sure makes it fun to code in. What an awesomely practical
language.

On Oct 5, 2007, at 8:16 , Todd B. wrote:

What is this K&R book that everyone seems to be talking
about? I have an ANSI C book (acquired completely by accident)
sitting in front of me by Kernighan and Ritchie. Is that the same
one

Yes.

Michael G.
grzm seespotcode net

I don’t have the time to read the entire thread, so I’ll try to ask
outright. What is this K&R book that everyone seems to be talking
about? I have an ANSI C book (acquired completely by accident)
sitting in front of me by Kernighan and Ritchie. Is that the same
one, or is it something different?

Todd

Brian A. wrote:

I can relate to the new language burnout; I wonder if I had learned
Lisp years ago if I could have just stuck with it instead of learning
a variety of languages that haven’t seemed to surpass it yet. The
fundamental nature of Lisp is attractive, but the syntactic sugar of
Ruby sure makes it fun to code in. What an awesomely practical
language.

The problem with Lisp (in its current form, not the elegant formalisms
of the 1960s and of the core Scheme) is that it tries to be a
general-purpose language when there is absolutely no market for paid
Lisp programmers in applications outside of its “traditional” base of AI
and symbolic calculations. Sure, you can write an efficient, scalable,
etc., web application server in Common Lisp, but who’s going to fund it?
Sure, you can write a statistics package in Lisp, but who’s going to
buy it?

So if you had learned Lisp years ago (as I did) and been fortunate
enough to network into a paid Lisp programming position (as I wasn’t),
yes, you could have just stuck with it. The last time I looked, there
were still viable commercial Lisp-based enterprises, though I can’t
recall any names.

On Oct 5, 9:43 am, “M. Edward (Ed) Borasky” [email protected] wrote:

The problem with Lisp (in its current form, not the elegant formalisms
of the 1960s and of the core Scheme) is that it tries to be a
general-purpose language when there is absolutely no market for paid
Lisp programmers in applications outside of its “traditional” base of AI
and symbolic calculations. Sure, you can write an efficient, scalable,
etc., web application server in Common Lisp, but who’s going to fund it?

Those are good observations, but if I had taken that perspective, I’d
still be programming in Java instead of Ruby!

I agree with you regarding job/consulting outlook, but I’m not looking
for a job or a contract (BTDT), so the primary question regarding
technology choices for me pertains to the productivity of myself
(currently), and a small team (later), in scenarios where the
customers are more concerned with results than underlying technology.
That’s a great benefit of developing web applications - there’s often
less concern for what’s running on the server.

Optimizing over a shorter period (months) would indicate that nothing
can touch Ruby for me due to its capabilities and my experience level
with it. Optimizing over a longer period (years) the question is less
clear. If the Y axis is productivity, and the X axis is time, then I
think the Y intercept for Ruby is much higher than for Lisp, but I
can’t say for sure that f-ruby(x) > f-lisp(x) (or f-other(x)) for all
x. Of course, you really need to look at the integral, but you get the
idea. :slight_smile:

The only reason I’m continuing this thread on a Ruby ng, is because
the attitude of “which language will get me the best job”, that I had
for many years, had me programming in languages that were far
inferior to Ruby (IMO) for years. When my personal productivity in
creating solutions became more important than job demand, switching
from Java to Ruby was an easy decision. And when you experience a huge
gain in productivity like that, I think it’s natural to then ask the
question, “can I do it again?”.

Brian A. wrote:

I agree with you regarding job/consulting outlook, but I’m not looking
for a job or a contract (BTDT), so the primary question regarding
technology choices for me pertains to the productivity of myself
(currently), and a small team (later), in scenarios where the
customers are more concerned with results than underlying technology.

There’s no such thing. They always want to know the “hows” and approve
them.

Optimizing over a shorter period (months) would indicate that nothing
can touch Ruby for me due to its capabilities and my experience level
with it. Optimizing over a longer period (years) the question is less
clear. If the Y axis is productivity, and the X axis is time, then I
think the Y intercept for Ruby is much higher than for Lisp, but I
can’t say for sure that f-ruby(x) > f-lisp(x) (or f-other(x)) for all
x. Of course, you really need to look at the integral, but you get the
idea. :slight_smile:

Well … no … if you’re saying Ruby is more productive than Lisp, I’m
in violent agreement. Just the code readability alone is a big win!

The only reason I’m continuing this thread on a Ruby ng, is because
the attitude of “which language will get me the best job”, that I had
for many years, had me programming in languages that were far
inferior to Ruby (IMO) for years. When my personal productivity in
creating solutions became more important than job demand, switching
from Java to Ruby was an easy decision. And when you experience a huge
gain in productivity like that, I think it’s natural to then ask the
question, “can I do it again?”.

Maybe … but I still maintain that the two most important factors in
programming productivity always have been and always will be
application domain knowledge and familiarity with the development
environment. So if you were good at web servers in Java, Ruby – and
Rails – would probably improve your productivity, while if you were
good at number crunching in Fortran, your productivity in Ruby and Rails
for web servers wouldn’t be as high.

So yes … I think you can do it again, given a good match between the
language and application domain.

On Oct 5, 2007, at 8:16 AM, Todd B. wrote:

I don’t have the time to read the entire thread, so I’ll try to ask
outright. What is this K&R book that everyone seems to be talking
about? I have an ANSI C book (acquired completely by accident)
sitting in front of me by Kernighan and Ritchie. Is that the same
one, or is it something different?

Todd

Are you being facetious or serious?
If you’re serious, there are basically two:
the original (pre-ANSI) is K&R

the ANSI updated version (2nd edition…?) is also commonly called
K&R, but also known as K&R2.
Basically it’s the same except for strict compliance with C 89 ( I
don’t remember, but I don’t believe it is C99, but there shouldn’t be
anything in it that would matter for that. )

I just wish there was a similar book that addressed Unicode and C.
C++ books cover this more because they get updated more frequently…

On 10/5/07, John J. [email protected] wrote:

Are you being facetious or serious?
If you’re serious, there are basically two:
the original (pre-ANSI) is K&R

the ANSI updated version (2nd edition…?) is also commonly called
K&R, but also known as K&R2.

Okay, just making sure that it wasn’t simply a coincidence. I didn’t
study computer science, remember :slight_smile: I have the second edition, then.
It’s white and “stamped” red with “ANSI C”. It certainly makes for a
concise look at the C programming language.

Todd

On Oct 5, 10:47 pm, “M. Edward (Ed) Borasky” [email protected]
wrote:

Brian A. wrote:

… in scenarios where the
customers are more concerned with results than underlying technology.

There’s no such thing. They always want to know the “hows” and approve
them.

That hasn’t been my experience, but I think there’s a self-selecting
bias in effect :slight_smile: Also, you may have heard “clients” when I said
“customers”.

Maybe … but I still maintain that the two most important factors in
programming productivity always have been and always will be
application domain knowledge and familiarity with the development
environment.

I respectfully disagree with your second factor.

In switching from Java/Spring/Hibernate to Ruby/Rails, my application
domain knowledge was nearly identical, but I was much more familiar
with the Java development/deployment environment. In fact, I even
decided to leave Eclipse and pickup vim with which I was only vaguely
familiar with. Even so, my productivity in Ruby/Rails very quickly
exceeded my productivity in Java even after 10 years of developing in
it (just as it did when switching from C++ to Java 10 years ago), so
although domain knowledge is certainly an important factor, I think
the multiplying effect of technology (programming languages &
frameworks in particular) is commonly underestimated, although usually
by non-programmers in my experience - programmers know when they’ve
been granted a big productivity boost.

Now beyond a certain point, diminishing returns will be had, and that
might be what you’re referring to i.e. for programmers using a
sufficiently powerful language, then other factors will be more
important, but Java is not such a language :slight_smile: