12 ms·
I wonder if the era of dynamic programming languages is over. Python/JS/Ruby/etc. were good tradeoffs when developer time mattered. But now that most code is wr
by behnamoh 9mo ago
I wonder if the era of dynamic programming languages is over. Python/JS/Ruby/etc. were good tradeoffs when developer time mattered. But now that most code is written by LLMs, it's as "hard" for the LLM to write Python as it is to write Rust/Go (assuming enough training data on the language ofc; LLMs still can't write Gleam/Janet/CommonLisp/etc.).
Esp. with Go's quick compile time, I can see myself using it more and more even in my one-off scripts that would have used Python/Bash otherwise. Plus, I get a binary that I can port to other systems w/o problem.
Compiled is back?
- Jhater 9mo ago[dead]
- nomel 9mo ago> But now that most code is written by LLMs I'm sure it will eventually be true, but this seems very unlikely right now. I wish it were true, because we're in a time where generic software developers are still paid well, so doing nothing all day, with this salary, would be very welcome!
- deleted 9mo ago[deleted]
- phainopepla2 9mo agoCode written by LLM != developer doing nothing
- rvz 9mo ago> Plus, I get a binary that I can port to other systems w/o problem. So cross-platform vibe-coded malware is the future then?
- yibers 9mo agoI hope that AVs will also evolve using the new AI tech to detect this type of malware.
- Imustaskforhelp 9mo agoHonestly I looked at Go for malware and I mean AV detection for golang used to be ehh but recently It got strong. Then it became a cat and mouse game with obfuscators and deobfucsators. John Hammond has a *BRILLIANT* Video on this topic. 100% recommneded. Honestly Speaking from John Hammond I feel like Nim as a language or V-lang is something which will probably get vibe coded malware from. Nim has been used for hacking so much that iirc windows actually blocked the nim compiler as malware itself! Nim's biggest issue is that hackers don't know it but if LLM's fix it. Nim becomes a really lucrative language for hackers & John Hammond described that Nim's libraries for hacking are still very decent.
- ravenstine 9mo agoI'm not sure that LLMs are going to [completely] replace the desire for JIT, even with relatively fast compilers. Frameworks might go the way of the dinosaur. If an LLM can manage a lot of complex code without human-serving abstractions, why even use something like React?
- westurner 9mo agoTest cases; test coverage
- mdtusz 9mo agoFrameworks aren't just human-serving abstractions - they're structural abstractions that allow for performant code, or even being able to achieve certain behaviours. Sure, you could write a frontend without something like react, and create a backend without something like django, but the code generated by an LLM will become similarly convoluted and hard to maintain as if a human had written it. LLM's are still _quite_ bad at writing maintainable code - even for themselves.
- simonw 9mo agoI have certainly become Go-curious thanks to coding agents - I have a medium sized side-project in progress using Go at the moment and it's been surprisingly smooth sailing considering I hardly know the language. The Go standard library is a particularly good fit for building network services and web proxies, which fits this project perfectly.
- Imustaskforhelp 9mo ago100% check out Golang even more! I have been writing Golang AI coding projects for a really long time because I really loved writing different languages and Golang was one in which I settled on. Golang's libraries are phenomenal & the idea of porting over to multiple servers is pretty easy, its really portable. I actually find Golang good for CLI projects, Web projects and just about everything. Usually the only time I still use python uvx or vibe code using that is probably when I am either manipulating images or pdf's or building a really minimalist tkinkter UI in python/uv Although I tried to convert the python to golang code which ended up using fyne for gui projects and surprisingly was super robust but I might still use python in some niche use cases. Check out my other comment in here for finding a vibe coded project written in a single prompt when gemini 3 pro was launched in the web (I hope its not promotion because its open source/0 telemetry because I didn't ask for any of it to be added haha!) Golang is love. Golang is life.
- behnamoh 9mo ago> considering I hardly know the language. Same boat! In fact I used to (still do) dislike Go's syntax and error handling (the same 4 lines repeated every time you call a function), but given that LLMs can write the code and do the cross-model review for me, I literally don't even see the Go source code, which is nice because I'd hate it if I did (my dislike of Go's syntax + all the AI slop in the code would drive me nuts). But at the end of the day, Go has good scaffolding, the best tooling (maybe on par with Rust's, definitely better than Python even with uv), and tons of training data for LLMs. It's also a rather simple language, unlike Swift (which I wish was simpler because it's a really nice language otherwise).
- logicprog 9mo agoIt's funny seeing you say that, because I've had an entire arc of despising the design of, and peremptorily refusing to use, Go, to really enjoying it, thanks to AI coding agents being able to take care of the boilerplate for me. It turns out that verbosity isn't really a problem when LLMs are the one writing the code based on more high level markdown specs (describing logic, architecture, algorithms, concurrency, etc), and Go's extreme simplicity, small range of language constructs, and explicitness (especially in error handling and control flow) make it much easier to quickly and accurately review agent code. It also means that Go's incredible (IMO) runtime, toolchain, and standard library are no longer marred by the boilerplate either, and I can begin to really appreciate their brilliance. It has me really reconsidering a lot of what I believed about language design.
- cobolexpert 9mo agoI was also thinking this some days ago. The scaffolding that static languages provide is a good fit for LLMs in general. Interestingly, since we are talking about Go specifically, I never found that I was spending too much typing... types. Obviously more than with a Python script, but never at a level where I would consider it a problem. And now with newer Python projects using type annotations, the difference got smaller.
- zahlman 9mo ago> And now with newer Python projects using type annotations, the difference got smaller. Just FWIW, you don't actually have to put type annotations in your own code in order to use annotated libraries.
- cobolexpert 9mo agoIndeed, but nowadays it’s common to add the annotations to claw back a bit of more powerful code linting.
- zahlman 9mo agoPeople are still going to want to audit the code, at the very least.
- Imustaskforhelp 9mo agoI love golang man! And I use it for the same thing too!! I mean people mention rust and everything and how AI can write proper rust code with linter and some other thing but man trust me that AI can write some pretty good golang code. I mean though, I don't want everyone to write golang code with AI of all of a sudden because I have been doing it for over an year and its something that I vibe with and its my personal style. I would lose some points of uniqueness if everyone starts doing the same haha! Man my love for golang runs deep. Its simple, cross platform (usually) and compiles super fast. I "vibe code" but feel faith that I can always manage the code back. (self promotion? sorry about that: but created golang single main.go file project with a timer/pomodoro with websockets using gorilla (single dep) https://spocklet-pomodo.hf.space/ https://spocklet-pomodo.hf.space/) So Shhh let's keep it a secret between us shall we! ;) (Oh yeah! Recently created a WHMCS alternative written in golang to hook up to any podman/gvisor instance to build your own mini vps with my own tmate server, lots of glue code but it actually generated it in first try! It's surprisingly good, I will try to release it as open source & thinking of charging just once if people want everything set up or something custom Though one minor nitpick is that the complexity almost rises many folds between a single file project and anything which requires database in golang from what I feel usually but golang's pretty simple and I just LOVE golang.) Also AI's pretty good at niche languages too I tried to vibe code a fzf alternative from golang to v-lang and I found the results to be really promising too!
- c7b 9mo agoAgree on compiled languages, wondering about Go vs Rust. Go compiles faster but is more verbose, token cost is an important factor. Rust's famously strict compiler and general safety orientation seems like a strong candidate for LLM coding. Go would probably have more training data out already though.
- dec0dedab0de 9mo agoor maybe someone will use an LLM to create a JIT that works so well that compiled languages will be gone.
- kenjackson 9mo agoHas anyone tried creating a language that would be good for LLMs? I feel like what would be good for LLMs might not be the same thing that is good for humans (but I have no evidence or data to support this, just a hunch).
- simonw 9mo agoThere was an interesting effort in that direction the other day: https://simonwillison.net/2026/Jan/19/nanolang/ https://simonwillison.net/2026/Jan/19/nanolang/
- conception 9mo agoI don’t know rust but I use it with llms a lot as unlike python, it has fewer ways to do things, along with all the built in checks to build.
- koolba 9mo agoThere are two separate needs here. One is a language that can be used for computation where the code will be discarded. Only the output of the program matters. And the other is a language that will be eventually read or validated by humans.
- 999900000999 9mo agoI want to create a language that allows an LLM to dynamically decide what to do. A non dertermistic programing language, which options to drop down into JavaScript or even C if you need to specify certain behaviors. I'd need to be much better at this though.
- bitwize 9mo agoAstronaut 1: You mean... strong static typing is an unmitigated win? Astronaut 2: Always has been...
- cyanydeez 9mo agoI think you're missing the reason LLMs work: It's cause they can continue predictable structures, like a human. The surmise that compiled languages fit that just doesn't follow. The same way LLMs have trouble finishing HTML because of the open/close are too far apart. The language that an LLM would succeed with is one where: 1. Context is not far apart 2. The training corpus is wide 3. Keywords, variables, etc are differentiated in the training. 4. REPL like interactivity allows for a feedback loop. So, I think it's premature to think just because the compiled languages are less used because of human inabilities, doesn't mean the LLM will do any better.
- jacquesm 9mo ago> But now that most code is written by LLMs Is this true? It seems to be a massive assumption.
- e-dard 9mo agoReplace _is_ with _can be_ and I think the general point still stands.
- embedding-shape 9mo agoBy lines of code produced in total? Probably true. By usefulness? Unclear.
- fooker 9mo agoBy lines of code, almost by an order of magnitude. Some of the code is janky garbage, but that’s what most code it. There’s no use pearl clutching. Human engineering time is better spent at figuring out which problems to solve than typing code token by token. Identifying what to work on, and why, is a great research skill to have and I’m glad we are getting to realistic technology to make that a baseline skill.
- bogtog 9mo ago> But now that most code is written by LLMs, it's as "hard" for the LLM to write Python as it is to write Rust/Go The LLM still benefits from the abstraction provided by Python (fewer tokens and less cognitive load). I could see a pipeline working where one model writes in Python or so, then another model is tasked to compile it into a more performant language
- JumpCrisscross 9mo agoNP (as in P = NP) is also much lower for Python than Rust on the human side.
- behnamoh 9mo agoWhat does that mean? Can you elaborate?
- JumpCrisscross 9mo agoSorry, yes. LLMs write code that's then checked by human reviewers. Maybe it will be checked less in the future. But I'm not seeing fully-autonomous AI on the horizon. At that point, the legibility and prevalence of humans who can read the code becomes almost more important than which language the machine "prefers."
- behnamoh 9mo agoWell, verification is easier than creation (i.e., P ≠ NP). I think humans who can quickly verify something works will be in more demand than those who know how to write it. Even better: Since LLMs aren't as creative as humans (in-distribution thinking), test-writers will be in more demand (out-of-distribution thinkers). Both of these mean that humans will still be needed, but for other reasons. The future belongs to generalists!
- rvz 9mo ago> The future belongs to generalists! Couldn't be more correct. The experienced generalists with techniques of verification testing are the winners [0] in this. But one thing you cannot do, is openly admit or to be found out to say something like: "I don't know a single line of Rust/Go/Typescript/$LANG code but I used an AI to do all of it" and the system breaks down and you can't fix it. It would be quite difficult to take a SWE seriously that prides themselves in having zero understanding and experience of building production systems and runs the risk of losing the company time and money. [0] https://news.ycombinator.com/item?id=46772520 https://news.ycombinator.com/item?id=46772520
- sakesun 9mo agoLLM should generate to terse and easy to read language for human to review. Beside Python, F# can be a perfect fit.
- Jhater 9mo ago[dead]
- felixgallo 9mo agoI wouldn't speak so quickly for the 'uncommon' language set. I had Claude write me a fully functional typed erlang compiler with ocaml and LLVM IR over the last two days to test some ideas. I don't know ocaml. It made the right calls about erlang, and the result passes a fairly serious test suite, so it must've known enough ocaml and LLVM IR.
- threecheese 9mo agoMy intuition from using the tools broadly is that pre-baked design decisions/“architectures” are going to be very competitive on the LLM coding front. If this is accurate, language matters less than abstraction. Instructions files are just pre-made decisions that steer the agent. We try to reduce the surface area for nondeterminism using these specs, and while the models will get better at synthesizing instructions and code understanding, every decision we remove pays dividends in reduced token usage/time/incorrectness. I think this is what orgs like Supabase see, and are trying to position themselves as solutions to data storage, auth, events etc within the LLM coding space, and are very successful albeit in the vibe coder area mostly. And look at AWS Bedrock, they’ve abstracted every dimension of the space into some acronym.
- al_borland 9mo ago> assuming enough training data This is a big assumption. I write a lot of Ansible, and it can’t even format the code properly, which is a pretty big deal in yaml. It’s totally brain dead.
- simonw 9mo agoHave you tried telling it to run a script to verify that the YAML is valid? I imagine it could do that with Python.
- al_borland 9mo agoIt gets it wrong 100% of the time. A script to validate would send it into an infinite loop of generating code and failing validation.
- simonw 9mo agoAre you sure about that? I don't think I've ever seen Opus 4.5 or GPT-5.2 get stuck in a loop like that. They're both very good at spotting when something doesn't work and trying something else instead. Might be a problem with older, weaker models I guess.
- al_borland 9mo agoI’m limited on the tools and models I can use due to privacy restrictions at work.
- bopbopbop7 9mo ago> But now that most code is written by LLMs Got anything to back up this wild statement?
- ecto 9mo agoIf you have to ask, you can't afford it.
- dankwizard 9mo agoMe, my team, and colleagues also in software dev are all vibe coding. It's so much faster.
- manishsharan 9mo agoIf I may ask, does the code produced by LLM follow best practices or patterns? What mental model do you use to understand or comprehend your codebase? Please know that I am asking as I am curious and do not intend to be disrespectful.
- mjevans 9mo agoThink of the LLM as a slightly lossy compression algorithm fed by various pattern classifiers that weight and bin inputs and outputs. The user of the LLM provides a new input, which might or might not closely match the existing smudged together inputs to produce an output that's in the same general pattern as the outputs which would be expected among the training dataset. We aren't anywhere near general intelligence yet.
- antonvs 9mo agoIgnoring your last line, which is poorly defined, this view contradicts observable reality. It can’t explain an LLM’s ability to diagnose bugs in code it hasn’t seen before, exhibit a functional understanding of code it hasn’t seen before, explain what it’s seeing and doing to a human user, etc. Functionally, on many suitably scoped tasks in areas like coding and mathematics, LLMs are already superintelligent relative to most humans - which may be part of why you’re having difficulty recognizing that.
- tyingq 9mo agoIf you asked the LLM it's possible it would tell you Java is a better fit.
- rednafi 9mo agoI agree with this. Making languages geared toward human ergonomics probably won’t be a thing going forward. Go is positioned really well here, and Steve Yegge wrote a piece on why. The language is fast, less bloated than Python/TS, and less dogmatic than Java/Kotlin. LLMs can go wham with Go and the compiler will catch most of the obvious bugs. Faster compilation means you can iterate through a process pretty quickly. Also, if I need abstraction that’s hard to achieve in Go, then it better be zero-cost like Rust. I don’t write Python for anything these days. I mean, why bother with uv, pip, ty, mypy, ruff, black, and whatever else when the Go compiler and the standard tooling work better than that decrepit Python tooling? And it costs almost nothing to make my scripts faster too. I don’t yet know how I feel about Rust since LLMs still aren’t super good with it, but with Go, agentic coding is far more pleasurable and safer than Python/TS.
- dotancohen 9mo agoPython (with Qt, pyside) is still great for desktop GUI applications. My current project is all LLM generated (but mostly me-verified) Rust, wrapped in a thin Python application for the GUI, TUI, CLI, and web interfaces. There's also a Kotlin wrapper for running it on Android.
- rednafi 9mo agoYeah, Python is nice to work with in many contexts for sure. I mostly meant that I don’t personally use it as much anymore, since Go can do everything I need, and faster. Plus the JS/Python dependency ecosystem is tiring. Yeah, I know there’s uv now, but even then I don’t see much reason to suffer through that when opting for an actually type-safe language costs me almost nothing. Dynamic languages won’t go anywhere, but Go/Rust will eat up a pretty big chunk of the pie.
- condiment 9mo ago100% of my LLM projects are written in Rust - and I have never personally written a single line of Rust. Compilation alone eliminates a number of 'category errors' with software - syntax, variable declaration, types, etc. It's why I've used Go for the majority of projects I've started the past ten years. But with Rust there is a second layer of guarantees that come from its design, around things like concurrency, nil pointers, data races, memory safety, and more. The fewer category errors a language or framework introduces, the more successful LLMs will be at interacting with it. Developers enjoy freedom and many ways to solve problems, but LLMs thrive in the presence of constraints. Frontiers here will be extensions of Rust or C-compatible languages that solve whole categories of issue through tedious language features, and especially build/deploy software that yields verifiable output and eliminates choice from the LLMs.
- dotancohen 9mo ago> ... and eliminates choice from the LLMs. Perl is right out! Maybe the LLMs could help us decipher extent Perl "write once, maintain never" code.
- nl 9mo agoit's very good at this BTW
- trollbridge 9mo agoI've found it's terrible at digesting a few codebases I've needed to deal with (to wit, 2007-era C# which used lots of libraries which were popular then, and 1993-era Visual Basic which also used from third party library that no LLM seems to understand the first thing about).
- simonw 9mo agoI had great results recently with ~22 year old PHP: https://simonwillison.net/2025/Jul/1/mid-2000s/ https://simonwillison.net/2025/Jul/1/mid-2000s/ It even guessed the vintage correctly! > This appears to be a custom template system from the mid-2000s era, designed to separate presentation logic from PHP code while maintaining database connectivity for dynamic content generation.
- koe123 9mo ago> But now that most code is written by LLMs Am I in the Truman show? I don’t think AI has generated even 1% of the code that I run in prod, nor does anyone I respect. Heavily inspired by AI examples, heavily assisted by AI during research sure. Who are these devs that are seeing such great success vibecoding? Vibecoding in prod seems irresponsible at best
- cheeze 9mo agoFAANG here (service oriented arch, distributed systems) and id say probably 20+ percent of code written on my team is by an LLM. it's great for frontends, works well with test generation, or following an existing paradigm. I think a lot of people wrote it off initially as it was low quality. But gemini 3 pro or sonnet 4.5 saves me a ton of time at work these days. Perfect? Absolutely not. Good enough for tons of run of the mill boilerplate tasks? Without question.
- 8organicbits 9mo agoAs someone currently outside FAANG, can you point to where that added productivity is going? Is any of it customer visible? Looking at the quality crisis at Microsoft, between GitHub reliability and broken Windows updates, I fear LLMs are hurting them. I totally see how LLMs make you feel more productive, but I don't think I'm seeing end customer visible benefits.
- mediaman 9mo agoI think much of the rot in FAANG is more organizational than about LLMs. They got a lot bigger, headcount-wise, in 2020-2023. Ultimately I doubt LLMs have much of an impact on code quality either way compared to the increased coordination costs, increased politics, and the increase of new commercial objectives (generating ads and services revenue in new places). None of those things are good for product quality. That also probably means that LLMs aren't going to make this better, if the problem is organizational and commercial in the first place.
- zx8080 9mo ago
- lsh0 9mo ago> LLMs still can't write Gleam/Janet/CommonLisp/etc hoho - I did a 20/80 human/claude project over the long weekend using Janet: https://git.sr.ht/~lsh-0/pj/tree https://git.sr.ht/~lsh-0/pj/tree (dead simple Lerna replacement) ... but I otherwise agree with the sentiment. Go code is so simple it scrubs any creative fingerprints anyway. The Clojure/Janet/scheme code I've seen it writing isn't _great_ but it gets the job done quickly and correct enough for me to return to it later and golf it some.
- jdub 9mo ago> But now that most code is written by LLMs... Pause for a moment and think through a realistic estimation of the numbers and proportions involved.
- resonious 9mo ago> LLMs still can't write Gleam Have you tried? I've had surprisingly good results with Gleam.
- shevy-java 9mo ago> Python/JS/Ruby/etc. were good tradeoffs when developer time mattered. First I don't think this is the end of those languages. I still write code in Ruby almost daily, mostly to solve smaller issues; Ruby acts as the ultimate glue that connects everything here. Having said that, Ruby is on a path to extinction. That started way before AI though and has many different reasons; it happened to perl before and now ruby is following suit. Lack of trust in RubyCentral as our divine new ruler is one (recently), after they decided to turn against the community. Soon Ruby can be renamed into Suby, to indicate Shopify running the show now. What is interesting is that you still see articles "ruby is not dead, ruby is not dead". Just the frequency of those articles coming up is worrying - it's like someone trying to pitch last minute sales - and then the company goes bankrupt. The human mind is a strange thing. One good advantage of e. g. Python and Ruby is that they are excellent at prototyping ideas into code. That part won't go away, even if AI infiltrates more computers.
- the_af 9mo ago> One good advantage of e. g. Python and Ruby is that they are excellent at prototyping ideas into code. That part won't go away, even if AI infiltrates more computers. Why wouldn't they go away for prototyping? If an LLM can help you prototype in whatever language, why pick Ruby or Python? (This isn't a gotcha question. I primarily use python these days, but I'm not married to it).
- deadbabe 9mo agoPeak LLM will be when we can give some prompt and just get fully compiled binaries of programs to download, no code at all.
- adw 9mo agoThe quality of the error messages matters a _lot_ (agents read those too!) and Python is particularly good there.
- simonw 9mo agoEspecially since Python 3.14 shipped big improvements to error messages: https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-improved-error-messages https://docs.python.org/3/whatsnew/3.14.html#whatsnew314-imp...
- trollbridge 9mo agoI generally use LLMs to generate Python (or TypeScript) because the quality and maintainability is significantly better than if I ask it to, for example, pump out C. They really do not perform very well outside of the most "popular" languages.
- paulddraper 9mo agoAgreed. The compiler is a feedback cycle made in heaven.
- ekianjo 9mo agoStill less tokens to produce with higher level languages, and therefore less cost to maintain in the long run?
- justaboutanyone 9mo agoWe may as well have the LLMs use the hardest most provably-correct language possible
- bstar77 9mo agoI’ve moved to rust for some select projects and it’s actually been a bit easier… I converted an electron app to rust/tauri… perf improvement was massive and development was quicker. I’m rethinking the stacks I should be focused on.
- tshaddox 9mo agoMight as well choose a language with a much better type system than go, given how beneficial quick feedback loops are to LLM code generation.