Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well, what does "efficient" actually mean here? I like Perl (for medium-small programs) because it's quick to write, doesn't require lots of boilerplate like Java does, and allows a much more direct translation of my intent than shell scripts do.


Personally, if sounds like you need to expand your horizons if you feel that Perl is mostly competing with Java or shell scripts as the best language for the job.


How so?

Shell scripts are for things that have almost no logic besides running other programs.

Perl is for things that do have internal logic, and aren't big enough for the lack of formal function parameters to be an issue.

Java is for things that talk to the database (or need other libraries, such as for reading/writing Excel files), or are too large to keep in my head all at once (most of which talk to the database anyway).

C is for the one program I have that needs the suid flag set, and the one wrapper that resets the process group ID. I don't like C.

The server that all these need to run on, is an AIX box that doesn't have Python or OCaml or Ruby installed. If it did, I suppose it's possible I'd use one of these for some of the cases where I use Perl or Java now. Or probably not, since less people know them (except maybe Python?).

PL/SQL is for things that run inside the database, because it's what the database (Oracle) comes with.

C#/.NET is for things that run on my and my coworkers' laptops, because Visual Studio provides a wrapper/installer that makes it dead simple to publish updates.


>>Perl [...] lack of formal function parameters

http://search.cpan.org/~barefoot/Method-Signatures-20130222/...

(And others on CPAN.)

>> [C for suid flag]

Afaik, you should be able to use anything for suid stuff.


There's a general idea that compiled programs are safer for the SUID flag because it's 'easier' to hijack a script (running in an interpreter) to execute arbitrary code than code that's compiled to machine language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: