[Ilugc] Comparing programing languages [was: perl OO]

  • From: rajanvn@xxxxxxxxx (Natarajan V)
  • Date: Sun, 4 Dec 2011 21:05:53 +0530

I think, this thread is slightly moving away from Linux and moving
towards programming skills and hiring. Should we tag it as [OT]?

On Sun, Dec 4, 2011 at 10:42 AM, Suraj Kumar <suraj at careergear.in> wrote:

Measuring one's language skills is of use only for gauging if the
candidate might be useful to fulfill, also, the short term needs (which,
usually, is to maintain/extend/fix an already developed solution).

Agreed.

Measuring based on language skills is of only a cosmetic use from the point
of view of hiring a long-term asset for a company.

+1

Perl (or C, for that matter) doesn't lay out things on a plate. Perl
requires understanding of core OS concepts before one can build real world
applications for use in a production environment.

I Agree, and agree to disagree as well :-)
I agree that you need to get your OS fundamentals strong if you really
need to code well in C/PERL. The disagreement is on the fact that when
I want someone to be strong in Fundamentals, OS Concepts are NOT the
only fundamentals. Linking back to your homepage - System Thinking is
a good example of fundamentals.

PHP, Java, etc., OTOH,
makes it infinitely easy for anybody to program and build seemingly real
world applications, allowing all sorts of people to write all sorts of
things and still get away with it. In Java, it is the VM that externalizes
problems, as though, it is someone else's to handle.

Again, Agreed and disagreed. I agree that Java, .NET and to some
extent PHP, and others as well, do hide the OS implementations. This
doesn't mean that I can write rubbish and expect the VM to take care
of everything. A well experienced Java (or .NET) guy can guide you
though how a memory leak could occur in a Java program, how to use a
profiler to debug the memory leak, how threads get tangled causing
deadlocks, etc... Sounds familiar?

As I said earlier, we try to solve a different set of problems with
different tools. We don't necessarily take care of freeing up the
memory in Java, as we do in C. But, this doesn't mean that you can
create anything you want. We still need to make sure that the Garbage
Collector (GC) will be able to handle the memory on it's own, by
coding correctly. A bad programmer will be the same across all
languages.

I meant to say, thus, if you come across a perl programmer who has built
real world applications, chances are their fundamentals will be strong
(which, of course, you'd be testing in the interview). Their fundamentals
are strong because the language forced them to rethink their approach at
every juncture of their own skill development.

The definition of what you mean by fundamentals makes a difference
here. I would go down to "Systems Thinking" for example as a
fundamental. OS Concepts, ... well an extremely added advantage?
Unfortunately, *Nix and other "time shared" scheduling OSs are not the
only one type lying around.


That said, likewise, one
also comes across a whole bunch of "perl scripting" people who have not
written anything more than 300 lines of relevant code... but then, again,
it is very easy to spot them.

Spot on. Agreed +1

How come the candidates who come for interviews, never even realize this?

IMHO, the problem isn't with Java/Perl, its a problem with your
question paper / interview panel.

Absolutely agree. But tell me, from your experience, do you have a perfect
interview panel who all ask relevant, core testing questions? :)

pass.... :-)
Actually, I have had identifying good panelists for myself.

--
Natarajan

Other related posts: