Live data from Hacker News

What I would do differently if I was learning to program again

reddit.com

11–20 of 85 posts

Re: What I would do differently if I was learning to program again

#11

I’d use an ide from day 1 instead of wasting time with vim. I seriously dramatically slowed down my advancement as a programmer because I didn’t use a full featured ide straight up. Now I only use vi to edit files in /etc

I don't think they need to be mutually exclusive. I use both daily. I don't use vim emulation in anything else and the context switching hasn't tripped me up in a long time, it was a bit of a problem at some point though.

Re: What I would do differently if I was learning to program again

#13

Earlier quoted context omitted.

I'd use Vim from day 1, instead of wasting time with several IDEs.

Why would anyone not want the power of an ide? Is it a Unix tough guy thing where there’s nothing that a GUI app does that you can’t do better in a terminal? Or is it that you’ve never really spent a lot of time in a professional ide so when you argue against it, it’s cause you don’t know?

I've used several IDEs before. I used one when Eclipse was the go-to option. Then all the attention went to IntelliJ. But none of them gave me what my Emacs+Evil setup gave me, while the Emacs side got "almost" everything they gave me.

Re: What I would do differently if I was learning to program again

#14
post #4

I don't code anymore (I'm more of a pointy-haired lower boss)...but what i wish i could go back in time and change around this is to have focused - I mean really, really focused - on 2 or 3 different programming languages only. Instead, what I've done over the years - again, when I coded as a dayjob - was to go shallow on far too many different languages (and ecosystems). I don't think it was me just chasing the "new…

> ...either before graduating college, or right after, etc. - work for yourself and not The Man...

Why do you think that would an appropriate moment to do so ?

Re: What I would do differently if I was learning to program again

#15
I dont really agree with do not go to bootcamp advice. I think that structured supervised learning it can be very useful for those who are starting from very little knowledge. Knowing what is worth cloning/learning and what exactly to do with that clone or what exactly to learn is half the struggle for those who dont know much but have aptitude. Moreover, deadlines add motivation and prevent freeze from the thing not being perfect enough yet. Some bootcamps seemed to really push people to learn maximum during short time, so if it is not too expensive (money matters) then it might be really effective way to start.

I was able to come up with realistic own projects only after learning in sort of similar way - through structured organizations and from friends advice. Not everyone has friend advice. And having actual task someone will check adds motivation to finish it - finishing those own assigned projects that you are pretty positive are no useful to anyone is demotivating.

Re: What I would do differently if I was learning to program again

#16

Earlier quoted context omitted.

It's been a long time I haven't used Vim. I left it in favor of Evil+Emacs a few years ago. And I don't recommend it to every single person I see. The phrase "wasting time with Vim" was the thing that made me reply the way I did. Learning Vim properly has helped me every single step of my way.

So you don’t use vim as a programming environment/editor? So not actually disagreeing with me, just stirring?

"Vim"? No. I don't use it anymore. The "Vim's Way"? I use it everyday!

Re: What I would do differently if I was learning to program again

#17

Earlier quoted context omitted.

I'd use Vim from day 1, instead of wasting time with several IDEs.

Why would anyone not want the power of an ide? Is it a Unix tough guy thing where there’s nothing that a GUI app does that you can’t do better in a terminal? Or is it that you’ve never really spent a lot of time in a professional ide so when you argue against it, it’s cause you don’t know?

Probably this. IDE developers listen to users and they do build in those features that make vim better than Notepad. Same with grep and anything else command line excellent. I think it is best not to think one or the other but use both. iDEs work on Linux and have a terminal window built in. So that is how to do it, vim keyboard bindings too.

Re: What I would do differently if I was learning to program again

#18
post #14
post #4

I don't code anymore (I'm more of a pointy-haired lower boss)...but what i wish i could go back in time and change around this is to have focused - I mean really, really focused - on 2 or 3 different programming languages only. Instead, what I've done over the years - again, when I coded as a dayjob - was to go shallow on far too many different languages (and ecosystems). I don't think it was me just chasing the "new…

> ...either before graduating college, or right after, etc. - work for yourself and not The Man... Why do you think that would an appropriate moment to do so ?

Because the early complacency of working for someone else doesn't get a chance to set in. Also, because if things don't work out with some initiative, you can bounce back from a setback much easier/quicker.

Re: What I would do differently if I was learning to program again

#19

Earlier quoted context omitted.

I'd use Vim from day 1, instead of wasting time with several IDEs.

Why would anyone not want the power of an ide? Is it a Unix tough guy thing where there’s nothing that a GUI app does that you can’t do better in a terminal? Or is it that you’ve never really spent a lot of time in a professional ide so when you argue against it, it’s cause you don’t know?

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 again

#20
If I had to do it again? Avoid going down the operations path. Not because the knowledge wasn't valuable, but I always enjoyed working on bigger programming projects more than tinkering with other people's big programming projects (Linux, Ansible, AWS, Cisco, etc). Having operations on my resume, however, pigeon-holed me into a particular role professionally.

Of course, that's not of much use for anyone else. In fact, I'd recommend getting operations experience to more programmers, if only because we always need more people. But I also understand why more people don't aim to get operations experience.

Post reply on HN