M. Edward (Ed) Borasky wrote:
> Not so much flames as challenges ...
> > to make it one. Its quite possible to learn and work with more than one
> > language at the same time, or at least in a staggered/parallel manner.
> > Many top developers are of the view that learning and using more than
> > one language is beneficial, helps you grow as a programmer.
> I have found that switching languages rapidly, frequently, even in a
> "staggered/parallel" manner is for the most part counter-productive.
> Programming in *any* language is an activity that requires a mix of
> intense focus on the programming tasks *and* an intensely active
> communication in a spoken human language with customers and colleagues.
> Add multiple programming languages and you lose focus.
>

I might not have made my above point ("it is quite possible to ...")
clear. What I meant was, once you've learned those (more than one)
languages, to a reasonable degree of proficiency, then its quite
possible to work with more than one at the same time (strictly
speaking, in a staggered manner - I haven't yet seen anyone who can
write more than one program (whether in one language or two) literally
at the same time ... :-) in a given project.

I've done that in real-life projects (and this is often a genuine need
in such projects); e.g. have programmed in Informix ESQL/C (which is
actually like two languages - C and SQL in one source file) (for
database apps), plain UNIX C (for system tools or one-off programs to
be used by me and developers), Java (for biz apps again, as well as
system utliities), standalone SQL scripts (run from an SQL client), and
UNIX shell scripts (for automating tasks and calls to other programs) -
all in a single large long-running corporate project.

The organization not having resources for hiring specialized developers
for each individual language can also be a reason for needing to have
people (rather, the same person) develop in more than one language on
one project.

> Occasionally a project will need multiple languages. I've found those go
> slower and are more difficult than projects where you can wallow in your
> knowledge of a single language and a single application domain. I pity a
> programmer who has to write a Ruby - FORTRAN bridge that is called by a
> Java ERP application for an engineering firm located in Quebec. :)

Not so occasionally, IMO - at least in larger corporate projects - see
1st para above.

>
> Yes, indeed, learning multiple languages does help you grow, provided
> they aren't too similar. There's a note about that on someone's blog --
> give me a day or so and I can track it down. But briefly, he claimed --
> and I somewhat agree -- that there are two broad classes of language.

Why should learning languages that are somewhat similar but with some
differences, not help you grow? (challenge:-) E.g, Case in point:
Python and Ruby.

>
> There's the "Algol Family", into which class C/C++, Java, Python, Ruby,
> Perl, etc. fall, and there's the "Lisp Family". If you're like most of
> us, you spend most of your time in the Algol family. His point was that
> you grow more if you learn a Lisp family language than if you learn
> another Algol family language.
>
> Incidentally, where I disagree is that I think there are six families:
>
> 1. Macro assemblers
> 2. Algol
> 3. Lisp
> 4. APL
> 5. Forth
> 6. Smalltalk

You forgot Prolog-style languages - which are different from Lisp. I'm
not a language lawyer or expert, but have checked both those out a bit,
and I do feel that the programming paradigm in Prolog is different from
Lisp.  Can't speak from a theoretical standpoint (e.g. some Lispers may
say that Prolog is in the same family as Lisp), and if I remember, Paul
Graham's On Lisp or some other Lisp book has an implementation of
Prolog in Lisp - though that may not be against my point that Prolog is
a different family than Lisp).

> Ruby, I'll give it a shot. And there are language-specific IDEs for
> Ruby. But don't *real* programmers use Emacs?
>
> <ducking>

I was quite skilled at vi before vim came out, and managed very well
with that, though I'm aware (now) that vim has lots more features, and
am slowly checking them out.

A couple of times I've heard people (newbies mostly) mutter "magic..."
to themselves, standing behind me and watching me type code .... ;-)
Nothing special about it - just years of typing .... I'm sure many
others are the same .......

Vasudev Ram
http://www.dancingbison.com
http://www.geocities.com/vasudevram
http://sourceforge.net/projects/xtopdf


>
> Actually, I've never bothered to learn Emacs. It had a (justified)
> reputation as a memory hog, so I learned vi. I'm pretty sure GNU Emacs
> is no longer a memory hog, but I'm so firmly down the "vim" path that
> Emacs seems like a distraction.
> 
> -- 
> M. Edward (Ed) Borasky
> 
> http://linuxcapacityplanning.com