

Pet Project: Developing your own text editor where to start? - lexx12

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.<p>Any helpful ideas?
======
trickjarrett
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.

~~~
lexx12
i'll keep your advice trick :) thanks!

------
yan
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...](http://en.wikipedia.org/wiki/List_of_text_editors#Free_software_.28free.2Flibre.2Fopen-
source.29), 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?

~~~
russell
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.

------
Tangurena
I'd start with Scite.

<http://www.scintilla.org/SciTE.html>

<http://en.wikipedia.org/wiki/SciTE>

------
lexx12
I have to admit I'm into Ruby and PHP mainly, but I have this idea of
extending it too.

------
timf
What language do you want to work with?

