3 ms·
If you were to write Wikipedia today...
If you were to write Wikipedia today using available languages and frameworks, what language/framework would you use? And why?
- vlad 19y agoWikipedia 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 19y agolet me rephrase the question then: how would one start writing wikipedia?
- vlad 19y agoI'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 19y ago>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.
- ks 19y agoI 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.
- herdrick 19y agoI 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 19y agoThanks 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?
- chmike 19y agoWikipedia is bogus and changing the language wont be of any help.
- tzury 19y agoThis question can be answered only by Wikipedia IT since they are with the experience with Wikipedia needs in all aspects.