
Which Programming Language did you pick for your idea? - theoutlander

======
papersmith
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.

~~~
wastedbrains
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?

~~~
papersmith
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>

~~~
theoutlander
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

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

~~~
ido
Why not use a database?

~~~
SwellJoe
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.

------
philc
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?

------
gommm
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)

------
maliciouskitty
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.

------
joshwa
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.

------
ias
Lisp + MySQL

~~~
chris_l
me, straight Common Lisp (SBCL)

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

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

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

~~~
gibsonf1
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.

~~~
papersmith
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
:) )

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

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

------
ryantmulligan
Python on Planes

~~~
whacked_new
intentional double pun? pure brilliance.

~~~
ryantmulligan
Got it from Slashdot.com

------
Tichy
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).

------
melhorn
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.

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

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

------
kogir
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.

------
jaggederest
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.

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

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

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

------
wensing
Python (Pylons, Mygthy), MySQL, ActionScript.

------
bootload
\- python, c (django, wx)

\- sql, (mysql)

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

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

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

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

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

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

------
doke01
PHP and openlaszlo

------
danielha
Python.

------
randallsquared
Python and web.py

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

------
gibsonf1
Lisp (with MySQL)

------
samueladam
Python & Django

------
mattjaynes
PHP5 (as fastcgi w/ lighttpd and sqlite3)

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

~~~
staunch
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.

~~~
theoutlander
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...

------
eduardoflores
RoR fits perfectly for my project

------
nmcfarl
Perl - Catalyst and PostgreSQL

------
amichail
Java + gwt + eclipse + derby db

------
entelarust
PHP

------
damien
Python & C

------
theoutlander
Flex on Rails = ROR + Flex

------
mukund
Ruby on rails + Postgres

------
vikram
Lisp and Javascript

------
floozyspeak
Ruby on Rails

------
gillionaire
php 5 and mysql 5 w/ zend platform

------
jamongkad
Ruby and Java

~~~
theoutlander
Are u considering JRuby ??

~~~
jamongkad
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. :-)

------
edgeztv
Java + GWT

------
mkull
rails + postgres

------
robertgaal
Rails

------
meyouall
PHP

