The source content for blog.juliobiason.me
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.

123 lines
5.2 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:&#x2F;&#x2F;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="&#x2F;">English</a></li>
<li class="sidebar-nav-item"><a href="&#x2F;pt">Português</a></li>
<li class="sidebar-nav-item"><a href="&#x2F;tags">Tags (EN)</a></li>
<li class="sidebar-nav-item"><a href="&#x2F;pt&#x2F;tags">Tags (PT)</a></li>
</ul>
</div>
</div>
<div class="content container">
<div class="post">
<h1 class="post-title">Web Development with Clojure: Build Bulletproof Web Apps with Less Code - Dmitri Sotnikov</h1>
<span class="post-date">
2017-06-22
<a href="https://blog.juliobiason.me/tags/books/">#books</a>
<a href="https://blog.juliobiason.me/tags/dmitri-sotnikov/">#dmitri sotnikov</a>
<a href="https://blog.juliobiason.me/tags/reviews/">#reviews</a>
<a href="https://blog.juliobiason.me/tags/clojure/">#clojure</a>
<a href="https://blog.juliobiason.me/tags/web-development/">#web development</a>
<a href="https://blog.juliobiason.me/tags/it/">#it</a>
<a href="https://blog.juliobiason.me/tags/stars-2/">#stars:2</a>
<a href="https://blog.juliobiason.me/tags/published-2013/">#published:2013</a>
</span>
<p><a href="https://www.goodreads.com/book/show/18399028-web-development-with-clojure">GoodReads Summary</a>:
Modern web development needs modern tools. Web Development With Clojure shows
you how to apply Clojure programming fundamentals to build real-world
solutions. You'll develop all the pieces of a full web application in this
powerful language. If you already have some familiarity with Clojure, you'll
learn how to put it to serious practical use. If you're new to the language,
the book provides just enough Clojure to get down to business.</p>
<span id="continue-reading"></span><div>
★★☆☆☆
</div>
<p>First of all, this book suffers from the same mistakes every single Lisp-like
language book I've read: They throw a truck at you, then slowly, while you're
being crushed by it, explain each part that creates a truck -- In other words,
they throw a large piece of code at you and then slowly explain each part of
it.</p>
<p>Even worst, in the last parts, it's basically &quot;here is truck, take it&quot; -- very
little explanation about the code itself, just &quot;we'll do this&quot; and code. What
the pieces of code mean, that's entirely to you.</p>
<p>Another problem: no tests. The author prefers the REPL approach, which is okay
for little projects, but for projects that should last longer than a weekend
project. No only that, but even the tests are wrong, because it mocks the
database -- Database is part of your project so it <strong>should</strong> be tested along
all the other tests.</p>
<p>And, on top of that, there is a REST server with sessions, and a lot of code
just to keep the frontend session in sync with the server session. That's
actually <strong>not</strong> how a REST server works.</p>
<p>And while I usually don't comment the technology behind the book (because it's
not the author's creation), I really have to ask if Clojure is the right tool
for web servers. I mean, a lot about Clojure is about immutability and a lot
about the shown code is forcing mutability -- one function even is composed
with nothing but functions that force mutability.</p>
<p>So, not only the book itself doesn't give a clear picture about web
development in Clojure, the language itself doesn't appear appropriate for
such task.</p>
</div>
</div>
</body>
</html>