Browse Source

New Chapter: Languages are more than syntax

master
Julio Biason 5 years ago
parent
commit
6188d9432b
  1. 4
      content/books/things-i-learnt/_index.md
  2. 2
      content/books/things-i-learnt/interface-changes/index.md
  3. 42
      content/books/things-i-learnt/languages-are-more/index.md

4
content/books/things-i-learnt/_index.md

@ -18,7 +18,7 @@ template = "section-contentless.html"
* [Tests Make Better APIs](tests-apis)
* [Make Tests That You Know How To Run On The Command Line](tests-in-the-command-line)
* [Good Languages Come With Tests](languages-tests)
* Documentating your code
* Documenting your code
* [Documentation Is A Love Letter To Your Future Self](document-it)
* [The Function Documentation Is Its Contract](document-is-contract)
* [If A Function Description Includes An "And", It's Wrong](document-and)
@ -28,3 +28,5 @@ template = "section-contentless.html"
* [Future Thinking Is Future Trashing](future-trashing)
* [Don't Use Booleans As Parameters](boolean-parameters)
* [Beware of Interface Changes](interface-changes)
* Community/Teams
* [A Language Is Much More Than A Language](languages-are-more)

2
content/books/things-i-learnt/interface-changes/index.md

@ -32,4 +32,4 @@ you can finally kill the original function.
function as deprecated and _add a sleep at the start of the function_, in a
way that people using the old function are forced to update.)
{{ chapters(prev_chapter_link="/books/things-i-learnt/boolean-parameters", prev_chapter_title="Don't Use Booleans As Parameters") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/boolean-parameters", prev_chapter_title="Don't Use Booleans As Parameters", next_chapter_link="/books/things-i-learnt/languages-are-more", next_chapter_title="A Language Is Much More Than A Language") }}

42
content/books/things-i-learnt/languages-are-more/index.md

@ -0,0 +1,42 @@
+++
title = "Things I Learnt The Hard Way - A Language Is Much More Than A Language"
date = 2019-06-24
[taxonomies]
tags = ["en-au", "books", "things i learnt", "languages", "community", "ecosystem"]
+++
Picking a programming language is much more than just picking the words that
will generate a code. They come with a community, a leadership, an ecosystem
and a thread the binds them all together.
<!-- more -->
Programming languages, in essence, are simply a bunch of keywords that make
things "go". But besides those keywords, they also bring their community, the
way the leaders deal with the community, the tools created by the leaders or
community to deal with the minutiae of creating a system, the way those tools
interact with each other.
While a language may have a simple syntax, it may be that the ones controlling
the language actually don't give two shits -- if you pardon my French -- to
the community. They focus on solving _their_ problems, not the community
problems.
Or maybe the community has duplicate tools -- which is not a problem -- but
that developers of each tool don't talk to each other. Or worse: They simply
refuse to look what other tools are doing, which could be used to improve
their own.
And maybe that third language is not as simple as others, but the leadership
is always discussing things with the community, being transparent on their
decision, allowing the community to discuss the future of the language and
even different groups building tools decided to merge efforts to give the
community better tools.
That's why you can't "pick" a language by its syntax alone. That's only the
surface of what the whole of a language encapsulates and if you ignore the
other elements in it, you may find yourself with a cute language in a
community that is always fighting and never going forward.
{{ chapters(prev_chapter_link="/books/things-i-learnt/interface-changes", prev_chapter_title="Beware of Interface Changes") }}
Loading…
Cancel
Save