Jump to content



Photo

What IDE to use?


37 replies to this topic

#31 simplezz

simplezz

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 01-February 12

Posted 28 August 2014 - 12:24

You do know you can just replace the console yea? Plenty of them to choose from. Not Cmd vs Bash vs PowerShell vs whatever else, but the actual console that you interact with.

Any recommendations?

You like to tout Linux's flexibility, yet never seem to show any inclination to do the same thing on another OS and just write it off as "inflexible."

If it's awkward, difficult, or has a poor usability, then yes I'd call that inflexible.

You're not stuck with what comes out of the box, change it up, you're allowed to do that. Which you should, as I agree, the out-of-the box one is pretty weak, at best. Built for speed.. the usability takes a nosedive though.

I have yet to find a suitable replacement for an X terminal on Windows. And trust me I've looked. The best I found was a tabbed version of the default Windows console. Hardly promising.

For me anyway, the X server is for running remote GUI applications off of a *Nix box without dealing with the hassles/performance of a VNC-like session. A few different X servers you can pick from as well. Obviously unnecessary for local stuff.

Why run a remote GUI at all? ssh is where it's at ;)


#32 vhane

vhane

    Neowinian

  • Tech Issues Solved: 1
  • Joined: 15-August 04

Posted 28 August 2014 - 14:09

There is no right answer for the Editor + command line vs. IDE arguments. For one, the use of an IDE doesn't preclude the use of command line tools. And once you've customised an editor sufficiently, it basically becomes an Integrated Development Environment.

 

No single tool is going to be the best at all the languages/platforms that I develop for. At the end of the day, I'll use the tools that give me the least friction in getting the job done. Usually it ends up being the tools that are best supported by the platform's vendor or community.



#33 Max Norris

Max Norris

    Neowinian Senior

  • Tech Issues Solved: 17
  • Joined: 20-February 11
  • OS: Windows 8.1, BSD Unix
  • Phone: HTC One (Home) Lumia 1020 (Work)

Posted 28 August 2014 - 14:15

Any recommendations?

Used to use ConEmu-Maximus5 myself. Tabbed, ANSI/XTerm terminal emulation, macros, real copy/paste (WTF Microsoft..), status bar, all that good stuff. There's plenty of others though. A few years back I went the "real" terminal route, installed an SSH server and haven't looked back. Got lots of those to pick from, both servers and clients, take your pick, get all the features you'd expect out of a setup like that. It's not hard, click click done. So working locally on my own system or managing one of my BSD systems from remote, same terminal to do both.
 

If it's awkward, difficult, or has a poor usability, then yes I'd call that inflexible.

Which is why you'd replace whatever component you don't like with something else, just like you would with Linux. It's only inflexible if you make it so.
 

Why run a remote GUI at all? ssh is where it's at ;)

Some of us have to develop GUI applications for a living ;) So for me it's SSH + X forwarding to a local server. (And that's just another reason why I wouldn't want to use a plain text editor.. terrible for designing applications.)

#34 Boz

Boz

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 21-October 03

Posted 28 August 2014 - 14:19

Using terminal tools and typing a ton commands to do something simple is like being a dinosaur in terms of coding. You must be loving Pascal and Fortran in addition to Python as language of your choice.

With IDEs like IntelliJ using terminal and doing things from CLI seems like a total waste of time and productivity.

I personally feel that people who say bad things about IDEs are more inert to learning new things than having genuine complaints against something you really can't achieve with today's modern iDEs.

I absolutely adore IntelliJ IDEA. In my opinion absolute best IDE out there hands down. Being cross platform gives it an edge over Visual Studio that comes close second.

IDEA has database editor / SQL command line and schema designer, has integrated Terminal basically if you really really need it, has such easy integration of different frameworks with their own compilers and all this works with a keyboard shortcut or right clicking something and selecting option. Not to mention plugins for pretty much anything.

People who use plain text editors and CLI for their coding needs live in the stone ages.

#35 simplezz

simplezz

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 01-February 12

Posted 28 August 2014 - 14:48

Used to use ConEmu-Maximus5 myself. Tabbed, ANSI/XTerm terminal emulation, macros, real copy/paste (WTF Microsoft..), status bar, all that good stuff.

Thanks, I'll give it a try.

Some of us have to develop GUI applications for a living ;) So for me it's SSH + X forwarding to a local server. (And that's just another reason why I wouldn't want to use a plain text editor.. terrible for designing applications.)

Glade's pretty good for that if you're into WYSIWYG and GTK. I think QT has an equivalent too.

#36 simplezz

simplezz

    Neowinian Senior

  • Tech Issues Solved: 1
  • Joined: 01-February 12

Posted 28 August 2014 - 15:10

Using terminal tools and typing a ton commands to do something simple is like being a dinosaur in terms of coding.

All coding involves typing in commands. Language commands to be specific ;)

You must be loving Pascal and Fortran in addition to Python as language of your choice.

Who doesn't love Python? As far as Pascal goes, I did some of it at uni. Not a particular fan of it. Never used Fortran, so I couldn't comment.

With IDEs like IntelliJ using terminal and doing things from CLI seems like a total waste of time and productivity.

http://vim.wikia.com...Omni_completion

You were suggesting that without code completion, an editor is useless, right? I don't use it personally, but it's certainly available on the cli.

I absolutely adore IntelliJ IDEA. In my opinion absolute best IDE out there hands down. Being cross platform gives it an edge over Visual Studio that comes close second.

Being cross platform is definitely a plus for me. That being said, I still wouldn't use it :) But everybody has their own preferences.

People who use plain text editors and CLI for their coding needs live in the stone ages.

Give the dark side a try, you might like it :p

#37 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 11
  • Joined: 26-October 05

Posted 28 August 2014 - 17:32

The first part discusses Graphical programming tools such as Visual Studio. The first quotation was:

I will fight you if you try to take away my text editor," said Don Box, a Microsoft distinguished engineer.

Notice he says text editor, not IDE.

Visual Studio is an IDE that includes a text editor, graphical programming tools and many other tools. The article discusses text editors vs graphical programming tools, not IDEs vs text editors (which wouldn't make any sense). Probably that the text editor Don Box was referring to was the Visual Studio text editor.

 

It absolutely is abstracting away from the compiler. However, not to the degree with which IDE's tend to do it.
 
My preferred build system, GNU Autotools, is still very close to the metal so to speak. The M4 macros are only light wrappers around the compiler and make. One still needs to understand the macros, parameters, perl, makefiles, and what they all do.
 
For instance, if I want to compile my program to target a specific architecture I have to know how the compiler works:
../configure CFLAGS='-m32 -march=atom -O2 -s -DRELEASE -Wall -ansi -pedantic' --prefix=/usr --target=i686-pc-linux-gnu

 

So the only difference is that you have to type in the command by yourself (or copy-paste it from somewhere else), instead of selecting the switches from an annotated user interface explaining what they do. I could easily argue that the latter makes the various switches more discoverable and easier to understand promoting better understanding of the compiler's options, so I don't see how the method of entry you use is somehow superior.

 

Okay, how would you put quotations around every line in a file in your IDE text editor (we're talking about OOTB)? In Vim, I'd type the command
:%s/\(^\|$\)/\"/g
That's it.

Wow, it supports regular expressions! Just like every other IDE then  :)

 

Or perhaps global substitution:
:%s/foo/bar/g

 

Can it do semantic renaming (i.e. real refactoring) or just blind cut-paste?

 

go to line 1028:
G 1028

Visual Studio: CTRL-G 1028 (not that I ever use this, CTRL-T + [name of the type or member] is far more useful, I don't learn line numbers by heart)

 

Search for the next instance of the word the cursor is currently on:
*

 

CTRL-SHIFT-Up/Down (previous/next occurence). Semantic, not textual.

 

get a webpage:

That's cute. There's actually a web browser in Visual Studio.

 

jump back ten words:
10b
Delete the next eighteen lines:
d18j

Do you actually find that useful? I mean, if by doing that you intend to navigate somewhere precise or delete some particular lines, you have to count exactly how many tokens or lines you'll need to input. That sounds like a lot of mental work.

 

Common commands based on semantic understanding of the code (Go To Definition, Navigate To, Incremental Search) seem far more useful and easy to use. If I'm working with a 2 million LOC solution with 50 projects and I want to jump to some method which I think had the words "Start" and "Incremental" in them, for instance (something I'm actually likely to remember rather than line numbers or token counts that change daily through hundreds of changesets), I can type CTRL-T "StartIncremental" and immediately get a drop down list of all type names and member names in the solution in order of relevance that contain these words. 

 

If I know the name of a particular method called GetAllFilesInDirectory I can just type CTRL-T GAFID (using just the capital letters) and jump to it without ever having to look at any search results. If I have my cursor on a token and want to know where it's defined I can just hit F12 and it goes to the point of definition. If that is in some external library, I get a view of the metadata. With popular extensions like Resharper I even get a disassembly so I can see the source code even if written by a third-party. Can you do that in VIM?

 

If I want to change the name of some token with my cursor on it I can type CTRL-R-R [new name] Enter and automatically global semantic (i.e. not textual but actually replacing the instances of that token, if it's a local variable the scope is limited to the method, if it's a type the scope is all the referencing projects, etc.). Can you do that in VIM?

 

Does VIM OOTB give you any code completion? Does it underline errors as you type so you don't have to compile to catch common typos? 

 

Does your editor allow you to see for every line of code what is the latest changeset that modified this line and a link to jump to it directly and see who did that and why that line was changed?

 

You can count the words in a text file easily, but can you get a count of actual lines of code (excluding lines with just braces or whitespace)? Cyclomatic complexity? Track how many types each type references? This is all stuff that I do, conceptually, from my "text editor", because it's actually a "code editor" that understands my code and gives me really useful information and tools that process my code as code and not just text.

 

You seem quite impressed with the ability to use regular expressions or basic  textual navigation commands making me wonder if you've actually ever used a quality IDE with proper refactoring tools on a very large codebase and witnessed the power and productivity that this gives you. I mean, Visual Studio's text editor supports all the stuff you mention in VIM (except perhaps invoke command-line utilities), but I rarely ever use that because there are so much more useful and powerful options available.

 

Except we don't have to switch between applications. I can run everything from inside Vim if I like

So you're using Vim as an IDE then? ;)



#38 tim_s

tim_s

    Default

  • Joined: 07-January 13
  • OS: OSX (Macbook Pro i7), Windows 7 (Gaming), Gentoo
  • Phone: iPhone 5s

Posted 31 August 2014 - 16:26

Hi,

This is a very good question.

People need to know the difference between a IDE (integrated development environment) and an Editor.

My choice for IDE is Eclipse.

:)