Wat The Doodle! 🎨🦀🖥️ Profile Banner
Wat The Doodle! 🎨🦀🖥️ Profile
Wat The Doodle! 🎨🦀🖥️

@watthedoodle

Followers
525
Following
119
Media
246
Statuses
2,823

Senior Software Engineer (Burnt out) | Rust | Python | Kotlin | Linux. I love creating stuff and doing doodles to relax.

London
Joined August 2023
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
One of my reasons why I hate Go Lang, Rob is basically saying "we designed the language for idiots, because they're stupid and will not be smart enough to understand a better language"
@tekbog
terminally onλine εngineer 🇺🇦
4 months
gonna spend the evening watching 3 talks from rob pike after running into some skill issues with my code as i think about this quote in shame
Tweet media one
31
32
623
171
117
2K
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
2 months
@janetacarr so I Googled "your name" and turns out it's a film/movie or something 😜😏
Tweet media one
12
7
834
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@screenfluent Also that crazy rainbow loading screen
24
5
458
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@emil_priver Is this "Speed Run: Getting Fired Edition" (tm) ?
1
0
431
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
@mSykeCodes nah brother, forget uploading, editing live in production is where it's at 🤣
6
1
163
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@RayRedacted this is the way, better to ask for forgiveness than permission
1
0
82
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@bitsymphony maybe the downvote counter was broken? probably missed off an "error != nil" somewhere 🤣
3
0
76
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@welltypedwitch I think this his humour/sarcasm it's not really a compliant. At least as far as I understand him based on me watching his stuff over a long time.
3
0
69
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@RyanEls4 this is fake news brother! we don't generally use Chrome because Firefox is usually the default installed browser in most distros. But sometimes we need Chrome because some websites are built against Chrome and devs don't bother with cross browser compat 🥺
3
0
66
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@tsoding Segfault Driven Development (SDD)
1
2
61
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@tonialaribe wait this just sounds like a bad implementation in C, I'm sure a rules based engine wouldn't necessarily take 100KLoC?
2
1
59
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@NyxXeres with respect it isn't the same: Go: the language is made without*any* features so no possibility of over abstractions Rust: lots of safety baked *into* the language so the compiler burdens the responsibility not the human.
3
0
59
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@canoozie I have nothing against productive easy to use languages, I *do* have an issue when the design of the language gives up a lot of safety, correctness and robustness for the sake of DX. Short term gain over long term success is the wrong investment.
5
0
58
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@SemanticEntity and yet engineers rush/flock to Google like moths to a candle!
2
0
51
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@t3dotgg compiled language faster than interpreted and single threaded scripting language? absolutely shocking! (note sarcasm)
1
1
41
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
@IroncladDev @Purring_Lynx what?! what's with the docker hate? I love docker, hard to go back to the pre-container world!
7
0
36
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@johnsangwonsuh Sir with respect I have experience with both Haskell and Clojure, but I haven't used them *commercially* so shy away from listing them. I do have plans on learning Ocaml as it has the same ML heritage as Haskell.
2
0
32
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@tsoding you only need to try AI "prompting" for a bit to realise that it's basically autocorrect on steroids, and when it randomly hallucinates and just writes any old sh*t it gives you a good chuckle, nah devs ain't going anywhere any time soon
2
0
32
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@emil_priver Exactly! I have tried banging my head against the wall with devs who refuse to move away from dynamic langs, usual bs defence: * but but TDD! * but but linters! * but but static analysers SA! So you need 100% test coverage + linters + SA? why not just use a real compiler?
5
0
28
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@pikuma Something fishy about this story, are you telling me they had a mission critical DOS script but they had no copy of it in source control? or literally no other copies of it?
10
0
25
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@OngDevLab assembly
1
0
23
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi I knew Ruby on Rails was slow, I didn't know it was *this* slow. Damn nice language, horrible performance.
2
0
21
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@grahamcummins so I get that Rob wanted to limit the possibilities of over abstraction, but it's a double sided sword, there are such things as *good* abstractions, *but* Rob decided to throw the baby out with the bath tub!
3
0
21
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@AstraKernel @Tervicke do we need a "nonsense some say about Rust bingo"? 😜
1
0
22
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@Mycolaos sadly yes, Rob's real words. Many have tried to defend it by trying to interpret it as being positive (and continue to do so). But that's really hard to do when it's so very explicit in Rob's own words!
1
0
20
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@kmett when I first heard it I thought it was just fake meme. Then I found out it was sadly real.
1
0
18
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@t3dotgg is PHP SSR bad? last time I checked it was damn fast (or fast enough), if anything it's certainly faster than nodejs? What's the context here?
0
0
18
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@anerdguynow until you hit burn out, then writing code is a massive chore and you hate it deeply.
2
0
18
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
what Rust users see when they come across a section of Unsafe code block:
Tweet media one
1
3
18
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
JVM using GraalVM to create native binaries. Rust: "Look what they need to mimic a fraction of our power" #rustlang #rust
Tweet media one
3
2
17
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@AstraKernel Python? Ruby?? have the last decades of pain not taught us anything? "Those that do not learn from history are doomed to repeat it."
1
0
15
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
Deno + Hono = 🔥 no complex build tools, no node_modules, just plain simple files. My latest video showing how to build a simple full blown "Todo" web app in Hono + raw vanilla JS #WebDevelopment #JavaScript #Deno #Hono 👇 watch now
Tweet media one
0
8
15
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ThePrimeagen hah weird, am I dreaming? did I bang my head? me actually agreeing with Uncle Bob for once? lool
1
0
14
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@OngDevLab it's a solar tower in, used to generate electricity
1
0
13
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@0xiamnico @johnsangwonsuh what do you mean "at every opportunity"? please explain sir? I have literally not listed it in my bio. And *only* only mentioned it in a *direct* response to someone saying I don't know Haskell. How is that "virtue signalling" when I'm just correcting someones false assumption?
0
0
13
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
@Purring_Lynx Depends on how much RAM each process consumes, if say each process only consumes 10MB , 100 containers would consume about 1GB. Don't forget a container is still pretty much a process (+ few other things).
1
0
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
it's hilarious seeing JavaScript devs discovering PHP in 2024 and being amazed, who would have thought a language designed *specifically* for the web server is crazy productive for the back end?
6
3
13
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@screenfluent yeah I think that was basically the same "dial up" from the internal modem as the tape played the audio and it got converted into digital data.
1
0
12
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@dhh Microservices was just a way to organise and manage large teams of developers. When you have a team 100+ devs it needs a segmented approach, so microservices fits nicely like a glove. Split the teams up, align the code base per team etc.
5
1
12
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@Saggn Rust's death is greatly exaggerated 😂 * Powers Amazons services,e.g S3, EC2, Lambda, etc * Powers CloudFlare that handles 10% of entire internet traffic * Adopted by Google, Microsoft, Facebook, Discord, Dropbox, etc and starting to appear in the Linux Kernel. Yeah sure "DOA"
2
0
12
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
1
0
12
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@tsoding I got the humour as did a few others. I guess those that haven't watched your stuff (normies) didn't get it.
1
0
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@emil_priver I mean yeah Rust can be overkill for web, but it can also be perfect, sometimes I just want a fully self contained binary that boots up with a web front end, doing that with PHP, Ruby, Java, Python, even node is *heavy/messy*. Rust can be tiny sub 5-10mb bin no deps.
3
0
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@thibaultleouay it's only painful if you have skill issues.
0
0
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@nickycakes @AstraKernel we learnt that strong powerful static type guarantees at compile matters, we learnt that compiler errors are superior to runtime errors, we learnt that static types scales for both large codebases as well as for large teams.
1
3
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
@hernandoabella These fakes are getting wild
0
0
11
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@waq_r 🤣 yes painful true. I've found in the past we would break down the larger queries into smaller ones and test them in isolation and slowly rebuilding it back up again, this helped narrow down the bug.
2
0
10
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ryanrwinchester weird, it's seems it really depends on what hardware combination you have. If you happen to have bad luck with some hardware combo then yes you're gonna have a bad time. Been using Linux for over decade+ never had any issues, maybe all my hardware picks have been lucky.
2
0
10
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@mbacarella I have experience in Haskell and I'm intrigued by OCaml so it's on my bucket list. I eventually plan on doing a YouTube video content regarding OCaml, but getting the time is the hardest part!
1
1
10
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@v_language Go is a pretty low bar to beat 🤣 but at least V is progressing, good to see it moving.
1
0
10
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
oh cringe "nocode" is trending. Yikes, people always want shortcuts in life. Seriously if you want an app, hire a dev, stop trying to glue hundreds of snake oil "no code" manure together in the desperate hope that "just one more plugin" will solve your problem. 🤣😒🤦‍♂️
3
0
9
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi @rockatanescu you updating your "pre-computation" on item save *is* part of many basic caching strategy. So you can say it's "pre-computing" but what you have just described is caching. Not saying what you have done is wrong, it's just we already have well established terminology for this.
2
0
9
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
I don't know man, how do devs work just on laptops? I tried I just can't do it, small screens and weird keyboard ergonomics. I end up attaching a keyboard and mouse and at that point why not just do the same set-up but with a tablet (tablet + kb)?
6
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ibilalkayy it's precisely why I don't like why Go lang's *design* the creator of the language is literally saying in his mind the users of his Lang are not smart enough. If you take offence take offence from the creator of Go, he said it not me.
2
0
9
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@cpps93 I was speaking about Rob's design decision.
0
0
9
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
man there must be some kind of term for this! it's happened so many times.
@s4rah_dev
S4RAH
4 months
Tweet media one
193
1K
12K
1
0
9
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
Not convinced oxygen isn't a drug? Don't breathe for 7 days and let me know how you feel!
@ryanrwinchester
Ryan Winchester
6 months
Not convinced water is a drug? Don't drink any for 7 days and let me know how you feel
2
1
16
2
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
2 months
@tsoding c'mon brother, let the little bros climb the hill, give them a rope to pull them up, but don't use that rope to strangle them with! 👍
0
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
trigger phrases for me: * What's stopping you from working like this? <insert laptop at cringe location> * Thank you <lang> <cringe item photo> * As a developer do you <insert random shit?> * Let's connect! <random list>
2
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
@loftwah use it daily and have done for years now. Docker in my experience "just works", this is under Linux so YMMV. It's so pivotal for DevOps I literally say there is BC and AD (Before Containers/ After Docker)!
1
0
7
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@RyanEls4 oh man this meme could have doubled meme by using the only correct term: "SMELLY NERDS"
2
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
Tweet media one
5
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@t3dotgg just shoot in 480p and use aggressive compression encoder bitrates. AI can upscale in the future, heck we do that for gaming why not regular video?
2
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
I absolutely ♥️ docker and containers are 🔥it just works. Have been using for years now, can't go backwards to ore-docker days. if you hate docker it's either: * Windows/Mac * Skill issue Thank you 👍
3
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@0tusharD TS? seriously?
2
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
well PHP is for the backend, JavaScript is for the front end, but somewhere along the way people foolishly decided to use JavaScript on the backend. That was a mistake.
@DorianDevelops
Dorian Develops
4 months
PHP community is way better than the JavaScript community!
54
13
291
5
1
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi yeah but it always depends, what's the point of performance when in many cases it's *not* the primary bottleneck. Yeah it *can* sometimes be a serious bottleneck. That's what they generally mean, so you have to be mature and understand the wider context.
0
0
3
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@init_bobjames a real friend is the one who will tell you your zipper is undone
1
0
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
VMs are terrible when you want to spin up 200+ services. Vercel/Lambda are vendor specific cloud services, containers are an open OCI standard format that will outlive whatever vendor service is around today. Also containers run *inside* VMs, different abstractions.
@philkellr
Philipp Keller
3 months
I don't see the point of docker: VMs give maximum flexibility Vercel/AWS Lambda gives max convenience Docker is is this strange middle ground which only adds extra complexity 🤔
153
1
101
2
1
8
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@NyxXeres I agree with u, with more features there *is* a danger of over abstraction (have some experience in Haskell so I get it). Having said that, there are also excellent abstractions which actually help manage complexity and I fear that side is often ignored in such discussions.
1
0
7
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi Please don't talk about the games industry, it's toxic capitalism. Devs are worked excessively under crazy timelimes and they pay them literal peanuts. Basically they trade on "passion" and squeeze the living life out of them. The aim is shipping at all costs. Lots of burn out.
6
1
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Leonard21533662 @tsoding which is even better news for devs, because after the hype train well and truly crashes, companies with a mountain of AI generated spam codebases will need an army of devs to clean and fix all that out 😁
1
0
7
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi well yeah caching is basic 101. But that's low hanging fruit. The issue is state, especially state that needs to be mutated etc.
2
0
7
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ThePrimeagen terrible take, only *useful* tests are worth having, and if you have an expression based declarative lang with a strong type system and it's compiled, you don't need that many tests, just a few critical ones where it makes sense. Dynamic langs on the other hand...
0
2
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@thdxr I mean other than CSS, what else can we use? I'd probably just say vanilla CSS written with ones own bare hands like Rambo in an urban jungle.
0
0
7
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@seeteegee Go essentially did the "php" route, awesome to get stuff done, nightmare to maintain. It's only saving grace is that it's statically typed (which PHP is not).
4
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi @rockatanescu no incorrect after performing the computation you *save* it for future requests. Now what some systems do is called "warming the cache" as in when you start off you have a cold cache. Warming the cache forces all those *ahead* of time ala your "pre-computation". It's caching.
1
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
latest doodle drop: "i use rust btw!" ☕ Like it? buy me a coffee!
0
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@Hasen_Judi you realise that "fluent interface" is a popular pattern (based on method changing) right? It's not about "prose", it's somewhat similar in vain to the builder pattern. But it you want to create more janky and verbose code sure that's fine so.
2
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@tsoding on to the next niche Gatekeeping hidden knowledge. I suggest 0xDD to trigger HCF
0
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
wooho, Operating System detection is now working for my "hyperfetch" project🫡chip away a tiny bit every day 👍 #buildinpublic #rustlang #neofetch
Tweet media one
3
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@Hasen_Judi @rockatanescu buddy I have literally nothing against you, it's not nitpicking. As I've said many times what you're describing is actually fine (pre-warmed caching). However what I'm trying to explain is that's *not* enough to solve *all* web application performance. 🤝
0
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
@thdxr skill issue if you didn't know it was down and even bigger skill issue that you don't know how to fix it, and even massive skill issue that you didn't have automation in place to automatically reboot/scale etc. what is AWS auto scaling groups? 💀
1
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ro4ien productivity isn't just in writing code, it's also maintaining it across the lifetime of the product, and we often forget software lives vastly longer than the time it takes to first built it. Go has poor lifetime costs in terms of total productivity.
2
0
4
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
do car drivers need to understand the tire physics at a profound level to drive a car? 🤫😜
@hamdi_beep4
Hamdi Kamel
6 months
Do software engineers need to understand algorithms at a profound level?
192
4
191
2
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
12M a days sounds impressive until you realise it's just 138 requests a second 😄 even the most garbage written PHP can exceed that
@martindonadieu
🧞‍♂️Martin Donadieu - oss/acc 🇪🇺
6 months
All my stack is on @Cloudflare including all my serverless functions serving 12M requests a day:
Tweet media one
13
2
216
0
1
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
your typical Go dev, should have stuck with Rust. Pain is temporary but regret lasts a lifetime (see what I did there? nah you probably wouldn't get it) 🤣
@ThePrimeagen
ThePrimeagen
5 months
Tweet media one
70
19
2K
0
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
fuug! another day another $ cargo new --bin oh well at least it's in Rust 😏 a box of broken half finished dreams 😂
2
1
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
5 months
🎶 I know I can Be what I wanna be If I work hard at it I'll be where I wanna be
1
1
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
always. if the frontend has a bug: oops your button isn't centered if the backend has a bug: fuuuug company leaked data and now bankrupt because of litigation
@fghalandarii
Fateme
6 months
Is backend really harder than frontend?
461
43
796
0
4
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
2 months
Need some inspiration: what is the 🔥 tech lang/stack/framework/library for you right now?
4
0
6
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
I just uninstalled Airchat, got bored already.
0
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
6 months
@OngDevLab smells like Base64: decoded "Subscribe to my OngDevLab YouTube Channel! Link in bio. More content coming soon. I know it's kinda meh right now but I'm improving it."
1
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@NyxXeres so in my humble view n after using a bunch of different langs, I would say there is a "spectrum" of abstractions, and at one extreme they can be dangerous e.g C++, Haskell, Scala etc. However I feel Rust is bang in the middle and has useful abstraction without going overboard.
1
0
4
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
new video drop! 🎉 A review of the anti Rust article: "I spent 18 months rebuilding my algorithmic trading platform in Rust. I'm filled with regret" watch now 👉
Tweet media one
2
1
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@thdxr I'm disgusted 🤢
0
0
5
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
3 months
new poem: " byte code? bite code! flight or fight code!! right code? 1st rule of code, no one talks about byte code. " fin
0
0
4
@watthedoodle
Wat The Doodle! 🎨🦀🖥️
4 months
@ibilalkayy it's not about a serious programmer, it's like the difference of having only a hammer, compared to having an entire toolbox of different tools. Yes you can use a hammer to hammer a screw into wood, but it's more precise/stable/cleaner/proper to use a screwdriver.
0
0
4