PDE: A different take on editing code

preview_player
Показать описание
Today we talk about a new term that I'm coining called: PDE (Personalized Development Environment).

If you like this talk and/or style, please let me know in the comments. I would love to get your thoughts on branching out from just straight tutorial #neovim content and into something more general in #programming.

Also, you might be interested in watching me on twitch if you enjoyed this talk, cause I talk about stuff like this there!

Рекомендации по теме
Комментарии
Автор

I really like your take on this, and btw congrats to you and the neovim contributors for being the most loved IDE for the second year in a row per stackoverflow survey well deserved.

omarmagdy
Автор

It's so much FUN. Sometimes actual work is boring, I spice it up with NeoVIM tinkering. And it don't feel like I am context switching or working on a different project. Coding and VIM is such a cool and weird combo.

ananthhh
Автор

The editing on these videos is so good. Love the take on IDE vs 'PDE' vs text editor!

thomasfrans
Автор

Thanks for your work. Will wait for the "how to make neovim into an IDE really quickly".

arammikayelyan
Автор

I can't express how much I resonate with your "faster" rant. I know for some people, the draw of being "more productive" or "working faster" in Vim/Neovim is present. I personally have *never* understood why, as my ability to be productive has never been limited by the amount of lines of code per minute I can edit. My productivity suffers when I get distracted easily, by getting frustrated with a part of my editor that I can't change that constantly gets in my way, or by just getting stuck mentally on the implementation of a feature. Improving my WPM or how fast i can edit text really does not increase my productivity by any significant amount 😆.

I feel *most productive* when the amount of *mental overhead* that I have between thinking of the implementation I need to make and using my editor to make those changes is as low as possible. Not faster, just less *mental overhead*. When my editor gets in my way because of a dumb setting or feature I don't like, that adds extra overhead. When it is hard to find the thing I need in the project to edit, that's mental overhead. Neovim has allowed me to add and fall in love with a whole new class of tools (particular fuzzy searching, PLEASE GIVE ME FUZZY SEARCHING IN EVERY PROGRAM I USE) that lower my mental overhead. I can't remember exactly what file name I'm looking for most of the time, let alone which folder it's in. But using Telescope with Ripgrep lets me enter in AND MISTYPE OCCASIONALLY because i'm human, and still find the file I wanted quickly, and get out of my way afterwards. I cannot describe how much your work on Neovim and Telescope has made my dev experience more fun and takes mental burden off of my work and just lets me focus on what I want. It's a game changer to be able to see the preview of a file I'm searching for alongside searching for it with a fuzzy algorithm. It makes it so much easier for my brain to get what I want, because I don't have to be perfect. Neovim and the wide variety of awesome plugins lets me tell my editor what I want to do without having to put almost any thought into it, and stay in my mental flow on the feature I'm implementing.

So thank you to the Neovim core team, all the Neovim plugin authors, and to yourself for being such a valuable educational resource to Neovim and a huge contributor to its success. Can't thank you enough! 😄

lvgsredarmy
Автор

This is great video TJ! I'm a VS Code user, but I really like the openness you bring to the Neovim community 🙌

SuboptimalEng
Автор

I started to enjoy coding at least 50% more after I started using neovim! Yes, I do feel faster and more productive, but mostly I’m having fun! The whole experience feels really cool!

dimitardimitrov
Автор

This is a super powerful idea! I really love the emphasis on fun as a disambiguate in factor in helping people make a good choice for them.

ChrisPatti
Автор

Very well put. The voice of reason among the never ending battles about text editors and IDEs. Thank you for the outstanding quality, insights and refreshingly healthy attitude.

tudor
Автор

Thank You for doing all this! :)
From my own experience I would say that "Code Intelligence" is the most hardest part to get done "right" in Neovim. There are a lot of moving parts. A lot of outdated (confusing) plugins, a lot of competing LSP servers, etc. Some supports linting, some supports formatting, some does not support anything. And then you spend countless hours on searching the missconfiguration on your side on a feature which is not even implented in particular server. As example, we have null-ls and efm-langserver as generic LSP servers commonly used to run some formatters and linters, but the docs on those are slim. Lacking many aspects of integration with other common Nvim LSP tooling. And you are on your own to figure out cons and pros on one or the other for your particular context.
Debugging. I still don't know how to debug my PDE configs efficiently. Is it my fault? Is it SOME plugins fault? Is it missing feature? And some stack traces are so weird that i just go back to disabling entire modules of my configs to find out the path where the error is coming from.
How to efficiently organize your configs? Some throws everything into init.lua. Some uses //lua/user. I went the //lua/modules/lsp path so that i can enable or disable entire "logical" feature. For example i can disable entire completion thing with single boolean or commenting out single line. But in any case... this still is a wild wild gray area and i think clean configuration is essential for new users to get into experimentation without the fear of messing up their current setup.
In any case, I am really enjoying "Lua-fication". I really enjoy discoverring new Vim jems every day. But sometimes i regret that i am spending way too much time on my PDE which i could spend on learning Go generics. :) For me it's a real FUN! Also... Neovim changed the way I do things. I discovered great note taking plugins which eliminate the need for Obsidian. Now all of my ideas, "how-to's", daylies, etc are right at my finger tips. That boosted my personal knowledge management tremendously!
Thank You. :)

Oswee
Автор

Loved the video. I started learning git, wanted to learn SSH and cron to sync something, figured learn more about Linux, then came across vim and neovim. Feels like a huge new world has opened up.

Richard-spul
Автор

Just discovered this channel - very interesting stuff. Choice of dev environment is so important for fast iteration cycles, yet for some reason I feel as though I'm never making the best choice. Good to get some education on it.

Mutual_Information
Автор

I totally agree with you, I just want to have fun coding, that's why I chose this way of life. I see that you have a lot of passion for what you do, thanks for sharing!

saulleal
Автор

What you said, resonated with me. The moment I saw how in VIM one can quickly move around and edit code with shortcuts, it made sense to me, Last two years, I tried to find shortcuts in VS code to help me move and select code faster. I was struggling with that. VIM was the answer all along.

debajyotimajumder
Автор

Yes, from someone tinkering with Nvim for just a month, I love the fun of it, and you give me hope for the fun being very long lasting!

Really looking forward to the full IDE setup, I am still missing a couple of nice to haves from my setup, and converting it all to lua would be super sweet'

sashakiselev
Автор

I love the PDE idea. Configuring my editor is definitely fun...


... until I run PlugUpgrade one morning and everything goes awry but I can't quite work out which plugins in which combinations are at fault 😅

peteryates
Автор

Thanks man. Your videos are helping me. Currently trying to set up neovim as my text editor in NixOS.

nvim has been a staple of mine for every linux distro I've hopped to. Such a great product. Time to stop procrastinating and finish up my config with lsp's finally...

wyfyj
Автор

Since you mentioned emacs, another interesting term I've seen thrown around some times is Intergrated Computing Environment (ICE) or Unified CE (UCE) which I think perfectly describes the difference of emacs and any other regular IDE or PDE.

EliteTester
Автор

I love neovim and the direction it’s going. Thx for all the work you do.

andrews
Автор

TJ is utterly incapable of producing videos for YouTube that are anything else but exceptionally great. Another solid upload TJ. I will definitely add the term PDE that you coined to my vocabulary as it makes sense. Missing your 'Take Tuesday' vids but I understand if there won't be anymore of them as they seem fairly time consuming to produce.

ThePhiliposophy
visit shbcf.ru