3 ms·
Well, you don't have to use vi or emacs. IDEs exist. I personally find Eclipse to be a huge pain in the ass for anything other than superficial Java maintenance
by michaelochurch 14y ago
Well, you don't have to use vi or emacs. IDEs exist. I personally find Eclipse to be a huge pain in the ass for anything other than superficial Java maintenance, but it's there, and sometimes it's the right tool.
The command line will never die. It's precise. It works. If you don't know how to use it, you're not a programmer. End of story.
I think that, just as programming is becoming multi-lingual over the years, it'll be more important to be able to switch between (a) emacs/vi and the command line and (b) a read-only IDE for code comprehension/navigation. (I'm surprised Github hasn't taken that on, at least for the major languages.) IDEs are great when you're reading code but they become a mess when people use them to write it, or when IDEs become formally a part of the company developer environment. (Watch out if the latter happens.)
I think the low level will change more slowly than the high-level. For low-level, staples like C (and possibly Go) will remain in force. It's at the high level where the rapid change happens. Of course, this kind of change is good and bad. It's great when you're in charge and get to play with fun new tools, and it's horrible when you're a grunt and change is inflicted upon you by others.
- nailer 14y ago> The command line will never die. It's precise. It works. If you don't know how to use it, you're not a programmer. End of story. Precision would match the input to the output. Why should the tool I use to make Python, JS etc ever produce something that's not parseable by the interpreter for those languages? Why should people ever miss a bracket? Especially when they're learning. Vim has shortcuts for yankingaand deleting and putting lines and paragraphs, which have little meaning in programming. You can't delete a block, or a statement.
- snogglethorpe 14y agoBeing able to manipulate language-sensitive components is very handy; being restricted to manipulating them can be mind-bogglingly annoying... for people, the source text is also a text. Structure editors were super trendy ... like 25 years ago. There's a good reason they've pretty much died out...
- nailer 14y agoWhy would it be annoying to not be able to write invalid code? Source is not free text, that's provable by needing a parser. Much in the same way the DOM isn't HTML, a lesson already learnt the hard way in web development.
- snogglethorpe 14y agoMy statement isn't based on pontificating, it's based on lots of people writing structure-editors and everybody hating them. Despite the end-goal being a correct parse-tree, it turns out that making it impossible to have intermediate "incorrect" states feels very constricting, and people don't like it. The surface text representation may be an irrelevant detail to the compiler, but it's not to humans. [A lot of the research was aimed at beginners, without previous programming/editor experience, who probably have the most to gain from such assistance (no missing semicolons!), and no prior habits to unlearn. But even there, structure-editors were not popular.]
- Adrock 14y agoYou can do exactly what you are describing (and more!) with ParEdit: http://emacswiki.org/emacs/ParEdit http://emacswiki.org/emacs/ParEdit http://www.vim.org/scripts/script.php?script_id=3998 http://www.vim.org/scripts/script.php?script_id=3998 It's really a killer feature when writing any Lisp. I would love to have something similar for C-style languages, but the more complicated syntax makes it harder.