Hacker News new | past | comments | ask | show | jobs | submit login

As much as I enjoyed Perl, I also cannot fathom how these kind of languages got so much adoption. For me, productivity is most strongly correlated with IDE support, debuggers and documentation. These are the kind of things Java and C# beat everyone else at. But it seems like a lot of devs are just dogmatically tied to their text editors.



"cannot fathom how these kind of languages got so much adoption"

The other options built into your UNIX (maybe Linux) machine were:

- C

- C++

- tcsh/ksh/bash

- awk

- TCL

What would you have chosen?


Apart from Python, even today what are the options?

golang/rust/c doesn't fit well the kind of tasks you would use Perl to do. There is simply too much verbosity and at some point in time you will bail out of the sisyphean nature of the task. Kotlin etc are more for mobile apps.

To me, back end work is-

1. Any serious application, that needs to run for years with performance - Java.

2. Glue work- Python/Perl.


I wouldn't dismiss Go that quickly, and same for C#.


A lot of the "dogmatically tied" comes from experience; it's why the common refrain is that IDE means "It Doesn't Exist" (where you have to fix the code). E.G. a "this is why we can't have nice things" situation.

This is why a lot of us still use vi/emacs; it's just what's available where we have to fix the problems.

I'll give you an example. I used to contract with booking.com, where they gave us a crippled little windows "amazon workspace" over vnc which we had to use to talk to their systems. They're transitioning from a perl shop into a java one, so naturally they use an IDE. Unfortunately, they have configured this little workspace such that SSH mounting your dev VM into an IDE isn't possible (due to it not having a workable ssh agent), and you can't install anything not pre-approved (so x11 forwarding a locally installed IDE is right out).

Minor changes could have been made to these workspaces to address this; requests for which went ignored for years.

The only thing I could rely on was what I am used to writing perl in. An SSH console session with vim and tmux.

I was quite glad to have java experience from before the days when java IDEs were any good. I'd have been screwed if I didn't know how to use the debugger and javac directly.

We've all had to work with our hands tied behind our backs often enough we just "skip to the end" and use the tools we know for a fact will always be available.

It's probably that same reason that perl persists to the level of popularity it has. Like vi, I know it's going to be there on basically any server I have to work on, and the client probably doesn't care/want or even know how to provision me something less primitive.


Perl has a very strong documentation culture. One of the things I miss in Common Lisp is the ability to just do 'perldoc List::Util' and get an overview of all subroutines in that module, with examples and clear explanations of how it all works.


Yeah, many people are happy with their IDE not letting them do something incorrectly (if they have extensions X, Y, Z installed), I prefer having something incorrect being impossible to exist.


correct vs. incorrect encompasses so much more than memory safety and types that agree. You could spend a ton of time making the ADA or Rust compiler happy only to discover your program doesn't solve the problem your customers want solved. That's why Python is still so very popular




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: