You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
5.8 KiB
139 lines
5.8 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
|
|
<!-- Enable responsiveness on mobile devices--> |
|
<!-- viewport-fit=cover is to support iPhone X rounded corners and notch in landscape--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover"> |
|
|
|
<title>Julio Biason .Me 4.3</title> |
|
|
|
<!-- CSS --> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/print.css" media="print"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/poole.css"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/hyde.css"> |
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"> |
|
|
|
|
|
|
|
|
|
|
|
</head> |
|
|
|
<body class=" "> |
|
|
|
<div class="sidebar"> |
|
<div class="container sidebar-sticky"> |
|
<div class="sidebar-about"> |
|
|
|
<a href="https://blog.juliobiason.me"><h1>Julio Biason .Me 4.3</h1></a> |
|
|
|
<p class="lead">Old school dev living in a 2.0 dev world</p> |
|
|
|
|
|
</div> |
|
|
|
<ul class="sidebar-nav"> |
|
|
|
|
|
<li class="sidebar-nav-item"><a href="/">English</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt">Português</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/tags">Tags (EN)</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt/tags">Tags (PT)</a></li> |
|
|
|
|
|
</ul> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="content container"> |
|
|
|
<div class="post"> |
|
<h1 class="post-title">Things I Learnt The Hard Way - A Language Is Much More Than A Language</h1> |
|
<span class="post-date"> |
|
2019-06-24 |
|
|
|
<a href="https://blog.juliobiason.me/tags/books/">#books</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/things-i-learnt/">#things i learnt</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/languages/">#languages</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/community/">#community</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/ecosystem/">#ecosystem</a> |
|
|
|
</span> |
|
<p>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.</p> |
|
<span id="continue-reading"></span> |
|
<p>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, and a lot more.</p> |
|
<p>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 <em>their</em> problems, not the community |
|
problems<sup class="footnote-reference"><a href="#1">1</a></sup>.</p> |
|
<p>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<sup class="footnote-reference"><a href="#2">2</a></sup>.</p> |
|
<p>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.</p> |
|
<p>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.</p> |
|
<p>And picking a language for something <em>above</em> the syntax is even worse.</p> |
|
<div class="footnote-definition" id="1"><sup class="footnote-definition-label">1</sup> |
|
<p>Yes, this is common, even in larger communities. And yes, I've seen the |
|
leadership ignoring requests from the community and, sometimes, just |
|
ignoring all the hard work the community did to supply the missing bits |
|
because they didn't like it. |
|
<sup class="footnote-reference"><a href="#2">2</a></sup>: Again, I've seen this before: There was a language that didn't come with |
|
a build tool bundled. The community created a tool, which was widely |
|
adopted. Later, a new build tool appeared and, in one of the notes, the |
|
author of the new tool mentioned a feature. The community came and asked |
|
"The previous build tool did something like that, what's the difference |
|
between that and your tool?" And the answer was "I never used the first |
|
tool." So, basically, the community ignored whatever the community was |
|
using.</p> |
|
</div> |
|
<div> |
|
|
|
<div style="float:left"> |
|
<< <a href="/books/things-i-learnt/monitoring">Learn To Monitor</a> |
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div style="float:right"> |
|
<a href="/books/things-i-learnt/outside-project">Don't Mess With Things Outside Your Project</a> >> |
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|