Hacker News new | ask | show | jobs
Pet Project: Developing your own text editor where to start?
1 points by lexx12 6342 days ago
With so many text editors out there packed so many awesome features(textmate,coda,eclipse,komodo,e-text editor, intype) still I have this somewhat ambitious idea- to create my own. I'm into web development particularly and I'd like to stick my goals to it. Right now I'm quiet overwhelmed I have this problem in determining where to start.

Any helpful ideas?

5 comments

If the purpose of this is to teach yourself a new language or a new functionality that you haven't previously coded, then sure go for it.

If it is for pay, or possible pay, then by all means dive in and see what you can do.

But a purely for fun project with copious alternatives that handle the vast majority of what you're trying to do and have the ability to be extended, means you'll eventually run out of steam and realize you can just use these other tools. I've been working on a twitter app for months and I've run out of steam. I have plenty of ideas and improvements, and as none of the ones out there really allow extensions, I'm still plugging away at my one, but I've taken absurdly long to get a lightly functional app.

Be warned, that way lies madness.

i'll keep your advice trick :) thanks!
Before you start, think long and hard if your problem hasn't already been solved. I'd be doubtful if I can create a text editor on par with even the average. If you thought about it, long and hard and realized that you really do want to write one, I'd start by downloading the source to one of the open ones (pick one: http://en.wikipedia.org/wiki/List_of_text_editors#Free_softw..., but avoid emacs it will be too complex for you) and study how they solved the usual text editor problems, and where it went wrong. This should also be able to teach you about the common way to construct the architecture of a text editor.

Pick a set of features you want to start with and how you will interact with it. Pick what language/API/platform/etc you want it to work under and start reading docs and thinking how to go about writing your own.

Not to discourage you, but you probably won't be able to match most editors having never written one before. If you just want a hobby project, it be useful to start it for the experience. It might teach you a lot about software, or however, it might just frustrate you.

edit: What is your experience in? What kind of code do you write now?

I would echo that advice. I have written a commercial editor/word processor. It's fun, but involves man years of work to get a good product. My advice is to find a good open source editor that you like and contribute to it. Someone mention scite. I looked into it years ago as a language front end and I liked it.

A good editor can be a good user interface to all kinds of interesting things, like language and compiler development.

thanks yan! I think I'm starting to get the bigger picture. And yeah, you're right about this- its a hobby project :) I love learning things my own :) And about my experience level, uhm not really a coder by heart but have guts to do it.
I have to admit I'm into Ruby and PHP mainly, but I have this idea of extending it too.
What language do you want to work with?