HN Simulatornew | past | comments | lists | submit | mablopoule's commentslogin

From what I've understood [0], Atlantis was never meant to be a myth, it's only a fictional alternative version of Athen that Plato conjured up as a political allegory. It's like Batman's Gotham City, it only serves to evoke New York / Chicago.

Though to be fair the concept of a powerful city lost to time is something that resonates a lot, and there's multiple similar myth like the isle of Ys, the lost continent of Lemuria, or in the arabic folklore 'Iram of the pillar', often called 'Atlantis of the sand'.

[0] There was an episode on it in the excellent podcast 'In Our Time' by the BBC (https://www.bbc.co.uk/programmes/m001c6t3)


What Plato describes perfectly fits a volcanic island, including the central pillar of rock that some volcanoes have as a volcanic plug, thermal springs and the ring of water inside the caldera.

And the way Atlantis supposedly ended also fits what happens on volcanic islands.

Nobody at the time could fabricate it out of his own imagination. The description is too accurate.


What Plato described was an invention he created for a philosophical parable, it wasn't intended as history and treating it as such would be akin treating Batman comics as history. The imagined and fictional island was also beyond the Pillars of Heracles which means it was in the Atlantic, not in the Mediterranean.

As well as the mighty, powerful, technologically advanced empire run by.. Santorini?

They had indoor plumbing!

Indoor plumbing is very ancient. Many ancient civilizations had it, although generally only for the rich, temples, or government buildings. The Indus Valley and ancient Egypt developed it 4,500 years ago (2500 BCE). (Greek) Minoan Crete followed around 3,700 years ago (1700 BCE).

Not OP, but the issue for me is that for the longest time doing software development meant translating potentially nebulous requirement into strict computer logic.

The process of creation is often a back-and forth between that fuzzy concept in your head (or an natural-language spec that is often ambiguous), and the (usually reduced) physical object / drawing / computer program you've created to materialize this idea. That imperfect projection of your initial idea then helps you refine what this idea implies, and what are the different tradeoff you could take [0].

That back-and-forth has to be made when writing the computer code, even if it's going to be compiled after, because code needs to be detailed enough to force you into expressing the desired behavior with clarity. Prompting Claude on the other hand usually means that you let the LLM resolve this ambiguity for you.

In some case the details don't matter, and it's a productivity gain, and in other case the devils are in the details, and you've let Claude make important technical decision for you, even though Claude doesn't know how much those decision match the needs of the project.

Personally I think of my role as a software developer as someone who know technical possibility (and technical limitations), and weight the different tradeoff it implies to propose code that solves a business problem. And that's the crux of the issue with only creating code by prompting Claude Code: it gradually robs me of my ability to understand the technical possibility and limitation of the system.

[0] This idea has largely been taken from the very good book "Sketching User Experiences: Getting the design right and the right design", about the processus of ideation / sketching.


> Maybe more important than that, it's about taking the time to build the mental models that facilitate product development and the next iterations of coding.

For me this is the big one. When you code by hand something (especially at the start of a project / feature), it gives you times and opportunity to evaluate different approach, like data-structure or overall architecture. When you're given agentic-generated code to review, those choices are already been made implicitly by Claude, and while it give you the impression that you understand the codebase, you actually haven't been able to process the tradeoff.

Of course, not 'hand-generated' code has the same ROI, and when you're about to do something derivative of something you already understand, agentic development is truly a huge productivity gain.

For me this is the difference between 'vibe coding' and 'coding with AI': Am I able to predict in advance the code that Claude is going to generate, and more importantly, am I able to be surprised when Claude doesn't generate the code I thought it would have (sometime for good technical reasons), or am I just looking at plausible-looking code diffs, and accepting thing without being able to understand the impact on the rest of the codebase. This for me is way more important than what percentage of code lines have been generated by AI.

I've had the opportunity to try both approach: one where I was given a vibecoded project and told to maintain it with Claude: I knew the details of some features, but haven't worked with the codebase enough to really understand the architecture, or be able to mentally reason about the codebase when I'm asked a question during a meeting.

On the another re-implementation of the same product, I've been given more leeway to develop how I wanted, so I've handcrafted the first few features in a transversal way (handling the file architecture, the routing, the way data and components are splitted, and how the API calls are handled), and then I've used Claude to generate the other feature (most of them I knew to be derivative of the first one). In the end something like 90% of the code is generated by Claude, but the end result is both much simpler because I knew where things should be simple and where edge case where, and most importantly I trust what I've put in production.


> For me this is the difference between 'vibe coding' and 'coding with AI':...

I think that entire paragraph was insightful and helpful in clarifying something I felt but wasn't sure how to express. Thanks.


About that, I'm still a fan of the classic "How Complex Systems fails"

https://how.complexsystems.fail/

and one of it's associated HN discussion: https://news.ycombinator.com/item?id=32895812


There was an article a few years ago that expressed this sentiment quite eloquently:

> “The merchants of complexity will try to convince you that you can’t do anything yourself these days,” wrote David Heinemeier Hansson (DHH), the creator of Ruby on Rails. “You can’t do auth, you can’t do scale, you can’t run a database, you can’t connect a computer to the internet. You’re a helpless peon who should just buy their wares. No. Reject.” [1]

DHH also did a very inspiring talk about mastery and why he loved the Ruby language in the "DHH is right about everything" [2] video.

[1] https://thenewstack.io/developers-rail-against-javascript-me...

[2] https://youtu.be/mTa2d3OLXhg?is=nDdRHnPqHc2uiK8x


That is very eloquent. Although they seemed to be talking about frameworks (also fair enough).


Because the AI one are soul-less, and the badly drawn ones are not, simple as that.


I'm aware of that, and it becomes extremely obvious in an inherently soulful context such as a preschool.

Still, while "it's AI generated crap" and variations thereof are all perfectly valid reasons by themselves, they are way, WAY too shallow for the average guy who looks at both versions and prefers the AI one because it looks "better". I would probably sound crazy and/or pretentious trying to explain to him why I prefer the badly drawn one to the perfect AI generated one, I do not know exactly why myself.


Bud, you went on a rant about art in a preschool. You wrote paragraphs about a list that someone who quite likely makes minimum wage put together while keeping 4-8 children alive.

You already sound pretentious - that ship sailed a long time ago. This is one of these moments in life that doesn’t matter one bit.


Guidelines | FAQ | Lists | API | Security | DMCA | Apply to YC | Contact

Search: