"Nothing in the world can take the place of persistence Talent: nothing is more common than unsuccessful talented men Genius: unrewarded genius is almost a proverb Education: the world is full of educated derelicts Persistence and determination alone are omnipotent"
Functional programming is a programming paradigm where programs are constructed by applying and composing functions. Functions are "first-class citizens" (treated like any other type) and can't have side-effects Lisp (1959) is the first functional programming language.
"Programs must be written for people to read, and only incidentally for machines to execute." - Harold Abelson
A program is a building of though The art of programming is the skill of controlling complexity.
"Test doubles are objects that replace real dependencies to enable automated testing. They are the automated testing equivalent of movie stunt people: they take the place of the original since having the real one is expensive or impractical." Excellent analogy by @venkat_s
Interview tip Getting a hard question isn't bad You'll be compared to everyone who has had to solve that problem. If it's hard for you, chances are other candidates also found it hard.
4 Random coding tips Write useful comments Stay humble Don't be afraid to ask for help Keep practicing
"I went to school to learn how to program software applications, which inevitably have bug defects. There was no course at my university on testing, debugging, profiling, or optimization. These things you have to learn on your own, usually in a tight deadline." Juixe TechKnow
"Don't tell people how to do things, tell them what to do and let them surprise you with their results." - George S. Patton
"I am looking for: - a junior developer - with the experience of a senior developer - for the salary of an intern" -- The honest recruiter
The biggest lie in the programming world is that learning to code is hard.
Reminder for new programmers: I have years of programming experience. My colleagues have years of experience too. We end up Googling the most basic things every day.
Software developers like solving problems so much, that if there are no problems at hand, they will create their own problems.
If you think programming is hard, you're thinking too much. If you think programming is easy, you're thinking too little.
"It's hard enough to find an error in your code when you're looking for it. It's even harder when you've assumed your code is error-free." - Steve McConnell
The try/finally structure lets you run cleanup code even if exceptions were raised in the try block. The else block minimizes the amount of code in try blocks. It can be used to perform additional actions after a successful try.
Don't get attached to any particular language, framework or technology. They come and go. Focus on principles.