Live data from Hacker News

Why Did I Choose Perl When Building Crowdtilt?

dsog.info

11–20 of 143 posts

Re: Why Did I Choose Perl When Building Crowdtilt?

#12

Earlier quoted context omitted.

It is a very good question and I had to think really hard about it in the early days. My take on it is that I appreciate good developers regardless of the language of choice and those are the stars that we want to have at Crowdtilt. Good developers will usually learn any "needed" tools in a matter of hours. In fact, I think if anything Perl would speed up the time it'll take to train a dev and get him/her to have an…

In fact, I think if anything Perl would speed up the time it'll take to train a dev and get him/her to have an impact on the product from day one due to how easy is it to learn. Which will be negated by how hard real-world perl code is to read and maintain.

It's incredibly easy to write good Perl.

It's just easier to write bad Perl, and most Perl is set it and forget it in scope.

Re: Why Did I Choose Perl When Building Crowdtilt?

#13
There is some decent justification in there, but I think the generic question, in a lot of questions is:

Why did I choose to build X with Y?

The generic answer is usually:

Because it is what I know.

The extended answer may include particular features of the language or environment or it may include the support provided by a particular cloud infrastructure.

As an example, the stuff I am personally working on now, I mostly use Python because I know it well and the ecosystem for webapps is pretty mature. 7 or so years ago, Python (in particular) mod python wasn't even close to modphp, so I went with PHP. Today, if I was adamant about building on Azure, I'd choose NodeJS (thus JavaScript) or C# because they are first class citizens of the platform.

In other words, choice of language can take on many facets. Good to see PERL mentioned again.

Re: Why Did I Choose Perl When Building Crowdtilt?

#14
I personally don't like the 'flavor' of most Perl that I've seen or written - and it was my first programming language - but it's obvious that it remains one of the most relevant languages in terms of shipped code.

That being said, I don't feel that any of the reasons given in this post are in any way leading to the conclusion 'Use Perl'. In fact I think all of those points apply to just about every major high-level language today. CPAN is definitely a very high-quality system, but I think nearly every language I use has something functionally similar. The same sort of argument works on the other points, or so it seems to me.

The one exception is the ease of extending the language. I'm not familiar with that functionality of Perl, but I can say that extensibility of the core language is by far my favorite feature of Scheme. If Perl has a similar ability, then I will absolutely concede that that is a powerful feature indeed.

Re: Why Did I Choose Perl When Building Crowdtilt?

#15
post #2

How do you find hiring? A Blekko founder said they chose Perl partly because as one of the few hot startups to be using Perl, it would make them a top choice for great Perl hackers.

I've heard this argument before: I'll build my product using X because nobody else is doing it, so all the best Xers are going to line up. I can't speak for the author, but I haven't seen it quite work out.

Unless you're talking exclusively to language/stack zealots, the best guys are evolving the tools, and the next-best are evolving with them. That's not to say that all things old are bad and all things new are good, but we do tend to get better at different classes of problems.

As the author suggests, though, Perl has this incredible longevity and extensibility. I really like it whenever I work with it, and it wouldn't be a turn-off if I was considering working there. But if someone came to me and said, "I want you to develop a To-Do web app in C++," I'd probably pass.

Re: Why Did I Choose Perl When Building Crowdtilt?

#16

There is some decent justification in there, but I think the generic question, in a lot of questions is: Why did I choose to build X with Y? The generic answer is usually: Because it is what I know. The extended answer may include particular features of the language or environment or it may include the support provided by a particular cloud infrastructure. As an example, the stuff I am personally working on now, I mo…

There are always tradeoffs, but sometimes you can find "the best tool for the job". And that may or may not be the tool that you know. You gotta be flexible and open to learn other tools that may suit the situation better.

In the post I don't bash any other languages at all. In fact, I encourage people to learn other languages too. At the end of the day, it'll help you evolve your thinking process and extend your skill set.

Thank you for your comment :)

Re: Why Did I Choose Perl When Building Crowdtilt?

#17
post #14

I personally don't like the 'flavor' of most Perl that I've seen or written - and it was my first programming language - but it's obvious that it remains one of the most relevant languages in terms of shipped code. That being said, I don't feel that any of the reasons given in this post are in any way leading to the conclusion 'Use Perl'. In fact I think all of those points apply to just about every major high-level…

Indeed :).

Checkout these modules: Test::Class::Sugar MooseX::Declare

Thank you for your feedback.

Re: Why Did I Choose Perl When Building Crowdtilt?

#19

Earlier quoted context omitted.

It is a very good question and I had to think really hard about it in the early days. My take on it is that I appreciate good developers regardless of the language of choice and those are the stars that we want to have at Crowdtilt. Good developers will usually learn any "needed" tools in a matter of hours. In fact, I think if anything Perl would speed up the time it'll take to train a dev and get him/her to have an…

In fact, I think if anything Perl would speed up the time it'll take to train a dev and get him/her to have an impact on the product from day one due to how easy is it to learn. Which will be negated by how hard real-world perl code is to read and maintain.

There's a school of writing "modern" Perl, using source filters and object systems. Bare Perl is a mess but, in somewhat of a Lispy way, you can use Perl to rewrite your Perl. If none of your functions have signatures and you're manually blessing objects, your codebase will quickly turn to shit. Using a standard bits (such as Moose) to give you a consistent object system and method call syntax changes things dramatically.

Re: Why Did I Choose Perl When Building Crowdtilt?

#20

Earlier quoted context omitted.

In fact, I think if anything Perl would speed up the time it'll take to train a dev and get him/her to have an impact on the product from day one due to how easy is it to learn. Which will be negated by how hard real-world perl code is to read and maintain.

There's a school of writing "modern" Perl, using source filters and object systems. Bare Perl is a mess but, in somewhat of a Lispy way, you can use Perl to rewrite your Perl. If none of your functions have signatures and you're manually blessing objects, your codebase will quickly turn to shit. Using a standard bits (such as Moose) to give you a consistent object system and method call syntax changes things dramatic…

+1

I definitely recommend reading "Modern Perl". It is a game changer.

http://www.onyxneon.com/books/modern_perl/index.html

Post reply on HN