So, I have been mostly self thaught programmer (C++), as its a big part of my job (not a regular developer). But so far I have been using a simple text editor like Geany to code and I compile stuff either in terminal (linux) or produce my own make file.

I am starting to wonder if I should switch to a full IDE, as I am on linux, I was thinking of trying KDevelop. But I am simply not sure if its worth, do I even need it?

I have never used an IDE, it seems kind of complicated for the start with “projects” and I havent really found any good introductions to how this workflow is supposed to work.

Do you think using and IDE is something everyone should use? Or do you think a text editor with producing your own make files should be enough?

  • @alefunguju
    link
    English
    21 year ago

    Personally, my path was from basic programming editors (Notepad++, PSPad) to IDEs (Eclipse, IntelliJ IDEA) to NeoVim which I use currently.

    I started out as a self-taught web developer pretty early. I worked with basic editors back then, and it was quite enough for my high-school tinkering efforts.

    I then transitioned to Java when I went to university and started my first programming job. During those days I used full-fledged IDEs, mostly IntelliJ IDEA, but played around with Eclipse as well. The biggest advantage of that was that it indexed the whole project semantically, allowing me to use project-wide auto-completion and to navigate between source files quickly. Also, Java’s build processes can get quite convoluted, which the IDE pretty successfully hid from me, which in hindsight is not a good thing.

    As I am quite curious about the internals of everything, I started doing C - mainly for assignments at the university. Initially, I used CLion for everything, as it’s basically just IntelliJ for C, but as I grew more and more frustrated with my Java job (both in terms of using Java itself, and in terms of company culture and stuff), I started looking for C jobs. Around that time, I incidentally started messing around with Vim and NeoVim, building out my config, finding Language Servers for languages etc. I fell in love. I love the versatility of using discrete tools for things, without them being bound to a big IDE. I love how everything is fast. I love how I can swap things out easily. The only thing I’m missing at the moment is a good GUI debugger for C - currently making due with terminal-based GDB. BUT I have recently started playing around with making a custom GDB GUI, which might potentially be accepted as a project at my current job, so I’m hopeful about that part as well.

    Anyway, if I were to work with Java or C#, I would still probably use an IDE - the languages are not really suited for writing with just an editor. But C, C++ and many other (saner, hehe) languages - I can imagine I will be using NeoVim or something similar for a very long time into the future.