Hacker News new | past | comments | ask | show | jobs | submit login

I don't agree with the post because there are projects when you know in advance that the project will be big. You can probably avoid to make it HUGE, but you cannot keep it small. Trivial examples:

- Writing a web browser - Writing a professional image manipulation software like Photoshop - Writing a professional 3D modeler like 3D Studio - Writing an IDE like Eclipse Idea or NetBeans

and so on...




Yes there are projects that you know beforehand that will be huge, but that doesn't mean that they should be made or that that is the best way to go about them.

For instance: Browser - if you're going to start to build a web browser, it doesn't have to be huge... unless you're going to have your own rendering engine, your own JS engine etc... You'd probably just be addressing some set of features that were missing/misdone in other browsers Writing photoshop - what, are you going to remake all the features of photoshop? And do you think your software will be better? That's a fail. You'd probably be starting by doing some image manipulation program that does a limited set of features that photoshop can't do etc...

I get your point and I totally agree that if you _WERE_ going to remake photoshop, it's totally going to be huge... but that doesn't mean that it's the best path to go down.


and why do people disagree with me ? downvotes but no argument?


You're making a marketing argument, not a technical one. Trying to build a new Photoshop competitor from scratch is probably a losing proposition for a variety of reasons, regardless of how you run the project or structure the code.

However, there are a large class of problems out there which do require a huge chunk of software if you want to address them in any useful way. No matter what you do to reduce coupling between modules there is a certain level of irreducible complexity. For those cases you need to do a lot of up-front design work or you're going to end up with a huge mess. And no, refactoring is not the solution here.


You're right, I was also blinded by my own ego when I wrote that comment.

But all that huge chunk of software will definitely be built using smaller projects - and the more independent the better.


The "like"s you use in your examples make your point a tautology - "writing an IDE like Eclipse Idea or NetBeans" basically means "writing a big DE".

There are other models for each of your examples that can reduce the size and complexity of the application (or at least spread it around).




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: