Live data from Hacker News

Neovim

github.com

241–250 of 372 posts

Re: Neovim

#241
post #47
post #40

Earlier quoted context omitted.

> ...should be ashamed people are still using Vim to write LaTeX in Bash running on terminal emulators. First, why? It works just fine. Second, is there anything better? I don't know of anything I would prefer to use. So until someone comes up with something, I'll stick to using Vim to write LaTeX in a Bash shell (might upgrade to zsh, we'll see).

No, it doesn't work fine. LateX is slow, inconsistent and needs to be ran multiple times to give a correct result, it has no API, is not extendable in a sane way, it's source code is so arcane there's books written about it, and if you've read the books the only thing you've learned is that trying to reimplement LateX is a fool's errand. And it's syntax is ugly. Markdown is better. Microsoft Word is better. They just…

1) You run latex twice only on really large and complex documents like books, and if you're writing books (not editing, see antipope.org for details) in Word, then you need professional help.

2) Markdown and LaTeX are designed for different tasks. Next you'll be telling me that if you have a leafblower, you have no need for a chainsaw.

3) Find me the structured and annotated data streams first - and show me that the structure and annotations are correct - then lament the lack of a shell that can route them to the programs that don't interpret stdin and stdout and stderr that way anyway.

4) I use vim to write latex when I write latex, but "in a bash shell" doesn't make any sense. You fire up vim from bash, yes, but unless you're trying to do an ex-style editing session, you're not editing in the shell any more than you're editing in the kernel or the tty driver...

Re: Neovim

#242
post #235
post #29

Thanks for trying to do what many of us secretly wished we could do but can't because of time/skill constraints. I will definitely move to NeoVim the second it's packaged (is it yet?), regardless if you've changed anything yet. I hate the ideas many programmers have about backwards compatibility, that it's more important than development speed and modern concepts. There is nothing holy about Unix era software, chance…

I fully agree. For me, Vi and Emacs are only when I don't have an option in terms of IDE support, even though I know at least Emacs quite well. What can I say, the world of Amiga GUIs, Smalltalk and Lisp environments spoiled me as an IDE fanboy. It baffles me why in 2014, some developers still prefer to work as if UNIX System V had just been released.

> It baffles me why in 2014, some developers still prefer to work as if UNIX System V had just been released.

Because (a) some of us aren't convinced that things like IDEs give a better view of what's going on in the system; (b) some of us think that fundamental tools like terminal emulators, editors and so on should be debugged and stable because we have to earn our mortgage payments using them and chasing the shiny isn't on our job description; (c) any actually useful new idea winds up in Vim anyway.

You want to use a new shiny unproven editor, grand, have a ball. But don't ask me to purely on the basis that it's not new and shiny.

Re: Neovim

#243
post #235

Earlier quoted context omitted.

I fully agree. For me, Vi and Emacs are only when I don't have an option in terms of IDE support, even though I know at least Emacs quite well. What can I say, the world of Amiga GUIs, Smalltalk and Lisp environments spoiled me as an IDE fanboy. It baffles me why in 2014, some developers still prefer to work as if UNIX System V had just been released.

What features does an IDE give you?

- Visual representation of the code structure

- Ability to select any symbol and find semantic uses of it

- For OO code, being able to visuallize the OO graph usage of certain symbols

- Refactoring across the whole project with semantic knowledge (no, search/replace does does not cut it)

- Navigation in third-party libraries deployed in binary format

- Code completion for static/dynamic languages, while showing tooltip documentation

- Graphical visualization of data structures on the debugger

- Background compilation with static analysis

- unit test debugging infrastructure

- integration with modelling tools

- integration with SCM tooling and being able to interact with them directly from the editor. For example, generating a blame file, with navigation across the file revisions.

- integration with continuous integration servers

- integration of developer workflow with task management servers

As an example of such developer workflows, have the IDE talk to Jira, edit the code, automatically bundle it in a workflow that binds the code changes to the Jira issue being worked on, get a Jenkins notification after the code is checked in and gone through the CI system.

Sure you can get part of it in Emacs, after spending a week configuring plugins, with different levels of maturity, and in the end it is still mostly textual.

Re: Neovim

#244
post #38

Earlier quoted context omitted.

I don't see anything shameful about using old software if it works well and suits your needs. Yes, new editors like SublimeText have advantages, and if you prefer them over Vim, use them. However, I've seen many projects undergo a rewrite in order to move to new technology, but they never matched the utility of the old technology they were trying to replace. I'm not saying it can't happen, but that it often doesn't.…

> Vim got me into the habit of hitting escape when I was through entering text, but escape cancels the input in a lot of programs. Does ^[ cancel input in any programs ? AFAIK vim understands the ^[, not the "escape key". the key labeled "ESC" creating a ^[ is a convention used in terminal emulators. Not that it's going to help you now, but if you had trained your fingers to hit ^[ rather than the escape key (or even…

Not practical. ^[ is a two-key combination, so more RSI-inducing. And you need escape a lot, especially in plain vi.

And the ESC key has been generating ASCII 27 on keyboards for a long time. It's definitely not just terminal emulators.

Re: Neovim

#245
post #29

Thanks for trying to do what many of us secretly wished we could do but can't because of time/skill constraints. I will definitely move to NeoVim the second it's packaged (is it yet?), regardless if you've changed anything yet. I hate the ideas many programmers have about backwards compatibility, that it's more important than development speed and modern concepts. There is nothing holy about Unix era software, chance…

I am honestly amazed at how feistily every 'hacker' here is defending LaTeX in response to your comment. I agree with you for the most part.

This whole "it's apples to oranges" claim is bullshit. Both Word as well as LaTeX can be used for anything from writing a resume, making a technical paper with a few simple equations, to writing an entire Vector or Linear Algebra textbooks. When you have two options for doing the same task it's very much comparing apples to apples.

Yes, they each were originally built with different objectives and different target markets, but they have since aspired to be usable for all the same things. Of course, they each have their strengths and weaknesses.

But I don't get how do a bunch of folk here feel justified in arguing against someone saying "there's room for improvement" with clear viable suggestions on the details too. I know that hating on MSWord (or MS-anything) is fashionable on HN. But you can't seriously be defending

* the steep learning curve: throw your 14-year-old who's doing a math assignment Word vs your favourite LaTeX editor, see what happens;

* lack of WYSIWYG-like feedback-loops: you have to wait a full minute on decently sized documents to see the result of adding that equation that took you 10 seconds to add;

* syntax holdups: you miss an underscore and your document is broken. All the way through. And can take an hour to fix even if you're skilled. People writing documents that need LaTeX's power aren't always coders, and debugging is not a fun or planned-for activity for anyone.

I also don't for the life of me see why someone has to "be an expert, not just written a couple documents casually in undergrad" to be able to comment on the flaws of a product. They're as much a user as a power user, and obviously the power users went through that stage too. Losing sight of your past difficulties (or being gifted in LaTeX) doesn't make them irrelevant for people not in your current position.

Loosely relevant: I smell hardcore "hacker entitlement" around people using LaTeX and defending it including all its stupid barriers to easy document-creation tooth and nail. Hardcore programmers do this with way too many things (like Linux, and development environments for almost any language). And it's just really frustrating for a lot of people to deal with =/

PS: NeoVim sounds like someone finally got off their high horse (or from whining) and decided to actually make something better. Thanks!

Re: Neovim

#246

Earlier quoted context omitted.

It's an apples to oranges comparison. I want to draw a conformal mapping diagram in word and also write a 3-vector of the navier-stokes equations. Also, I want to do a lot of tensor arithmetic with tons of superscripts and subscripts and arrows. Tell me how any of this is accomplished in Word please. Saying Word is easier to us is like saying BASIC is easier than C++.

You know what most people would do? Use a dedicated program to create the plots and equations, export it as a PDF, and embed that in Word. Instead of LaTeX being the de facto standard for all publishing, it is relegated to very specialized uses in mathematics and some engineering. If you try to use LaTeX with a biomedical researcher, they will look at you very funny. Hell, I just had a postdoc send me figures as part…

Jesus nothing is wrong. Read my comment again. I'm saying it's an apples to oranges comparison. If BASIC is all you need great. If word is all you need great. If you can get by with importing from gnuplot or R or matlab or whatever great. I'm not saying one is superior to the other. I'm saying that when I want to draw a commutative diagram, I'd rather do it in LaTeX with tikz or the xy package.

I'm sick of the "HN strawman." People on these threads need to read and apply basic critical reading and logical skills.

You don't need to tell ME to use the best tools for the job. I've been telling people that for fucking years. I don't why your comment annoyed me so much but it did.

Re: Neovim

#247
post #47

Earlier quoted context omitted.

No, it doesn't work fine. LateX is slow, inconsistent and needs to be ran multiple times to give a correct result, it has no API, is not extendable in a sane way, it's source code is so arcane there's books written about it, and if you've read the books the only thing you've learned is that trying to reimplement LateX is a fool's errand. And it's syntax is ugly. Markdown is better. Microsoft Word is better. They just…

1) You run latex twice only on really large and complex documents like books, and if you're writing books (not editing, see antipope.org for details) in Word, then you need professional help. 2) Markdown and LaTeX are designed for different tasks. Next you'll be telling me that if you have a leafblower, you have no need for a chainsaw. 3) Find me the structured and annotated data streams first - and show me that the…

One could easily remove then fan on the leefblower engine and add a saw blade.

Re: Neovim

#248
post #49
post #40

Earlier quoted context omitted.

> ...should be ashamed people are still using Vim to write LaTeX in Bash running on terminal emulators. First, why? It works just fine. Second, is there anything better? I don't know of anything I would prefer to use. So until someone comes up with something, I'll stick to using Vim to write LaTeX in a Bash shell (might upgrade to zsh, we'll see).

Yeah, I mean it's not like 'more modern' alternatives haven't been created... They just haven't caught on among this group of people because this group of people values functionality and does not give a damn how old something is. People have made fancy new shells build around things other than bytes through pipes, people have created new replacements for terminal emulators, and people have created fancy GUI document…

Because many of the people that learned those old stuff were young when those tools were new and don't want to learn anything else.

Habits die very slow.

Re: Neovim

#249
post #123

Earlier quoted context omitted.

It's in the list because it's what I would use for my thesis, if I'd do one now :) It's basic, but it has the semantics for most stuff, and can easily be extended for more. I'd do all formula's/drawings in external tools. Word nowadays has semantic typesetting controls too, I think since they started that ribbon thing that it has become useable. If you stick to using their semantic things I think you can do a pretty…

Writing a thesis using only markdown sounds extremely painful. Are you going to create all your figures elsewhere and then include them as images? How are you going to create your list of figures? And your table of contents? How are you going to create, maintain, and organize your list of references? I could go on.

Writing my thesis with markdown was one of the best decisions i made. I wrote 99% of my master thesis in markdown (50 pages w/o interviews). 1) I didn't have a lot of images so i just wrote FIXME: Image Foo.png where they belonged. 2) I wrote my Citations Plain in there (e.g. Wocken, 1985, 7 ff.), using a special folder for all sources i really used in Mendeley. 3) Writing in markdown i could just c&p perfectly formatted chapters written with simplenote. 4) i also could seperate the chapters in files and keep everything in a git repo.

When i was finnished writing i exported the markdown to rtf, 1) selected all the h1's via "select all", set them to be a real (word) h1. vice versa with all other styles i used. 2) Then i put in all the pictures. 3) Then i exported the list from Mendeley.

That process - from markdown to perfection - took me less than 4 hours.

I have some experience with latex and especially latex + komascript, but i hated that experience because the latex sourcecode doesn't ebrace readability and you're sure to get obscure errors in the last second. besides stuff like running latex twice for a table of contents.

Writing

  \begin{itemize}
    \item really long line which gets wrangled in my vim 
  terminal, so that i don't see where the second item starts.
    \item another long line. maybe 200 characters long?
  \end{itemize}
is complicated and you can't read it well. this otoh is very easy to read:

  * really long line which gets wrangled as well, but is 
  better to read because it starts with a clear sign which 
  is recognized to be a bullet.
  * next line, which is also very long.
Easy readability is crucial, because i needed proof readers. The young proof readers could actually get the markdown code and correct my mistakes there (or write comments, starting with another fixme). really rocked with diff.

The older proofreaders could proofread it in the final stage in ms word with the track changes functionality.

I put a lot of thought into Design and Typography and i was sure that i could decide better how my document should look, than latex. I agree, that for some people this is not the case.

Re: Neovim

#250

Earlier quoted context omitted.

That's a fair argument. Neither Golang nor D give you the control that C gives you. If that's your yardstick, then the only viable candidate at this point is Rust. But Rust doesn't feel or look anything like C, but more like C++ or maybe Scala.

Its not just the lack of control, the bigger problem is features that have been added in. There major use cases for C that go by its nature can not fill. It can not do bare metal programming or real time applications without major changes to the language standard. Go aims to be a superior system programming language than C but not a successor to C. No one will be doing audio codecs or device drivers in go, but I woul…

They could, if:

- Go's unsafe package offered the same capabilities as Oberon's SYSTEM

- It offered a bit more control about GC takes place

Any AOT native compiled language can be used in place of C for user space code. There is hardly any C feature essential for such type of applications.

C can be relegated for kernel space until something better gains more market share.

Post reply on HN