If there is one thing I have learned through the years, it is that: There is ALWAYS more than one way complete a task AND that the tools used to complete the task will vary widely depending on the primary objective/s of the entity (or company) AND that companies and their projects come with varying complexities and time constraints AND that everyone has their own idea about which tools should be used to meet those objectives.
Wait ... that was four things ... unless your a lawyer.
I have programmed a DEC PDP-8, via toggle switches, and programmed the Intel 4040 using only a programming card back in the late '70s. I have programmed, in Assembly, data exchange programs between a Perkin-Elmer(Interdata) 7/32 and "Desktop" computers using MicroSoft DOS 1.0 using RS232 protocol. I have written Assembly code for CNC interface and maintenance programs on the DEC PDP-11/34c. I have also programmed in Basic, Visual Basic, Python, Fortran IV and Fortran VII, and C++. I have held the position of Draftsman(Draftsperson), Electronic Engineering Technician, Electronic Maintenance Tech., Associate Electrical Engineer, Engineering Manager, Operations Manager, General Manager, and presently, Parts Sales/Customer Service Manager at AutoZone (was time for a career change AND I enjoy helping people).
I write all this to say ... all tools are created out of a sense of necessity and each tool has it's place. Obviously, technology has changed much since I was first introduced. One upside of coding in Assembler is that the code SHOULD BE the most efficient. On the other hand, using a high-level language is easier to produce code, but MAY generate less efficient code. Similarly, IDEs and Editors both have their place depending on the size of the project.
I once interviewed an "Engineer" with a Masters Degree for a Electrical Engineering position. I asked the person to sketch a simple schematic of a linear power supply. He could not do it ... either he was not taught the basics or they didn't stick. When I asked what he would do if he needed a power supply in his project, he said, "I would just buy one." My suggestion to anyone wanting to learn computer programming would be to learn to code in The Assembly Language first. Once you learn to walk, it is easier to learn to run. Once you learn to run, then learn to know when to walk and when to run.
So ... pick a tool that works for you ... get to work ... and get the job DONE!