Q1 – What is the difference between computer science and programming?
Computer scientist is like a physicist and programmer is like an engineer.
Q2 – What is programming?
Writing very specific instructions to a dumb, yet obedient machine.
Q3 – Why you shouldn’t interrupt a developer when he/she is in the zone?
Getting into the zone is like falling asleep. Imagine you are waking up a person who is close to falling asleep in few more seconds. Now he/she has to spend more time to fall back into sleep!
They are not related at all.
Q6 – What is the difference between a framework and library?
You call library. Framework calls you.
A library is a tool. A framework is a way of life.
Q7 – How many lines of code does an average software engineer write per day?
It’s impossible to tell. The number can even be negative, when developers are paying technical debts.
Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs.
Q8 – What is object-oriented programming?
Objects are nouns, methods are verbs.
Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low-level, you interact with them at a very high level of abstraction, like we’re doing right here.
Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”
You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level.
Q9 – What is an application program interface (API)?
At restaurants, you order food (call API) from the menu (APIs). Once your food is ready (API response is ready), the waiter will serve you the food.
The basic idea is: you ask for what you want and the system returns you a response, without exposing what’s happening behind the scene.
Q10 – What is the difference between SQL and NoSQL database?
NoSQL databases store information like you would recipes in a book. When you want to know how to make a cake, you go to that recipe, and all of the information about how to make that cake (ingredients, preparation, mixing, baking, finishing, etc.) are all on that one page.
SQL is like shopping for the ingredients for the recipe. In order to get all of your ingredients into your cart, you have to go to many different aisles to get each ingredient. When you are done shopping, your grocery cart will be full of all the ingredients you had to run around and collect.
Wouldn’t it be nicer if there was a store was organized by recipe, so you could go to one place in the store and grab everything you need from that one spot? Granted you’ll find ingredients like eggs in 50 different places, so there’s a bit of overhead when stocking the shelves, but from a consumer standpoint it was much easier/faster to find what they were looking for.