Live data from Hacker News

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

reddit.com

21–30 of 85 posts

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

#22
The number one thing I see in my students (I teach Scala, usually to already experienced developers) is they don't actively engage with the material. Write notes, or code up short examples, or draw pictures, or whatever works for you to actively think about what is being taught. This corresponds to "Write down what you learn" and "Build shitty stuff that works" in the linked article.

Bike shedding IDE or editors is a game everyone can play (use Spacemacs) but as long as the tools don't get in the way it's not very important at the start.

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

#23

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

Out of curiosity, how long using an IDE did it take you to get back to the productivity you had with Vim? Also what IDE is a good replacement for Vim?

(I tried a couple of times switching to Eclipse but was too frustrated so quickly got back to Vim)

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

#24

The number one thing I see in my students (I teach Scala, usually to already experienced developers) is they don't actively engage with the material. Write notes, or code up short examples, or draw pictures, or whatever works for you to actively think about what is being taught. This corresponds to "Write down what you learn" and "Build shitty stuff that works" in the linked article. Bike shedding IDE or editors is a…

> they don't actively engage with the material. Write notes, or code up short examples, or draw pictures,

Do you lecture? I'm an intense scribbler of notes during lectures, but I don't (wouldn't) code up examples during a lecture, because it would get in the way of my listening.

I guess I'm asking: what is your knowledge delivery system format? "Actively engaged" will take different forms depending on the delivery system...

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

#25
post #12

I'd just buy the book on the subject and leverage their respective web docs instead of watching lengthy videos of people talking about the thing. Looking back at it, I regret not investing in quality books rather than some online subscription.

I have generally always learned from books. Today's increased use of videos helps with high level explanations, but video can't keep up with changes as quickly as text can.

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

#26

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 use IntelliJ for certain tasks because I don't know Java as well as I should. It certainly makes me more effective as a guy who doesn't know Java very well!

I traditionally used vi for C coding (mostly for embedded systems in parallel with assembly, and then later on Vaxxen, and then Sun machines, and later Linux and embedded systems again). Part of the effect was "time-in-tool", but I certainly know C a lot better than I will every know Java.

I guess I would posit that I find the IDE invaluable to get up-and-going with a new language (and complex ecosystem of packages), I find out that I plateau out (learning-wise) at a lower level.

IF Java didn't have so much boiler-plate (esp. on Android), I'd probably have tossed it by now. But it does, so I haven't. I'm probably getting old and lazy and accepting my degraded knowledge set as a necessary cost...

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

#27

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

Out of curiosity, how long using an IDE did it take you to get back to the productivity you had with Vim? Also what IDE is a good replacement for Vim? (I tried a couple of times switching to Eclipse but was too frustrated so quickly got back to Vim)

[deleted]

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

#28
post #24

The number one thing I see in my students (I teach Scala, usually to already experienced developers) is they don't actively engage with the material. Write notes, or code up short examples, or draw pictures, or whatever works for you to actively think about what is being taught. This corresponds to "Write down what you learn" and "Build shitty stuff that works" in the linked article. Bike shedding IDE or editors is a…

> they don't actively engage with the material. Write notes, or code up short examples, or draw pictures, Do you lecture? I'm an intense scribbler of notes during lectures, but I don't (wouldn't) code up examples during a lecture, because it would get in the way of my listening. I guess I'm asking: what is your knowledge delivery system format? "Actively engaged" will take different forms depending on the delivery sy…

It varies. Several years ago it was lectures interspersed with exercises. Now we know a lot more about pedagogy we use many tricks: we live code, we get students to vote on questions, we have them work in teams and teach each other, etc. Live coding is a good time to code along.

I agree that what actively engaged means will differ depending on student and context.

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

#29
I wouldn't. I'd learn a trade. Not to be facetious, I'm serious. I love programming. I never played video games, I spent my free time learning basic and then assembler in the late 80's. At the time, I was custom cabinet maker. I eventually become allergic to the 'smell' in oak, causing health problems. I had to give it up. I was busy 8 hours a day. I made decent money. Theirs a certain satisfaction at the end of the day and being able to point at something physical and say 'A good days work'. I began contract programming and eventually into full time employment.

Flash forward about 30 years. I'm still writing code professionally. I rarely write code for just enjoyment anymore. Those carpenters, cabinet makers, plumbers, electricians.. .trades people, make the same or more than I do. Their unionized. They can work practically anywhere and make the same amount of money. Not just in major cities. It doesn't see many radical shifts in technologies, unlike programming that is a life long learning because of advancing tech. Its VERY likely you will find your skill set obsolete without a real concerted effort of constantly upgrading. I wont even get into the culture which IMO is fostered by those writing the cheques and even your peers. Nor the moral issues that you will inevitably face - something few programmers ever talk about. It's a real kick in the happiness meter when something you write is designed solely to put many people out of work.

My opinion, my real opinion, is that if you find yourself writing code 'for fun' even if you don't know what your doing, pursue it. If your only in it for the career. Turn and run like hell. You'll be burnt out in 5 years and starting over.

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

#30

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?

Personally, I think IDEs are better for working but text editors are better for learning. If I'm using an IDE and need to call some method, I press press ctrl-space and more or less guess at which of the options is right. If I'm using a text editor and need to call some method, I go read the docs to figure out what the right method is. The latter is both slower and better for learning.
Post reply on HN