[HN Gopher] EmacsConf Live Now
___________________________________________________________________
EmacsConf Live Now
Author : xenodium
Score : 103 points
Date : 2023-12-02 15:26 UTC (7 hours ago)
(HTM) web link (emacsconf.org)
(TXT) w3m dump (emacsconf.org)
| kleiba wrote:
| Serious question: is anyone here using Emacs as a dev tool in a
| professional software development business? What are your general
| experiences? What programming language (anything non-lispy?) Is
| your whole team using Emacs, or - if you're a singleton - how
| does your work-flow integrate with other setups? Thanks!
| jen20 wrote:
| Personally, no, but on my ~11 person team things are split for
| work on Rust, Go, Python, TypeScript, Java etc. IIRC the daily
| drivers for people are:
|
| - Neovim (the most common)
|
| - IntelliJ
|
| - Emacs
|
| - VS Code
|
| I used to use emacs via spacemacs several years ago, but can't
| be bothered trying to wrangle editor configs any more - I'm
| firmly in the Jetbrains tools camp now with the exception of
| note taking (Notes.app) and commit messages (neovim with
| committia).
| kleiba wrote:
| That's the beauty of choice.
|
| I have long found my personal emacs config, so I don't have
| to wrangle configs any more either, but get to still use it.
|
| But also note that the packaging system for Emacs has greatly
| improved in recent years, and the time spent to configure new
| modes is certainly orders of magnitudes less than the time
| spent using that mode later on.
| jen20 wrote:
| Indeed - it's just the amount of energy I have for
| customising systems at this point is zero, so I just use
| IntelliJ out the box (plus IdeaVIM) for everything, and it
| mostly works great.
|
| I hit a bug in the IJ Rust support this week, and actually
| tried Spacemacs again for the rust-analyser plugin! The
| colours in the status bar didn't match one another though,
| and although I vaguely recall digging into that in 2015 or
| so, that wasn't a side quest for 2023.
|
| It's a great situation that broadly speaking, everyone can
| use what they want at this point - historically (looking at
| you, Visual Studio), that was not the case.
| blahgeek wrote:
| I am. The overall experience is very good. I write C++ and
| Python in emacs for work everyday. No, it's just me using emacs
| in our team (or maybe even in my company). I don't see any
| integration issues with others: the underlying linters and/or
| language servers are essentially the same (e.g. clang-tidy,
| clangd)
| kleiba wrote:
| Awesome, thanks very much.
| Barrin92 wrote:
| Yes I use Emacs for my daily work (OCaml, C++), and for Clojure
| personally. Team is like 40% Emacs, 40% vim, rest various IDEs
| / editors I'd guess.
| delco wrote:
| I use it for C and C++ dev. I used to use CLion but got too
| frustrated with it being poorly performant, and there was just
| too much stuff going on and things flashing around the screen.
| For example, moving or editing certain files triggers a CMake
| build. I just rather my editor try to stay a little more out of
| the way.
| Scarblac wrote:
| I use it, currently React / Typescript.
|
| Just because I'm completely used to it though, I don't use much
| of what makes Emacs Emacs. It's just the editor I've always
| used.
| aardvark179 wrote:
| Yes. Most of my development time is in Java, js, or Rust, and I
| use eMacs with lsp mode every day.
| jdreaver wrote:
| Most of my company uses VS Code or IntelliJ IDEs, which are
| officially supported by our developer productivity team, but
| many of us use Emacs and Vim (I'm an Emacs user). I spend most
| of my time in Go, C, Rust, and the plethora of
| "infrastructure"-related languages like Puppet, YAML, Starlark,
| Python, bash, SQL, etc. I also sometimes use more of the common
| languages in our company's stack like Ruby, Java, and Python.
|
| My experience using Emacs at work for the past 15 years has
| been outstanding. I find that when I join a new company, there
| is sometimes a bit of legwork getting Emacs working with
| potentially bespoke SSH, tooling, or VPN configs (for remote
| development), but once it works I don't touch it. I touch a lot
| of languages at work, including more I didn't mention above,
| and not having to leave Emacs to learn a new tool is a huge
| boon to productivity. I get all the niceties of an IDE via LSP
| and some other Emacs packages, including autocomplete, code
| navigation, Github Copilot, and more.
|
| I don't ever tell anyone they _should_ learn Emacs at work, but
| once in a while someone sees me use it while screen sharing and
| they get interested.
| hprotagonist wrote:
| yes, i write python with emacs. eglot dape treesitter and
| magit.
|
| i don't compel a specific editor for my team; we're a motley
| mix of whatever people work well in.
| Avicebron wrote:
| I use Emacs daily (OCaml professionally), with Elixir/Haskell
| as my go to for personal projects. I've set it up so that all I
| need is to pull my dotfiles and my setup is ready to go, I'm
| probably part of the 20% that use emacs, while almost everyone
| else uses vim. No issues so far, but I'll echo some sentiments
| here that I don't spend as much time these last few years
| configuring my setup beyond what I need, I spent enough time on
| that already
| dwb wrote:
| I use (Doom + some customisation) Emacs for development in Go
| and TypeScript. It's generally very good and sometimes
| frustrating - but usually fixable, and very much still worth
| the bother for me. I'm in a very small minority of developers
| using it at my work. I have quite a lot of the bells and
| whistles other developers have - of what I lack, I'm thinking
| mainly of the refactoring stuff in GoLand. Magit is the only
| alternative git UI I've ever liked. Evil is close enough to vim
| to satisfy. We have language servers and tree-sitter now.
| AiAi wrote:
| Yes, I've been using for about 2 years. It's kinda mixed, I
| suppose some things are better, and some things are worse when
| comparing to something like VS Code/JetBrains IDEs, but I don't
| think it gets in my way or makes me less productive. I've been
| using for PHP, JavaScript/TypeScript. I'm the only one using
| Emacs in my team, most seem to use PHPStorm or VSCode, but a
| couple of guys use Neovim. Finally, I don't think the editor
| gets in the way of collaborating in any way, so I guess it
| integrates well.
| agumonkey wrote:
| I was curious about this, and I joined a dev shop few years
| ago, I use a very crappy handmade emacs setup doing mainstream
| fullstack dev, and I don't envy vscode. A good vscode setup
| will make some things easy but you're still so far away from
| helping yourself. Meanwhile I needed to change something to
| ease my day (parsing some file and correlated with tests) and
| it was a few elisp lines away. I can reuse magit transient even
| so I have a contextual menu. And I'm a mediocre emacs hacker...
| a good one will fly at mach speed. Meanwhile my colleagues are
| clicking and doing things manually and slowly in their pro IDE.
| gabrielhidasy wrote:
| I use it, mostly for C++, a bit for Python, a ton of
| configuration languages.
|
| There are dozens of us in the company, but only me in my team.
| The most popular editor around is VSCode.
|
| There's not a lot of extra friction to use Emacs, the build
| system is well integrated, the debugger just works, the VCS is
| weird but the mercurial bridge is pretty good, and I always
| preferred using it in the CLI anyway.
| tushartyagi wrote:
| I've been using Emacs as my editor for the last decade or so. I
| used it for general purpose editing for the first 6 years
| because I was doing C# development (Web/a bit of Xamarin) and
| VisualStudio (not code) was my daily driver.
|
| For the last 4 years I've been using it full time as I changed
| technologies and moved to a Python/Vue shop. I initially used
| vanilla python-mode, then elpy, and now I'm currently using LSP
| for Python development. Everything is setup well, I just write
| code, commit using Magit, and create Github PRs using
| Magit/Forge. For major refactors, I do fall back on using
| PyCharm.
|
| For Vue I just Web-mode because I haven't found LSP to provide
| me anything useful (maybe code jumping, but nothing else).
| Maybe it has better integration with TypeScript? I'm not too
| sure.
|
| My emacs setup is pretty standardized with a dotfile. I use
| Projectile to jump between projects, and use Eyebrowse to
| assign each project its own window (I usually have anything
| from 2-5 open at a time). The pattern I've found useful is to
| have the same number assigned for Eyebrowse workspace and
| terminal, so `Alt+n` opens my nth project in terminal and in
| emacs.
|
| For the features/tickets that I'm working on, I use an org file
| to note down my thoughts, subtasks, blockers, and also the
| status (TODO/DONE/IN-PROGRESS) etc. It's synced with my org's
| Google Drive, while the rest of my personal org files get
| synced to iCloud. Any topics for 1-1 with my peers/managers
| also get noted and synced.
|
| There was a time in my previous job where I was using emails
| for discussions, and back then I had tight integration with
| Mu4e too. I've dabbled with Jira/Slack modes but they're not
| worth the hassle.
|
| I'm the only one using Emacs in my org, and I feel fine doing
| it. Pairing works fine since the driver uses their editor of
| choice.
| donaldihunter wrote:
| Yes, pretty much all my professional and personal work gets
| done in Emacs. C code, including the full Linux kernel source
| w/ clangd, python, raku, go, shell, remote editing and language
| servers with tramp, etc. I read the kernel mailing list
| firehose as a newsgroup w/ Gnus. I write everything in org-mode
| including my blog which includes a lot of inline literate code
| using org-babel.
|
| I used to work on large Java projects and I used Eclipse for
| that because language servers were not a thing. These days I
| reckon I could use Emacs as long as the language server is
| capable enough.
| powersurge360 wrote:
| I used it full time with Doom in a mix of typescript,
| JavaScript, ruby, and golang for a while. I got frustrated with
| a few minor things like heredocs not highlighting the inner
| syntax (which isn't a standard thing, but a nice to have) and
| with phoenix live components not having syntax highlighting if
| they are defined in an elixir file. I messed about with getting
| the tree sitters for that to work the way I wanted them to but
| ultimately I'm mostly back on neovim.
|
| I still keep eMacs open every single day though and use org
| mode religiously and I am not opposed to digging through a
| project with eMacs because the code navigation is ever so
| slightly preferable. I think if it was just _slightly_ more
| popular and there were a few more hands on the doom eMacs
| project it would be no contest.
| kstrauser wrote:
| Yep, for Python, Rust, shell, SQL, Terraform, JSON, YAML, etc.
|
| I've usually been the lone Emacs user, but it's never been an
| issue. "Oh, we want the code to be Black-formatted and
| flake8-clean before commits. Here's the VSCode to make that
| happen." OK. That takes about 5 minutes to configure in Emacs,
| and now there's no way to tell that I'm using something
| different from my coworkers based on our commits alone.
|
| I blogged about my annoyance with a boss who insisted that all
| programmers use 1) IDEs, and 2) his favorite one, because
| "productivity": https://honeypot.net/post/pianos/
|
| Dude. I'm using Emacs on a Unix. This whole computer _is_ my
| IDE.
| mkesper wrote:
| https://pre-commit.com/ can (and probably should) be used
| with any editor for such things.
| bloopernova wrote:
| Just beware that the developer seems to be burned out, or
| unwilling to work with people despite the project being
| open source. Or they're an asshole, but I am trying to give
| them the benefit of the doubt.
|
| They jump to the worst interpretation of bugs or comments,
| and reject most contributions from other people. They are
| also insulting when they do respond, even to people trying
| to work with them to their requirements or give them
| useful/relevant information.
|
| That's my personal experience with pre-commit. It's a pity
| because otherwise the project works well.
| poidos wrote:
| Yes, it works well. I use Doom Emacs.
|
| I write Python, PHP (Laravel), Clojure, C/C++, TypeScript, and
| have done Scala too. Most things work well enough (not Scala)
| and I make an effort to not be the "emacs guy" and use standard
| IDEs when pairing if the other person prefers that. Most
| tooling I've used is editor agnostic (pre-commit hooks for
| formatting/linting, LSPs, etc).
|
| In fact, using Emacs means I'm closer to the underlying tools
| and so have to set them up in a way that works for multiple
| editors instead of just relying on everyone using the same
| editor to enforce things like style and formatting.
| kriiuuu wrote:
| Scala works very well now with Metals in emacs. I have used
| it without complaint. Although I use Neovim now for other
| reasons
| poidos wrote:
| I struggled with Metals sadly -- I guess my comment wasn't
| 100% fair to the ecosystem due to some details of the
| particular (somewhat legacy) scala code I was working with.
| intrasight wrote:
| I use Emacs exclusively in my professional work. The rest of
| the team does not. They use Visual Studio Pro. Until recently I
| used TFS extension to Explorer for version control workflows.
| But update to DevOps broke that and I've been using VS. Sort of
| sucks and I'll have to find a solution.
| gnuvince wrote:
| - I use Emacs every day as my primary (and only) programming
| text editor.
|
| - Having nearly 20 years of experience using Emacs, it's just a
| totally natural fit for me.
|
| - I program primarily in Rust. I use the built-in LSP client,
| eglot, to communicate with rust-analyzer and have IDE features
| such as jump-to-def, find-refs, find-impls, auto-import, auto-
| format, semantic rename, etc. It works just as well as
| VSCode/Codium (which I tried for about a week to make sure I
| wasn't missing out; I wasn't.) I also do the odd shell script,
| Python script, YAML config, Dockerfile, etc. for which Emacs is
| also well-suited.
|
| - As far as I know, I'm the only person in the company using
| Emacs. There's a few vim/neovim users, but the vast majority of
| people are using VSCode. Having paired with many, I don't think
| that I'm slower for using Emacs; in fact, I think that I am in
| many cases faster because I am so familiar with the text
| operations that I don't even think about them, I just do them.
|
| - Overall, I don't see any reason for me to switch away from
| Emacs at the moment, especially since LSP really blurred the
| distinction between "text editor" and "IDE".
|
| - I typically don't recommend that programmers try Emacs if
| they're not already familiar with it. Partly because I don't
| want them to ask me questions, but mostly because their natural
| tendency is to try and reproduce their VSCode/JetBrains/Visual
| Studio workflow. This usually causes frustration, because the
| way to use Emacs effectively is different from the way to use a
| product like VSCode that aims to have a good out-of-the-box
| experience.
| mbrumlow wrote:
| I use Emacs for everything -- and more when I can.
|
| I am one of a handful that use Emacs at work, and often people
| are surprised at what I can do that they can't do with whatever
| they are doing. For example, I have all my Jira tickets in a
| org file and can update in bulk, create, and assign tickets all
| from a simple file in a few key strokes.
|
| I am responsible for writing c++, go, python, C#. On top of
| that I have syntax hi lighting for all the major formats such
| as yaml, toml, json, but even have lesser known ones as hcl.
|
| I mostly live in the terminal (vterm) within Emacs that allows
| me full control over things. For example, I have custom lisp
| functions that can extract a json blob that was just displayed
| in a log file and open it in a new buffer and have it formatted
| ready for me to inspect.
|
| You asked bout work-flows, while emacs can do a lot of things
| it is not _yet_ responsible for compiling code and many common
| system tools. In such used with Nix I can produce any dev
| environment on the fly.
|
| Being sa singleton is not a problem mostly because once you get
| past the _voodoo_ that other systems use its all the same stuff
| under the hood, and with Emacs you just so happen to have more
| control of those systems when something goes wrong.
| kevinmershon wrote:
| All but one of our engineers at my company use Emacs. We work
| in Elixir, Clojure, and Typescript. Varying configurations for
| sure, but mostly Doom Emacs and Spacemacs.
| mtsolitary wrote:
| I tried for a while but things weren't working the way I wanted
| and I didn't feel justified hacking my config all day instead
| of doing actual work. Thinking of trying again now my personal
| setup is a lot smoother...
| ww520 wrote:
| Yes. I use it for main development, project management, and
| information tracking. One thing good about Emacs is the skills
| you've learned stay with you for life, and can be used for new
| languages and new textual editing needs.
| mbork_pl wrote:
| Short answer: yes, it's great even if it has its quirks,
| JavaScript (both Node and browser, sometimes React), I'm the
| only one on the team, I wrote quite a few small tools to
| "integrate" (big word, they are mostly very small hacks) with
| other stuff we use (Jira, BitBucket, Toggl).
| runekaagaard wrote:
| Brews coffee... Oh yes, Emacs is my forever editor. It was
| created before I was born and will (hopefully) join my
| digitally converted consciousness on humanity's travels to the
| stars!
|
| I got tired of switching editors for different languages
| (PyCharm was too slow for JSX code) and decided to invest in
| getting Emacs to behave like a decent editor. That took a while
| :)
|
| I've programmed in Python, Clojure, Nim, Cython, JS, JSX, and a
| host of other languages. LSP support is getting REALLY good
| with three strong contenders: the minimal eglot that is in
| Emacs core, lsp-mode which is the most complete solution, and
| lsp-bridge that is super fast.
|
| The single thing I love about Emacs is that everything is text.
| I can do a project-wide search (find-file-in-project), turn off
| read-only mode, use delete-non-matching-lines to remove stuff I
| don't want, turn on read-only mode and peruse the remaining
| matches. Then I can turn on wgrep-ag mode in the search results
| buffer, search and replace changes, and commit them to all the
| files. It's a powerful concept.
|
| We are not a single-editor shop, we have Vim, PyCharm, Sublime,
| etc.
|
| Extra compatibility is just a package-install away, and the
| ecosystem is thriving. My must-have utilities are expand-
| region, iedit, multiple-cursors, whole-line-or-region, pdf-
| tools, try, find-file-in-project, helm-ag, rg, undo-fu, and the
| list goes on :)
|
| It has great workflows for compilation, buffer (file)
| switching, window management, tiling, and SO much more. For me,
| at least, every new feature requires a lot of tinkering, but
| the setup has been extremely stable across Emacs versions.
| Emacs development is very active and in recent years has been
| going in a great direction.
|
| A great book to get excited about Emacs is
| https://www.masteringemacs.org/. Oh, let's share configs too,
| here's mine:
| https://github.com/runekaagaard/dotfiles/blob/main/.emacs.d/...
| :)
| _a_a_a_ wrote:
| Yes, personal project (large! In C#) I love it, it is
| _reliable_. Also a bit clunky compared to stuff supporting LSP,
| but now emacs has native LSP I should spend even less time in
| vis studio. Emaacs ain 't perfect but emacs does not suck.
| dimitar wrote:
| Most of our team uses Emacs for Clojure using CIDER.
| nemoniac wrote:
| I lead a team of a dozen data scientists and engineers working
| in the financial sector and all exclusively using Emacs. Mainly
| a Python stack. Emacs gives us a huge edge. Every time anyone
| improves their workflow in Emacs, it becomes a win for the
| whole team.
| jerry1979 wrote:
| Which emacs python packages are your favorite to work with?
| tom_ wrote:
| I've never worked with anybody else that uses it, so my uses
| have settled on things that don't require much interaction with
| other workflows: taking my own notes in org-mode, and general
| text editing/viewing (config files, batch files, plain text
| files, logs, etc.).
|
| I do use a Perforce minor mode to simplify checking files out
| and examining file history.
|
| I have a helper function to paste image from clipboard into org
| document (save as timestamped png file somewhere sensible
| document-relative, insert link into document), so it's
| somewhere safe and I can add per-image notes and so on. I do
| this when I'm building up sets of screen grabs to later paste
| into Teams/Jira/Confluence/Slack and the like.
|
| That's about it. Main remaining annoyance that I'd like to fix
| is a way of exporting an org section as Markdown, so I can
| paste anything interesting into Slack and have the formatting
| come out sensible.
|
| For programming, professionally I've never used it all that
| much. It's much simpler all round to use whatever the rest of
| the team is using, which these days typically means Visual
| Studio or Visual Studio Code, and both are workable. I get
| enough value out of the zero-effort code browsing/code
| completion/integrated debugger/etc. that I don't mind dealing
| with the not-quite-as-nice editing experience and ropey UI. I
| can always (and often do) load a file into Emacs if I have some
| specific editing task I'd like to do.
|
| (In the past I have used it a bit for working with stuff like
| MEL/MaxScript and proprietary/in-house stuff that's generally
| poorly supported by text editors. Not too hard to cobble
| together something workable in Emacs. I haven't had to do this
| recently though.)
| mplanchard wrote:
| Yes. Use it for Rust, Typescript, a little Python, Deno, bash,
| terraform, etc. Three of us (out of like 12) use emacs. We've
| also got vimmers. Most people use vscode. We check in shared
| editor configs, including .dir-locals.el for emacs.
| f1shy wrote:
| Yes, for C(++), Python, VHDL. Being able to run teat in a
| shell, work with Git (magit), have a file manager to
| move/delete/rename (dired), a calculator (calc), a calendar,
| and specially a todo list organizer, all in one app is a super
| thing for me. Throughout shortcuts consistent. A whole division
| of 20 people doing VHDL use it. Some have years of experience,
| I'm relatively new to it. I only use Emacs, Inkscape, and
| Outlook for mail in the work, all day 365 days.
| spit2wind wrote:
| I use it daily for Python and C programming, as well as Bash
| and cmd.exe shell scipting (plus assorted config file types).
|
| I also use it to write literate documentation, including
| glossary terms, drawings, and code. These get stored in a repo
| along with HTML exports.
|
| My general experience? It's the best software I've ever used.
| Hands down, bar none. It has the best documentation and the
| best documentation system. The community is _fantastic_.
| Literal greybeards to guide and inspire you, lots of new people
| to share excitement with, and plenty of interesting people the
| world over in-between. And, most important, is Freedom. The
| software respects me. I 'll cherish that, and the lessons it
| has taught me, forever. I simply would not be who I am today
| without having learned from Emacs and it's community. Thank
| you!
|
| I'm usually a singleton at work, although occasionally you meet
| someone else who uses Emacs.
| eichin wrote:
| For me it's more "I've used emacs for everything for decades,
| and coincidentally that means I use it professionally too". (At
| my current company we acknowledge that it's a generational
| thing and encourage new hires to _pick_ an editor and obsess
| over it, since they 'll be "living in it" and being able to
| manipulate things in your editor _without thinking about the
| editor_ is a huge productivity hack (up there with learning to
| type), but we don 't actually push them towards a specific
| tool.)
|
| ("Languages" (in the "things you edit" sense, rather than the
| Turing or LLM sense) involved include python, C++, json, yaml,
| cmake, and arbitrary unix config files.)
| porcoda wrote:
| My team is mostly emacs users with a few vim people in the mix.
| Large (1.5M SLoC) C++ code base, with a mix of Java, Python,
| and other languages as well. Editors don't come up much in our
| discussions and don't play a role in our workflow decisions.
| Different people who use emacs on the team use different modes
| (eg, some people use magit, some don't): we actively avoid any
| decisions that affect people at the editor level. Most of our
| workflow related decisions that impact everyone are more at the
| CI/CD, VCS, compilers/libraries, and issue tracking level. At
| the editor level we don't dictate anything.
|
| It's worth noting that my team is predominantly very senior
| developers, so most of us have reached the stage where we know
| things like editor tooling don't make a significant difference
| in what we are delivering. We've all lived through enough
| productivity fads at this point.
| janee wrote:
| No hate on Emacs, just came across this on Friday and it cracked
| me up...thought I'd share
|
| https://youtu.be/urcL86UpqZc
| pkkm wrote:
| Make sure to also watch this guy's Rust "interview". It's
| really good.
| systems wrote:
| what emacs needs 1. Make emacs faster 2.
| While I dont mind elisp that much, add support for other
| languages a clojure dialect that compiles to elisp (a la
| clojurescript) might be nice
| tazjin wrote:
| What speed issues are you seeing with Emacs?
|
| The only problem I had was opening very large C++ files with
| the built-in C++ mode. Using tree-sitter has fixed that
| problem.
| elviejo wrote:
| This is the link to watch live (I had problems finding it) And it
| seems the live player doesn't work on chrome. But I use the "mpv"
| player.
|
| https://emacsconf.org/2023/watch/gen/
| agumonkey wrote:
| it's stable enough on my x250 over DSL with mpv
|
| very nice streaming setup from the team so far
___________________________________________________________________
(page generated 2023-12-02 23:02 UTC)