I've moved back to hand-written.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
Cant beat a stick on a sandy beach.
Will never understand all these people with the patience to use rust!? The overhead for metal alone must be prohibitive.
The trick is to use tools::WireBrush;
. It helps immensely for cleaning up your code.
Oh, I didn’t expect to see my prof in here
JetBrains IDEs for me
Neovim, and secondly lazygit. I guess you could count tmux too. I live in the terminal
It's just what I like man, it's very customizable and wraps around my workflow instead of me wrapping around it's workflow. I think about doing a thing and at a point muscle memory kicks in and the thing happens.
Nvim & tmux gang! I'm always happy to see a reasonable number of people mentioning vim in these threads. Need that affirmation that I'm not just a dinosaur.
You are not a dinosaur.
Look at it this way: while everyone else is busy erasing their muscle memory in favor of the next shiny thing every couple of years, you can spend that time improving on what you already know. Its actually giving you an edge.
It's actually kind of funny. Developers using Vim (or Emacs, Neovim, etc.) are often perceived as archaic, yet very profitiert and the assumtion is that being a very proficient programmer let's them get away with using archaic tools. In actuality, I'd argue its the other way around. The fact that we dedicate time to mastering the tools of our trade leaves us with more capacity to actually become that proficient.
A magnetized needle and a steady hand.
I just send highly trained butterflies in the atmosphere that cause air currents in the upper atmosphere to affect the path of cosmic waves which write the program in my computer's memory
I currently use VSCode. I did use Emacs for quite a while, and it in itself is a fantastic editor (if not, an operating system :^), don't get me wrong. But I had a few reasons for switching.
- Emacs is a very rigorous editor to configure, and whilst it comes with many features out of the box, a lot of those are either broken, or highly unfinished / unpolished, so it is effectively required to manually configure your environment. This also includes that the codebase for GNU Emacs itself is, and is still built upon, a fossil, and it can show it's age in a few ways. VSCode is typically ready for development out of the box, if not, easy to get set up using plugins, and customization usually just takes tweaking a few things in the
settings.json
at most. - Improved language support is a must in many cases. Emacs language support or LSP is usually good, but in some cases it can be quite unoptimized (for example, the Dart LSP client on Emacs does not run well whatsoever in my experience). On VSCode, the language plugins are quite often official, and can come with some extremely helpful features.
- On this, Jupyter Notebook is absolutely perfect on VSCode. Yes, Org Mode works great, but Jupyter is typically the most expected in my usecase, especially in standardized data science. EIN works, but it's not nearly as smooth and efficient to use as the VSCode support is.
Again, Emacs is great, I configured my environment myself using parts from Nano Emacs, and a good Evil mode configuration is an ergonomic dream (yes, I also use VSCodeVim), but it gets tiring to maintain it after a while, and I just want something that works, and VSCode fits that bill, not just perfectly, but with flying colors to all of my other requirements.
PyCharm. Does pretty much everything I need. Work paid for it.
- syntax highlighting
- auto complete and suggestions
- find usages/definition
- refactor
- delete
- move
- extract
- rename
- git integration
- SQL integration
- steps into library code
- connect to sources installed in docker
- probably other stuff I take for granted and can't think of now
I've had some coworkers who are more "steady hand and a magnetized needle" and I don't know how they do it. Like I was collaborating with a guy and watching him manually find and rename stuff was painful. Though I think a lot of people just don't know how to use their tools. There's a lot of stuff in pycharm I dont use.
I'm still slightly salty about an old coworker that would use vanilla sublime and make PRs full of easily caught errors. "Can you approve my pr?" "No dude the linter failed. Did you ever set up any of the tooling locally?" "Nah"
Mostly just Visual Studio Code, alongside the usual constellation of Git + assorted language toolchains.
It's plug and play at every level - no need to waste hours fucking around with an Emacs or (Neo)Vim configuration just to get a decent development environment set up.
(And yes, I would use Codium, but the remote containers extension is simply too good.)
Neovim of Helix whenever i feel like it. They are just lightweight and i love it
Emacs. I've created a niceish workflow with it. I really like how it's so easy to change anything. There are also loads of incredibly useful plugins, so that's cool.
My own custom text-editor, because it's written to fit into my environment exactly how I want it.
Ah Emacs.
I actually ditched Emacs because I realised I could write a text-editor that suited me better in fewer lines than my Emacs config took up...
VS Code. It's dead easy to use, has a ton of useful plugins, and it's customizable while also being enjoyable to use right out of the box.
For AI assisted coding, I use Cody or GPT-4 data analysis on my personal projects. I tried copilot and found that it actually made my productivity worse. Often as not, I found myself stopping and second guessing whether I was stupid or if it was copilot, and it was usually copilot. GPT-4 is really great for problem solving a specific problem or getting some feedback on some bad smelling code, and Cody works great for helping to write my code faster.
CLion & PyCharm.
Platform independent, and "just work". Not missing any functionality I ever wanted and with a new machine even CLion's almost legendary slowness is under control.
IntelliJ
Vim
Jetbrains' IDEs. Cuz they're Linux native, not by M$ and look nice and uniform IMO. For things that don't require a full blown IDE I just use vim.
Neovim (nvchad) with copilot to write Rust. Why? The terminal environment is super flexible: I have 2 desktops and a laptop running on Arch Linux, all the same dotfiles with tmux to keep my sessions alive.
It all depends on your application domain: I mainly build embedded Linux code for a transportation drone.
Doom emacs, i just love the keyboard centric workflow that it provides
Notepad++, because I'm dumb and only know HTML. (That counts as programming, right?)
Jetbrains IDEs (IntelliJ and Pycharm) and QtCreator. I also use git, gcc, and valgrind.
Vim + fugitive
Exclusively IntelliJ Ultimate, cause that's what my work pays for. I try not to program outside of work.
I'm a sysadmin that spends most of his time automating shit with PowerShell. VSCode/Codium is where I do most of my scripting work.
Helix. It’s fairly vimlike, but with sensible defaults and no plugins so I don’t have to waste any time configuring it. It has good lsp and linting support for the languages I use (js & dart). My config is one line, to set the theme to match my terminal.
VSCode for anything complex and running locally, vim for everything else
Helix text editor