This one is quite difficult, it sacrifices some readability for cleverness and conciseness. I find Algorithmic Thinking by Zingaro much more approachable but almost as dense.
gwbas1c 8 hours ago [-]
I think if you always follow the same abbreviations, they'll be readable to you.
Remember, these are throwaway programs; not something that you need to worry about someone else maintaining, or something you need to worry about opening up 5 years later.
yuye 4 hours ago [-]
I've been a judge at a few ICPC contests. We always double-checked first solves for any of the problems by hand.
The coding style demonstrated here is extremely common with high-level competitive teams.
In the past this book was interesting since getting good at it did somewhat help you become a better programmer. At the very least, your typing and ability to write a first implementation with fewer bugs improved as you practiced competitive programming, to some extent even your ability to problem solve and come up with good architectures improved.
That’s all out of the window now. If we are really in “do we even read the code?” territory, then this is just a hobby to do for fun, and doesn’t matter for any real world work. But even if we read the code, but most code is written by prompting and iterating with agents, I don’t know if this will be helpful at all.
0xpgm 39 minutes ago [-]
People tend to underestimate to what extent pre-LLM programming experience contributes to their ability to steer LLMs in the right direction and produce decent results.
In 5 to 10 years, we'll see what kind of engineer is produced from pure LLM steering without years of hand coding experience. Even many of the more experienced ones would have some of this skill atrophied.
tudorconstantin 5 hours ago [-]
In the past few months, all of the technical interviews I had involved some form of live coding exercises. Some with hard leetcode level problems even though the positions I interview for are backend/fullstack web engineering, not some kind of high performance algorithms enhancements and implementation jobs (like HFT trading or low level libraries).
I encountered this so often nowadays that I am now allocating a few hours per week for algo problem solving to keep my coding skills polished because the AI is writing my code in my day to day job also
Keegs 9 hours ago [-]
I’m a big fan of this book. It’s an equally great algorithms reference and way to prep for coding interviews. I haven’t had one in a while but doubt they’ve changed too much in the last half decade.
BeetleB 8 hours ago [-]
I read this book to prepare for coding interviews. In retrospect, it really didn't help with that goal.
I did, nevertheless, learn quite a bit from it. Would recommend to everyone. It's well written.
brcmthrowaway 4 hours ago [-]
What actually helped?
lifeisloving 7 hours ago [-]
Ive been doing codeforces, Rosalind, codewars and leetcode casually in my spare time to detox from heavy daily agent use.
Ive been relearning a ton that either over-reliance on llms caused me to forget, or just lost due to time.
Its been extremely fun. I really missed the feeling of thinking really hard and arriving at a solution.
I hope we dont lose this desire as a species.
yuye 4 hours ago [-]
>I hope we dont lose this desire as a species.
I really think the rise of LLMs has demonstrated quite well that most people don't care. Only a minority of us have ever had this desire.
goosejuice 2 hours ago [-]
The rise of a technology that reduces cost in all forms of knowledge work demonstrates a minority of humans have a desire to learn and have hobbies?
noisy_boy 3 hours ago [-]
Is there a similar book but in Java or Python?
v3ss0n 2 hours ago [-]
Yeah , just let LLM rewrite it for you.
dominotw 10 hours ago [-]
is leetcode still a thing in interviews. I personally want it to be. We need to start gatekeeping this profession hard ( this is a hard 180 from my stance for last 2 decades). Also regret contributing and being pro opensource.
Closedsource, credentialism and gatekeeping is my new stance.
7 hours ago [-]
moronicles 8 hours ago [-]
Who exactly is it that will be doing the gatekeeping? I have a hard time imagining companies caring much about competitive coding scores, and I’ve certainly never heard of layoffs being decided based on LeetCode performance.
dominotw 7 hours ago [-]
> layoffs being decided based on LeetCode performance.
thats not what gatekeeping is
dyzone 3 hours ago [-]
You need to explain why.
jbs789 8 hours ago [-]
Two decades learning from others, then close the gate. Can’t ding you for inconsistency though. Your contribution to this discussion is consistent with your new ethos. Good luck with your new approach to the world.
JSR_FDED 3 hours ago [-]
I took his comment to mean that programming jobs should be kept for people who genuinely care about developing a deep understanding and a willingness to learn, instead of those just typing prompts and not really caring beyond that.
hex4def6 2 hours ago [-]
That's the charitable way of interpreting it. The less charitable way is that they're bitter that open-source has basically been used to train their replacement, and that they want to turn programming into effectively a guild-based profession to protect the jobs of those presently in the industry. Similar to the button-making guilds of the past, for instance.
shahbaby 6 hours ago [-]
I'm not sure if I agree with this but I find the downvotes at even the suggestion of some mechanisim to protect employment sad.
No other profession is as eager to make themselves obsolete as those who build software.
Maybe they think the world runs on meritocracy. Anyway looks like now they are seeing what happens when there are no gates at all and anyone can do what you do.
bitwize 9 hours ago [-]
Closed source will do squat unless you protect your binaries with some sort of secure enclave encryption scheme. AI can reverse engineer your binaries and deliver a copyright-laundered version in hours or days.
mellosouls 9 hours ago [-]
We can call it Coding Canutism.
naagi 9 hours ago [-]
shortsighted and a bit late anyway
simianwords 9 hours ago [-]
is this an excellent LARP bait or someone with these sincere views?
pbkompasz 9 hours ago [-]
Why not both?
robotpepi 9 hours ago [-]
what?
lencastre 9 hours ago [-]
is your favourite colour?
a_e_k 3 hours ago [-]
Blue. No, yel--
Johnyjohnson123 8 hours ago [-]
Yellow, yours ?
blobcode 7 hours ago [-]
Wrong!
AspireOne 5 hours ago [-]
Is not a color.
0x20cowboy 2 hours ago [-]
Competitive Programming is such an asinine concept.
It’s like competitive knitting, or competitive architecture.
This focus on the inane is what has really damaged this industries perception in engineering IMO.
Competitive Programmer's Handbook (2017) [pdf] - https://news.ycombinator.com/item?id=17605395 - July 2018 (14 comments)
Competitive Programmer's Handbook (2017) [pdf] - https://news.ycombinator.com/item?id=16952222 - April 2018 (121 comments)
A Competitive Programmer's Handbook - https://news.ycombinator.com/item?id=14115826 - April 2017 (157 comments)
Competitive programmers handbook - https://news.ycombinator.com/item?id=13762408 - March 2017 (2 comments)
Remember, these are throwaway programs; not something that you need to worry about someone else maintaining, or something you need to worry about opening up 5 years later.
The coding style demonstrated here is extremely common with high-level competitive teams.
https://link.springer.com/book/10.1007/978-3-031-61794-2
Additionally, there is a nice set of problems that go along with the book:
https://cses.fi/problemset/
That’s all out of the window now. If we are really in “do we even read the code?” territory, then this is just a hobby to do for fun, and doesn’t matter for any real world work. But even if we read the code, but most code is written by prompting and iterating with agents, I don’t know if this will be helpful at all.
In 5 to 10 years, we'll see what kind of engineer is produced from pure LLM steering without years of hand coding experience. Even many of the more experienced ones would have some of this skill atrophied.
I did, nevertheless, learn quite a bit from it. Would recommend to everyone. It's well written.
Ive been relearning a ton that either over-reliance on llms caused me to forget, or just lost due to time.
Its been extremely fun. I really missed the feeling of thinking really hard and arriving at a solution.
I hope we dont lose this desire as a species.
I really think the rise of LLMs has demonstrated quite well that most people don't care. Only a minority of us have ever had this desire.
Closedsource, credentialism and gatekeeping is my new stance.
thats not what gatekeeping is
No other profession is as eager to make themselves obsolete as those who build software.
Maybe they think the world runs on meritocracy. Anyway looks like now they are seeing what happens when there are no gates at all and anyone can do what you do.
It’s like competitive knitting, or competitive architecture.
This focus on the inane is what has really damaged this industries perception in engineering IMO.