Live data from Hacker News

Learn the Command Line

codecademy.com

81–90 of 110 posts

Re: Learn the Command Line

#81
post #68

Not a fan of CodeCademy. Other than the obvious (look who's backing them) though unacknowledged objective of flooding the market with low-quality devs to suppress wages, I've seen too many complaints from users to the effect of "I completed all of the exercises, but I feel like I haven't really learned anything." Too much hand-holding. A good book, a comprehensive tutorial, or even just reading the documentation stil…

tl;dr "omg I'm scared of new people learning how to program because it threatens my job. I learned the hard way looking through old textbooks and new entrants shouldn't get to use a nice new service to learn because I didn't have that available to me when I started!"

That's a really naive assessment of his comment. I share a similar sentiment as the OP here, programming (not coding) is hard. A lot of us get paid well to solve complex problems for clients who expect us to do the job right. Institutions like codecademy, and other "learn to code" incentives make it seem like you can just knock some achievements off a list and bang, you're on the way to being a programmer!

Having spent a lot of time around industry vets and people who started doing this stuff in the 80s, these "nice new services" aren't all they're cracked up to be. The freelance coder market is becoming an annoying thing for the reputation of programmers, consultants and companies who know their shit, and do a great job for their paying customers.

Re: Learn the Command Line

#82
post #68

Not a fan of CodeCademy. Other than the obvious (look who's backing them) though unacknowledged objective of flooding the market with low-quality devs to suppress wages, I've seen too many complaints from users to the effect of "I completed all of the exercises, but I feel like I haven't really learned anything." Too much hand-holding. A good book, a comprehensive tutorial, or even just reading the documentation stil…

tl;dr "omg I'm scared of new people learning how to program because it threatens my job. I learned the hard way looking through old textbooks and new entrants shouldn't get to use a nice new service to learn because I didn't have that available to me when I started!"

Also, as I stated in my post, I don't think CodeCademy actually works that well at all, so your suggestion that I'm envious of new people because they have access to CC when starting out while I didn't is groundless. I tried one of their courses two years ago and found it extremely shallow. If someone asked me today how to learn JavaScript, I would probably direct them to Mozilla's tutorial or to the Rhino book and wouldn't even mention CC.

The glut of free programming books and tutorials on the internet along with open source operating systems and development tools and the Stack Overflow and other Stack Exchange websites have collectively done much more programming and CS education than CC has done and likely ever will do.

Re: Learn the Command Line

#83

If you're interested in more, I recently wrote a short book about learning Bash scripting: https://gumroad.com/l/datascience In the book, I use "adventures" to demonstrate Bash concepts, where I guide the reader through using the command line to answer questions such as: What's the average tip of a NYC cab driver? Is there a correlation between a country's GDP and life expectancy? etc

dude... was totally going to plug your book here :)

Re: Learn the Command Line

#84
post #79
post #69

Earlier quoted context omitted.

Just putting this out there - as a teacher, I have seen the importance of repetition. My students would benefit from the repetition at the end of this. Whether they know they'd benefit or not. Like scales on a piano.

I believe in good repetition. But what is good repetition? Nano on a dot file 5 times? For the command line it should involve commands that will save people time. Teach them: 1. how to use find and grep, and other commonly used commands. 2. introducing them to vi and explaining why people use it (instead of nano) 3. user configuration with a brief on the FS structure (what is in etc, usr, opt, etc...) 4. lastly, but…

Sorry, but your second item, using vi has nothing really to do with learning the command line. You just prefer vi as editor and didn't like them choosing nano. Quite a few don't use Vi but use the command line. Don't turn this into a discussion about why Vi is the better editor.

Re: Learn the Command Line

#85
post #71

Not a fan of CodeCademy. Other than the obvious (look who's backing them) though unacknowledged objective of flooding the market with low-quality devs to suppress wages, I've seen too many complaints from users to the effect of "I completed all of the exercises, but I feel like I haven't really learned anything." Too much hand-holding. A good book, a comprehensive tutorial, or even just reading the documentation stil…

> Other than the obvious (look who's backing them) O'Reilly and a bunch of VC firms? That's all I could find on their website.

http://www.wired.com/2014/11/reskillusa/

"Coding education has taken off in recent years, driven by reports that the demand for quality programmers in America is drastically outpacing the supply. So everyone from the White House to Google has jumped on the coding bandwagon"

Funny, when demand outpaces supply, aren't prices supposed to rise?

Re: Learn the Command Line

#86
post #69
post #14

I finished it last night and wrote a "review" in a mailing list, so I'm just gonna copy that "review" I sent last night if anyone's trying to figure out whether or not they should take this course: I just finished it. It took me less than half an hour. It was OK until I finished the 75% of the course. The last 25% were pretty repetitive: use nano to edit your bash config (they used .bash_profile as a config file), ty…

Just putting this out there - as a teacher, I have seen the importance of repetition. My students would benefit from the repetition at the end of this. Whether they know they'd benefit or not. Like scales on a piano.

The very reason that I became interested in programming is the ability to eliminate repetition. Instead of solving math problems, I could make a calculator program. Instead of typing something out many times, the computer would do it for me. Type once, run forever. That was an amazing revalation.

If I had learned programming through mindless repetition, through typing the same thing over and over again (As codecademy has students doing here), I would have quit early on.

Instead, I learned through solving problems. Diverse problems forced me to apply my newfound bits and pieces of knowledge in different ways. I always focused on eliminating repetition whenever I could. I had no interest in typing a lot.

There are different kinds of repetition. Practicing the elimination of repetition is the best repetition there is.

Finally, of all the computer-related tools out there, the command line is perhaps the best at aiding users in the elimination of repetition. With the ease of adding new commands, with programs like vi and cron at one's fingertips, there is so much even a beginning user can do to start eliminating his/her repetition. So to TEACH this tool as one of mindless typing is utterly abominable.

Re: Learn the Command Line

#87
post #61
post #44

Earlier quoted context omitted.

I can often navigate to a file in a GUI faster than I can "cd users/Nadya/documents/work/2015/08/24/important/file.txt" [0] Or I could open up my GUI, click "work" from my side nav selections and navigate through 2015/08/24/important/ and click my file to open it. I can even open two directories and ^x^v into another directory. Or drag/drop to move. Rather than "mv file.txt ../../25/file.txt" I think it's important t…

I don't think speed is the best argument pro the command line. If you're used to and proficient in a gui or cli, then it's going to feel like you're getting more done in your familiar environment. To me the killer argument for cli is composability, combined with the cli history. Most of us do a lot of things repeatedly, day in day out. For example I have to download one of the last files from an ftp server, open it,…

> I think I'd be hard pressed to do that from a gui. for one, I don't think there's a gui history. And how do you chain gui commands together? And then alter them with parameters?

Some automation tool like (osx) Keyboard Maestro is pretty good for these kinds of things. Just started playing with it the last couple of weeks but it is very powerful.

I use CLI automation as well quite a lot.

Re: Learn the Command Line

#88
post #16

What do people think about wrapping a Natural Language Processing interface around the command line (for educational purposes)? For example: "Show me all of my files, including my hidden ones" --> "ls -a". Good idea or not?

Just from the perspective of mapping sentence meanings to bash commands, that's a difficult thing to do. But going beyond that, I think there are issues having to do with the ambiguity of language that just aren't solvable, period. Take your example: "Show me all my files, including my hidden ones". That, to me, should show all the files on the entire system where I am the owner. Even as someone who ostensibly knows…

I think there are issues having to do with the ambiguity of language that just aren't solvable, period.

This, absolutely. Once you've used a programming language enough, you'll find that natural languages are disturbingly ambiguous; it only works (most of the time, at least) for communicating with other humans because of implied context.

Re: Learn the Command Line

#89
Annoying that the URL is using several tracking parameters:

?utm_campaign=lcl_release&utm_source=hackernews

Can't you just read your server logs, people?

Re: Learn the Command Line

#90
post #2

Do you really have to create an account to even see the first exercise? How times have changed at CodeCademy.

We teach things like bash by assigning each user to a virtualized Linux server. That gets really expensive and hard to manage when you give one to every anonymous user who hits the site (especially when our courses pop up on sites like HN). With that said, I have been wanting to change the UI to be less intrusive, so you can better see what you're signing up for.

You should look at ISLET. It's designed for this exact sort of thing.

https://github.com/jonschipp/islet

Post reply on HN