There is no doubt that the shortcut/extensions contained within your favorite code editor allows for faster code production. Recently I installed ...
For further actions, you may consider blocking this person and/or reporting abuse
I have been programming for 7 years now. Started off in notepad++. Where after I loved to phpstorm and now VScode. And I think extentions are something vital to our work flow really.
Not just because they are fun. But most of them are actually useful.
Thirty-five years ago you could pretty much hold the language and most of its standard library's names and usage in your head and what you forgot could be contained in a book which hopefully had a good index (no Google back then). It's not the case today with large libraries having thousands of classes, tens of thousands of methods and properties. It doesn't make sense to search for everything day in day out. Even the base languages themselves have grown in complexity quite a bit.
Don't pretend that the "young developer" would know what to do without them just because they don't use an extension in an IDE. They'd just Google all day long and waste time they don't need to waste instead of focusing on resolving the problems they are paid to solve.
I think your premise is a bit too broad to form an opinion one way or another.
Extensions cover a lot of ground: syntax highlighting, formatting, code completion, code generation, linting, bracket hilghting, indentation visualization, etc. Saying that extensions are problematic for new developers just covers too much territory.
Is it a good idea for a brand new coder to be using a code generator? Probably not, because it puts a layer of abstraction between your brain and the code, which may slow down the ability to internalize what everything means.
Should a brand new coder be using emmet, syntax highlighting, bracket highlighting, and linting extensions? Absolutely, because all of those directly lead to writing code more quickly and revealing the structure of the code rather than abstracting it.
I'd argue that you need to be thoughtful about which extensions you use regardless of what level you are at, but that there are some that are more suitable for advanced developers that understand the things that are being abstracted away and are using it as a tool to increase efficiency rather than a crutch to bypass the need to fully understand your code base.
I accept your position
Well, they still need to check that the tool is doing the right thing. This fancy tools wont get it right 100% of the time. The code will still have bugs and in the process of debugging they will learn. As long as they know the tool can only give them suggestions, and that the posibilities go beyond those suggestions, I think is all good.
I would say it's something that affects developers early in their career rather than early in terms of their age.
I am also in the camp that thinks generally having the fundamentals down is good. That's why they teach things like arrays and classes and so on at university before they teach higher-level things, and that's why knowing Javascript will set you up for knowing React and not so much the other way around.
But on the other hand, I also recognise that there are going to be more and more people who rely on high-level tools to get the job done. It's not my thing, sure, but isn't that the ideal way for humanity to progress? At some point, being able to say something like, "Alexa, make me a game where princesses have to defend their tower against invading heroes" will actually work, and that's practically our Glorious Star Trek Future.
I think IDE extensions are not for beginners. Beginners rely on extensions and autocomplete, and do not learn programming terms.
Taking the argument to its (il)logical conclusion, everything above machine code is just a tool so I would generalise and say no they are not hurting general developers. Anything that lets you solve the business problem faster and with less cognitive load be it autocomplete or a build chain and CI/CD pipeline has to be an overall net benefit. For those developers who are building low-level systems on a chip or C# vNext, they are the brain surgeons of the coding world and need the knowledge of how it works under the hood. That said. When I "git push master" to my GitHub repo and the new code magically appears in my Azure hosted app, I do wonder what I would do if one day it didn't work 🤔
I understand your point of view, and I understand that getting code out in today's world is vitally important. But this output speed is giving way to "robot" coders.
And that is bad? Globally we are about 30% short of people able to code so anything that lowers the barrier to entry is a positive. I would prefer new Devs to focus on principles such as algorithms or 3rd Normal Form for databases that on remembering whether this particular element of the stack uses require/import/using or whether the class/object has DateCreated or CreatedDate attribute.
Ok. To each his own
I totally agree with you.
I think a dev should make at least one project through the command line / text editors alone with only a couple external packages. Bonus points for using your own machine and network. You learn a lot about systems and will be able to debug your dev environments so much more easily.
totally agree with this. Cement the fundamentals
Wagwarn mi brogad
Who's this?
just noticed ur from Jamaica
Oh yeah man....Yard Man thing
yhhh wagwan
I feel like the most valuable skill for a developer is problem solving. The hard work is around figuring out how to go about implementing that new feature, fixing that bug etc.
If you get caught up memorizing every library method or piece of syntax for every language you are working on you miss out on the broader strokes, higher-level thinking that will allow you to solve the problem more effectively.
You can always google the gritty details of something, not so much when it comes to how to do whole projects. Having tools that do that lower-level detail will leave you with more time to think about the overall problem more effectively.
I'm agree with you. I also left TabNine. It's not gonna useful for newbie like me.
that is the exact extension I am talking about