News for hackers. Stuff that matters.
Re:What I would do differently if I was learning to program ... by falcolas on Monday July 09, 2018 @09:36AM (#17490022)
All my opinion, of course.

I learned Python much better because I did not use an IDE.

I've written Java and C# using IDEs. I barely remember anything about their standard libraries. Python, in comparison, I know like the back of my hand. Thanks to writing Python in vim, I had to reference the docs, and eventually memorized them. Like vim itself, it made for a steeper learning curve, but the productivity gains in the decade after have been well worth it. I've since done the same thing with Go.

And that's not even mentioning that vim is an IDE - it's an extensible C IDE. Building with go-to-line errors? Yup. View definition? Yup. Syntax highlighting? Yup. The only thing it's missing is having the debugger built into it.

In the end, vim has the best features of an IDE without the bloat. It makes you use your brain when writing new code while giving you the ability to navigate your existing code with ease.

Re:What I would do differently if I was learning to program ... by lghh on Monday July 09, 2018 @10:31AM (#17490403)
> I barely remember anything about their standard libraries.

If an IDE can abstract that memorization away from you, what's the problem? The benefit I provide as a software developer is to solve business problems and provide value to the people that use my product. Knowing the optional third parameter to a string method I use once a month off the top of my head really doesn't help me with that as long as looking it up isn't slowing me down.

Re:What I would do differently if I was learning to program ... by jrockway on Monday July 09, 2018 @10:34AM (#17490417)
I think the problem is always in the breadth of understanding. When you read documentation you discover more than exactly what you're looking for. When you tab complete something, it just tells you all the methods in the class that start with the letters you typed.
Re:What I would do differently if I was learning to program ... by falcolas on Monday July 09, 2018 @12:23PM (#17491379)
> If an IDE can abstract that memorization away from you, what's the problem?

It's more knowing what's available (do I have to use a 3rd party library for X task), and being able to fill in the parameters (as well as having those parameters ready) before the IDE prompts me for it.

Sure, pulling up the documentation isn't a huge chore in an IDE, but if I'm not prepared to give the third parameter a calculated length, I then have to go back and write more code before I can move forward.

It's also "how do metaclasses work" and "what types am I dealing with" and "how will this type be coerced in this situation" and "is monkey patching appropriate for testing this method".

Ultimately, it's about having sharp tools. My brain is a tool, and the more complete the picture of how a problem fits a programming language is, the more efficient I'll be at coming up with a working solution.

Re:What I would do differently if I was learning to program ... by emodendroket on Monday July 09, 2018 @10:40AM (#17490475)
You would remember even better if you had to write the code out by hand or use punch cards.

I've only ever written C# using an IDE but I know plenty of things about the standard library. Why wouldn't I? I've written a bunch.