Live data from Hacker News

Teach Yourself Programming in Ten Years (1998)

norvig.com

111–117 of 117 posts

Re: Teach Yourself Programming in Ten Years (1998)

#111
post #101

Earlier quoted context omitted.

More like linear algebra, real analysis, and probability for the areas you listed.

Statistics for sure. But i don't really find myself using analysis on a day to day basis

Gradients and convex analysis pop up in optimization. My understanding is controls uses analysis as well (at least for understanding theory).

Re: Teach Yourself Programming in Ten Years (1998)

#112
post #20

Earlier quoted context omitted.

> the number of jobs that require the mastery of the craft is not large The number of jobs that benefit from mastery of the craft is essentially equal to the number of jobs. I do not enjoy finding the work of a bunch of people that studied enough to get hired and no more.

> The number of jobs that benefit from mastery of the craft is essentially equal to the number of jobs. I think this is true. Nobody disputes that. Imagine you'd hire Torvalds to debug and fix why your Wordpress does not work. I truly think he'd do an excellent job figuring out that AWS has a firewall that's blocking the connection from your WP node to your MySQL node... Somehow, the example above feels bizarre and y…

Torvalds had trouble installing Debian, IIRC. Your wordpress scenario sounds more like basic IT / sysadmin stuff, which he likely never does himself. Same deal with Stallman (he gets others to set up his computers). These guys seem ultra-specialized to the point you could argue they don't know how to use a computer that well, even if they're fine programmers.

Re: Teach Yourself Programming in Ten Years (1998)

#113
post #34

The title is a bit misleading to me. 10 years is not to "teach yourself programming," it's to "become an expert in programming." Most people do not want to learn programming to become experts, most people want to learn programming to get a job. After getting a job, some will plateau right away, others will plateau after some time, and others still will keep learning even after years and years. The problem is "how lon…

Agreed. I can teach my 12 year old cousin how to program in half an hour. This isn't about simply knowing the basic starting point. It's about becoming an expert.

In this case, what does it mean to know how to program? Assuming you succeed in teaching your cousin, what did they do, or what can they now do? I would not say "hello world" is enough, but I don't know where I'd draw the line. It's easy to go through a tutorial and still not be able to actually do anything, I think.

Re: Teach Yourself Programming in Ten Years (1998)

#114
post #108
post #99

Earlier quoted context omitted.

> This mindset is how we end up with layers upon layers of badly designed and buggy software that underpins almost every aspect of modern life. No, it’s not. Changing requirements by adding features is by far the biggest cause of badly designed and buggy software. I’ve worked on multiple teams where everyone was fully committed and highly skilled, and it didn’t magically fix the problems of software. It wasn’t any be…

I would even say that good code is not always in a businesses best interests. The business needs to change quickly and cheaply. So they rack up technical debt. Often getting away with it for decades. The developers suffer through it but the CEOs walk away with more money in their pockets.

> good code is not always in a businesses best interests.

You nailed it exactly. High quality engineering requires costly business practices that most companies don’t need, so the tradeoff is easy to decide. This is why organizations that do high quality engineering are well funded and are very restrictive about what kinds of programming features are allowed. NASA published a famous essay about how to write safety critical code that disallows use of dynamic memory allocation. https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Dev...

Re: Teach Yourself Programming in Ten Years (1998)

#115

Earlier quoted context omitted.

MATLAB, if you can get a license would likely be better. Name literally means "matrix lab". Has excellent matrix manipulation features.

And Octave( https://www.gnu.org/software/octave/index ) if you can't get a license. I actually had one hectic weekend porting our whole departments MATLAB code over to Octave due to a hardware failure of our licensing server and some stonewalling from Mathworks, Octave is pretty close to fully MATLAB compatible.

Worth a mention, but it's not comparable in terms of feature set and execution time, sadly. I'd love someone to come along and make a MATLAB (Modern Fortran) knockoff that kills MATLAB.

Re: Teach Yourself Programming in Ten Years (1998)

#116

Earlier quoted context omitted.

I'd be curious to hear some examples where JS doesn't fit as a general purpose language. In my arrogance I suspect it would be hard to give examples that don't also disqualify other scripting langs like python and ruby. Perhaps you don't consider those to be general purpose either?

For example, without something like Node, you cannot even open a file. I consider this a very basic requirement for being "general purpose".

it sounds to me like you're talking about a particular implementation (the browser) not the language itself. The browser intentionally has that limitation. The language itself has no problem with it.

Re: Teach Yourself Programming in Ten Years (1998)

#117
post #79

Earlier quoted context omitted.

I would say it is. It didn't start as one but over the decades it sure has become a general purpose language. I can't find a domain where JS wouldn't fit the description. While it may be a bad fit for certain problems, it can still be done.

Safety-critical controller for manned or unmanned aircraft, ground vehicles, etc. High frequency trading. Tiny embedded devices. System libraries. I’m sure I could come up with more. JavaScript is a tool, just like c, go, rust, python, lisps, etc. I’m going to give you the benefit of the doubt and hope you just didn’t consider all of these other domains when you made this comment. Cheers!

The domains you listed are not really disproving my point. I'm certain that programs could be made in JavaScript for these domains but, like I said in my first comment, it's probably a bad fit.

For example: Espruino is a platform for embedded JavaScript.

I just think about it this way: Just because you wouldn't doesn't mean you couldn't

Post reply on HN