IDE vs Text Editor

Sdílet
Vložit
  • čas přidán 11. 09. 2024

Komentáře • 409

  • @DenTheGodKing
    @DenTheGodKing Před 2 lety +313

    I personally prefer ms paint as my primary IDE and taking photos of the code with my phone for source control

    • @ContinuousDelivery
      @ContinuousDelivery  Před 2 lety +74

      I remember seeing a SW project that could rip songs from vinyl albums. It worked by (very carefully) taking a photo-copy of the album, using image processing to read the wiggles that represent the sound on the tracks, then converting the wiggles into sound. The output was rubbish, but you could tell that it was meant to be music, and sometimes what the song was. Your approach reminded me of that - information is rather like energy, impossible to destroy, and can be translated into lots of different forms 😁😎

    • @madcalm2024
      @madcalm2024 Před 2 lety +3

      I absolutely believe You ! ))

    • @carldrogo9492
      @carldrogo9492 Před 2 lety +1

      This cat! 😂

    • @malteplath
      @malteplath Před 2 lety

      😂

    • @mytech6779
      @mytech6779 Před 2 lety +2

      @@ContinuousDelivery I mean many low cost computers of the 70s and 80s used audio media for data storage. Literally the analog headphone and microphone jacks on a tape recorder.(and in a few cases read only vinyl records) the computer picked up the data similar to old analog-telephone modems.

  • @loutrea
    @loutrea Před 2 lety +110

    Neovim user here. I've been a intellij fan for years before I (definitively?) switched to vim. I don't think editors are less featured than IDEs. (I can refactor and lint in vim thanks to language servers). I think the difference is that you have to build your editor if you want it to be like IDE. It comes with a lot of pain, but it's so great to have a tool you've spent years to sharp for your needs !

    • @chrisrpg3913
      @chrisrpg3913 Před 2 lety +18

      I simply can't see the beauty in spending years to sharp something

    • @AlexanderNecheff
      @AlexanderNecheff Před 2 lety +18

      @@chrisrpg3913 it is less that it takes you years to get to a working solution and more that as you grow as a developer you can customize the workflow how you see fit without the tool getting in the way.
      And so after spending years honing your craft you have built up a set of tools to tackle tasks you commonly run into that may be unique to what you do.

    • @loutrea
      @loutrea Před 2 lety +16

      @@chrisrpg3913 as we say in France "a good crafter knows his tools". The tool you build is the tool you really know how to use. I said it take years to sharp it. In reality you never finish to customize it.

    • @13b78rug5h
      @13b78rug5h Před 2 lety +2

      You can modify your IDE as well

    • @rkulla
      @rkulla Před 2 lety +5

      Yes, it mostly comes down to: which has *better* plugins/ui for the task at hand. I can make vim to be an IDE (through plugins) and I can make an IDE use vim editing commands. I use both.

  • @softwarearchitecturematter4482

    There are two issues involved i.e., Value and Mindset
    1. Value
    Refactoring changed the debate for IDE vs Text. Refactoring made it worth to use IDEs
    Even before that , Microsoft IDEs have great intellisense and did the plumbing work for developers.
    2. Mindset
    I used to think that the great developers don't use any crutches.
    "Pragmatic Programmer " changed my mindset. Difference between modern and prehistoric men are tools.
    There is no shame in using tools to give better deliveries.
    With Regards,
    Vikas

    • @AndersJackson
      @AndersJackson Před 2 lety +3

      Emacs and lsp-protocol made refactoring much easier.
      And the magit-mode in Emacs is a single reason to use Emacs.
      And do you manage servers, then tramp-mode is a must, edit files (and local files as root) is so easy.

  • @EvilSpaceHamster
    @EvilSpaceHamster Před 2 lety +123

    This subject gets more complicated every day. Text editors can now rival IDEs with things like the Language Server Protocol. The line between editor and IDE is blurry.

    • @GabrielPettier
      @GabrielPettier Před 2 lety +1

      LSP doesn't come out of the box with vim, and even if some plugins automate the setup a lot, you still need to turn your vim into an IDE, and configure all the key bindings you want, set your preferences, fiddle with the python version used in the project so vim recognize it, etc, i do that and i'm happy it works, but it's certainly a bit more work to get there than with an IDE. And i've yet to find nearly as powerful refactoring tools in this situation as with say, PyCharm, sure, you can rename a thing (variable/class/method, maybe even module?), but that's about it regarding refactoring, and i've never been able to make rope/ropevim work for the more advanced things it promises for python.

    • @anticipayo
      @anticipayo Před 2 lety +13

      Then your text editor becomes an IDE. You can't call it a text editor any more when it does a lot more than a text editor. Enough said.

    • @anticipayo
      @anticipayo Před 2 lety +14

      @Marcelo Fernandes you are objectively wrong. Unless you think I am nobody. A text editor turbocharged with plugins is a lot more than a simple text editor. It becomes by all means a lean IDE, but an IDE at the end, because it "INTEGRATES" many features into an editor to help "DEVELOPERS" hence the acronym IDE.

    • @sanseb5196
      @sanseb5196 Před 2 lety

      Text interpreter*

    • @TechWithVince
      @TechWithVince Před 2 lety

      @@anticipayo IDE means integrated development enviroment, both emacs and vim has the capacity to become one with some configuration

  • @jmann277
    @jmann277 Před 2 lety +43

    My favorite I really like about neovim is how it subverts the distinction between IDE/text editor. Out of the box it's "just" a text editor. When I want an ide feature like error notifications for new language, I install a plugin (or two or three) + a language server (as neovim supports the protocol). So the only downside is time investing in configuration and dependency management. Personally, I enjoy that activity so the trade-off is clear.

    • @MrQlife
      @MrQlife Před 2 lety

      Sounds a bit like using Gentoo. I’ve used and enjoyed it for a while because I wanted to learn more about inners of Linux, but I’ve moved on and wouldn’t consider going back unless there’s a *very* good and compelling reason.

    • @Nozomu564
      @Nozomu564 Před 2 lety +1

      @@MrQlife No, that's more like Arch. You have basic stuff and all you have to do is install what you want and configure it.
      Gentoo is more like suckless, you get nearly nothing and have to compile it yourself to get what you want.

  • @CordieBram
    @CordieBram Před 2 lety +52

    I would say that when using a text editor, you're more likely to rely on CLI tools and this will certainly help you set up automation in CI/CD environments. Your IDE is usually using these CLI tools in the background as well, but might not expose all of its features out of the box. I do prefer an IDE but I also strongly recommend stepping out of the comfort of the GUI and familiarizing yourself with terminal tools. When I'm in an artisanal mood I do bust out vim to write my commit messages 😉

    • @ern0plus4
      @ern0plus4 Před 2 lety

      YES! There's no difference between clickin on external terminal window (or press Alt-tab) and launch a single-letter script/alias for compiling vs pressing Ctrl-Alt-X, K in the IDE for the same function. Align windows (editor, terminal et.) vs align IDE area sizes. Also windows may overlap, and active window may shade some of non-active ones for soms more extra space. Even I can open 2-3-x terminals, not only one.

    • @Metruzanca
      @Metruzanca Před 2 lety +6

      Personally, I think that a developer that calls themselves an expert w/ X language, should know how to run X language raw in the terminal without an IDE. It generally leads to better project setup and if something breaks for some reason, they'll be more confident in fixing it. Swapping to and from new/old build tools and other improvements are also very easy to do.
      Now for non experts, mostly juniors, you can make an argument for not knowing the underlying apis and an argument for knowing them.

    • @arwahsapi
      @arwahsapi Před 2 lety

      That's what Microsoft has been doing with its Visual Studio (not VSCode) products since 1998. Surely RAD tools make life easier but tend to alienate developers from customizing the pipelines.

    • @ContinuousDelivery
      @ContinuousDelivery  Před 2 lety +10

      I certainly agree that as a dev I think that you need some facility with the command line.

    • @KManAbout
      @KManAbout Před 2 lety

      @@ContinuousDelivery agreed its good to have some knowledge about working with CL. I think that many people don't need to go beyond a basic understanding of what is actually happening in the background in the same way software engineers aren't expected to understand more than basics of the way chips are manufactured.

  • @reinerjung1613
    @reinerjung1613 Před 2 lety +27

    We did long interviews with scientists and research software engineers on how they work, why they work that way and which tools they use and miss. They use Vi/Vim and Emacs for climate models. When working with Python some of them used IDEs (PyCharm) or Xcode. The main argument for Vi/Vim and Emacs was that they can edit code on HPC machines without the need to install an IDE there and export the display to their local workstation. They tried this. Modern IDEs are too slow to use via X11. However, Emacs and Vi can be used in a text terminal which always works. Most of the interviewees used Vim. While only a few used Emacs. In Emacs they used syntax highlighting and function lookups etc. as that "Editor" brings many IDE features with it.
    We will have a paper out on their domain and one on their processes (hopefully) this year.

    • @TheBackyardChemist
      @TheBackyardChemist Před 2 lety +7

      This. If your code is stored, compiled and executed on remote machines you connect to via SSH, IDEs suddenly become somewhat of a pain to use.

    • @edwardallenthree
      @edwardallenthree Před 2 lety +1

      One of the features of vscode that got me to switch to using it was that it can work with a client server model. However, The biggest advantage to me of VI is I can edit a text file over ssh on my phone relatively easily.

    • @THEMithrandir09
      @THEMithrandir09 Před 2 lety +7

      Though that kind of is an antipattern use-case in my opinion. You should track all code, experiment configurations and experiment results in version control and can then just execute the code using an automated runner, then read the report, change the code on your machine, push the new code or configuration and let the pipeline or runner do it's thing again.
      This way you (ideally) never have to ssh into any remote machines after setting them up and e.g. using clean docker builds, avoid errors introduced by using unclean environments. Sure sometimes it can save you a lot of time to ssh into a machine, but it should be a "I don't know how else to do this quickly" thing and not a standard way of work.

    • @edwardallenthree
      @edwardallenthree Před 2 lety +2

      @@THEMithrandir09 You aren't an academic...

    • @THEMithrandir09
      @THEMithrandir09 Před 2 lety +3

      @@edwardallenthree I strive to be one though, almost done with my ML Masters, and I currently work on making these workflows and their benefits more accessible for pure academics with less software engineering experience.

  • @KathySierraVideo
    @KathySierraVideo Před 2 lety +18

    I started with Java when it was in beta, and the entire API chart fit in a magazine centerfold. Who needs an IDE for that? 💁‍♀️ I was awfully, painfully, stupidly slow to recognize that what made sense in 1998 made no sense a decade on. I tried Intelli-J (skeptically) and was horrified to realize how much time I’d wasted over the years by underestimating the value of an IDE.

    • @muratdturk
      @muratdturk Před 2 lety

      same to me, I was about to retire myself from coding but once stated to use IntelliJ as IDE, then I felt same. Now I can build even complex applications without blowing my mind :)

    • @Winnetou17
      @Winnetou17 Před 2 lety +1

      Java is so verbose, that even when I was more of a text-editor fanboy, I would've used an IDE for Java with no thought. Making so many files, and writing so much boilerplate code by hand would've pushed me to jump off of a cliff or something.
      Now, I mainly code in PHP. When I was on simpler projects years ago, things like Wordpress, using a text editor was actually ok. I don't like autocomplete, so using an IDE wouldn't've added much. However, nowadays, when I work on projects that are OOP and there's literally tens of thousands of files (of course, from the framework & other 3rd party modules), I would feel just as overwhelmed as I said for Java. Because now, when I follow some logic, I have to open up to 50 (yes, fifty) files. It would be insane to do that in a text editor, unless it would work exactly the same as in an IDE.

  • @elfnecromancer
    @elfnecromancer Před 2 lety +6

    A bit of a different point of view from someone who prefers simpler editors (Sublime Text to be more specific)
    * Being in a role that makes it expected for me to not spend 100% of time in the code, I find fast startup very valuable. I really frequently need to get quick access to the code and check something. Waiting for an IDE to start up would frustrate me a lot.
    * Working with a lot of projects, I'd need multiple windows, one per project, with all IDEs I've used. With Sublime, I can simply drag my projects into one window. When I press ctrl+p, I can search them all at once, very quickly.
    * The lines between IDEs and text editors are blurred these days. "I need IDE's refactoring fetaure because I mould my code" is really not a good argument. Whatever feature you need from an IDE, there's probably a plugin in your text editor.
    * There's a cognitive overload when you first open an IDE with default layout and it throws all the features it has in your face. With text editors, you can start with the essentials and add bells and whistles as you discover you need them. Cannot be arsed to install a plugin? You probably don't really need the feature then.
    * Newbies who are told they need to use an IDE to be real programmers end up skipping or glossing over the essentials. They don't understand how git works or how their project depends on the file system. The git problem is especially severe as they have no awareness of a difference between real git commands and the buttons in their IDE. Some examples are "I used git shelve" and ours/theirs vs mine/theirs. Similarly, IDEs use git command in an opinionated way. Have you checked how IntelliJ uses git commands? Do you understand it? Are you ok with it?
    * Text editors (barring exotics like vim), use common shortcuts. ctrl+p works in text editors, in VS Code which is kinda halfway between the two, and in browser devtools which are neither. IDE vendors benefit from coming up with their own sets of keyboard shortcuts to lock you into their system (IntelliJ does this a lot)
    * The project setup magic drives me insane. Might not be common to all IDEs, but with most of them you can initialize a project and it magically creates a bunch of files. In a strict, stable world like Java that might be beneficial, but in a lot of other languages there many ways to do it, and the way the IDE does it might not be what I need.
    * Don't want to sound arrogant or anything, but I have powerful hardware and I still do notice the performance difference between text editors and IDEs even after startup. I do type and move around files faster than most, so it might be a subjective feeling. Maybe devs who are used to an IDE never notice the speed up? Why would they? They've never missed the performance in the first place.
    Background: Even though Sublime Text is my current choice, I've done a lot of soul searching over almost 20 years of software development (not always engineering :)). The ones I can remember are Eclipse, NetBeans, UltraEdit, Coda, VS Code, Atom, Webstorm.

  • @chakala2149
    @chakala2149 Před 2 lety +12

    Vim is a fighting game with strings and special moves

    • @netcrns
      @netcrns Před 2 lety +5

      wouldn't want it any other way

    • @guidosalescalvano9862
      @guidosalescalvano9862 Před 2 lety

      @@netcrns Can you give me a single advantage... Name one thing vim can do that even an editor such as sublime cannot do a million times more practically with multicursor editing?

    • @bobbycrosby9765
      @bobbycrosby9765 Před 2 lety +2

      @@guidosalescalvano9862 I really don't think any of that matters. Typing speed is hardly a problem.
      For me, the biggest benefit is simple: it's funner. It turns code into a mini game. I think this has a benefit: even boring projects are fun, so I don't feel the need to find excitement in other ways (such as making questionable technical choices).
      Another is that vim is not just vim. ST is vim. Intellij is vim. VSCode is vim. All the editors you can name are vim, because pretty much every code editor or IDE has a vim plugin. Your keybindings are evergreen.

  • @HelloNotMe9999
    @HelloNotMe9999 Před 2 lety +5

    I think VS Code is a great “meet in the middle” option for these two. Technically it’s a text editor, but it does let you get some of the useful speed enhancements that an IDE offers.

  • @tehscanny
    @tehscanny Před 2 lety +5

    I'm using emacs, and it's by far the best tool that I've ever used yet. I completely LOVE vim more than anything else (even emacs), but just the concept of having a lisp runtime optimized for text manipulation is just so powerful. I can make emacs do exactly what I want it to do. With evil-mode, I can have vim-like keybindings anywhere I want, not just while editing code. It's a trully beautiful experience.

  • @Sjwnbszhbsjnbvvs
    @Sjwnbszhbsjnbvvs Před 2 lety +9

    Cult thing around using editors like vim was the most interesting part for me. I totally agree that this is some sort of status symbol for some people but I like things to get done and use IDEs far more often.

  • @Zoltag00
    @Zoltag00 Před 2 lety +8

    I used to be a fan of text editors. Particularly when the only IDE I had experience with was Eclipse (which broke whenever I squinted hard). Nowadays, I have my favourite IDE / text editor for each language that I write in

    • @Helvanic
      @Helvanic Před 2 lety

      Hey, what's your IDE for Typescript ? (if you code in typescript of course ^^)

    • @jasondads9509
      @jasondads9509 Před 2 lety

      @@Helvanic surely vs code. Microsoft ide surely will have first class support for a Microsoft programming language

  • @_winston_smith_
    @_winston_smith_ Před 2 lety +6

    My experience is that it is the text editor users who are locked in by years of avoiding any other tool. Those worshiping at the alter of Emacs have usually so heavily customized the editor that they become a basket case if they cannot use their precious Emacs. It may be a particularly good hammer, but that still doesn't mean everything is a nail.

  • @paullamar4111
    @paullamar4111 Před 2 lety +23

    I don't agree with your conclusions, but I do appreciate well thought out and clearly communicated argument. Some things to think about here.
    #vimIsFaster. 😁

  • @miklov
    @miklov Před 2 lety +7

    I don't like when an IDE or editor is forced on you. When I work with others, I don't care what tools they use, as long as they don't make the project depend on an IDE for configuration or building. If they want to generate a standard makefile from a configuration that is ok too, if there were changes needed I could ask them to implement them. My second strong opinion is that the IDE or editor may never lag when displaying text. I look at the monitor when I type and if there is a delay it is very disruptive, even a very slight delay like a few frame buffers on a TV that does "image enhancement". I also will not tell people what they should use, if they want to know my preferences that's fine but they need to find their own path.
    I must say, I was quite surprised that so many c++ programmers that you asked preferred text editors! I always thought programmers of object oriented languages preferred using an IDE, like Java programmers do. With Python I was not surprised it was a mix, python is widely adopted by people both doing low level programming close to hardware or high level programming in a cloud far far away.
    Those are my two cents, I enjoyed hearing your take on this, thank you!

  • @user-ez3ei8cd5o
    @user-ez3ei8cd5o Před 2 lety +30

    (neo)vim already has every mentioned advantage of an IDE if you add plugins. Though for debugging I prefer vscode, because it is just easier to do with a mouse for hovering things and it just works for most tasks. Also the performance argument still matters. If your Android Studio/IDEA hoggs 3-4G of ram + you have a browser with dozens of tabs + 1-3 electron apps for messangers + you need a docker or maybe 2-3 virtual machines, etc. 32G of ram is not a default, so having your text editor consume 2-4 times less ram can be a big selling point for a person with 16G of ram on work laptop.

    • @jon1867
      @jon1867 Před 2 lety

      I switched from nvm to vscode too! I just love ctrl + shift + p (do literally anything)

    • @user-ez3ei8cd5o
      @user-ez3ei8cd5o Před 2 lety +4

      @@jon1867 I actually switched in the opposite direction (vscode -> nvim). vscode just became to laggy for me at some point as a main tool for writing code.

    • @mesopotamianmessenger5830
      @mesopotamianmessenger5830 Před 2 lety

      @@user-ez3ei8cd5o You say it became laggy. This suggests it was acceptable at first. What did you do to it?

    • @user-ez3ei8cd5o
      @user-ez3ei8cd5o Před 2 lety +3

      @@mesopotamianmessenger5830 That is the point - I did nothing new that I was not doing initially. And I also heard the same complaint from other people. My hypothesis is that it grew more complex with time by adding features at cost of performance, but I was not utilizing anything new, so for me, it became slower in exchange for nothing.

    • @hugocardoso1488
      @hugocardoso1488 Před 2 lety

      that´s why i bought a machine with decent specs, i need to run dockers with WSL on windows and i have always multiple tabs open ( i use firefox to save some ram, chrome is just a mess) and never had problems with my machine, its a I7 7º generation with 16gb of ram and it performs well, even when i need the android studio

  • @dtkedtyjrtyj
    @dtkedtyjrtyj Před 2 lety +2

    A text editor works with files, while an IDE works with a project.
    If your're just editing a single file, like a script, a short presentation, or a CZcams comment; then it makes sense to use a text editor. But if it is a larger thing, then an IDE makes sense.

  • @umka7536
    @umka7536 Před 2 lety +4

    Today even VIM is not a "basic editor" anymore. Benefit of VIM/NeoVIM with plug-ins is that you can change it to match your current needs. Linting and LSP are available everywhere and almost all IDEs do work with them. Templates, etc. - you can do it with VIM/NeoVIM.
    Also, your VIM/NeoVIM setup will evolve and change together with your skills and needs, while no IDE will do it. IDE will be more and more "beefy", while you can always remove/disable things you don't need in VIM/NeoVIM.
    Customization is a power.

  • @tumi1234
    @tumi1234 Před 2 lety +2

    I used vim exclusively for almost a decade, the modal editing is what kept me for so long. I wouldn't mind expanding my configuration for additional languages as I went on...
    However, this maintenance and tinkering became too time consuming when I was sold out as contractor for many clients, all with different languages, versioncontrol, some monolith projects etc. These clients would often have base setups for common IDEs so that was way more productive to start.
    Now I just install a vim emulator in those IDEs. The cult of vi is everywhere. I could then strip down my vimrc to the basics to be close to defaults so that when I remote to machines that text editor is the same as I am used to.

  • @NeoChromer
    @NeoChromer Před 2 lety +10

    Nvim with lsp is all you need

    • @jmann277
      @jmann277 Před 2 lety +1

      don't forget telescope!

    • @dinoscheidt
      @dinoscheidt Před 2 lety +1

      Hex editor is all you need.

    • @reinerjung1613
      @reinerjung1613 Před 2 lety +2

      Through LSP you can add a lot of IDE-ish features to Vim, but yes it is helpful also in other editors. Emacs has also LSP support and of course many modern editors and IDEs.

  • @conradtm
    @conradtm Před 2 lety +6

    I find the tools analogy to be especially apt. I can use my electric drill or circular saw to accomplish the same jobs as (and often larger jobs than) a screwdriver or a hand saw, respectively. However, if I’m just looking to tighten a few screws or cut one small piece of wood, I don’t want to deal with power tools when my hand tools are more straightforward to deal with.

  • @thought-provoker
    @thought-provoker Před 2 lety +4

    /me back in 2006, wrote enterprise test automation in vim, because _"IDE is only for developers, and you're a tester."_

  • @pm71241
    @pm71241 Před 2 lety +3

    The answer is, of course, neither an IDE or a text-editor, but Emacs :)

  • @JDLuke
    @JDLuke Před 2 lety +9

    It's been a long time since I switched IDEs. I do remember though, that I had been a VisualAge and then Eclipse user for years, and that changing over to IntelliJ was painful at first. It's more than just knowing commands, it's more embedding yourself in its preferred way of doing things. Just like programming paradigms, environments have their own.
    Your point on firing up an editor quickly is very well taken. I think Jetbrains has recognized this and is bringing out some new hybrid product that is 'just' a text editor until you connect it to an IDE back end. I guess that's taking advantage of their really cool 'code with me' stuff.
    I remember what a game changer it felt like to use Turbo C. I've been an IDE fan ever since.

  • @9SMTM6
    @9SMTM6 Před 2 lety +3

    Wow this video is outdated.
    Have you ever heard of language server protocol? It's a neat little thing that VSCode introduced, and that supercharges tools usually referred to as text editors to have most of the neat stuff you called out as pros of IDEs.
    Code completion, code analysation, advanced refactoring, all included, as long as the language provides the proper language server functionality.
    If some language support is subpar these days I see the fault at the Languages maintainer. Yup. I'm not alone in that judgement, theres a reason every new language does have first party LSP support.
    The only thing where I have to agree with your judgment is in debugging. While it CAN get to the same levels as IDEs, it usually isn't, and kftne takes a lot of setup if possible at all. For some languages you can't possibly reach the same level.
    Anyways. My tool of choice is VSCode. Whatever you want to call it, it gets me most of what I want while not getting in my way like some IDEs tend to do - I don't need my IDE to rewrite my imports WITHOUT ASKING when I move a file, Jetbrains. VSCode with Typescript does it right, it offers is but asks for permission. And if I want my IDE to check my spelling I'll set it up, that should not be the default, I don't care to be pestered about a perfectly fine variable name that you false identified as something else.

    • @SimGunther
      @SimGunther Před 2 lety

      "LSPs are pretty much the worst thing ever"
      - Jonathan Blow

    • @9SMTM6
      @9SMTM6 Před 2 lety

      @@SimGunther guy with a lot of controversial opinions that has a controversial opinion. What a stunner.
      I don't doubt his intelligence. He's a smart guy. But he regularly utterly fails to see the reason for other perspectives, and doesn't even try to understand them.
      I also have a lot of controversial opinions. And I actually agree with him on many of his opinions. But other than him I don't have a fan following that take my word for gospel, and while I'm certainly a bit sad about rhst honestly I'm also very glad about that, that's not good for you having long term good decision making.

    • @SimGunther
      @SimGunther Před 2 lety

      @@9SMTM6 I don't doubt his intelligence either; it's his close minded nature that simultaneously makes me curious about older tech and not trust him as much because he wouldn't trust people outside his thinktank.
      Yes, LSPs are meh, but one of the worst things ever? Nah, that goes to existing web technologies and they're both popular enough that changing them is gonna hurt the userbase more than it would help even if it's actually the better solution for his problems.

  • @nktslp3650
    @nktslp3650 Před 2 lety +2

    As a beginner cobol developer, I truly understands what old ways are and how important they were 20 years ago. Tools that appear as archaic to us right now are still used in my field, although modern IDE exists and are the way to go. I can't even imagine having to debug/improve one of the 20.000 line program in a 32*70 character terminal screen.

    • @portlyoldman
      @portlyoldman Před 4 měsíci

      Try that with punched cards! I started coding COBOL using punched cards!

  • @hhappy
    @hhappy Před 2 lety +11

    Dave has _the_ best t-shirts! As well as fantastic content

  • @Spiderboydk
    @Spiderboydk Před 2 lety +7

    I strongly prefer text editors. The reasons are customization, control, clarity and easier mix'n'matching of preferred tools. I usually use Vim, occasionally Sublime Text.

  • @tehscanny
    @tehscanny Před 2 lety +2

    I think that's up to personal preference. I love the experience of writing code in emacs and vim, and I am much more productive in them than any other IDEs (even tough I really like the JetBrains ones)
    The reason is just that vim/emacs are very extensible text editors, and you can do pretty much anything that you would do in an IDE (and much more) - code completion, refactoring, running tests, git integration, etc etc - and the big difference in my opinion is that you can do all of that without ever touching your mouse, which is a big deal when your job is to write code almost all day long.
    The extensiblity aspect is true specially for emacs, which to be fair, is much more than a text editor. Hell, you can even play tetris inside emacs!
    But I do also understand that IDEs in general have a much more beginner friendly experience, which is a big factor of why they are so popular

  • @seanregehr4921
    @seanregehr4921 Před 2 lety +1

    IDE's are like bowling with the gutters up. If your aim sucks, it will not hurt your results, but it is also considered a handicap, since it prevents you from learning correctly for yourself.
    That is the danger of IDE's, getting lots of useful information, but not being certain as to the details of what is best to use, when, where and why. As someone else mentioned in the comments, the constant suggestions are a distraction that can deflate progress and momentum working through larger problems.
    One issue I take with IDE's is that if I am not familiar enough with a suggestion to think of it myself, should I really be using it or even taking the time to consider it? Likely not. Using a text editor, you learn very quickly how well you know a language and this can be advantageous to understanding your knowledge gaps and then pursuing them to shore them up.

  • @viniciusgarcia3452
    @viniciusgarcia3452 Před 2 lety +14

    I agree with everything you said, that's why I choose VIM as my IDE 😆

  • @ThePrimeagen
    @ThePrimeagen Před 2 lety +6

    Yeah, I really don't understand people who use vim.

  • @DevinWeaver
    @DevinWeaver Před 2 lety +7

    My experiences are 180 flipped from Dave’s Vim has been astronomical better productivity wise over every IDE I’ve used. All the pros about IDEs described in the video I have in my Vim environments. True I had to build that myself but that is the kind of personality I am. Don’t let others’ biases influence your choice.

    • @ponypapa6785
      @ponypapa6785 Před 2 lety +1

      But.. if you had to build it yourself, doesn't that precisely mean whyt Dave said? That you had to make a greater investment to now do what a "regular" IDE does, thereby (taking all the required time into account) creating better code slower? There *was* a time cost to completely customize the editor which you would not have had to pay if you had used an IDE from the get-go.
      Don't get me wrong, I am not trying to say that you are wrong, but more that you are basically supporting the argument Dave makes instead of opposing it.

    • @syatos
      @syatos Před 2 lety

      I completely agree with you, i too used to think that IDE's are the greatest think ever invented untill i tried vim

    • @BittermanAndy
      @BittermanAndy Před 2 lety +1

      So you were astronomically more productive... does that include all the time you wasted building Vim into an IDE? Yeah, no.

    • @Winnetou17
      @Winnetou17 Před 2 lety

      @@ponypapa6785 Well, Dave said in the video that he doesn't see the appeal of vim and that, to his knowledge, even experts in vim are not faster/more productive than folks using an IDE. So Devin chimed in to say that he IS more productive in vim than in an IDE.

  • @user-mikesmith
    @user-mikesmith Před 2 lety +1

    For Vim, many IDEs have Vim modes either natively or through plugins. I usually use Vim mode in IDEs but sometimes use Vim itself for tiny changes where startup time is the issue as you mentioned.
    Personally, I’m faster in Vim emulation for editing than not using Vim mode. That speed difference doesn’t matter in the overall task of writing software, but sometimes we do things because it makes us feel better rather than it being actually measurably better.
    Vim taught me the value of taking the time to learn your tools, not moving hands away from home row, RISC like command designs (vim) versus CISC like designs (EMACS), etc…
    Since I have decades of Vim muscle memory, it’s the natural form of programming for me and makes me feel good.
    Given how much time we spend writing code, I think developers need to find those little productivity neutral things that make them happier.

  • @Vendavalez
    @Vendavalez Před 2 lety +6

    I refactor my code too much while writing to use anything other than an IDE while coding a whole feature. If it is a small change though, I will do it in a text editor.

  • @jan_harald
    @jan_harald Před 2 lety +1

    I absolutely adore that pink panther shirt, such an underrepresented character

  • @slipoch6635
    @slipoch6635 Před 2 lety +1

    Largely this will be a matter of what the programmer is comfortable with and what languages are supported.
    Having used vim, vi, emacs, borland builder, VS, jetbrains etc. programming in intel x86 assembler, C, C++, C# and (wince) VB. I find the only time an IDE 'gets in the way' is when the IDE runs slow, or doesn't support a language you wish to use, or has issues compiling a particular language efficiently.
    For example VS pushes towards using VSC++ instead of pure C++, I find VSC++ typically ends up 4x more top heavy than say embercadero's compiled C++ solution doing the same thing. Even using another C++ compiler and a non-visual project, VS ends up taking longer and having a more inefficient binary.
    BUT, unless you are working at lower levels (and even then) an IDE allows for more efficient programming experience, which then you can run through the other compilers for the final binary.

  • @eduardgizatullin8075
    @eduardgizatullin8075 Před 2 lety +18

    IDE helps to switch to new language more smoothly preventing a lot of mistakes and guiding how to write well formatted and well structured code

  • @emilianoruizcarletti9381
    @emilianoruizcarletti9381 Před 2 lety +7

    I'm disappointed with this video since the main things you praise about IDEs (completion, navigation, compilation, and debugging) are also possible in text editors nowdays. The quote at 4:23 summarizes things perfectly: you can get everything an IDE provides if you spend enough time configuring it.
    I think customization is a plus, the time up front is a negative, and the ability to edit multiple languages with the same tool (almost unified experience) is a big plus.
    5 years prior I'd say IDE > Text Editor, but today it's the opposite

  • @jeanvillete
    @jeanvillete Před 2 lety

    What I like about your videos is that you are usually reasonable, and touch things that people discuss about with passion, not considering others points views.

  • @himitsumonban
    @himitsumonban Před 2 lety +1

    One important point I feel is missed here is the ability to run in the terminal. I'm a sysadmin by trade and a programmer as a hobby, and I have to do a lot of editing while ssh'd in to a remote machine, so I need something that runs in the terminal. Granted I hear you can do that with vscode now, though I haven't tried it. Additionally, some peers of mine will use something like sshfs to mount the remote filesystem in their home directory, then open the files in their GUI editor.
    I suppose I continue using nvim because in the end, it's the same editor I've been using for over two decades now, old habits as they say. I encourage most beginners to use vscode. I think it's good we have options, and I don't think anyone should be shamed for their choice of text editor, IDE, or even emacs.

    • @ContinuousDelivery
      @ContinuousDelivery  Před 2 lety +1

      Sure, I think that is a reasonable justification. Part of my thing is to eliminate the need to hand-administer servers, but it is still sometimes useful to be able to deal with files in a terminal. So no argument from me there, though I am probably not really doing much programming at this point, maybe tweaking a script, but that barely counts.

  • @user-iw2lx6mk9c
    @user-iw2lx6mk9c Před 2 lety +11

    I use neovim. It's buffers is killer feature for me. It allows to have only one window opened, so there is code and nothing more. For other things there are command mode, cli tools and plugins.

    • @guidosalescalvano9862
      @guidosalescalvano9862 Před 2 lety +1

      Can you explain what problem buffers solve for you and how they solve that problem?

    • @loutrea
      @loutrea Před 2 lety +1

      @@guidosalescalvano9862 buffers can load files in memory. File are loaded without using any window, split or tab. They don't pollute your view and can be very quickly re-displayed to the position you left it. Buffer is one of the features that makes vim so fluent.

    • @SeanLumly
      @SeanLumly Před 2 lety +2

      Wow! I "discovered" neovim from reading this message and considering it (as a vim user). I simply adore that I can open a terminal in a split window out of the box, and am looking forward to exploring more of its features. Thank you!

  • @GrouchierThanThou
    @GrouchierThanThou Před 2 lety +7

    For me, I mostly consider the immediate feedback about typos and such an annoying distraction. I have different modes of working on my code. When I'm working on the overal structure of the code (mode 1), or on the details of some complex bit of logic (mode 2) I do not want messages about trivial typos and syntax errors to interrupt my thought processes. I prefer fixing all of those in one run at the end by just running the compiler and fixing the errors it pops up one by one (mode 3).

    • @seanregehr4921
      @seanregehr4921 Před 2 lety

      We live in a world of never ending distractions. I completely agree, sometimes less is more.
      Also suggestions are not intelligent, just best guesses and you still need to know if a suggestion is even worth using or not. I find sticking to your realm of knowledge forces you to use what you know for certain. If you have needs beyond that, then you will be prompted to go fill any gaps.

  • @AndrewBlucher
    @AndrewBlucher Před 2 lety +1

    It's 35 years since I wrote a thesis on programmer productivity. Workbench (now called IDE) concepts were just getting started, with clear productivity benifits.
    Then Java-related JIT compilers gave the ability to syntax check on the fly, and IDEs have never looked back.
    So what do I use? Emacs!
    Vi and Vim ... awful.
    My first code editor? 029 card punch and a hand punch.

  • @AlexNaanou
    @AlexNaanou Před 2 lety +3

    This is a bit of shallow approach -- when talking as a person who knows the world of a certain language, an editor or an IDE is a preference each with advantages and disadvantages, yes.... but when talking of a person who is just starting out, and chose an IDE, more often than not they learn the IDE and not the language...
    I've consulted on projects where developers try to fix errors in their code by updating the IDE rather than investigate the actual error, on one hand years later and I'm still laughing, on the other hand having memory leaks in production code because "we did not update the IDE in time" is a very serious issue =)

  • @tomwimmenhove4652
    @tomwimmenhove4652 Před 2 lety +1

    I used to be one of those 'text editor only' coders. As you learn more, you learn that there's a place for each kind of tool. I still use vim for smal and quick little things, then there are all kinds of other IDEs for different kinds of projects (I.E. Visual studio, Visual studio code, eclipse and even the arduino IDE).

  • @mytech6779
    @mytech6779 Před 2 lety

    The biggest issue I see in this topic is "computer science" courses that start students in an IDE on day one and begin coding without any real understanding, just rote memorization of a recipe click A click B click C. The students can be a year in and still referring to the IDE as the language or as the compiler with no clue what the separate tools are that have been integrated.
    The real kicker is that text editing and manual compilation is most accessible with the hello world single file programs at the beginning and can greatly improve the students' understanding of the process and make a better foundation for later lessons that use an IDE. Once you move into complicated code bases it is very hard to go back and learn what it is actually happening below the abstraction.
    (I recommend kwrite text editor, great syntax highlighting and color-profile customizing is easy. It can also be switched to use vim commands and shortcuts if desired. )

  • @muratdturk
    @muratdturk Před 2 lety +2

    DO NOT USE TEXT EDITOR FOR CODING. IDE plus CLI is what you NEED. And if you think text editor can do what IDE does, then do not call it text editor. I have used intellij, eclipse, vscode, vim, note++ ...etc. And I think intellj is outstanding IDE if you work on a complex apps. If you are a learner or work on a small app, you may like vscode as well. Intellj has some learning curves and yes i did watch hours of tutorials when I start using intellj. But now I can say that it saved me maybe 100s of hours. Refactoring, adding todo's in codes, abilty of custumizing ... and available countless plugins for your spesific apps. Yes I am a big fun of intellij :) Only donwside is that it uses too much resources so you should have a powerful machine. I was working on 4 projects at the same time and each was oppened on different intellj windows and running on different ports. My pc with 16GB ram was not enough and shut down intellij a few times right in the middle sayin no enough memory... so i upgraded to 32GB, now we are good :)

  • @romanhimmes171
    @romanhimmes171 Před 2 lety +1

    As a C++ programmer I cannot confirm the sentence "an IDE is as fast as a text editor" lots of pauses when something is updated in the background. Then, visual studio is only useful in combination with a plugin like reshaper (slow) and visual assist (not so slow). Comparing to my editor of my choice (sublime text 3), Vs is stone age slow. (But it still has the best debugger frontend I know of)

    • @simonfarre4907
      @simonfarre4907 Před 2 lety

      Its because you are using Visual Studio and not VSCode. Visual Studio is trash. VSCode is highly likely the best software / only really superb software to come out of Microsoft.

  • @KevinVandyTech
    @KevinVandyTech Před 2 lety +1

    Is it weird that I primarily watch these videos to listen to Dave's voice now?

  • @Luxcium
    @Luxcium Před 2 lety +6

    I am only at 3:12 but I am unsure where VSCode is on that spectrum as it cheks almost all the cases for an IDE but is called a text editor... I am looking forward to see if I will have an answer in this video ...

    • @jon1867
      @jon1867 Před 2 lety +4

      Basically at this point, all text editors have IDE features because of LSP's. I'ts like a server that runs on your computer, your text editor sends it your code, and it poops out information about your code. That's why all you need to do is install a plugin, then your entire editor now completely understands a language. LSP's don't actually care about the editor you are connecting to it with, they just contain information about the syntax and structure of the language.
      VSCode actually started LSP's

    • @guidosalescalvano9862
      @guidosalescalvano9862 Před 2 lety +2

      VSCode is totally an IDE. And from what I heard of some of the best programmers I know, a great one.

    • @fabricehategekimana5350
      @fabricehategekimana5350 Před 2 lety

      @@guidosalescalvano9862 Vscode seem to be a text editor to me. He has not a specific language as a target and still need some (minors) configurations to work with the language of your choice. Compared to an IDE it is more "configurable"

    • @Metruzanca
      @Metruzanca Před 2 lety

      @@fabricehategekimana5350 If the definition of IDE is those 3 things (edit compile and debug) without configuration, than Vscode is a javascript/typescript IDE.
      Without configuration, vscode has the ability to detect npm scripts and run them. if you're using standard convention, npm start runs the project and so vscode can be instructed to run the project. To debug, its a bit more complicated due to the fact that nobody uses a standard configuration however, vscode does generate a default launch.json for nodejs and iirc it assumes cjs (or mjs, i forget). So if you're using a very basic setup, everything works out of the box. And with a complex setup e.g. react, it works out of the box minus debugging which requires a browser integration... which is something other editors also need. For a backend nodejs, you likely need a custom launch.json because nobody uses cjs anymore but could be updated to use something newer.

    • @Metruzanca
      @Metruzanca Před 2 lety

      @@guidosalescalvano9862 They sound like great programmers.

  • @thewiirocks
    @thewiirocks Před 2 lety +2

    The one point I disagree with is starting with an IDE. I think beginners should learn to do it the hard way first. This is to prevent developers from using the IDE as a crutch where they simply learn to press the right button and hope for the best. I feel it’s incredibly important that developers know what the IDE is doing under the covers so that they know what to do when everything goes sideways.
    Ultimately, a good iDE is a “force multiplier”. It takes your talents / abilities and magnifies their effectiveness. For example, I spent a period of time in Java never having a compile error due to the support that the Netbeans IDE was able to offer under my highly structured coding tasks. Everyone should ultimately be using an IDE. But I’m not so sure that it’s the right place to start.
    (The corollary of a good IDE magnifying your abilities is that a bad IDE can lower your output. It can damage your projects, screw up source control, invade your build settings, etc. Please join a world of sanity by refusing to use Eclipse. For anything. Ever.)

    • @f22217
      @f22217 Před 2 lety +1

      I totally agree with you.
      In my school we had to use a basic text editor which did not even had syntax highlighting for the first 3 months.
      It was hard but it made me learn a lot aboit how to structure your code, how to make it more readable and (now 7 years later) sometimes I still think about that.

  • @m.x.
    @m.x. Před 2 lety +1

    A good IDE (Integrated Development Environment) typically comes with way more and more advanced features than any text editor could dream of and, the most important, as the name itself describes it, it's all integrated out of the box and ready to start coding instead of spending hours or even days on setup time. For instance, Visual Studio Code is nice once you have everything set up, but doing it correctly with all necessary extensions and corresponding configuration is a pain in the ass. Not to mention when you find yourself dealing with breaking extension updates, conflicting extensions, etc. OTHO, with Visual Studio, you don't have to worry about any of that, or if so, it's minimal.

  • @AI-xi4jk
    @AI-xi4jk Před 2 lety +2

    The main difficulty of switching between IDEs is that you have to learn new keyboard shortcuts. You can configure your new IDE to use your old shortcuts but sometimes features do differ between IDEs. That was my pain moving from Eclipse to IntelliJ. Refactoring support and debugging in IDEs are essential as much as ability to build and run your project without IDE from command line. I do like editors like vim to hack and experiment quickly without having to rebuild the whole application or container but once the code becomes more than page long I tend to move to IDE. For reading code IDE is also great cause navigation is much faster based on code understanding rather than text search.

  • @mikhailmcrae5924
    @mikhailmcrae5924 Před 2 lety +1

    I think it's a good idea to practice everything you do first in a text editor as a lot of the technical stuff that you should know is done by the IDE.

  • @AloisMahdal
    @AloisMahdal Před 2 lety +1

    In Vim once you learn to use C-P and C-N, you're pretty unlikely to do the typo in the first place. That said, the `Fraction` example is still a pretty good one.

  • @ern0plus4
    @ern0plus4 Před 2 lety +2

    I would give up any of my current and past editor/IDE (VSCode, Geany, Sublime, PSPad) for the singe feature of Multi Edit 4.0 ('90s, DOS):
    - Ctrl-L adds a page break charcter (comment it out, if the compiler does not like it)
    - I used to put one before each function
    - displayed as highlighted infinite series of hyphen (endless line made from '-' -s)
    - Ctrl-Up/Down jumps to the prev/next one

  • @chaoslab
    @chaoslab Před 2 lety +1

    Codes my own IDE's. Onto #3 on the PC, started on the Amiga in 68000.

  • @rzabcio3
    @rzabcio3 Před 2 lety

    Why not both? Text editors, specifically shell editors for sure are and still will be needed in case of doing something on live environment, when there is no UI. I got your point that "servers should be automated", but 1) it's not always the case, 2) something needs to automate them and solve problems. Day-to-day programmer could use only IDE, but as a programmer/SRE/DevOps I just don't have such luxury.

  • @bennylofgren3208
    @bennylofgren3208 Před 2 lety

    One thing I didn’t hear in the video or see mentioned in the first few dozen comments is the learning curve. Becoming an efficient user of almost any tool requires practice and constant use. Over time, your keyboard shortcuts gets ingrained in your mind and becomes second nature.
    Changing to a completely different environment and becoming as productive again as with your favourite tool set is not that easy. Sure, you get more help with many tasks, but if that help interferes with your time-tested work flow and your keyboard shortcut proficiency, you are suddenly not running, but walking or even crawling.
    Granted, once you are over the threshold and become more familiar with the new environment, your productivity will go back up, but at least for me this rarely happens until it is time to move on to other things. Maybe I’m an old dog and it is hard to teach me to sit, but when I use my trusty old editor and a Unix command line environment and tool chain, I’m at my best. Parachute me into unfamiliar territory and I land running. Set me up with an unfamiliar IDE and I’m a fish on dry land. 🤷‍♂️

  • @geronimus-prime
    @geronimus-prime Před 2 lety

    I've tended to favour the text editor in recent years, but I didn't start out that way. All of my early learning was on IDEs - to the degree that programming itself didn't seem possible without one of these behemoths. Of course, Microsoft is the classically frustrating example: Up until 2012, programming for Windows required a downpayment of what could easily be your monthly food budget.
    Text editors + compilers + build tools were a revelation! They simplified the equation. Reduced it to lowest terms. And for once, I could actually understand what was going on. No more builds that would fail on deployment, after testing and running perfectly well in the IDE. There was no help I didn't know I was getting. No invisible configuration settings. No sneaky tweaking of the classpath.

  • @krux02
    @krux02 Před 2 lety +2

    Well I use what is listed here under "editor" but I get all the features of an IDE including the slow startup. LSP really changed the landscape here.

  • @adambickford8720
    @adambickford8720 Před 2 lety +2

    Is it really more configurable though? Every major IDE allows you to write plug-ins to do anything you could imagine. Sure, it's a pretty steep learning curve but the flexibility is there.

    • @lurst
      @lurst Před 2 lety +4

      You may be able to add as much as you want to an ide, but you can't take much away from it, editors start from very little and you build up, you get the added customisation in between.

  • @j.j.9538
    @j.j.9538 Před 2 lety +7

    I code using punched cards

  • @THEMithrandir09
    @THEMithrandir09 Před 2 lety

    One thing that the text editor seems most vocal about is different input paradigms, like modal editing or keyboard-centric workflows, which can yield great improvements in speed, reduce context changes that disrupt concentration and (allegedly) can even help to reduce the risk of carpal tunnel syndrome by not having to move from keyboard to mouse every few seconds.
    The main idea here is that programmers don't write code all that often. Most of the time we edit code that's already there, so at least considering a different input paradigm that's geared towards that seems like a sane thing to do. VIMs "Normal Mode" won't let you type anything, but it'll let you move through code or run commands over said movements.
    Though arguing against IDEs for being slow and that "vim can do all that if you configure it too" doesn't seem reasonable either. I myself use appropriate IDE's with vim emulation everywhere(mostly VSCode and Jetbrains) and use vim when I have to work via SSH(though remote SSH on VSCode has been great too, sometimes better) or just want to quickly edit a config file.

  • @CoolAsFreya
    @CoolAsFreya Před rokem

    I have multiple IDEs that I prefer for different programming languages. Visual Studio is my preferred general purpose IDE, whilst Eclipse is preferred for Java, Python and some other specific programming languages. This helps me avoid lock-in with any particular IDE as I use several on the regular. Of course I still have Notepad++ text editor for reading existing code or making tiny fixes when I can't be bothered to wait for the IDE to open.

  • @TheJeffKingdom
    @TheJeffKingdom Před 2 lety

    My argument for why I use a text editor (vim/gvim) is a little different than any argument made in this video. It's that text editors can be small windows where an IDE tends to want to take up your whole screen. I like a windowed environment.
    I am also in a role where I could be in two to four different codebases in a given day. So, for me the startup cost of an IDE is a real cost.

  • @soberhippie
    @soberhippie Před 2 lety +3

    Next episode: where to put opening curly brackets: at the end of the opening statement or on a separate line. I've never tried the second approach, but I fund it bad

    • @CynicalOldDwarf
      @CynicalOldDwarf Před 2 lety

      Third option: Become a python developer and have no need for superfluous tokens 😜

    • @ponypapa6785
      @ponypapa6785 Před 2 lety

      ask Kevlin Henney about that, he hat a compelling argument for this decision =) And I found the second approach ridiculous before, now, after checking the arguments, I understand and see the value of doing it on a separate line.
      Stll not doing it myself on all projects - bt I do understand why it can be very useful =)

    • @JaconSamsta
      @JaconSamsta Před 2 lety +1

      @@ponypapa6785 I hate how it looks, but I can't deny that it has made my life easier in some places.

  • @malteplath
    @malteplath Před 2 lety +1

    Actually, I often find the IDE features distracting - like dumb autocomplete suggestions or documentation popups. Then I have to A) find out how to disable or reduce those interventions, B) I have to find out how to call up that information when I do need it.
    Adding features to Emacs or Vim is, in a sense, the other way round: you add (and keep) only what proves helpful in the long run.

  • @algotrhythm4287
    @algotrhythm4287 Před 2 lety +2

    Bash is the IDE, vim is the editor part of that IDE

  • @Metruzanca
    @Metruzanca Před 2 lety +1

    Whatever you choose to use, an IDE or a Code Editor or a Text Editor. Remember that the $EDITOR you use doesn't make you a worse or better developer.
    Theres some toxic people out there who say "Real programmers use IDEs". These people have insecurities and are only saying that to prop themselves up.
    (Those same people often also say "Scripting/Interpreted is not Real Programming" but can't define scripting properly without using the word programming or its synonyms.)

  • @colinhannah2210
    @colinhannah2210 Před 2 lety +1

    I will no longer use a text editor for any language that now requires an IDE to visual the type system of the language. That was the end of text editors for me! For example, as soon as auto in C++, or var in C#, etc permeate the code, you require an IDE or language aware editor to see the types of variables and so on. I remember initially being against auto, var etc because the types became hidden to the developer but now fully accept having lost that battle when lambdas, anonymous functions and so on were also introduced!

  • @EmilNicolaiePerhinschi
    @EmilNicolaiePerhinschi Před 2 lety +3

    in the olden times UNIX used to be called "an IDE"

  • @gammalgris2497
    @gammalgris2497 Před 2 lety +1

    As you already said, you don't always get the choice. for scripting I use a text editor (bash, batch, powershell). For java, sql, pl/sql I prefer an IDE for the stated reasons. what I don't use much are the integrated wizards in an IDE. They start to make more problems with time, especially when they don't maintained well and the next generation wizards do things differently.

  • @bobbycrosby9765
    @bobbycrosby9765 Před 2 lety +2

    I think my design turns out worse when I use an IDE. For this reason, I use a text editor when I "own" the code of a project. But I use an IDE with unfamiliar languages, projects, or whenever I need to refactor. Currently I use emacs or intellij. With vim bindings for both.
    I'm probably faster with an IDE, but, I also tend to be the primary senior person on any given project. At that point it isn't just about my own personal productivity.

  • @1985rbaek
    @1985rbaek Před 2 lety

    I respectfully disagree.
    I program a lot of C and have used Vim a lot (a text editor). While the IDEs are easier to start with, they often hide the basis of how your project is build and make isn't that hard to learn. The reason to use Vim or emacs for example is that it is your own tool, that you expand to what your needs are. Adding tools such as Cscope makes it extremely effective at diving around in bigger projects. Building your Vim or Emacs is something you do over time towards the needs you have. Calling gdb is pretty easy for most people. There are good IDEs out there, but it is hard to beat the customizability of Emacs and Vim. There is also the issue of not always having access to a gui interface, when running on industrial machines.
    In the end using Vim or Emacs allows you the freedom of choice and access to great plugins (or write your own). They become somewhat like IDEs themselves, and they are really independent on what your visual desktop environment is. If you are running MacOS or Linux using command line tools is more natural to you (as those are pretty good), while on Windows it is more IDEs that are king.
    Many IDEs often come with the tools you need for example for microcontroller programming. Eclipse is still used a lot, so it can be a good idea to learn a little about it, else VSCode is a good refreshing change to IDEs, as it has most features you need, a good community around it and is not a resource hog unlike Visual Studio.

  • @GDScriptDude
    @GDScriptDude Před 2 lety

    Even though I am a native English speaker, an extension (LTeX) that I use for web content editing corrects my grammar, and spelling which I find invaluable in the Code IDE. I learned things from it.

  • @datasciyinfo5133
    @datasciyinfo5133 Před 2 lety

    Hi, I use text editors mainly to jot code ideas down without constant pop up distractions. The constant pop ups are really good at derailing my thought process. Once I get it to a point where I want to test it, then I copy it into an IDE for compile and debug. It’s also an excellent way to test my syntax recall. My mistakes are not automatically corrected, so I can see which areas I need to work on. I find first typing into a blank editor an excellent learning tool. Of course this effort makes sense only for long-term use scenarios. I also use text editors for a quick coding on my iPad Pro. Can’t run a large IDE from an iPad and don’t want to anyway. Sometime I run the code by copying it into a Google Colab jupyter notebook, and save a working version back to my Github repo.

  • @lunalildragon241
    @lunalildragon241 Před 2 lety +1

    I mainly use VS Code for complex projects and neovim (with spacevim installed) for smaller projects in easier languages.
    Having "mastered" vim i can jump around the code freely and faster than with the mouse.
    Of course most people will have problems with vim especially those that use vanilla vim out of the box and have problems learning vim.
    It's only natural that we prefer what is easier for ourselves and those preferences are different everywhere and usually change over the time.
    I cannot use Vim out of the box because the default configuration of Vim only has Syntax-highlighting and no autocomplete.
    Pairing it with a configuration pack like Spacevim it might come close to VS Code, with the biggest difference that Vim is made for Editing and VS Code has strengths with writing.
    And i know that my preferences will be a lot different for some.
    I learned programming on my own as a child around 10 years ago.
    At the beginning i used Eclipse and Visual Studio Community,
    until i recently found out for myself out that i really like compiling and running code directly from the terminal and that makes vim and vs code very attractive choice now.
    In my opinion everyone should use what they like most.
    (btw i also learned that the school system is very bad for people that already learned Computer Science on their own, because it is very hard not to write advanced code when being used to it for years)

  • @michaeljuliano8839
    @michaeljuliano8839 Před 2 lety +1

    I prefer IDEs for writing code in projects with more than a few small files for the navigation and refactoring, but I prefer executing build scripts from the terminal.

  • @JukkaPihl
    @JukkaPihl Před 2 lety +1

    What ever editor/IDE I use, I want to have emacs key bindings.
    In macOS Firefox, macOS standard UI components, slack, mattermost , etc has basic emacs key bindings (Microsoft software doesn't have ... so one other reason those avoid those).
    So If IDE doesn't have (decent) emacs key bindings support, I don't use it.

  • @mattpujol4787
    @mattpujol4787 Před 2 lety

    I agree with the IDE over text editor concept. Like, why wouldn't you? I did chuckle when you talked about the emacs programmers alongside vim. I used to use XEmacs when all the other kids were using vi. They all thought I was an appliance operator. Btw, I'd consider XEmacs to be a rudimentary IDE. You can (ok could) compile, and launch gdb from within it.

  • @danaketh
    @danaketh Před 2 lety +1

    I use IDE because I'm lazy and as I'm getting older (and learning more stuff), it's just easier for me to get the work done when it keeps an eye on the mess I call my code. I'm in no way an expert on use of it tho, I just know what I need to know and most of the time keep hidden everything I don't need until I need it (and when I don't I just hide it again). But I use nano when I'm having fun with scripts on a server. For me it's just about which tool helps me get things done faster at the time.

  • @DavidReidChannel
    @DavidReidChannel Před 2 lety

    This is a good balanced video on the benefits of both. I prefer to use Vim but as a contractor, I'd say its almost impossible to use one IDE or text editor exclusively. The team, the product, the tech and even the culture, all influence the tools that we ultimately use to do our work. Again, good balanced video. Thanks for sharing.

  • @usr-bin-gcc
    @usr-bin-gcc Před rokem

    The major downside of IDEs for me is that I find the help and suggestions it brings up when I am coding are distracting me from thinking about the code, often it is help that I don't need. However I use both IDEs and Vim and am happy with either. Vim is especially useful when I am marking students' code because I don't have problems with project set up or the time taken to load the project.

  • @porky1118
    @porky1118 Před 2 lety +2

    I'm happy with gedit :)
    I'm using it since I started real programming on Linux.
    I even enabled word completion about a year ago.
    At work I use an IDE, but the only features I really use are auto completion and smart renaming.
    But often the IDE does just it's own thing and not what I want. For example the auto completion sometimes autocompletes without me explicitly selecting an option.

  • @adambickford8720
    @adambickford8720 Před 2 lety +1

    I use intellij because I don't want to manage a bunch of plugins. VS Code is definitely improving faster though, so I'll likely switch at some point.

  • @kamertonaudiophileplayer847

    I use the best from the two words: If I need something quick and dirty, or just fix some bug - text editing. If I need to thoroughly develop some functionality, or fix a complex bug, then IDE.

  • @yutubl
    @yutubl Před 2 lety

    Thats exactly what I think: versatile Editors with plugins can grow to IDEs, which are more specialized programming environments than enriched text editors. For people who don't want & need to program professionally a children/school IDE might be ok. But for beginner with attempt of future professionals their learning curve & understanding should be improved they shoud know what a IDE does under the hood in the background when pressing a "Compile & RUN" button on a big & complex team software project. Starting doing everything once by hand on commandline tool chain & texteditor and after deep understanding what does what and what means what (error messages vs. warnings) then switching to nicer abstracting IDE is the good way, if the IDE fits for the project.

  • @the_dark_jumper2211
    @the_dark_jumper2211 Před 2 lety +1

    I kind of get why c++ developers would stick with their preferred text editors.
    I've been working on a c++ project for a few months now and I'm almost certain that c++ will never get an IDE that's as good as the ones for more recent languages, and the reason for that is c++'s unrestrained complexity.
    Whereas Java and C#, or hell, even Python and JavaScript IDEs provide me with suggestions that are 9/10 times right on the money, my c++ IDE repeatedly gives me wrong or unhelpful suggestions.
    Still, code navigation working half of the time is better than no code navigation... otherwise I'd have changed to a text editor out of frustration.

  • @Mario-jj6qy
    @Mario-jj6qy Před 2 lety +3

    In my opinion, it is somehow absurd that we are still wrangling text in the 2020s to write software. When we reason about software, we don't _think_ about language keywords and syntax like curly braces, imports/using statements, etc. Yet it is still the very matter that software is made up of.
    When you talk about IDEs, in this day and age they are starting to resemble tools that function on that same higher level as we programmers are thinking about code. They allow us to manipulate the concepts of functions, parameters, classes, perhaps entire projects. Not just the syntax. Looking at it that way, text editors might resemble something like the stone age for software development, while IDEs are more like bronze age level tools.
    Imagine the year 2080, can you imagine you are using text at all to build software?

    • @edwardallenthree
      @edwardallenthree Před 2 lety +4

      It's 2020 and we're still using words and not just emojis. We need to get with a times. /S

  • @Flamechr
    @Flamechr Před 2 lety +1

    I always compare it to a trade. Carpenter bricklayer ect. If they would have the same mindset about tools it would be alot more expensive to build houses. That is how I veiw IDE's vs text editors. Why make a tool that you have to build and maintain for alot higher cost than it is to simple buy a license.
    A programmer in Denmark cost 100 euros per hour so if you use a week on making your text editor working it would cost 3700 euro to build and we havent even talked about maintance yet 😀
    Pycharm professional cost 111 euro for individual and 300 euro for buiness so it really is about were you will put your(or the companies) time and money.

  • @Balgoriusis
    @Balgoriusis Před 2 lety

    My personal take is that if you are learning, go with text editor. When you are working go with IDE. When you learn, you should take your time, you should learn sintax and make mistakes and learn from them. When you work, you should not be slowed by your tools.

  • @bleki_one
    @bleki_one Před rokem

    I think that locking is why I'm still using Eclipse. I'm proficient in it and I would need to invest significant amount of time to move to another editor. But on other hand using VSCode is so refreshing when I recently work on infrastructure as a code project in terraform. Still I find using Eclipse shortcuts in VSCode and to my surprise I don't get expected result.
    But I think I'm close to reaching the point of switching

  • @edwardallenthree
    @edwardallenthree Před 2 lety +1

    One more thing is that when you get your mind is used to VI keyboard commands it is very very hard to turn that off, almost impossible. Most IDEs do have a VI mode though which helps.

  • @porky1118
    @porky1118 Před 2 lety

    The power tools don't have to be the IDE.
    You could also add some plugins to most editors.
    And for more complex stuff, you could write shell scripts, which might be even more flexible, if you have special use cases.
    And even if something already exists in some IDE, writing a small shell script can be more efficient if you have some experience.

  • @TheRdfrota
    @TheRdfrota Před 2 lety

    At 1:45 you pretty much explained why a text editor like vim is the superior choice. It is widely used and supported pretty much everywhere with vi. The need to be flexible and not have to relearn a tool puts you into an advantage to be able to shine in any environment. I have stuck with things like vim, bash, git, python and c++. And these skills can be pretty much what you need either in a Linux environment or Windows environment with git bash

    • @daniellarson383
      @daniellarson383 Před 2 lety

      The only reason that particular reason would make them superior is if you're joining a really shitty company, and in that case, you probably shouldn't bother joining them

  • @prodigel
    @prodigel Před 2 lety +1

    Why not use both? Especially for vim one can always find plugins that enable all its modes and shortcuts.