Questions About Languages Flashcards

1
Q

Tell me the 3 worst defects of your preferred language

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is there a rising interest in Functional Programming?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is a closure, and what is useful for? What’s in common between closures and classes?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are generics useful for?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are higher-order functions? What are they useful for? Write one, in your preferred language.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Write a loop, then transform it into a recursive function, using only immutable structures (i.e. avoid using variables). Discuss.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Show me an example where an anonymous function can be useful.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

There are a lot of different type 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 system for developing an enterprise software?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are namespaces useful for? Invent an alternative.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Talk about interoperability between Java and C# (in alternative, choose 2 other arbitrary languages)

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Why do many software engineers not like Java?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What makes a good language good and a bad language bad?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Write two functions, one referentially transparent and the other one referentially opaque. Discuss.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a stack and what is a heap? What’s a stack overflow?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Some languages, especially the ones that promote a functional approach, allow a technique called pattern matching. Do you know it? How is pattern matching different from switch clauses?

A
17
Q

Why do some languages have no exceptions by design? What are the pros and cons?

A
18
Q

If Cat is an Animal, is TakeCare<Cat> a TakeCare<Animal>?</Animal></Cat>

A
19
Q

In Java, C# and many other languages, why are constructors not part of the interface?

A
20
Q

In the last years there has been a lot of hype around Node.js. What’s your opinion on using a language that was initially conceived to run in the browser in the backend?

A
21
Q

Pretend you have a time machine and pretend that you have the opportunity to go to a particular point in time during Java’s (or C#, Python, Go or whatever) history, and talk with some of the JDK architects. What would you try to convince them of? Removing checked exceptions? Adding unsigned primitives? Adding multiple-inheritance?

A