

If you were to write Wikipedia today... - ph0rque

If you were to write Wikipedia today using available languages and frameworks, what language/framework would you use? And why?
======
ks
I would probably make Wikipedia a front end to a Subversion repository. Then I
would get all the data handling for free.

I would of course add caching, to limit the number of reads to the Subversion
server.

------
vlad
Wikipedia evolved over time, as users thought it was a cool idea. Nobody
writes a complete project like they might write a function for an assignment
because most "functions" of the type of converting one lossless image to
another lossless format, or capitalizing all the letters in a string, have
already been written for you.

You can't write something that happened at a certain time and place and expect
it to fair better. But, if you want to write something in September of 2007,
pick and language that allows you to prototype and iterate your features
quickly.

~~~
ph0rque
let me rephrase the question then: how would one _start_ writing wikipedia?

~~~
vlad
I'd install and setup CakePHP to run off the public_html folder of my domain
name in apache in my web host or server.

Keeping in mind what I was trying to accomplish, I'd show the article at
domain.com/wiki/(article_name) if it existed in the database, or an error
message if it wasn't found, with a link to create the new page. There would
also be a link on top to edit the current page which would lead to a similar
form. The form would allow you to save any changes you made.

I think that's the essense of Wikipedia and likely all it had in its first
release.

With enough articles, you'd figure you'd need to write a search. With enough
vandalism, you'd want to have banning and a versioning system. With a lot of
traffic, you'd find a way to make it scale. After becoming an established
leader, you could finally force users to register before contributing. You'd
want to suggest articles if the user comes to the not-found page.

You'd figure it out as you went along.

Wikipedia didn't have versioning, user accounts, informational messages, spam
catching, caching, multiple servers, multiple language support in its first
releases.

~~~
run4yourlives
>I'd install and setup CakePHP to run off the public_html folder of my domain
name in apache in my web host or server.

That's awesome. No seriously it is. It answered his question in such a concise
yet thoughtful way.

I hope he gets what you're saying though.

------
herdrick
I would use Scheme. It's a good general-purpose language, suitable for about
anything. You can whip up prototypes quickly and whatever you write ends up
being pretty succinct.

Another option would be to just use WikiMedia's code.

------
ph0rque
Thanks for all the responses. Curiously, no-one suggested RoR (maybe with
instiki) or django/pylons/etc. Why wouldn't one use these
languages/frameworks, especially with e.g. RoR claiming 0.1x development time
in some articles?

------
tzury
This question can be answered only by Wikipedia IT since they are with the
experience with Wikipedia needs in all aspects.

------
chmike
Wikipedia is bogus and changing the language wont be of any help.

