|Think about Loose Coupling|
Re: Have you heard about recent startups using Perl?by doc_faustroll (Scribe)
|on Mar 28, 2008 at 16:13 UTC||Need Help??|
Here is some wisdom from old sundial:
Maybe it's just because I've used so many languages over the years, but really I find that the language doesn't matter. I opine that it should not weigh heavily in your job-selection criteria.
Now why in the world would he say that? Assuming that he is referring to one of the latter day languages, of course, your Perls or your Pythons, I agree entirely. When you are focused on your true problems, the languages are mere tools.
I work with startups because it is fun, and because I get to directly introduce them to best practices and to a set of conventions that work.
The startup that I am working with now has a network of 40 servers. I racked the first four for them, and established the first conventions and standard Linux best practices. They are considered to be a Java based company. They use Java for the front end dev, because it is quantifiable and because large, lower skilled teams can build in quantifiable ways with it. They also use it for Lucene, which I set them up with.
Nontheless, I've used Perl consistently for them.
I don't think in terms of languages. I think in terms of higher order problems, such as team management through software tools, nearly zero administration, automated build, test, deploy; I think hard about how to properly benefit from a panoply of open source projects that provide functionality that we can rapidly devleop with. All this has to be done with forethought, with separation of customizations from projects. With plans for allowing for project and tool upgrades in an integrated version control and auto-build, auto-test, auto-deploy environment.
I also think about and write tools to keep the front end developers in controlled pens. I only give them limited apis and don't let them break frameworks or get at apis that have too many options for them to handle.
I only allow them to check out a standardized and consistent stack that auto-builds on their dev boxes. etc. I use the appropriate tool to introduce greater reliability and as much automation as possible.
If the project is language x, I write the limited apis in language x. I even have create an extension and seemless upgrade with version control system for a mambo PHP app that they have on their network. It took me a few hours to master enough of the PHP to come up with an extension plan. And I hate PHP! Even so, I can advise on how to extend and support a huge PHP app. Because it is a good tool. PHP is a bastard child of the internet on steroids and if it is on my network it is my baby!