Monday, 10 December 2012

Can you teach me to be a hacker? 2.0


In version 1.0 I talked generally: Learn languages; use them; GOTO :

Here I want to plant my flag. Learn BASH C/C++ python postgres lisp and LFS.

(Oh no, not another arbitrary list from another hacker?) Well not quite. I should clarify that I'm a Perl and C++ hacker. I've been a sysadmin and a netadmin, (I loves me some Foundry/Juniper.) I'm not saying that you should not learn perl, but python is going to replace both perl and ruby in the next few years. (What? How can you defend that statement? Time.)

Why is BASH on my list? Why is it BASH and not Bash, (or BaSH?) Because I feel that BASH can teach you everything that I learnt from BASIC, but can also teach you about functions.

LFS? What is that? Linux From Scratch - find it. Do it. I was using Slackware back in 1998 so LFS wasn't a huge leap for me. Those that have only every used CrunchBang or CentOS are in for a surprise. For me LFS was something to do or try. I live on CrunchBang and my servers are CentOS.

Lisp? Isn't that a teaching language? Yes! Yes it is - and though you don't know it, you need to get taught. As the great Ludwig Wittgenstein said, "The Limits of my language are the limits of my world."
Each language has a number of operators, (e.g. + - * /) that you are going to use and were created by the author of the language; even with ASCII there is a limit to the number of operators. With lisp there isn't a limit. That is just part of the story, but when you really understand and find yourself quietly mouthing, "No limits?" Then you have learnt something. (In practicality you can get far with just 50, which is why perl and C++ work for me.)

If you advocate Lisp why C/C++? C is the Latin for most modern languages. (I can hear your indignation from here! No not you, I know you agree with me, I'm talking about that other guy.)

What postgres? That isn't a language? No, strictly it is a database project, but if you get used to it then mySQL, SQLite and any lesser system will not be a problem.

Why isn't $your_language on the list? Because it is rubbish. If you want to get paid for sitting at a desk poking at keys then sure - learn some Microsoft or Oracle stuff; but if you want to actually get things done then Lean perl.

No comments:

Post a Comment

About this blog

Sort of a test blog... until it isn't