12 ms·
JavaScript for Impatient Programmers
- rauschma 6y agoThanks for the mention! The book is free to read online and was updated to ECMAScript 2020 last week.
- m4r35n357 6y agoHeh, show me a patient JS dev ;)
- noisem4ker 6y agoI consider myself a patient developer, yet I don't have any patience for JavaScript's bullshit.
- m4r35n357 6y agosort of my point . . .
- self_awareness 6y agoFWIW, I'd say that "javascript for impatient programmers" should have a course teaching patience as first chapter ;)
- eurasiantiger 6y agoI would not suggest this book. While it does begin with simple, concise examples, it leaves out many important details. For example: - The first variable using `const` is called ”immutable”, which is misleading, since only the _assignment_ is immutable. Later on the same page, a const object property is assigned to without any clarification as to why it works. - Only single- and double-quoted strings are introduced at first, even though template strings are arguably the cleanest for building strings. - Arrow functions are introduced as just another syntax - neither implicit `this` binding nor implicit return of last block statement are mentioned.
- afefers 6y agoGood points. What would you suggest instead?
- lprd 6y agoMy two favorites are YDKJS (You Don't Know Javascript)[1], and Eloquent Javascript[2]. [1]https://github.com/getify/You-Dont-Know-JS https://github.com/getify/You-Dont-Know-JS [2]https://eloquentjavascript.net/ https://eloquentjavascript.net/
- mattmanser 6y agoNo book is perfect.
- zarathustreal 6y ago> const is called immutable which is misleading Consider that this may simply be a knowledge gap on your end. I think most programmers understand the concept of value vs reference types and would not assume an object to be a value type. Obviously the reference is immutable, as is any other value type you assign to the const. > nor the implicit return of last block statement are mentioned Probably not mentioned because it doesn’t exist. There is no implicit return of the last block statement. That statement is misleading in at least two ways: there cannot be multiple top-level block statements as the body of a function, nor does the singular block statement body of an arrow function implicitly return the last expression. It actually requires an explicit return statement. On the other hand, an arrow function with an expression body -does- implicitly return.
- hoorayimhelping 6y ago>Consider that this may simply be a knowledge gap on your end. My experience says this is very far from the truth. JavaScript's implementation of const is confusing for almost everyone the first time they come across it, especially the area you're talking about - changing collections. Junior engineers and non JavaScript senior engineers alike don't seem to understand what const actually means until they dig in to get deeper context, which I would point as a pretty big failure of language design.
- keithnz 6y agoI thought the title was just a declarative statement about javascript rather than the name of instructional material
- OmniTroid 6y agoLove the writing style. Concise, straight to the point, zero nonsense. Will consider getting the paperback.
- m0ck 6y agoThank you, this is just what I needed! I started reading Eloquent Javascript recently, but since I already know Java and Python it was too slow paced for me (I don't need to read 5 pages on if/else statement)
- weenus 6y agoI skipped some sections, but I feel like that book does a really good job of introducing lesser-known aspects of the language (like how async/await is kind of just generator functions + promises, or how Symbol.iterator works), and then it gives good historical context for idiosyncrasies (like the difference between esmodules and commonjs).
- nottorp 6y agoCan anyone recomand a “JavaScript for profesional programmers”? I.e. something that introduces JavaScript assuming you know a lot more about programming than your average JS developer and explains the JS pitfalls in common terms and not js “ecosystem” inventions?
- Cthulhu_ 6y agoI have good experiences with Javascript Allongè, I know the author is on here as well. It builds up your understanding of the language from the basics, focusing on JS specific things like function scope and higher-order functions and `this`, without insulting your intelligence.
- sks147 6y agoI can also vouch for Javascript Allongè. It's a fantastic read.
- willcipriano 6y agoZed Shaw is coming out with a book[0] on the topic, I like his Learn X the Hard Way series so I'll probably pick it up when it arrives. [0]https://learncodethehardway.org/javascript/ https://learncodethehardway.org/javascript/
- doteka 6y agoZed Shaw is an idiot who was arguing that Python 3 is not turing complete not too long ago. His books contain plenty of terrible advice and should be avoided.
- ActionHank 6y agoTell us how you really feel.
- hombre_fatal 6y agoI miss the old days of Ruby, Mongrel, and Zed Shaw (and drama). Though I also think I took a liking to the guy when I decided he looked like Neal Stephenson.
- toyg 6y agoI don't (think I) have much of a problem with JS syntax, generally speaking, but I'm often baffled by the surrounding ecosystem of build tools and "helpers". There are a million tutorials, all doing things slightly differently without really explaining why, and stuff breaks so often... Any recommendation for something covering that sort of thing (npm, yarn, webpack...) in a more structured and in-depth way than "here's how to make a todo list in 10 minutes with some magical command that may or may not still work 3 months later"?
- m0ck 6y agoAs a backend developer getting his foot into frontend I feel you. Configuring TSLint with Prettier and all the plugins was tiresome only to learn few months later it's getting deprecated and you should move to ESlint. This article helped me bit, it explains "what is what" in modern JS ecosystem https://medium.com/the-node-js-collection/modern-javascript-explained-for-dinosaurs-f695e9747b70 https://medium.com/the-node-js-collection/modern-javascript-...
- Uberphallus 6y agoExcellent article, I just hope that's kind of stable... every time I look into the JS it feels like I've never looked into JS before.
- harrygeez 6y agoIt's quite simple actually. With native modules support you don't really need any of these helpers. However, if you're concerned about users on older browsers, you can use Babel to "transpile" your code to equivalent code that older browsers can understand, often at the expense of size. npm and yarn are simply 2 competing implementation for package management. Start with npm and you'll know it when you want yarn. Webpack and other module bundlers are just tools to automate things like transpiling, code-transformation, bundle-splitting, minification which are not all that essential actually. The point is all of these are extras. Think of them as enhancements/optimizations. If you have a solid understanding of JS you can write JS in a way that doesn't require any of this. I blame the tutorials out there that say you need this and that without many justifications that make it seem more complicated than it is.
- distalx 6y agoI'm very much in awe of author's subject expertises & writhing skills.
- deleted 6y ago[deleted]
- santiagobasulto 6y ago[OFF TOPIC] I'm starting a "Python for experienced programmers" substack, if anybody is interested: https://pythonexperienced.substack.com/ https://pythonexperienced.substack.com/
- aargh_aargh 6y agoI'm not familiar with Substack. I found the ToC but I haven't found the content. It could use better structure. Hope that helps.
- qwerty456127 6y ago> 🇺🇸 Amazon.com (USD) 🇬🇧 Amazon.co.uk (GBP) What kind of letters is this? 🇬🇧 (copied) / GB / gb - same font, different letters. Why?
- ruricolist 6y agoRegional indicator symbols: https://en.wikipedia.org/wiki/Regional_Indicator_Symbol https://en.wikipedia.org/wiki/Regional_Indicator_Symbol
- rullopat 6y agoIt looks like a great book, but I find it strange that the target audience is "impatient programmers" and it's 548 pages long. Am I too impatient?
- rauschma 6y agoThe book did indeed get longer than I had planned. However, there is a “quick mode” for reading it: https://exploringjs.com/impatient-js/ch_about-book.html#isnt-this-book-too-long-for-impatient-people https://exploringjs.com/impatient-js/ch_about-book.html#isnt...
- markstos 6y agoImpatient Programmers should be reading "Patience for Impatient People" or consider an alternate career.
- 0xDEEPFAC 6y agoJust what we need - more uncaring ECMA programmers putting out substandard, massively slow, non-native code...
- fefe23 6y agoSuggestion: If you are impatient, do not become a programmer. Programming is a craft. It needs patience. You need time to learn the ropes. Some people look for shortcuts, learn the tricks of the trade instead of the trade. Please do not be one of those people. Imagine what would happen if someone with that mindset built bridges or skyscrapers. Or roads. Anything, really. In fact, be prepared to try things and then throw them away, because only after you failed once have you gained an understanding of your environment and what you are actually trying to achieve in it.
- rauschma 6y agoThe title is tongue-in-cheek. The book itself is not superficial.
- Pelic4n 6y agoI strongly disagree. Almost every very good programmer I know is very impatient. Due to their impatience they go faster, and going faster all the time leads to making more stuff, which leads to a compounding effect on all the work you do and the knowledge you acquire, which leads to better software. Getting to a better or equal solution faster is always better, and you need to be impatient to go that way. The hacking philosophy and its child UNIX are built around people and processes like that. On a more general note, I think any gatekeeping like this is harmful, do not listen to people telling you to not become $SOMETHING (programmer, engineer, artist...) because you are $SOMETHING (impatient, disabled, a woman...) and do what you want with your life.
- drawkbox 6y agoLarry Wall, granted he made Perl, says these are the three virtues of programming. > Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don't have to answer so many questions about it. > Impatience: The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. > Hubris: The quality that makes you write (and maintain) programs that other people won't want to say bad things about. I think in the end the best way to describe a good programmer is "detail-oriented" and "results-based" that cuts out the bullshit and can ship. The better programmers that are product developers see programming as a tool to make products, not a tool to bike shed and yak shave all day. [1] http://threevirtues.com/ http://threevirtues.com/
- Syzygies 6y agoWhile a PhD is short for a Doctor of Philosophy, at universities such as Princeton or Stanford the title "Dr." is reserved for medical doctors. At less secure schools one sees the title imposed by administrators. It's a wonderful poker tell; you'd think people would be aware what they're signalling? Or they know, but we're not their intended audience. In Germany, "Herr Professor Doktor" is often in jest, as one usually restricts to the highest ranking title. And titles are fading, a form of class-consciousness. To use "Doktor" unnecessarily reveals one is not a Professor. So I don't understand the cultural context for this author's use of "Dr." It's welded to his web site dr-axel.de; perhaps this is a stage name like "Dr. Ruth".
- duxup 6y agoI always just read it as "this person is proud they put the work in to get that title" and leave it at that. Life is too short to worry about the the other stuff ;) Granted like you I noticed it too, it is something that I think I've seen less commonly used too ;)
- rauschma 6y agoEverything you’ve mentioned plays a role. It has also worked well marketing-wise: In Germany, people take you more seriously; in the US it doesn’t matter, but a title is still more memorable.
- gumby 6y ago> at universities such as Princeton or Stanford the title "Dr." is reserved for medical doctors. At Stanford at least, this (admirable) attitude is more common in the med school and biological sciences where the ambiguity is common than In other departments, especially where you might not know the person. In the scheme of things this is not a big deal.
- 29athrowaway 6y agoSo few people understand prototypal inheritance. e.g.: sometimes you can do Object.create(obj) instead of Object.clone(obj) if you just want to have a one-off object.
- kwanbix 6y agoI don't get it. The ebook is 34 USD. At amazon you get the printed version for 31 USD. What is the logic there?