The power of compounding which comes from discipline is one of the most underrated concepts. There's one caveat to "keep at it for x years"; deliberate practice. You have to work towards being aware of gaps, identifying them and improving them. In addition, the amount of effort required to go from 0-40 is different from the one required to go from 50-70 or 80-95. The recognition and acceptance that a 100m sprint is d…
Learn linear algebra properly and this will ring true. If you know the math, it's trivial to pick up control, computer vision, back propagation, optimization, I'm sure many others.
Teach Yourself Programming in Ten Years (1998)
101–110 of 117 posts
Re: Teach Yourself Programming in Ten Years (1998)
#102Earlier quoted context omitted.
> I still need to find something good for arrays/ matrices R?
MATLAB, if you can get a license would likely be better. Name literally means "matrix lab". Has excellent matrix manipulation features.
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.
Re: Teach Yourself Programming in Ten Years (1998)
#103>> Learn at least a half dozen programming languages I'm always surprised by how many people disagree with this; they're on the search for that one language they can use for every task. Or even worse, they think they've found it and their search is over, that's a tragic situation given how spoiled we are for great languages today. Clojure (STM / refs, vars, atoms & agents), kdb/q (non-loopy array code), Rust (ownersh…
Well, this advice is from 1998 and still got some truth to it. In 1998 languages did not have that many features and were in my opinion easier to grasp. Just have a look at modern C++ or Java's cadence of new features. In 1998 Java and JavaScript were new. Now they evolved into widely adopted general purpose languages.
Your comment reminds me how much i miss dr dobbs journal. I learned so much on those pages.
Re: Teach Yourself Programming in Ten Years (1998)
#104Earlier quoted context omitted.
Ruby is a better Perl; it's closer to Perl than e.g. Python, it has fewer footguns but is also very expressive. It also has alternative quotes, backtick, shellescape etc. for ad hoc shell integration though you're better off learning IO.popen and others to take the shell out of the equation.
Subjectivity aside: the fact stands that Perl is the most ubiquitous scripting language on Unix and the de facto standard. You’ll find it by default on many container environments as well—but hell if you’ll find Ruby. ;)
I’m sure the Linux kernel community is still using it, but FreeBSD even managed to remove it from the base system.
It’s still ubiquitous… “standard”?
Re: Teach Yourself Programming in Ten Years (1998)
#105Re: Teach Yourself Programming in Ten Years (1998)
#106Earlier quoted context omitted.
I was one of those who disagreed with that, but then I was forced to learn several new languages for work. Now I agree with it wholeheartedly. my favs: -clojure for processing deeply nested data -rust for general stuff -java for concurrency support and general stuff -c for easy pointer manipulation and "tricks" -sql -bash for scripting (I'm that weirdo who would rather make a huge shell script rather than using pytho…
For arrays/matrices I'm falling back to Fortran. It has builtin support to matrix/vector multiplication (and other operations of course). There's no need to install other libraries, or to deal with virtualenvs, or package managers. Fortran is not that sold creepy thing from the 70s anymore, Fortran90 (and later) is pretty elegant IMO.
Re: Teach Yourself Programming in Ten Years (1998)
#107>> Learn at least a half dozen programming languages I'm always surprised by how many people disagree with this; they're on the search for that one language they can use for every task. Or even worse, they think they've found it and their search is over, that's a tragic situation given how spoiled we are for great languages today. Clojure (STM / refs, vars, atoms & agents), kdb/q (non-loopy array code), Rust (ownersh…
I’m surprised you don’t mention Perl in this list. It’s the de facto Unix scripting language and frankly more suitable to the task than others. Perl on the command line is beautifully concise; it’s easily embedded into CI/CD pipelines because the q, qq, etc escaped quotes; it has best-in-class regex support; calling external utilities equally concise with qx or back-ticks; etc etc. Personally I tend to favor C/C++ fo…
Re: Teach Yourself Programming in Ten Years (1998)
#108Earlier quoted context omitted.
> And, I would say that the number of jobs that require the mastery of the craft is not large. 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. Just apply the same reasoning to other areas: Would you want to drive in a bus with a bus driver who just barely got his driver's license? Would you want to use a bridge designed by a…
> 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…
Re: Teach Yourself Programming in Ten Years (1998)
#109Earlier 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.
They may benefit from it, but they won't pay more if it's not required. So if you expect more compensation for your mastery, you may get passed over for someone with less skill, but the required skill.
Re: Teach Yourself Programming in Ten Years (1998)
#110Earlier quoted context omitted.
Learn linear algebra properly and this will ring true. If you know the math, it's trivial to pick up control, computer vision, back propagation, optimization, I'm sure many others.
More like linear algebra, real analysis, and probability for the areas you listed.