11 ms·
Mastering Programming (2016)
- FrustratedMonky 3y agoI think an expert knows this. and For A new, non-expert, these suggestions might be too generic, too high level, broad. They wont grasp the point.
- wildknocker 3y agoEven if the suggestions are a bit too generic, they might click for someone some time after they've read it. It also helps validate some things that less experienced programmers might be doing but aren't sure are the best things. I for example found that some things I seem to be gravitating towards are mentioned, which will hopefully allow me to focus on them and grasp them better in the future.
- FrustratedMonky 3y agoI agree. I might be, being miss-interpreted as dismissing this article. They are definitely good points, and doesn't hurt to read them. I think all the points are valid. Maybe I was just contemplating how experts sometimes 'summarize' their knowledge, condense it, but in the process of trying to be succinct, becomes itself un-fathomable, generic.
- codebje 3y agoI suspect that the unfathomable nature of condensed knowledge arises from the fact that there is simply no shortcut to expertise. You must earn it through experience. Someone with a similar level of experience to the author may well have the right foundations to draw on such that a condensed expression of an idea resonates well. Others may only get a "seed pearl" to help shape how they view their past and future experiences. And some might be able to recognise that there is wisdom there, but not be able to relate it to their own understanding at all. Without any relevant experience, it's just words devoid of much meaning.
- phforms 3y agoMany of these suggestions made me remember my own experiences, some where I intuitively followed them and some where I did not. Reading this write-up made me realize their value and will hopefully remind me that I need to do these things more often. As someone who is not an expert but tries to gain wisdom from past experiences, it helps me to see where my intuitions might have been right or wrong, even if I may not get the point right away.
- ta2112 3y agoLooks right. Read it and transcend journeyman programmers!
- hnben 3y agoI am always amazed at how some people can put very complex concepts into very simple words. It's an art that is often undervalued.
- ioblomov 3y agoTo switch contexts for a moment, let me suggest the French epigrammatist who influenced Nietzsche… https://www.artofmanliness.com/character/knowledge-of-men/the-maxims-of-francois-de-la-rochefoucauld/ https://www.artofmanliness.com/character/knowledge-of-men/th...
- andxor_ 3y agoYou can too! Recommended: https://press.princeton.edu/books/paperback/9780691147437/clear-and-simple-as-the-truth https://press.princeton.edu/books/paperback/9780691147437/cl...
- randomdata 3y agoOn the other hand, I'm not sure he succeeded on that front when communicating Agile or TDD. Arguably there are no works misconstrued more in the realm of computing than those. It may just be luck in this case – or perhaps a skill that has been honed over the years?
- zabzonk 3y ago[flagged]
- DarkNova6 3y agoI think Beck is the kind of person who comes up with fantastic points and observations. But his conclusions are typically contemporary and subjective. Take his book on TDD: Good points to make you think, but please don't blindly copy his personal workflow. I don't mean to take away from him. There lies tremendous value in having good terminology at hand,
- drivers99 3y agoa bit pants?
- jpsouth 3y agoCommented elsewhere, I’m not sure on the origins of it, but it means somethings a bit rubbish, or bad.
- fm2606 3y ago"found them all a bit pants" Can you explain this phrase to me? I've never heard it before and I can't get the meaning from the context. Thanks
- jpsouth 3y agoI can’t seem to find the history of it, but it essentially means somethings a bit rubbish, bad, or crap. Pants are typically underwear in Britain, we wear trousers (Jeans, chinos, suit trousers) over our pants (boxers, y-fronts, briefs) so probably not something you’d want to show off that much.
- fm2606 3y agoThanks for the reference to pants. In US pants covers jeans, chinos, slacks. Shorts are well, shorts. Underwear is our boxers, briefs, tighty-whiteys, etc.
- GMoromisato 3y agoI was ready to crap all over this--I've seen so many of these kind of posts--but this was (IMHO) quite good. There's a ton of (as the kids say) alpha in each of the bullet points. I can't say that I practice all or most of these habits, but the points about "calling your shots" and "concrete hypotheses" resonate. For example, when I add a debugging printf/log, I always ask myself, "will this output invalidate one or more hypotheses?" If not, then I need to rethink the problem.
- pavel_lishin 3y ago> There's a ton of (as the kids say) alpha in each of the bullet points. Come on, I know I'm about to hit 40, but slang can't be evolving that fast! How am I supposed to be keeping up with all the kids?
- GMoromisato 3y agoDon't ask me! I don't have enough rizz to get included in those circles.
- ykonstant 3y agoWe became too complacent, and now we are paying the fanum tax (•́︿•̀)
- melagonster 3y agomaybe tiktok is a resolution.
- cybrox 3y agoAgreed, these are surprisingly on point. The flow of 80/15/5 is what true seniority looks like in my opinion. Do a lot of the heavy lifting on a goal, explore valuable (and sometimes promising but with a stretch) avenues around that goal and then be able to document and articulate in a way that another person can grow into it while you venture forth into the next challenge.
- 3y ago
- Scubabear68 3y agoI generally don’t meta comment, but a bit surprising to me that the bulk of this discussion has been flagged dead. I think the discussion and criticisms there were valid.
- jdlshore 3y agoIf you have enough karma, you can “vouch” a dead comment back to life by clicking the timestamp. At the time of these writing, only one comment was dead, and it was rude and content-free. The rest of its tree was arguing about Beck in general rather than the article, so everything’s working as intended IMO.
- dsissitka 3y agoIf you like this you might like the book: https://www.oreilly.com/library/view/tidy-first/9781098151232/ https://www.oreilly.com/library/view/tidy-first/978109815123... Previous discussion: How I came to write “Tidy First?” tl;dr it took 18 years https://news.ycombinator.com/item?id=35246995 https://news.ycombinator.com/item?id=35246995 Tidy First? https://news.ycombinator.com/item?id=38942400 https://news.ycombinator.com/item?id=38942400
- bsder 3y agoYour regular reminder that Kent Beck was part of the Extreme Programming brain trust behind the massive failure that was the Chrysler Comprehensive Compensation System: https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compensation_System https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compens... Programming advice from him and his cohorts (Ron Jeffries and Martin Fowler) should be regarded with several large grains of salt.
- doctor_eval 3y agoI haven’t heard of C3 before, but I’m a big fan of reading about software project failures, and I’m not a fan of every aspect of XP, so I was certainly curious about this. That said, the Wikipedia page neither supports nor refutes your assertion, and Fowler himself discusses C3’s failure here: https://martinfowler.com/bliki/C3.html https://martinfowler.com/bliki/C3.html Fowler refers to notes that don’t seem to be in the Wikipedia entry any more: “In particular the entry in Wikipedia is misleading and incomplete, much of its comments seem to be based on a paper from a determined XP critic whose sources are unclear. Certainly its comments on performance are a misleading interpretation of material in my Refactoring book.” Do you have any other links to this project? The fact that it went live and then reverted to the COBOL version is interesting.
- whstl 3y agoThere is some discussion in C2 by the people involved about whether it was a failure or not: http://wiki.c2.com/?HighDisciplineMethodology http://wiki.c2.com/?HighDisciplineMethodology I believe the characterization of C3 as a "failure" is because it wasn't able to deliver the goal (goal was paying 87000 people – it only reached about 9000), and was later discontinued for multiple reasons (some unrelated, like people leaving, the merger with Daimler). The claim that "XP was banned" there seems overblown, it seems it's just that "people at DaimlerChrysler stopped taking terms like Smalltalk, OOP and XP" (per link above).
- bsder 3y agoC3 was, by any measure, an abject failure. It got only the very basics working and then died when it ran into the vast number of unspecified exceptional cases (gee, where have we heard that before ...) that needed to be handled. And then got cancelled and completely reverted. To then use such a failure as a marquee project demonstrating the supposed "superiority" of XP is unabashed chutzpah. Now, large IT projects generally fail. So, XP is not wholly to blame. However, the proponents of XP pushed it as superior silver bullet to navigate both the political and technical waters of software projects. The fact that C3 was such a spectacular failure simply demonstrates that XP really wasn't any different than any other methodology being pushed by people with an agenda.
- lijok 3y agoI think the article can be summarised as; “Don’t flail around aimlessly”
- dre_bot 3y agoThanks for making me feel dumb. :D
- T3RMINATED 3y ago[dead]
- vaylian 3y ago> Isolation. If you only need to change a part of an element, extract that part so the whole subelement changes. I don't get what the author means by this. Anyone wants to elaborate?
- ganyu 3y agoSay some gigantic piece of function has 600 lines of code that does logic this, logic that and logic this and that. Suppose one day your PM goes into your office and request that a certain special case be added to this feature. You do not further increase the complexity of this function by having one or two variables in the front, several if-elses in the middle not to mention a couple gotos. You take these special cases and the most relevant logic away into yet another function, document it and hence ensure the changes to that 'special logic' do not mess up with the rest of that feature.