4 ms·
Counterpoint: Use any language you want, as long as you keep in mind that you might have to re-write libraries that are available to you in more mainstream lang
by helium 17y ago
Counterpoint: Use any language you want, as long as you keep in mind that you might have to re-write libraries that are available to you in more mainstream languages or use inferior or incomplete alternatives.
On many projects this isn't as much of a problem, but I think it's dangerous to assume that one can easily use 'any language' when developing web-based software.
- plinkplonk 17y ago"you might have to re-write libraries that are available to you in more mainstream languages or use inferior or incomplete alternatives." Use (something like) Clojure (or a dot net equivalent)and you can have the best of both - a lisp and lots of libraries. The (minor) price is some grunginess at the interface of the lisp and the libraries, but this is paid only once.
- yummyfajitas 17y agoTry clojure. I'm only getting started with it, but I'm amazed at how clean the interface between lisp and the JVM is.
- jimbokun 17y agoI am commonly using clojure now to interactively test methods in my Java code.
- axod 17y agoRewriting libraries can work out really well. As well as a great way to learn, you may often end up with something better than the existing libraries - giving you another edge. I'm not saying you should write everything yourself, just the bits that matter :)
- helium 17y agoStartups often don't have the time or resources available to them to re-write everything. Many open source libraries have been developed by dozens of very smart people over many years, do you really think your solution will be better?
- axod 17y agoIn specialized spaces that matter 100% to my startup, yes.
- davidw 17y agoThat's sort of the point, though, isn't it? You should be concentrating on that stuff, not replicating (or writing from scratch!) N other libraries that you do need, but that aren't the core of your business.
- helium 17y agoWell sometimes it's a case of gluing together the right components and quickly getting it out there. Not everyone has to be the next Google.
- axod 17y agoOTOH though, a lot of things aren't rocket science. For example, if you want to roll your own webserver/framework for good reasons, definitely do it. But I agree. It's a matter of deciding when it matters, and when it doesn't.
- helium 17y agoSure. On some projects your advantage is on a technical level. But on others it's time to market. Or an unique idea that's never been tried before. In these cases it's to your advantage to use the mainstream tools because there are so many resources available to you.
- tsally 17y agoRemember that libraries licensed under the GPL don't count, as far as startups go. You'd be surprised at how many of the libraries you use in hacked up code on a daily basis are ones you can't release with a closed source product.
- plinkplonk 17y ago"You'd be surprised at how many of the libraries you use in hacked up code on a daily basis are ones you can't release with a closed source product" I thought GPL libs could be used n a web based project? PG's article says (emphasis mine) "One of the reasons to use Lisp in writing Web-based applications .. "
- jcromartie 17y agoI think the best approach is (paraphrasing something I read once): don't reinvent the wheel unless you want to learn more about wheels.
- dchest 17y agoThis is not a counterpoint. Actually, I think it's a point of the article: use any language that better suits your needs. If your web app needs a library that's not available in language A, use language B. Or mix languages -- write feature X in language A, and feature Y in language B. The point is -- you can do whatever you want, as you control the environment, unlike with desktop apps. See, for example, my comment in this thread: http://news.ycombinator.com/item?id=595513 http://news.ycombinator.com/item?id=595513
- helium 17y agoThe point of the article is that you can use more powerful, but less used languages when developing web based apps. That hasn't always been feasible when writing software targeting the desktop. Which of course is true, but could have implications of it's own.
- Retric 17y agoNote the 2001. I think his point had more to do with a lack of library's making any powerful language useful. Ruby on rails vs Lisp is not really in favor of lisp, but there is a reason nobody has good C web frameworks. PS: Which is something to think about, if you are spending as much money on HW as Google it might be a good idea to use C or other fast but hard to write language for some of your core functions.
- wheels 17y agoWell, in 2001 the hot web languages were Perl and PHP and CPAN was already riding high. I think this argument in some ways hinges on how far from the tree you're falling. If you're doing essentially a variation on a common theme, you'll be the fastest by picking a language where the bulk of the work is already done for you in a variety of reusable modules. It'd have to be a really poor language for its badness to outweigh having most of the work done for you up front. If, however, you're starting from scratch on something relatively novel, e.g. where Viaweb was in 1996 (and not so much in 2001), then it's true, you should write in the language that fits the bill rather than following the course of momentum. One proviso I would add there though is that Lisp is in the position of being fairly mature and non-traditional, unlike many flavor-of-the-weeks. There are many pains to be found in using tools which haven't stabilized yet, even if they do have a gee-whiz-bang factor. As to your postscript, Google does also extensively use C++; I think that's still fairly common in high-performance stuff at the lower levels.
- ken 17y agoDoes it often happen that higher-level languages have "inferior or incomplete" versions of libraries? My experience has been the exact opposite: in Common Lisp, for example, when there's a native library, it's invariably more flexible and powerful than in any other language I've used.