

Rapid Prototyping - reidmain
http://blog.mozilla.com/webdev/2012/03/21/rapid-prototyping/

======
ilaksh
I think there is a false dichotomy here. Not particularly with this article
but it is there and more generally is quite prevalent.

The pervasive belief is that software development for prototypes can be
"rapid" but "real" applications may not be developed "rapidly".

I believe that most of these "rapid protyping" tools for "beginners" or "small
projects" actually should be utilized for the majority of projects.

Starting from a template application is not just for toy projects. Most
applications are reinventing quite a few wheels.

Another example: a tool like Codiqa for jQuery mobile. UI designers should be
standard. It just makes no sense for everyone to be typing in the same code
over and over again in order to display some tabs or an accordion or what have
you, when you can do it with a visual designer.

The number one thing holding back software development is a cowardly fear of
looking like a beginner.

Basically anything that makes software development significantly easier and
actually lightens the cognitive load is considered weakness.

Its sort of as if electronics engineers were still trying to design integrated
circuits for complex problems from scratch on paper, rather than connecting
existing ICs that already solve their problems or using design tools.

I actually think that for many types of problems, configuring some WordPress
plugins is better software engineering than typing in a bunch of code from
scratch or even generating with Rails.

Only problem is, how can you say you're a programmer if you didn't write a
bunch of new code?

Which is why the classic notion of the computer programmer as someone who
types in ASCII code is outdated and harmful.

How can I say this? I have been programming (mainly in a classical sense,
typing in LOTS of code) for about 27 years. I no longer feel the need to prove
to everyone that I can come up with clever new ASCII codes for custom
solutions to the same set of problems over and over again.

One more thing: CSS is an adequate (although not good) solution for exchanging
layout and presentation information between COMPUTER PROGRAMS. I can say that
because I have been writing CSS code by hand for probably 10+ years now and no
longer feel the need to prove that I can do it. Its fucking stupid.

------
stephth
For rapid prototyping, I like the serverless one-file simplicity of SQLite. No
need to start a db server, the app and the db can be contained in the same
directory (and versioned within the same repository). You can drag it to
another system and the app still works, and restarting the db from scratch is
as easy as deleting the file. If needed, it's easy to manually edit with a
diverse choice of GUIs. And ORMs like DataMapper make it a breeze to play
with.

~~~
trustfundbaby
Still have to do migrations though

~~~
tomkr
This is exactly the point that makes using Mongo a breeze. You can just play
around with your models without having to worry about a thing. You just code
it up as you go along, and your database just works.

------
agentultra
In python land I prefer itty.py and dbm/sqlite.

That being said, I do like whimsical programming quite a lot. Simple is
definitely king in this area.

------
nchuhoai
Very interesting mention of BrowserID. I am currently working on an
identity/authentication service and was wondering how great the demand for it
is

~~~
bmelton
If this list[1] is even remotely up-to-date, I have to assume the answer is
'not very'.

[1] - <https://wiki.mozilla.org/Identity/BrowserID/InTheWild>

~~~
mcpherrinm
BrowserID isn't really "production ready" yet.

It'll "launch" fairly soon as part of Mozilla Personas, which will include
browser sync.

It's also being used on most Mozilla properties to sign in these days.

