Hacker News new | past | comments | ask | show | jobs | submit login
Which Programming Language did you pick for your idea?
17 points by theoutlander on April 9, 2007 | hide | past | favorite | 78 comments

Started out with Ruby on Rails, changed to Python (pylons) + mako + toscawidgets + postgres for more flexibility. Considering giving Common Lisp (Uncommon Web) a try, but the documentation scared the heck out of me.

We are currently looking at both Ruby and Python... What made you change, what makes you feel more flexible? We have been evaluating some of the Python frameworks and are currently trying to weight the positive and negatives of all the options... Any huge issues or just a bunch of different little things?

To be honest the different isn't that huge. The major reason I chose python is because there are many python web libraries that conform to WSGI standard, which means I can easily swap out components (routing, template, widgets, database mapping, etc.) that suites me the best. As a result there is a broader variety of each type to choose from in python.

Rails, as stated by its creators, is opinionated software, so you're stuck with their preferred way of doing things, which fortunately is not too bad as of now. So if you're a control-freak like me who also wants to squeeze more juice out of your CPU cycles, then go for python. If you want to put your trust in a well-integrated framework of components cherry-picked by smart folks, then go for rails or django (also python, but a little less flexible).

Here's a fairly up-to-date overview of python web dev options: http://jesusphreak.infogami.com/blog/vrp1

I feel horrible for not giving python a chance .... but then there are only so many languages one can do mock-ups in .... before making a decision

PLT Scheme + PLT Scheme web server + flat files (actually serialized s-expressions on disk. Which aren't very flat.)

Why not use a database?

You're asking "why not add complexity?" Not a good place to start.

If a project needs a database you'll know it pretty quickly...and it's easy to convert to using a database at that point. The only time I've ever regretted a decision about databases was when I designed a log processor that didn't immediately have relational needs...over a couple of weeks of implementing the requirements I ended up writing a relational layer in Perl against a Berkeley DB backend. That was stupid, and I should have thought a little harder about the requirements. But it was my first big solo project, so I blame inexperience for not recognizing a relational problem from the start. Luckily, SQLite had just been released, and converting my app to use it (and losing a hundred lines of code) was a one day operation. It made the app approximately 100 times faster for my data set.

But, well over half of my applications since then have not required a database and have been well-served by flat files.

Because it's much easier to just dump your data to disk as you already have it, rather than translate it to SQL idea of what data is: SQL types, one-to-many relationships, etc.

This is not just a Scheme thing. If you use Java you have serialization. Python calls it 'pickle'. I'm sure whatever else you are using probably has something equally simple.

Rails + Mysql

My webapps are requiring a lot of client side logic to be really interactive, so I've found that the biggest producivity factor is what I'm doing with Javascript. The Rails code I've been writing is mostly trivial; as long as it lets me talk to the database easily, I feel like any language could be used on the backend. However, I do love scripting in Ruby, and Rails makes it easy to use its DB abstractions in external scripts.

The best gains on the client-side come from using a good library. I've gone from Prototype/scriptaculous to YUI-ext to Mootools. I love Mootools. I've never been able to bring myself to try Dojo; it seems like it's trying to put the Java back into Javascript. What do you think?

My current project is in RoR, but I've not ruled out other languages/frameworks for other projects, depending on what suits the task best.

Ruby on Rails and Merb.

I'm actually just starting to use merb for simple requests that don't need the full rails stack (merb being threadsafe whereas rails is not, so it's useful to delegate some of the simple stuff to merb).

I still plan on investigating flex and seaside in the short term, just to see if there is any good ideas I can learn... (in a longuer term, I'll dedicate some time to lisp)

Lisp + MySQL

I would love to see more Lisp web apps in startups. It's been quite discouraging after reddit abandoned Lisp.

me, straight Common Lisp (SBCL)

Do you guys use a web framework, like kpax, or straight CL?

I hadn't heard of kpax before. Their documentation is missing on their website. Do you know the features and positive reasons to use it?

We use Allegro Serve's webactions, though we've customized (bypassed) it to the point where we now only use their session feature.

Did you guys buy the Allegro suite or are you using portable allegroserve?

We actually bought Lispworks (half the price of Allegro), and are using portable allegroserve. My partner (who is a software architect by trade) learned lisp for our current start-up and is using slime on Emacs for his interface so we can switch to Allegro if we want later on, which we are considering for their native high-speed mysql interface assuming it performs as advertised - we're using ClSQL right now to talk to MySQL.)

He is extremely happy about lisp, especially after hacking java for years. (The code-base I had built up over the last few years as well as PG's writings helped convince him to give it a try even though he was very skeptical about lisp at first, There is no going back now :)

Ironically, we decided on a different (more focused) idea to pursue for the current startup for which my architectural firm is the current first customer (my hair was on fire for this app), so the initial code base is waiting for a later date. (It will be used to extend the feature set of the current app by adding a conceptual interface)

My partner is concerned about Aserve's ability to handle massive numbers of sessions at the same time, so we are considering going to a java websever and using the lisp side to generate all the html. (The html macro in Aserve is proving very fast and reliable) We're definitely looking for the best solution out there right now as we are planning to go live in about 2 months.

I'm fairly new to Lisp, this is encouraging to hear! :) Just a few technical questions:

Is there any specific reason to use Lispworks as oppose to a free implementation (say SBCL)?

I remember the author of portable allegroserve mentioned that he wrote it mostly for demonstration purposes, and might not perform well. Are you guys finding this to be an issue at this stage?

As for session, would it be possible to store session objects in AllegroCache, which comes with the paid version of AllegroCL? (I'm just a newbie speculating :) )

No particular framework. Though a framework is starting to abstract away as the site gets bigger.

I use Hunchentoot as server, but nothing on top of that

LISP is cool!! I did it 10 years ago.... but keep confusing it with ML and Prolog.... :-|

I started out using java with WebObjects for a year, then found Django, never look back again.

Python is a lot better than Java for agile startups.

C# and .NET framework, because my project is a distributed multi layered app. Plus I know it too well to use sometings else

Stating your chosen platform, and then feeling the need to defend it (twice) in the same sentance.. not a good sign.

I like .NET Framework..... However, be vigilant about perf!

Python on Planes

intentional double pun? pure brilliance.

Got it from Slashdot.com


Since nobody mentioned it: I plan to at least evaluate Groovy+Grails - hoping it might be a smoother transition coming from a Java background than going to RoR directly. Also, some things just work better with Java, and Groovy might allow me to build on that (what things? Getting a database driver for example).

My idea is a web application that manipulates a particular set of data, so of course I use BRL.

Python, C, C++ (Django, PostgreSQL)

Ruby (on Rails) for the web interface, I love it! :-)

Java for data mining, image manipulation and data shoveling, like in xml transformation. You can't really use Ruby for this... We also chose a servlet for one of our web services for performance reasons.

C++, C#, ASP.NET 2.0, MS SQL 2005, IIS 6 on Windows C++, PHP, Ruby, MySQL, Memcache, Apache on Linux

I try to pick the best tool for the job and run with it.

Trying to get HAppS to work. http://www.happs.org/

Of course, I'm about ten lines of code in, so I probably don't count.

PHP, if ROR would be more supported here, than ROR

Application : C#/F# Web : asp.net 2.0 with C#/F#

Are you serious?? I didn't know people actually used F# ... are you using it for the Java Syntax or any other reason??

Python (Pylons, Mygthy), MySQL, ActionScript.

Seaside (because I want to implement some heavy desktop-like capabilities)

How does seaside help with that? Do you code all of the client logic in Smalltalk instead of Javascript?

I guess seaside's continuation passing style helps to reduce complexity in managing states, which is a major requirement in desktop-like apps.



- python, c (django, wx)

- sql, (mysql)

C++ I need to support embedded systems, servers and everything in between.

I'm going to build an ultimate web forum with Python

PHP and openlaszlo

Python and web.py

python, webpy, binding in code from just about every other language.

Lisp (with MySQL)

Python & Django

PHP5 (as fastcgi w/ lighttpd and sqlite3)

What is your experience with FastCGI??? I am running ROR off it, but lighttpd throws quite a lot of 500 Internal Server Errors.

FastCGI is super lightweight and very powerful. If you're seeing errors like that you likely have a problem that requires fixing. Judging from your post it might involve excessive question marks in a regex.

I am running some basic stuff ... but notice the occasional 500's ... IRC / Web states that Pound with Lighttpd and Instances of Mongrel is really the best solution ... however, mongrel's site states that Lighttpd's mod_proxy still has issues....so I am really baffled with what is a proven solution... I am just gonna run some tests before I conclude...

Hmm, I haven't used my current setup in production yet. Development has been fine, only time will tell. Hopefully I don't get the errors you experienced :(

so you don't have a fastcgi.crash.log ... ???

Have you considered SQLite?

RoR fits perfectly for my project

Perl - Catalyst and PostgreSQL

Java + gwt + eclipse + derby db

Python & C

Flex on Rails = ROR + Flex

Ruby on rails + Postgres

Perl w/ Catalyst/DBIx::Class/Template Toolkit and MySQL

Lisp and Javascript

Ruby on Rails

php 5 and mysql 5 w/ zend platform

Ruby and Java

Are u considering JRuby ??

I might be. but for the mean time I'm exploring Rails :-) and gettng my Ruby skills up to match. Although I can't seem to shake Java's verbosity out my system and it reflects on my Ruby programs. :-)


Java + GWT


rails + postgres

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