Follow

Folks, something completely different: Can anyone recommend a goot development environment for the terminal or usable through that comes close to or ? Most specifically, I am looking for things such as project support, integration of / and a modestly pleasant out-of-the-box experience (don't want to have to spend too much time on crafting custom configurations). Does such a thing exist...? Any recommendations?

@z428 I use Visual Studio code on my Linux desktop with the extension SSH File-System for the connection to the dev machine.

@Hamiller Ah, interesting. Maybe that's an option as well. I'm on these days, don't like the tech stack it's built from very much but sadly have to admit a lot of its features are *very* well-crafted and powerful. Wonder why we don't have FLOSS IDEs in this shape and type of usability. 😐

@z428 Bceause it's actually lots and lots of work to develop that stuff. @Hamiller

@K0nrad Well yeah, I know, but pretty often I see a lot of effort and work spent on loads of things way more useless than that, and (with a dev focus), I wonder whether "good" and effective dev tooling should be the first thing to start with...? (Coming from a Java / Eclipse background and working with often these days, in example, I'm still stunned to see how extremely low-level and half-baked most of the dev / debugging / profiling tools for Linux desktop apps are... 😐 )

@Hamiller

@z428 Each developer / team develops its projects only up to the status "works for me".
@K0nrad

@Hamiller
this, very much.

I think this is one of the main reasons why OSS is too often of limited use to non-technical people. There needs to be some critical number of developers who care about making it usable, useful and appealing to "the masses". Case in point: I'm using Linux since 2000 and coding for longer but learning either vim or emacs is too much. Their devs clearly care a lot about efficiency but zero about ease of use for casual users. I can't even blame them.

@z428 @K0nrad

@Mr_Teatime Yes, that's why then and now I end up in discussions about "sustainability". Right now, a lot about FLOSS essentially seems about people building tools "good enough" for themselves, in worst cases in their spare time as hobbyist projects. This is generally not a bad thing but motivation to do "work" for "others" in ones spare time is quite limited if the things "others" might need differ from what one needs. I'm convinced things will only become better if ...

@Hamiller @K0nrad

@Mr_Teatime ... FLOSS and somehow manages to get a motivation to make software that is "good for others" even if they come with requirements the devs themselves don't see. From a developer tooling point of view, by the way, this is still interesting and seems mostly true to me:

mjg59.dreamwidth.org/31714.htm

For me, FLOSS in its current state is a lot about "waste" in a Kanban process understanding. Time wasted on having to tweak tools to work well. But also ...

@Hamiller @K0nrad

@Mr_Teatime ... time wasted on re-implementing the wheel yet once again just for the sake of it, or for the sake of using a different programming language for it. That's weird in many ways. 😐

@Hamiller @K0nrad

@z428 I think it's a FOSS tradition. When the computer began to spread (home computer, for example), most users had also started to learn a programming language and passed on their own projects. Everyone then adapted them to their own needs.

Stallman's GNU software was available in source code from the beginning to adapt it to their own needs.

@Mr_Teatime @K0nrad

@Hamiller Agree. That's however what more than just once makes me wonder whether FLOSS still is a solution to our most pressing "digital problems": It was sane and obvious back then when everyone (or at least a majority of people) using a computer was fluent in a programming language and ready to inspect and adopt software to custom needs. Right now, I think it's safe to assume these people make up a rather small niche, and this is not likely or possible to change.

@Mr_Teatime @K0nrad

@z428
It's not just a FOSS tradition -- it's the essential nerd thing.

When I was 14, I wanted to figure out how dithered colour gradients with a 16-colour palette worked. So I sat down at my mom's PC for 3 hours. I started MS Paint for Windows 3.1 and drew a line in some color, changed the RGB value by 1, drew a line right next to it (at pixel accuracy), and repeated that until most of the 640 pixel wide screen was covered. Then I understood and deleted the result.
@Hamiller @K0nrad

@Mr_Teatime Perfectly fine to me, but then shouldn't we let it be right that - something a small group uses and does for understanding and learning, definitely not something usable to a wider audience...? And, more important, shouldn't we also accept there are people who just want to use certain functionality without caring very much how it works?

@Hamiller @K0nrad

@z428
Sure!
I don't think anyone doubted that. There's no hard border between playing around with something and large OSS projects like Blender or Libreoffice, and that's fine by me.

It'd be nice to have something that draws developers in the organized user-focused direction, though.
Ideas welcome :)

@aral suggests that states should fund projects. Sounds good, though users should also contribute, lest governments decide alone what software gets funding or not. ...
@Hamiller @K0nrad

@z428 @aral @Hamiller @K0nrad
...
The obvious answer, and a provably successful concept is plain old commercial software -- but of course their developers want users' data/money, so they don't always have their best interest at heart.

So: what system would incentivise FLOSS devs to make noobs' lives easier, pay their bills, but not reward milking users?

@z428 Well, there's the school of printf is all the debug tool I need … @Hamiller

@z428 Vim and Emacs for now. As far as I was reading your replies, you are on vim side. I recommend you trying neovim with `coc.nvim` plugin for LSP support - it's the closest one out-of-the-box experience of VS Code for now and `fugitive.vim`.

Though, you could look at task from different perspective: UNIX as an IDE sanctum.geek.nz/arabesque/seri. However it will need some setting up from your side ;)

@alexcleac I'll have a look, thanks. 🙂 The "Unix-as-an-IDE" approach at least ... seems tempting to dive into. 😀

blabbering about text editors 

@z428 I think #emacs and #vim are your best options. Both will require some configuration for more advanced features.

I have used both emacs and vim. I started out on vim, which I used to program java, bash, javascript, PHP and some perl. I used a wide variety of plugins and I was prettu happy with the functionality that I got out of them. There were a couple of things that I really wanted to add/customize though, so I started learning vimscript. (1/)

blabbering about text editors 

@z428 I learned some vimscript, customized half of the stuff I wanted to, and then realized that vimscript is probably the most awful programming language that I have ever had to use. It's full of arcane syntax, for example magical single-letter prefixes to declare variable scopes. I didn't feel like having to remember the difference between l:variable_name and g:variable_name. It didn't help that there are 8 different variable scopes either. (2/)

blabbering about text editors 

@z428 Vimscript is what ultimately drove me to switch to emacs.

Most of emacs itself is implemented in the very language that we can use to extend the editor: emacs lisp. Emacs lisp is a very fun, full-fledged programming language which lets us customize the editor in all ways we can imagine.

Because of this, emacs has a very healthy plugin ecosystem and I had a lot of fun customizing and configuring everything how I like it. (3/)

blabbering about text editors 

@z428 Having done the work (and playing around) on my config, I now just keep my config files in a git repository and pull them in wherever I need them.

So yea long story short:

Vim is great if you are going to keep customization and plugin use to a minimum.

Emacs is great if you are going to customize anything at all and are going to use all the plugins you like.

For an editor that is on feature parity with sublime or atom, I'd personally recommend emacs.
(4/)

blabbering about text editors 

@z428 In particular emacs with some of the following plugins:

- #magit for git integration (magit.vc/)
- Either #ido + ido-vertical-mode (github.com/creichert/ido-verti) or #helm (github.com/emacs-helm/helm) for fancy fuzzy search/selection of all the things.
- If you like having a file-tree view: dired-sidebar is great (github.com/jojojames/dired-sid)
- Powerline (github.com/milkypostman/powerl)
- Company (github.com/company-mode/compan)
- Flycheck (flycheck.org/en/latest/)
(5/5)🤓

blabbering about text editors 

@hugot @z428
Have you all looked at neovim, a refactoring of vim? [ neovim.io/ ] I haven't looked at the details, but would be interested to know if you think it's a hope for the future or too little too late.

blabbering about text editors 

@b Still am looking into these. Generally, vim with some plugins is way better than I thought - to just, then, feel *astoundingly* weird in some situations (like the behaviour you see when having a NERDTree window and an editor window and learn that ":q" just disposes either the tree or the editor window, depending upon what's currently active - that is logical from a vim point of view but counter-intuitive from virtually any other perspective... 🙂 ).

@hugot

@z428 you can tweak vim to something like that with a few plugins like ctags and vimtree.

@cringe True. After taking a quick dive, guess for the moment I'll try to go with vim+NERDTree and some minor customizations, all along with the shell tools, and see how far this takes me. Thanks for your input. 🙂

@inexcode @hugot @dredmorbius @alexcleac

(I finally stumbled across again and gonna take test-driving this a bit more serious this time... 🙂 )

@cringe @inexcode @hugot @dredmorbius @alexcleac

@z428 @inexcode @hugot @dredmorbius @alexcleac i read that vim 8.2 also had a couple UI improvements that probably helped the experience as an IDE, like better popup windows. Never heard of spacevim though, maybe I give it a go too.

I'm a sublimetext user now though. 😊

@cringe I'm *actually* on on the desktop where possible, but recently I've happened to do enough work through ssh again and sometimes working with an editor directly on the machine makes sense. So far, using and comes pretty close, there still are minor issues and I don't so far have something close to "goto / open anything" (which is still my killer feature in sublime/vscodium).

@inexcode @hugot @dredmorbius @alexcleac

@alexcleac Yeah, already stumbled across this; though still need to figure out how to use it right. 🙂

@inexcode @hugot @dredmorbius @cringe

Sort follow-up on that: After playing with various plugins and various versions of vim and emacs, I am slowly ending up in a setup using slightly configured with layer (for tree and bookmarks) and (for fuzzy-find) all along with the shell for handling folders and projects. Coming from this feels somewhat familiar in basic operation, and seems to make things considerably worse for me. 😀

@alexcleac @inexcode @hugot @dredmorbius @cringe

@z428 I totally forgot about ctrlp, that plus nerdtree were my go-to plugins for vim.

@z428 there are several preconfigured Vim setups around.

I have tried Janus myself, don't know how well others do. github.com/carlhuda/janus

Major downside: there's a LOT happening, configured, changed and installed that you don't know in-and-out. For a beginner, or someone not interested in knowing all that: perfect.

@z428 Spacemacs is probably the closest out of the box thing I can think of.

@z428 Vim is very powerful, more so when extended through the many available plugins.

@z428 I've tried many IDEs over the years and always returned to VIM because it is just so simple but powerful at the same time. I try to keep my config as simple as possible and only use a view plugins. In combination with #tmux or #tilix plus a few small scripts for tedious setup stuff it becomes the ultimate dev power machine for me. Plus the ultimate 1337 h4xX0r feeling as icing on the cake. :-p
Good video for how far you can get without plugins:
youtu.be/XA2WjJbmmoM

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!