Skip to content

Commit 51430bc

Browse files
committed
Update 03-Choosing Languages.md
1 parent 997e85f commit 51430bc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

3-Advanced/Technical-Judgment/03-Choosing Languages.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ The solitary programmer that loves his work (a hacker) can choose the best langu
44

55
But of course, things are never one-dimensional. Even if a core language is mandated and beyond your control, it is often the case that tools and other programs can and should be written in a different language. If a language is to be embedded (and you should always consider it!) the choice of language will depend a lot on the culture of the users. One should take advantage of this to serve your company or project by using the best language for the job, and in so doing make work more interesting.
66

7-
Programming languages should really be called notations in that learning one is not at all as difficult as learning a natural language. To beginners and to some outsiders ``learning a new language'' seems a daunting task; but after you have three under your belt it's really just a question of becoming familiar with the available libraries. One tends to think of a large system that has components in three or four languages as a messy hodgepodge; but I argue that such a system is in many cases stronger than a one-language system in several ways:
7+
Programming languages should really be called notations in that learning one is not at all as difficult as learning a natural language. To beginners and to some outsiders 'learning a new language' seems a daunting task; but after you have three under your belt it's really just a question of becoming familiar with the available libraries. One tends to think of a large system that has components in three or four languages as a messy hodgepodge; but I argue that such a system is in many cases stronger than a one-language system in several ways:
88

99
- There is necessarily loose coupling between the components that are written in different notations (though maybe not clean interfaces),
1010
- You can evolve to a new language/platform easily by rewriting each component individually,
1111
- Its possible that some of the modules are actually up-to-date.
1212

1313
Some of these effects may only be psychological; but psychology matters. In the end the costs of language tyranny outweigh any advantage that it provides.
1414

15-
Next [Compromising Wisely - How to Fight a Schedule Pressure](../Compromising-Wisely/01-How to Fight Schedule Pressure.md)
15+
Next [Compromising Wisely - How to Fight a Schedule Pressure](../Compromising-Wisely/01-How to Fight Schedule Pressure.md)

0 commit comments

Comments
 (0)