Today and tomorrow, we’re getting a Perl Guru to come in and teach a boot camp on Perl (the main programming language we use at FreeCause.)
I’ve only really heard two things about him:
1) He’s created packages that are actually distributed with the Perl programming language now.
2) He sweats unapologetically.
The first step in his boot camp is a “programming test” which is not really a knowledge test as much as it is a series of questions he uses to expand how you think about programming. I’m not sure how effective this was while just answering the questions, but the first thing today will be a discussion of everyone’s answers. I think that’ll be more eye opening.
At any rate, time to get to work! But for fun, the questions are included below, with my answers:
what is a computer?
A machine that can compute things
what is code?
A set of instructions that tell the computer what to do
what is a program?
One cohesive chunk of code that can be run as a whole
what is programming?
The act (art?) of creating programs
what is a programmer?
One who programs
A set of rules and syntax by which a programmer programs a program
what is a script?
Can also be a program, but is often smaller, with minimal GUI elements, and is usually interpreted rather than compiled directly into machine language
what is a compiler?
A program that changes what a programmer programmed into what a computer computes
what is an interpreter?
A program that performs the actions programmed without compiling into machine language
A program that provides a common “machine” language, to remove the need to compile for each possible “real” machines your program would run on
why is programming easy?
Like learning any country’s language, getting by only takes a week or so of practice.
why is programming hard?
If you want to be a lawyer in that language, that’s a whole other story.
The person who will be using it.
The interface and help
messages into the future – documenting the code for someone else to understand later. (preventing code-rot)
what is the opposite of spaghetti code?