Live data from Hacker News

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

reddit.com

51–60 of 85 posts

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

#51
post #24

Earlier quoted context omitted.

> 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.

I've always hated team work in uni as a humanities student. And I'm not even an introvert type. It's always childish and boring, and makes me detach from the class, if not the entire lesson itself. If it's team work, please make it sth. substantial that inherently requires teamwork.

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

#52
post #50

Earlier quoted context omitted.

Try IntelliJ if you want something that works with a lot of languages and handles all of them really well.

Indeed, I use PyCharm as one of my IDEs. I may try CLion for embedded C/C++, but this is still restricted to ARM basically (and CLion supports CMake only, which is the least bad of the C/C++ build systems in common use, but still this is the kind of baggage that comes with an IDE which is not a problem with 'UNIX as IDE').

I think if you have IntelliJ Ultimate it combines the features of the various IntelliJ spin-offs.

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

#53

Earlier quoted context omitted.

What inferior text manipulation capabilities?

I've always found basic text manipulation lacking in the GUI apps I've used. "Make this comment fit in 100 columns without losing paragraphs" "move the next line up to the end of this line" "go to line 647" "move the cursor to the beginning of this method" etc. My knowledge dates from the "one keystroke to convert this to a JavaBean!" era, though. I'm guessing people don't do that anymore.

I just have IntelliJ configured to use Emacs key bindings; vi ones are also available for people who use the wrong text editor.

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

#54

Earlier quoted context omitted.

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.

Vim keyboard bindings offer nowhere near the capabilities of a real Vim. They only offer the basics and never advanced vim features. Vim is so much more then just keybindings, it is more of a text manipulation language. There is only one exception to that and that is Emacs Evil mode. The other way around is much more likely: Vim plugins offer all those IDE features and integrate them seamless into vim and its way of…

I thought the same until recently and found the underlying java nonsense of an IDE to be slow, forever indexing. But due to work I had to use an IDE. Much to my surprise it was not slow. Plus I learn from it. I like the code errors showing and I like learning new things from the auto complete. I also like the plugins for database and Redis stores. Plus debugging is great. Give it a go and avoid modding down those that wish to share their experiences!

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

#55
post #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.

videos where I can watch the developer coding are the best for my style of learning. really sticks seeing it executed rather than showing some powerpoint slides of high level diagrams and code snippets.

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

#56
post #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…

> 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. The dirty secret of turning your hobby into a career is that there exists a very real chance you will kill your hobby and passion for the craft. Unfortunately, one can only deal with some much half-assed code and coworkers before turning into a cynic who hates the craft. I almost wish…

The dirtier secret is that if you turn something you dislike into a career, you won't get even the small consolation of liking it, and all the other problems will not go away.

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

#57

Earlier quoted context omitted.

I've always found basic text manipulation lacking in the GUI apps I've used. "Make this comment fit in 100 columns without losing paragraphs" "move the next line up to the end of this line" "go to line 647" "move the cursor to the beginning of this method" etc. My knowledge dates from the "one keystroke to convert this to a JavaBean!" era, though. I'm guessing people don't do that anymore.

I just have IntelliJ configured to use Emacs key bindings; vi ones are also available for people who use the wrong text editor.

The default Emacs keybindings are nice, but do the semantics transfer (mark/point and associated manipulation functions), and can you write your own functions? I don't have a _ton_ of custom elisp functions for raw text manipulation, but the ones I have written are useful and I wouldn't just give those up for no reason.

There are also a lot of dumb keybindings in Emacs that should not be copied by anyone (looking at you, C-u - 1 M-z X to delete all characters backwards to the first X.).

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

#58

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?

An IDE gives you:

1 - Autocomplete and automatic code, those are the main benefit. Turns out that if your computer can write code for you there is something wrong with either your language or your code. Code generation is a bad replacement for code abstraction.

2 - On the fly error checking. Turns out that vi and emacs do that too.

3 - Coherent access to compiling and debugging tools. As long as you want to use the IDE tools and nothing better, at the price of loss of productivity every time you must reconfigure it, or share an environment with anybody.

4 - In place documentation. Again, vi and emacs do that just fine too.

If you are using a language that requires an IDE (that's a big language flaw, but most people don't get to choose), and wants to use a very standard and non-extensible toolset, go ahead and get that IDE. But the people disagreeing with you, it's not they that don't know something.

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

#59

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?

Want to try the best of both worlds?

Right now, you can experience ide-level autocompletion and type-checking in vim if you are working with typescript and have typescript-vim plugin.

Just do one decent sized software with typescript+vim. Even intellij ides seem like bloated and inefficient software after that.

PS: gvim is fine too. Easier copy to, and paste from clipboard.

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

#60
post #43

Earlier quoted context omitted.

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.

Interesting. If I had to work with a pair or a team, as an introvert, I would find myself subtly withdrawing from active participation. I like live-coding, and I like active-listening (the latter is absorbing, hoping to understand and the former is testing/verifying/correcting/practicing your understanding, but I like absorbing or total-immersion personal practice. Group exercises get in the way of that (for me - aga…

Yes, learning styles have been debunked.

The group work falls under the general rubric of "active learning". It's more structured and shorter (20 mins maybe) than the kind of project I was exposed to at school and University (which might have been 6 weeks long, for example.)

I can't comment on your particular situation, as I don't know enough context, but in general there is an incredible amount of research on effective teaching methods. I've only started to get into the field in the last few years and I'm far from an expert. Nonetheless, some suggestions: there will be a lot of topic specific research you should probably look at. In addition there is general research on pedagogy. A good starting point is probably https://visible-learning.org/hattie-ranking-influences-effec... This shows: different teaching techniques can have huge effects on outcomes, and there are a lot of different effective techniques you can incorporate. There is some nuance in the techniques so it's worth reading deeper on particular topics (and reading the dissenting opinions!)

Post reply on HN