Sign in to follow this  

Help me to choose an editor.

This topic is 2487 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi,

First of all sorry for my english, is not my mother tongue.

I am interested by starting game development (I've just
installed an Ubuntu!) but I haven't choose yet any source editor.

I've read some review and I've ask some friends about most used
editors and I wonder why I don't be able to make any choice. May
be there is an ideal choice I've missed up?

If I made a short list of most used editors by my research I can
make these statements:

[b](g)vi(m):[/b]
It's typically not an editor designed for editing source code (even
if it seems to be the perfect tool for editing config files like
resolv.conf). It's a light and speed editor but it lack of most of
useful features for editing source code effectively.

[b]Nano:[/b]
Just much poor than vi ?

[b][gk]edit:[/b]
It's like notepad under windows, it comes naturally with gnome/kde, it's
just design to edit text files for the average usage, not specially
editing source code; so it doesn't be as good as if they were specially
designed for editing source!

[b]geany:[/b]
Just a [gk]edit like?

[b](x)emacs:[/b]
It seems to be fat and slow, with brain fucked bindkey and comes with
lips (an outdated 50 years old language) configuration files.

[b]eclipse/netbeams:[/b]
It seems that it's possible to be more fat and slow than emacs.. It take
a looong time to start (on my old computer?), it take a large amount of
memory; and I don't think it add serious features advantage compared to
other (may be it's just tools more designed for high-level and/or web
language, like java or whatever?).

[b]kdevelop:[/b]
It don't get any opinion yet on this one, what do you think about it?

[b]visual-studio:[/b]
There is also the solution of editing the source code with visual-studio
on windows before compiling/running it under linux! Did you think that
VS present all needed features for programing, or this is just a pain
in the ass solution?

So, did you have a better idea/choice (or may be more arguments about
listed editors) ?

Thanks.

Share this post


Link to post
Share on other sites
I think that the best way to start a flame war is taking about editors...most people have strong attachments to their editor...however:

Some of your entries were actually IDEs ([url="http://en.wikipedia.org/wiki/Integrated_development_environment"]http://en.wikipedia....ent_environment[/url]) and not text editors...long story short an IDE is a combination of a text editor,compiler,debbuger,etc). The usual practice (maybe not the best one but by far the easiest) is to change IDE according to the programming language. example:

Java -- Eclipse
C# Visual Studio / MonoDevelop
C++ Visual Studio / Kdevelop, etc

Why is that? well everyone loves a good code completion while programming...and usually the IDES tailored for a specific language come with out of the box code completion (and a very good one)

That being said, usually text editors that come with IDES (visual studio,etc) are very basic, you definitely can benefit by learning some of the "low level" text editors like vim / emacs.
I use vim and I really love it! ([url="http://www.vim.org/docs.php"]http://www.vim.org/docs.php[/url]) usually every IDE has either a vim mode or a vim add-on that you can use to emulate vim key bindings. you really can speed up your development process by knowing your text editor.

You mention in your post that vim lacks some features to edit code efficiently. I beg to differ, vim is ALL about efficiency...the problem is that it has a REALLY steep learning curve, so you really cant appreciate it until you learn a few commands. Also everything can be customized by plugins (really everything O_O). Its really great.
For beginners I would recommend Kdevelop. It comes with optional vim emulation.

In linux I use gVIM for almost everything (mostly C++), for java I use Eclipse + eclim, and in in windows I use visual studio + viemu (mostly C++ / C#).

So...what programming language are you interested in? or do you want to learn a generic editor (in that case viiiiiiiiiim [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img])

Share this post


Link to post
Share on other sites
I primarily use Netbeans, mostly for Java but also for some C++. Eclipse has a similar feature set and it is largely a matter of preference which one people use. The program is a bit on the large side, but my 6 year old laptop handles it just fine while running Ubuntu. For simple coding I just use a text editor and make, but larger projects need more organization than that.

Share this post


Link to post
Share on other sites
Thank's for your reply. I'll focus mainly on C/C++ programming.

You talk about Emacs as an editor but it looks to me more like an IDE
than vim does (you can compile and debug with gdb on your source buffer).

About Vim, I have read this part of the documentation :
http://vimdoc.sourceforge.net/htmldoc/intro.html#vim-modes-intro
How can Vim be efficient as editor if it have six differents modes but
only one as editor (the 'insert' mode). Did you assume pass half of your
time switching between modes, commonly the 'insert', 'visual' and 'select'?

You talk also about completion, did extensions like ctags are sufficient
to avoid fat and slow 'clicking' IDES?

About Netbeans and large project, I think if you need to work with big
IDES for a project organization issue, may be it's just the project which
is poorly designed/organized? I mean, I'll surprised if the majority of the
linux kernel developers/maintainers are working under eclipse.

Share this post


Link to post
Share on other sites
YAY! Flame War!
[quote name='wcnotepad' timestamp='1297958322' post='4775425']
About Vim, I have read this part of the documentation :
[url="http://vimdoc.sourceforge.net/htmldoc/intro.html#vim-modes-intro"]http://vimdoc.source...vim-modes-intro[/url]
How can Vim be efficient as editor if it have six differents modes but
only one as editor (the 'insert' mode). Did you assume pass half of your
time switching between modes, commonly the 'insert', 'visual' and 'select'?
[/quote]
Because you don't spend your time switching between modes? It's efficient because the "normal" mode lets you very quickly move around your document and record macros of what you do in insert mode. This includes cool things like named "bookmarks" for jumping around code. The "visual" mode has all the "normal" mode move commands to select blocks of text. And the "buffers" concept is a much better way to move text around a document than the single item cut/paste most editors have. And while other editors have regex searching and incremental search features, I'm surprised they aren't the default search method.

Share this post


Link to post
Share on other sites
[quote name='wcnotepad' timestamp='1297958322' post='4775425']
You talk also about completion, did extensions like ctags are sufficient to avoid fat and slow 'clicking' IDES?
[/quote]

Well I use Clang Complete ([url="http://www.vim.org/scripts/script.php?script_id=3302"]http://www.vim.org/s...?script_id=3302[/url] -- the one from the git repository...is WAY BETTER) and really when I'm working with vim I've never missed Visual Studio. It is just about how you customize your editor.

[quote name='wcnotepad' timestamp='1297958322' post='4775425']
About Netbeans and large project, I think if you need to work with big IDES for a project organization issue, may be it's just the project which is poorly designed/organized? I mean, I'll surprised if the majority of the linux kernel developers/maintainers are working under eclipse.
[/quote]

Well you certainly don't need an IDE to manage your project. I don't use one on Linux. But you have to remember one thing...I'll try to quote well something that one professor once told me:

"You know IDEs and high level languages are popular?. Well sometimes you need a piece of software and you need it RIGHT NOW,maybe you don't have enough members on your team or your boss is just angry..you just ^@%^ do it. and &@%@^ fast"

The point is..if it makes you a more efficient coder...there is no shame in it [img]http://public.gamedev.net/public/style_emoticons/default/laugh.gif[/img] and almost all the time IDEs are a big help...and for that matter Linux is an IDE by itself so that's why you can survive only with a text editor..try that en windows [img]http://public.gamedev.net/public/style_emoticons/default/wink.gif[/img]

Share this post


Link to post
Share on other sites
I'd agree with what's been said, even though I've only been a very casual VIM user -- VIM is just one of those programs where if you take the time to learn it reasonably well, you can be very efficient -- just like the many command-line utilities in the linux world, and the nearly unknown (though not usually nearly as robust as their linux counterparts) ones in the Windows world. Have you ever witnessed anyone who knows their command-line kung-fu? Its a pretty amazing spectacle to behold -- tools like VIM, though not visually appealing, aspire to *that* level of productivity -- one that is frankly impossible in a GUI editor

Its just a very steep learning curve because most of us have been spoon-fed a happy GUI existence for all of our lives [img]http://public.gamedev.net/public/style_emoticons/default/rolleyes.gif[/img]

Take the time to learn VIM (or emacs), and customize it to your needs -- scripts and plugins exist for VIM and Emacs for just about everything. Its often joked that they are not much less than an OS in and of themselves, and its a joke not far from the truth.

Share this post


Link to post
Share on other sites
Wow, no one is here to defend or proclaim emacs the One True Editor? Well, not like i will, Vim is great. I suppose that's been said enough, but if you want to get into it, it's helpful to find a cheat sheet, participate in vim's IRC channel, and read some examples of .vimrc files which will also help you get a grip of Vim's syntax and power.

Cheat sheet: [url="http://www-rohan.sdsu.edu/doc/vi-vim-cheat-sheet.gif"]http://www-rohan.sds...cheat-sheet.gif[/url]
.vimrc files: [url="http://www.vi-improved.org/vimrc.php"]http://www.vi-improved.org/vimrc.php[/url], [url="http://phuzz.org/vimrc.html"]http://phuzz.org/vimrc.html[/url], [url="http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=.vimrc+examples"]http://www.google.co....vimrc+examples[/url]
IRC server: irc://chat.freenode.net, channel: #vim

Vim is not something you have to master to be good at, though it helps. Learning only a small subset of Vim's abilities can vastly improves ones productivity. I found through Vim that a good text editor can empower me to work faster than an IDE, even if i have to do it manually. Though it also helps to be good at the command line.

Share this post


Link to post
Share on other sites
This isn't an IDE, but i feel I should give [url="http://www.flos-freeware.ch/notepad2.html"]Notepad2[/url] a shout out. Its a nice replacement for the default notepad and does not require installation so you can carry it around (along with a compiler such as Digital Mars C/C++ compiler for on the go) on your USB pen. Its basic but I guess thats what I like about it, the syntax highlighting is highly configurable and as you can see ive mimicked visual studio somewhat in the below picture (aswell as a really crappy custom syntax highlighting scheme i whiped up..)

[img]http://img215.imageshack.us/img215/6649/notepad2.png[/img][img]http://img811.imageshack.us/img811/5092/notepad22.png[/img]

There is a lot more too it than I can show here.. Just download it and see what you think if your interested.
There are however some features it could do with.. listed below;

* user defined keywords (for example "nullptr" is not considered a keyword in this program as of yet)
* multiple documents not supported.
* could do with intellisense, but I dont know.. maybe too much.. especially for each language it supports and the complexity of intellisense.
* there are a couple other things though i forget what they are.

I'll reiterate here, this is NOT an IDE, its a simple yet powerful text editor supporting decent syntax highlighting for a bunch of different languages, (among those that I use are makefiles, batch scripts, assembler files, and C/C++ files).

Meh, I think ive said everything I need to say.. probably going to realise I missed something as soon as I hit the "Add Reply" button and hit "Edit" straight after.. Oh well

Share this post


Link to post
Share on other sites
[quote name='wcnotepad' timestamp='1297933124' post='4775333']
[b](g)vi(m):[/b]
It's typically not an editor designed for editing source code (even
if it seems to be the perfect tool for editing config files like
resolv.conf). It's a light and speed editor but it lack of most of
useful features for editing source code effectively.
[/quote]

I use gvim for all my coding - I do a lot of web stuff with python and php, and games stuff with C++. I think it's a fantastic programmers editor.
As an example, it comes with syntax highlighting support for an amazing number of languages. For example, I used to do a lot of Maya programming, and was amazed to find that vim came with syntax highlighting for MEL scripts - I've never seen any other editor that does. Or as something of a novelty more than actually being useful, it even displays XPM files (an image file format in the form of C source code) in the correct colours!
Practically every unix-derived machine you'll ever use will have some variant of VI installed on it by default, so it's worth knowing the basics.

That said, it's got a learning curve like a brick wall :-) So I'm not actually recommending it, just saying that it works great for _me_.
Whichever one you end up picking, a text editor is such a fundamental coders tool that it's worth investing the time to really learn it properly.

Share this post


Link to post
Share on other sites

This topic is 2487 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this