4 ms·
Great line: "The only thing that matters in software is the experience of the user."
by aaronpk 10y ago
Great line: "The only thing that matters in software is the experience of the user."
- Ericson2314 10y agoUh, it's an odd way to end a rant on software architecture. How about: "The only thing that matters in software is abstractions/interfaces". The end user only sees the top interface.
- jdavis703 10y agoSome of the software I've had to maintain had the best UX, but winds up having the shittiest code underneath.
- hollerith 10y agoI would consider that good news (if the problem domain is important enough) because that means that the only thing left to do is write a better implementation.
- Unbeliever69 10y agoThere is good meme potential in this..."The only thing that matters in software is ___________." The only thing that matters in software is an MVP that doesn't suck so much that it can't be productized.
- dschiptsov 10y agoThis is exactly how you get professionally marketed crap like Mongo, Node, Hadoop, you name it. It is a fast-food way of building software - cheapest processed shit wrapped in a good SEO and naive user experience (quick and rewarding installation and effortless bootstrapping of a meaningless hello-world - I am so clever meme). What matters in software in the long run, be it an application or even a programming language, is appropriate design decisions and strong emphasis on design around protocols (by duck-typed interfaces), using declarative (instead of imperative) mostly-functioal paradigm, bottom-up process with focus on modularity and code reuse, while sticking to the standard idioms and principle of less astonishment. This is what is still being taught at MIT, and this is how the internet works as a whole. 99% of Node or PHP code is a toxic amateurish crap, precisely due to ignorant over-confidence of the coders and lacking of proper CS education about right principles and programming paradigms, importance of louse coupling and proper encapsulation, which leads to modular, share-nothing, mostly functional designs with emphasis on immutability and persistence (that's why Clojure is so good - it has been, like Erlang, well-researched with tons of good stuff borrowed form Common Lisp). Erlang or Haskell or Scala or Swift or Golang are on another side of the spectrum, which could be characterized by discipline of sticking to the right principles and rigorous attention to details (of which Haskell might be a bit too strict, but Erlang or Scala just right). BTW, these observations about the impact of a proper design, based on right principles, which have been made almost 20 years ago still holds - http://norvig.com/java-lisp.html http://norvig.com/java-lisp.html Today we could state the same for Python3.5+, which, finally, evolved to be so carefully refined as old school Lisps, but emphasizing that Python3 is a prototyping language, while CL is both prototyping and implementation language. No sane person should even touch PHP or Javascript or any other crap with implicit coercions, error supressions, etc, designed by amateurs (hello, MySQL, Mongo, Hadoop!) like one avoid chap processed junk food or drugs.
- ex_amazon_sde 10y ago> ignorant over-confidence Believe me or not, Node and PHP are the laughing stock across many Googlers and Amazonians I know. Not just the languages but the behavior of the communities. I think you just summarized the problem in few words.
- sawthat 10y agoI'd really like to hear more about this louse coupling idea.
- flukus 10y agoSo I can accidentally under charge users in an online shopping app and that's ok?
- efdee 10y agoThe owner of the shop is arguably also a user, who would be having a not-so-great experience.