gnapse / gnapse.github.io

My own personal pages
http://gnapse.github.io
0 stars 0 forks source link

A word about a post #1

Open diosney opened 10 years ago

diosney commented 10 years ago

This is kind of a comment to your post @ http://gnapse.github.io/2013/08/26/my-quest-for-the-right-editor/ :)

I'm a fellow Cuban (it seems that you like the word) and sometimes I like to read about other people in the field, the things they do, how they write, why and the like (and mostly if they are cubans lik me, for all that that represents, you know ;) ), and stumbled upon your mini-blog (via SO, don't ask me how :D ).

About your post, I think the battle to find best IDE never ends and its a Continuum process, since in our field everything move at a fast pace that sometimes it is hard to keep the track on.

I don't want to make a long debate about it, but I strongly believe that the time for the CLI editors is long gone, since the current IDEs provides far more powerful features than its grandparents, like VIM, since even with the myriads of plugins they may have to complement its basic functionalities there are certain functionalities they can be felt shorthanded.

For instance, at this time where all resource-consuming ops like CPUs intensive tasks and storage are moving to the cloud, there are a couple of IDEs that beat VIM easily, I'm thinking of Cloud9 IDE, Nitrous.IO IDE, online offimatic suites like Google Docs and the ones from Microsoft, and the like. Sure, they (the CLI IDEs) may extend its functionality via addons, but sometimes that won't be enough since they initially where not thought for the task.

Of course, all this is a matter of preference and your guts play a strong role in your criteria of selection, but at the long term, if you think of it clearly and with objectivity, it is a big difference what the current state-of-art IDEs are giving agains its CLI counterparts.

For instance, have you ever considered the JetBrains' IDEs family? I think they are awesome and unbeatable in its respective fields. I currently use PyCharm, PHPStorm and WebStorm and never felt so happy with an IDE before, and in the past I tried a lot of them (I consider myself a native Linux user). Are they paid? Yes, I grant that to you, that is a good point to even not listing them, but believe me, they worth to the last penny spend on them and since you seems to be working in a good company (BTW, are they looking for off-shore telecom workers?) I think don't be a problem since they can buy a stock of licenses for you to be used.

Full Disclosure: I use an unlicensed version and for that I apologize to the JetBrains team, but I don't have the means to pay, and as soon as I can, I will surely do it.

It seems that you are mainly/currently a Ruby developer, with that in mind I recommend you to test the trial version of RubyMine (http://www.jetbrains.com/ruby/) to check if that suits your needs.

pd. The reference you provided showcasing Yehuda Katz learning VIM is outdated (2010), here I drop out a reference stating that he is using heavily Nitrous.IDE:

http://blog.nitrous.io/2013/08/05/nitrous-stories-i-yehuda-katz-tilde-nitrousio.html

diosney commented 10 years ago

Just some ideas that I forgot to mention earlier:

In the end... well, the end hasn't arrived yet. And it probably never will. Vim provides an endless experience of learning. I've heard from seasoned users that are still learning new things about it after 15+ years of using it.

I find funny that statement. Of course the editor have to update itfself and release new features and the like, but I find funny that after 15 years of using a tool like a table one can surpriselly find out that have a drawer or that a chair have a button to go up and down.

And the last point, I promise, sorry if that all that blabbering of mine sounded a bit pedantic, it was not intended and I wrote all this with pure objectivity in mind.

Thanks

gnapse commented 10 years ago

Hi, and thanks for your comment.

Regarding the editor vs. IDE debate, I won't argue that you don't have a point. You do. For certain environments IDEs are a better option than text editors. It's a matter of finding the right tool for the job (and I never said Vim was right for every job, but see further below for a twist on this).

I recently had to take part on a Java/Scala project, and I ended up using JetBrain's free edition of ItelliJ IDEA, which is great. I used to like Netbeans, but its Scala support is not too great, and although Eclipse's Scala support seems to be better, I always disliked Eclipse and its workspaces concept. It turns out that IntelliJ IDEA has great Scala support (and it has a Vim mode, my main point in this response, continue reading).

However in the case of Ruby/RubyMotion/Python and the like, I still find preferable to use a more down-to-earth text editor, with no fancy stuff. But that's a matter of preference, and I still think that it's perfectly valid for someone else to prefer an IDE, although in those cases I find it to be a nuisance. It's just that I like to work on the console, specially with Ruby/Rails (if you are familiar with it you'll understand), issuing commands like rake, rails generate, rspec, etc. feel more familiar doing it from the console. For instance, even though most modern IDEs have support for subversion, git and other VCSs, I still prefer to handle my git repositories from the command line. I dislike point-and-click interfaces for such things. So what are the things I do appreciate from an IDE? Intelligent type-based auto-completion, intelligent knowledge of the language you're working on, debugging interfaces, etc. Most of those features are more important when working on a strongly-typed language like Java/Scala. But with Ruby, I still prefer an advanced code editor than an IDE, in spite of RubyMine, Aptana and the like, which I have tried.

Having said all that, my point in the blog post for Vim goes beyond the mere editor vs IDE debate. Vim is not just a code editor, it's a way of looking at code editing. So you can have a Vim-like experience in IDEs too. Most mainstream IDEs nowadays have a vim mode, or it can be added to them via plugins. JetBrains has it, Eclipse has it, Netbeans has it. And that's not a coincidence. It's because the Vim way of editing code is great, and that's what I wanted to highlight in my post. It's a game changer, it completely changes the way you look at code editing, even though it's hard to grasp at first. And thanks to all those plugins, it's an experience that you do not have to renounce to when switching editors. Even non-IDE code editors have vim modes: Sublime Text, Textmate, Atom.io, etc.

Anyway, I really appreciate you taking the time to read my post, and to give me such an extensive comment. It's always nice to be able to contrast our own opinions and views with someone else's. Thanks.

PS: The link to the article written by Yehuda was not put there with the intention of making people think Yehuda uses Vim. It was put there because of the valid points he makes there about Vim. If he later switched to something else is irrelevant, although he probably uses Nitrous.io with vim mode enabled ;) As I said, Vim is not just a code editor, is a way to look at code editing, it's a code editing philosophy, if you will.

gnapse commented 10 years ago

And by the way, I tried Nitrous.IO and its great (and as usual, it has a vim mode too ;)).

It's not an IDE though, it's more like a code editor. Now re-reading your comment I have the sense that when you said IDE, you meant any code editor not running inside the console. What's wrong with running in the console? And besides, did you know that Vim and also Emacs have GUI versions. The functionality is basically the same, except that when run in their GUI versions, they tend to integrate to the host operating system better (Cmd+Q for quitting, Cmd+S for saving changes, stuff like that). But the rest of the functionality is basically the same as if they were running in the console ;)

So to make it clear, for me an IDE is not the same as a code editor. Netbeans, Jetbrains stuff, Eclipse, Xcode, Visual Studio are IDEs. Textmate, Atom.io, Nitrous.IO, Vim and Emacs are not IDEs.

gnapse commented 10 years ago

Hey @diosney you there? I was enjoying our conversation.

diosney commented 10 years ago

@gnapse Sorry :( Got overwhelmed with work. I will look forward to make the time this week to answer you :)

gnapse commented 10 years ago

BTW, the reference you posted about Yehuda Katz not using Vim is wrong and/or outdated. Take a look at this tweet posted just a couple of days ago.

Actually, the fact that he endorsed Nitrous.IO, or likes it, does not have to be related with the editor. After you talked to me about Nitrous, and I started trying it, I ended up working entirely in the console, not using their editor at all (which is not bad, I'll give you that). I now have my personal unix configuration files installed in my nitrous box, just as they're installed on my mac. So I end up using nitrous console just as I use my local console (zsh, tmux, vim, git, rbenv, etc.). Everything works just the same, only in the cloud ;)

diosney commented 10 years ago

Uff! Still with little to no time to answer you :( hope the answer quality doesn't degrade so much due that.

I loved your answer (in a professional way, for us cubans that statement could be a big issue if spelled at almost any places, hahahaha, I'm straight BTW, hell I'm even married with a child ;)), it describes almost exactly what I think about the IDE vs Editors battle, with the caveat that I'm more tilted to the IDEs side, as opposed as the pure Editors side. As I've told before, this ultimatelly is a mood/subjective decision.

While re-reading my post, I still think I expresed myself correctly about being comparing full fledged graphical IDEs (like Aptana, and the like) with pure console Editors, which was mainly the reason I created this issue, so whenever I mentioned IDEs or Editors I was referring to one or another one, respectively. For me an IDE is a much more complex app with unsurprisingly integrates an Editor itself. The thing is that I was not mainly refering to using a IDE vs and IDE editor mode (like VIM one) but to full-fledged IDE vs any standalone Editor, be it in the console or not.

About the Yehuda Katz-related comment, maybe I was wrong, as I said, things in our field move quickly and maybe my google-fu was not good (or have not enought time) to find a most updated source than that.

About the Nitrous.IO thing, good you had the disposition to give it a try :) but I don't know enough to make a statement agains RubyMine (never worked with Ruby before and with the recent JS momentum think never will have).

About prefering the git CLI agains GUI workflows, I partially agree with you since I I do all my git-related stuff via the CLI and prefer it, but currently those basic workflows are so well integrated into IDEs that sometimes is a productvity boost to use the actual IDE GUI workflow (through clicking or keypressing).

About "Intelligent type-based auto-completion, intelligent knowledge of the language you're working on, debugging interfaces, etc.". That is perfectly valid to dynamic languages too (like Python or JS), well is maybe even more important since they don't have a compiler to help you in the debugging (other methods still apply). Don't really know about the Ruby case.

Anyways, I did found useful this thread and liked howling a little bit about IDEs and Editors so far, this was long overdue and did not found the correct place to chime in (not trolling!) until found your post.

Thanks for your time.