1,089 karma · joined August 9, 2015
Another important consideration is your familiarity with both. If you have a deep knowledge of javascript and its ecosystem, many of the architectural wins you get from clojure out of the box are fairly trivial to port over. I suspect the reverse is not as true, because a clojure expert dipping their toes into javascript doesn't have as clear a picture of what the limitations are and how to overcome them.
As we can already see in this thread, there's a tendency for people who use clojure to believe that some architectural concepts are literally impossible for all other languages, rather than merely less common or requiring some pre-configuration.
Layers of abstraction are useful, especially when we don't fully understand how the hardware works.
That's simply untrue, and even the author's conclusions contradict your point. You can already do all of these things with just javascript. And if you're arguing that javascript has rebuilt the entire clojure ecosystem, then what is the non-aesthetic case for clojure?
I like clojure a lot and I've made a few toy projects with it, but I see its primary value as helping me write better code in all languages I use.
Like, where are all of the grads employed by Hack Reactor to pad the numbers accounted for? What percentage of your students already have a CS degree when they walk in the door? Why is the size of the average class increasing at the same time the price is going up? Most importantly, why do some big name companies effectively blacklist your graduates now, and what are you doing about it?
Your "towering accomplishment of staggering magnitude" looks like marketing hype and a lack of transparency.
The author is putting forth a false dichotomy between "write one web app that works on everything" and "write a new app from scratch for every platform." The right answer in 2016 is a hybrid approach.
Whereas if someone (not me, though) were to say "People named Mark always leave terrible comments because they have severe learning disabilities", that would be a truth-claim.
A traffic engineer whose designs are only effective when there's information asymmetry is either
A) dealing with impossible project restraints/requirements B) terrible at their job
The self-documenting part is the strongest argument I've heard, but writing real documentation and real tests still seems better.
It seems like using type checking as a reason to write fewer tests actually just creates nastier bugs in areas where your coverage is based on type validation.
What am I missing about checking type mutation !== mutation being a problem?
What is the advantage of strong types if your data structures are immutable? Is there any? I'm genuinely trying to understand if TS is just for cases where uncontrolled mutation is the norm and test coverage is poor.
A: C's type system is very useful for data validation.
Please read at least one sentence before writing a response next time.
Certainly type checking can prove that it's the right type, but in my experience knowing that it's the right type but the wrong data is useless, I care if it's the exact data it's supposed to be.
How does type checking protect you (or someone else) from inadvertently mutating a value without changing it type and causing problems later? It's perfectly possible to do this without having any checks for class/instance throw a warning, unless there's something I'm missing.
But if you write tests already and use immutable data structures, what benefits does TS bring to people whose background isn't in strongly typed languages?
In terms of logical structure, taking an anecdote and universalizing it without a falsifiable explanatory mechanism is indistinguishable from blaming faraway natural disasters on other people sinning against the gods.
In both cases, people and society are held to be at least partially culpable for something bad that happened to them without presenting any evidence other than that they don't do all the same things that you do, and you're doing fine.
In my experience at Amazon, there's a lot of free discussion and invitations for criticism of management ideas, but once a decision has been made, everyone is expected to get behind it for at least the next 6-12 months.
I don't think most teams at Amazon engage in "shaming" behavior, as much as they set a standard. Ie, if we agreed that all new modules are going to have 100% or near 100% test coverage and someone turns in a commit that doesn't have any tests at all, they're going to get some shit from the rest of the team.
There's a difference between an implementation that doesn't work as well as hoped that needs to be refactored, and intentionally adding technical debt and going against best practices to save yourself time. Quirky implementations are treated pretty indulgently at Amazon as long as you fix them once it's clear they're a problem, while laziness and causing harm to other developers who have to maintain the codebase is clamped down on pretty hard.
Most people would be in favor of "shaming" an airplane mechanic who doesn't follow the safety checklist after they've been taught how to, but not so if it was their first day.
This is a great point that gets overlooked: lack of data is often taken as non-existence, even implicitly. When the average life expectancy is under 50 and there's fewer than one doctor for every 10,000 people, sneezing and occasional sinus pain doesn't even warrant a mention.
Without reference to a larger dataset, the inference "I"m never sick because I played in the woods and ate weird stuff. If you get sick a lot, it's partially your fault because you didn't do that." could easily be replaced with "I'm never sick because I prayed to the right god every day. If you get sick a lot..."
I also noticed the staff spent a lot of time hanging out on couches, playing ping pong, and chatting with their friends. Everyone was always really friendly and professional when I needed something and it contributed to a laid-back vibe, but that's not a good staffing model for a business that's running at scale and not for fun.
And in fairness, there are very few people from 18-25 who would not be classified as "dumb" when it comes to thinking through privacy, consequences, and boundaries.
It's pretty irrating to support stigmatizing/banning a drug that millions of people use and get therapeutic effects from based on a few unrelated anecdotes.
I'm not advocating for any other single-number analysis presentation, nor do I think the median number is totally meaningless, but you're leaving a lot of data out in the name of creating a simple chart without asking if it's informative.
The idea that a "cap on damages" number could be found to cover lifetime expenses incurred for all malpractice cases would be difficult to swallow even if the number was backed up by a fairly large data-set. It's totally absurd when you consider that these numbers are usually arbitrarily set by uninformed politicians and highly biased lobbyists.