4 ms·
Title aside, what I really like about this article is the section that talks about teaching terminal and text editors. I've been learning to code over the last
by pjbrow 14y ago
Title aside, what I really like about this article is the section that talks about teaching terminal and text editors.
I've been learning to code over the last few months, and while I've got a reasonable handle on it now, by far the most difficult thing for me was understanding how the dev tools work together (terminal, git, virtualenv etc.)
There seems to be a tendency for coders to underestimate how steep the learning curve on dev environment is for noobs. I think there's also a reticence to deal with a fiddly topic that depends so much on the settings that the individual has on their computer.
The irony is, you HAVE to understand dev environments before you can actually make code do stuff. I know more than one person who's been turned off by how hard it was to get started.
I know that means they probably didn't have the commitment needed, but for those that do, setting up dev tools as a hazing process still isn't fun.
- endlessvoid94 14y agoI think dev tools, as a microcosm of human tools in general, are fascinating. I think if you zoom out a bit, it's clear the tools have plateau'd in their complexity and power -- that's not to say they aren't advanced or fucking awesome. But the pace of things seems to have slowed. Like you noted, a lot of the complexity comes from how the tools work together. There's version control, editing, code intelligence, test suites and test runners, different sorts of environments, and more. And every possible permutation and nuanced setup depending on the runtime you're using and depending on how opinionated and/or fickle the community is around whichever language you're using. Meta-problems of this kind are seldom discussed directly and are difficult to improve upon. I suspect things will get better slowly, and problems we have now will seem trivial and quaint in the future. EDIT: What heroku has done for the production environment, I want for the development environment.
- pjbrow 14y agoI like the idea in your Edit. If you manage that, you're on a winner. I'm not technically astute enough to have a serious opinion, but intuitively, it makes sense that a dev environment (particularly using tools like VIM and TMUX) isn't far away from what Heroku is already doing with virtual machines. People are always bunging on about how to develop using an iPad - that's clearly the way to do it. Don't agree on the plateau so far as dev tools are concerned. Would be surprised if you haven't come across Bret Victor's ideas (http://vimeo.com/36579366 http://vimeo.com/36579366). In my view, implementing those principles could really change how things are done. Can't wait to see what he comes up with over the next few years. As to solving the core problem for now: the only solution is to just be really opinionated so far as beginners are concerned. Reasonable minds can differ on textmate/vim etc, but just showing students how to setup one solid set of tools on windows or mac (and more importantly, explaining it) would be a hell of alot more than is already out there. :)