Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "the pragmatic programmer"
-
The devRant Podcast is finally here!! We're happy to announce the release of episode #0 - featuring Andy Hunt (known for The Pragmatic Programmer, rubber duck debugging, DRY, and much more). We can't thank Andy enough for agreeing to be on our first podcast episode and it was so enjoyable to interview him.
We also want to give a huge thanks to our two devRant users who helped us out and came on to talk about their rants - @silhoutte and @sway. We also greatly appreciate all of the questions that were submitted by community members. We really wanted to ask all of them since there were a lot of good ones, but we had to narrow it down a little as Andy was already kind enough to go over the 20 minutes we had originally asked for. This episode features questions from @casanovanoir, @fatlard1993, and @3K-Vengeance.
You can get all the links to the podcast here: https://devrant.io/podcasts/... (available on iTunes, Google Play, and we've provided the raw mp3).
If you'd like to see it on any other platforms in the future, please let us know. And like always, feedback is appreciated since we're new to this and still learning our way when it comes to podcasting. If you enjoy the show, please rate it to help us out :)
Thanks everyone!31 -
Breaking devRant news: we are extremely excited to announce the featured guest for the first episode of our podcast. He co-authored possibly the most famous software development book of all-time - "The Pragmatic Programmer" and is well-known for many other titles including "Practices of an Agile Developer." For the devRant community, one of his coolest/fun claims-to-fame might be that he is the inventor of rubber duck debugging, a frequent topic of discusson here on devRant. Beyond this, he is also one of the founders of the agile development movement. Our first featured guest is Andy Hunt (http://www.toolshed.com/about.html)!
As you can probably imagine, we're very excited to have Andy on the first episode of the devRant podcast and there's so many things we want to ask him. We want to give the devRant community a chance to submit questions too because we know devRanters will come up with fun questions. So feel free to just submit any questions you'd like us to ask on your behalf as comments on this rant, and we'll pick the best ones. Thanks!25 -
"A dead program normally does a lot less damage than a crippled one" *
(*) The Pragmatic Programmer1 -
Someone posted a rant referencing a story out of The Pragmatic Programmer about "duck debugging". I've leveled up with a duck.3
-
“There's one technique that you must use if you want people to listen to you: listen to them.” - The Pragmatic Programmer 📖2
-
Travelled for some hours today.
While i was on it i remembered a PDF "The Pragmatic Programmer" resting in my phone.
Opened it and read it until the bus reached the destination.
I entered the bus a complete idiot and upon exit i was half Socrates of programming habits.
Had read some chapters though.
Why didn't i know about it before ? -
Why is it that virtually all new languages in the last 25 years or so have a C-like syntax?
- Java wanted to sort-of knock off C++.
- C# wanted to be Java but on Microsoft's proprietary stack instead of SUN's (now Oracle's).
- Several other languages such as Vala, Scala, Swift, etc. do only careful evolution, seemingly so as to not alienate the devs used to previous C-like languages.
- Not to speak of everyone's favourite enemy, JavaScript…
- Then there is ReasonML which is basically an alternate, more C-like, syntax for OCaml, and is then compiled to JavaScript.
Now we're slowly arriving at the meat of this rant: back when I started university, the first semester programming lecture used Scheme, and provided a fine introduction to (functional) programming. Scheme, like other variants of Lisp, is a fine language, very flexible, code is data, data is code, but you get somewhat lost in a sea of parentheses, probably worse than the C-like languages' salad of curly braces. But it was a refreshing change from the likes of C, C++, and Java in terms of approach.
But the real enlightenment came when I read through Okasaki's paper on purely functional data structures. The author uses Standard ML in the paper, and after the initial shock (because it's different than most everything else I had seen), and getting used to the notation, I loved the crisp clarity it brings with almost no ceremony at all!
After looking around a bit, I found that nobody seems to use SML anymore, but there are viable alternatives, depending on your taste:
- Pragmatic programmers can use OCaml, which has immutability by default, and tries to guide the programmer to a functional programming mindset, but can accommodate imperative constructs easily when necessary.
- F# was born as OCaml on .NET but has now evolved into its own great thing with many upsides and very few downsides; I recommend every C# developer should give it a try.
- Somewhat more extreme is Haskell, with its ideology of pure functions and lazy evaluation that makes introducing side effects, I/O, and other imperative constructs rather a pain in the arse, and not quite my piece of cake, but learning it can still help you be a better programmer in whatever language you use on a day-to-day basis.
Anyway, the point is that after working with several of these languages developed out of the original Meta Language, it baffles me how anyone can be happy being a curly-braces-language developer without craving something more succinct and to-the-point. Especially when it comes to JavaScript: all the above mentioned ML-like languages can be compiled to JavaScript, so developing directly in JavaScript should hardly be a necessity.
Obviously these curly-braces languages will still be needed for a long time coming, legacy systems and all—just look at COBOL—, but my point stands.7 -
@dfox great podcast cant wait for the next one
I must admit i havent read the pragmatic programmer its going on my bucket list5 -
I read the pragmatic programmer a few months ago. The book advised learning a different programming language every month or so. I was doing Advent of Code so I decided to try out Elm because functional programming is all the rage these days.
It took me one hour to convert a string of numbers to an array of numbers! And when I finally finished with that I couldn't understand how to compare each element with the next one in an array using map or filter.
I realised that I've become too comfortable using javascript. Worst case scenario: In a few years when javascript is obsolete I'll be like those old dudes that know only Cobol. Best case scenario: I'll always be too dumb to earn a nice salary.
On a positive note: The first time I tried Elm I didn't understand jack shit, now I understood a few things.5 -
So i was going through the Pragmatic Programmer book and i saw a name in the acknowledgements section... Alistair Cockburn... And my mind just started imagining all these scenarios where he was bullied. He has a great firstname though Alistair sounds like such a badass name and thats why i bet when he is introducing himself, firstnames only he just refuses to tell his last name i seriously wonder how he went through the wedding if he had one. Mr. and Mrs. Cockburn 😂 oh god this is so childish but so funny.6
-
Just had the worst exam of my life today in system development at my university. This cock sucking bitch of a sensor claimed I was wrong in various assumptions about Extreme Programming. Such as: saying XP is an incremental process and not iterative. Claiming UP is more iterative than XP and that various analogies about what iterative means compared to incremental was wrong and even disrupting me while I was talking. Mind you I've been studying these subjects closely the last week and have been reading most of The Pragmatic Programmer to verify various things she disagreed upon. Result grade? In the middle of the fucking scale. Fuck this shit. I'm just glad the grade won't appear on my final graduation papers. And yes, I'm a perfectionist when it comes to this and programming, so if I'm in the wrong please correct me.1
-
"Programming is a craft. At its simplest, it comes down to getting a
computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. You try to document your work so that others can understand it, and you try to
engineer your work so that others can build on it. What's more, you try to do all this against the relentless ticking of the project clock. You work small miracles every day.
It's a difficult job. "
- The pragmatic programmer -
rant or !rant
Hey ranters have you checked podcast of devRant on Youtube. It's great.
All dev of this great community please subscribe to devRantApp on YouTube and increase it's views. While I'm ranting about it has only 1.2k views and 51 likes. Please check that out.
@dfox and @trogus Just listened to a podcast of devRant featuring Andy Hunt "Author of the Pragmatic Programmer".
My favorite line he said is " In effort to evaluate betn mediocre programmer from great programmer certification available is pathetic, this is why Alien don't come to visit us anymore".
He also talks about RubberDuck and many more. -
Don't leave "broken windows" (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up. Perhaps you can comment out the offending code, or display a "Not Implemented" message, or substitute dummy data instead. Take some action to prevent further damage and to show that you're on top of the situation.
We've seen clean, functional systems deteriorate pretty quickly once windows start breaking. There are other factors that can contribute to software rot, and we'll touch on some of them elsewhere, but neglect accelerates the rot faster than any other factor.
"The Pragmatic Programmer"2 -
How good is "The Pragmatic Programmer - by Andy Hunt and Dave Thomas"?
Any positives, to motivate me.2 -
I saw the book The Pragmatic Programmer. It's pretty old. Is there a more up to date version? Or should I read this one?4
-
What are dev books would you recommend reading.?
I am already done with
97 things programmer should know.
Starting with
The pragmatic programmer.1 -
!rant
Reading The Pragmatic Programmer and Clean Code.
Any other suggestions on books thats not specified to a specific programming language that is worth reading?2