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.
143 lines
6.6 KiB
143 lines
6.6 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">Python Losing the 2nd Place on Loved Languages: A Thought</h1> |
|
<span class="post-date"> |
|
2020-06-09 |
|
|
|
<a href="https://blog.juliobiason.me/tags/python/">#python</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/typescript/">#typescript</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/stackoverflow/">#stackoverflow</a> |
|
|
|
<a href="https://blog.juliobiason.me/tags/survey/">#survey</a> |
|
|
|
</span> |
|
<p>On this year StackOverflow Survey, Python lost its 2nd place in the "Most |
|
Loved Languages" ranking to TypeScript. On our Python group, people started |
|
wondering why. And I just thought it would be nice to post my thoughts on |
|
the situation.</p> |
|
<span id="continue-reading"></span> |
|
<p>Before anything, I may have do make a disclaimer saying that I do love Python, |
|
and I think it is a great language 'cause it is very concise but also very |
|
expressive. I don't think any other language get close to Python in doing |
|
those points so well.</p> |
|
<p>Disclaimer done, let me explain why I think Python lost its second place in |
|
the hearts of developers.</p> |
|
<h2 id="types">Types</h2> |
|
<p>One of the first thoughts one can think when we talk about "losing a |
|
position" in any rank is "because it got worse". But I really don't think this |
|
is what happened here, and what actually happened is that TypeScript shown |
|
developers something better.</p> |
|
<p>TypeScript is aimed to JavaScript development, a zone where anything goes, |
|
types are very flexible and magical -- to the point what most of things |
|
actually produce a <a href="https://www.destroyallsoftware.com/talks/wat">Wat</a>. By |
|
using types, making sure you're not adding a string to an array, a lot of |
|
problems suddenly disappear. It is no silver bullet, but it prevents a whole |
|
class of issues that would popup in production.</p> |
|
<p>So, in an environment that chaotic things happen, suddenly you have something |
|
that puts order back and you gotta love it for that. Surely, it's not just |
|
types that make TypeScript more loved than JavaScript, but it is partially |
|
why.</p> |
|
<p>(Just to add to this point: Rust is still the most loved language 5 years in a |
|
row, and it uses some pretty strong typing, close do Haskell, with added |
|
syntax closer to what most languages use.)</p> |
|
<p>I still believe that, in the long run, type hinting can fill the gap for |
|
Python to reach the proper position. I'd love to use it to add hinting in all |
|
functions and then have something that I could set the level of checking on |
|
different environments: make the application crash if the function was called |
|
with the wrong types on development environment; just log (logging or stderr) |
|
on staging; and do absolutely nothing on production. That would allow me to |
|
use the best of both worlds: Dynamic when developing, but static when testing.</p> |
|
<h2 id="python-2-is-dead">Python 2 is dead</h2> |
|
<p>One of the things that happened to Python in the beginning of this year, when |
|
the survey was done, was that Python 2 became unsupported. Surely, that |
|
doesn't mean any Python 2 installation would stop working, but it gave an |
|
extra jump to porting things to Python 3.</p> |
|
<p>And, even with all the backporting and improvements in Python 3, it was not a |
|
smooth sail. That change, that forced change, may have let some Python devs |
|
with some bitter taste about the language. No one wants to just fix changes in |
|
the language, when the way things work must still work, quirks and all.</p> |
|
<h2 id="hype">Hype</h2> |
|
<p>Python is not a hyped language anymore.</p> |
|
<p>Sure, it is still a reference for machine learning and related fields, but the |
|
once thriving environment of web dev was taking by the hype of other |
|
languages.</p> |
|
<p>Python is not the hot stuff on web dev anymore. And because it is not the hot |
|
stuff, people don't <em>want</em> the old stuff; the old stuff is not cool anymore, |
|
so they don't like it anymore.</p> |
|
<p>Related: Just because something has hype, it doesn't mean it is <em>better</em>; it |
|
just makes the non-hyped stuff "not better", even if there was no change at |
|
all in the latest.</p> |
|
<h2 id="side-point">Side-point</h2> |
|
<p>One point not raised by anyone in the group: Although Python lost its second |
|
place in the "Most Loved" ranking, it is still the most wanted language -- |
|
meaning, it is the language most developers <em>want</em> to learn. If the general |
|
feeling was "Python sucks!", I pretty much doubt the want would still be |
|
representative -- and Python have a large lead compared to JavaScript.</p> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|