Live data from Hacker News

Unix as IDE

sanctum.geek.nz

121–130 of 214 posts

Re: Unix as IDE

#121
post #33

It lacks the I in IDE. Those different tools are not integrated. In a java IDE the debugger steps through your source in the same editor view that you just used for editing. You can hover over each identifier while you code or debug to get the docs in a floating panel. Editing incrementally computes compilation errors while you type. Content assist has complete knowledge of the types at your caret position and thus c…

The I is Emacs. It adds a heapload of tools on top of what's already there, integrates what is already there, and is a frankly awesome enviroment. It has most of what you described, but it starts faster than an IDE, and is generally better: I don't think and IDE will be beating Paredit and Slime/Geiser, or JS2, or gdb-mode, any time soon. Not to mention, compared to most IDEs, Emacs is trivial to extend. You know tho…

I've used emacs for years. I've invested a great deal of time in learning it. I'm not sure it was worth it. When I think about the opportunity cost involved in internalizing the kb shortcuts, apis, tuning emacs configs, getting various plugins working together, setting up this or that language support - and on and on - that time could have been better spent learning more useful things.

This feeling is especially strong when you use an IDE that does more out of the box with fresh install, than you could make emacs do after 6 months of tinkering and tuning.

Re: Unix as IDE

#122
post #112

Earlier quoted context omitted.

The difference is IDEs understand the underlying structure of the code, including relationships between entities, symbol types in their context, indexes for searching, and so on. That allows you to express transforms that can't be expressed if everything is just a text stream. I can grab a chunk of a function in resharper and do an "extract method", and it can figure out data dependencies, or I can do a "find usages"…

There really needs to be a standard interface that all compiler toolchains can deal with for emitting program structure. All implementations deal with this problem their own way. For C# there is OmniSharp based on NRefactory, and also Microsoft's Roslyn. For C++ there are tools based on libclang. Rust has Racer. It would be nice if there were an interface an editor could implement which gave access to all of these la…

Tada https://github.com/Microsoft/language-server-protocol

Re: Unix as IDE

#123
post #112

Earlier quoted context omitted.

The difference is IDEs understand the underlying structure of the code, including relationships between entities, symbol types in their context, indexes for searching, and so on. That allows you to express transforms that can't be expressed if everything is just a text stream. I can grab a chunk of a function in resharper and do an "extract method", and it can figure out data dependencies, or I can do a "find usages"…

There really needs to be a standard interface that all compiler toolchains can deal with for emitting program structure. All implementations deal with this problem their own way. For C# there is OmniSharp based on NRefactory, and also Microsoft's Roslyn. For C++ there are tools based on libclang. Rust has Racer. It would be nice if there were an interface an editor could implement which gave access to all of these la…

[deleted]

Re: Unix as IDE

#124
post #92

Earlier quoted context omitted.

There is nothing about text streams that prohibit tools from understanding whatever language you're writing in. Unless you have an very interesting compiler, your IDE is processing text, too. But also, you seem to believe that somehow communication between applications is somehow limited to pipes, which makes the comparison inapt. Ignoring the category error (text format in a data file vs. server application + storag…

This is the equivalent of arguing that there are no differences between two languages because they're both Turing complete.

I don't see where they were saying there's no difference.

Re: Unix as IDE

#125
post #26

Earlier quoted context omitted.

I bet Emacs has a plugin that makes it like Vim, so Emacs is not that bad. :-)

Evil mode: it's the basis of spacemacs. If you don't want the complexity of spacemacs and you don't mind writing a bit of elisp to get your bindings working, it's worth looking at.

Am I missing something here? That's like an asthma drug whose side effect is shortness of breath.

Re: Unix as IDE

#127
post #62

This instantly brought to mind the classic 1984 book, The Unix Programming Environment, by Brian Kernighan and Rob Pike [1]. Note that they call Unix a programming environment, not an operating system. This book shows that the original purpose of Unix is to be a tool for writing software. [1] https://en.wikipedia.org/wiki/The_Unix_Programming_Environme...

They're not calling Unix a programming environment instead of an operating system. The title of the book refers to the programming environment of the Unix operating system.

Re: Unix as IDE

#128
post #51

I've tried for the past couple of years to get into vim but I can't force myself to remember the odd short cuts I can't seem to ever match up with the action it's doing. I could if I rewrote them butttttt then that blows when I want to jump into a new server without my config. So it's always been nano for one liners and sublime through sftp mounted filesystem.

you've probably never: 1. been forced to use a system with nothing but vi, ed, and ex, which was common for commercial unixes until the 90's 2. had to make thousands of edits to thousands of files in minutes without access to a scripting environment or other more advanced tools 3. had to edit and debug a program under the above conditions on a super laggy dialup internet connection vi is a force multiplier for operat…

To be honest vi and vim are different enough that as someone who was taught on vim, I get lost when I have to do anything beyond opening a file in vi.

Re: Unix as IDE

#129
post #51

I've tried for the past couple of years to get into vim but I can't force myself to remember the odd short cuts I can't seem to ever match up with the action it's doing. I could if I rewrote them butttttt then that blows when I want to jump into a new server without my config. So it's always been nano for one liners and sublime through sftp mounted filesystem.

Instead of "odd shortcuts," think of it like this guy does:

Learn to speak vim — verbs, nouns, and modifiers! https://yanpritzker.com/learn-to-speak-vim-verbs-nouns-and-m...

"To move efficiently in vim, don’t try to do anything by pressing keys many times, instead speak to the editor in sentences

" delete the current word: diw (delete inside word)"

Re: Unix as IDE

#130
post #32

This was how Unix was presented to me when I was first introduced to me. I was told it was like industrial machinery - designed for those who know how to use it, efficient, dangerous if you aren't careful. Which is exactly what a good tool should be. When IDEs (the kind that comes as a GUI'ed bundle of things thought to be the most appropriate for the purpose by committee of someones, somewhere) started becoming popu…

[deleted]
Post reply on HN