Languages Flashcards
3 worst defects:
Tell me the 3 worst defects of your preferred language.
Functional Programming:
Why is there a rising interest in Functional Programming?
Closures:
What is a closure, and what is its usefulness? What’s in common between closures and classes?
Generics:
What are generics useful for?
High-Order Functions:
What are higher-order functions? What are they useful for? Write one, in your preferred language.
Loops and Recursion:
Write a loop, then transform it into a recursive function, using only immutable structures (i.e. avoid using variables). Discuss.
Functions as First-Class Citizens:
What does it mean when a language treats functions as first-class citizens?
Why is it important that in a language functions are first-class citizens?
Anonymous Functions:
Show me an example where an anonymous function can be useful.
Static and Dynamic typing:
There are a lot of different types of systems. Let’s talk about static and dynamic type systems and about strong and weak ones. You surely have an opinion and a preference about this topic. Would you like to share them, and discuss why and when would you promote one particular type of system for developing an enterprise software?
Namespaces:
What are namespaces useful for? Invent an alternative.
Language Interoperability:
Talk about interoperability between Java and C# (in the alternative, choose 2 other arbitrary languages)
Hate of Java:
Why do many software engineers not like Java?
Good and Bad Languages:
What makes a good language good and a bad language bad?
Referential Transparency:
Write two functions, one referentially transparent and the other one referentially opaque. Discuss.
Stack and Heap:
What is a stack and what is a heap? What’s a stack overflow?