7 ms·
Counter point: AI makes mainstream languages (for which a lot of data exists in the training data) even more popular because those are the languages it knows be
by behnamoh 1y ago
Counter point: AI makes mainstream languages (for which a lot of data exists in the training data) even more popular because those are the languages it knows best (ie, has the least rate of errors in) regardless of them being typed or not (in fact, many are dynamic, like Python, JS, Ruby).
The end result? Non-mainstream languages don't get much easier to get into because average Joe isn't already proficient in them to catch AI's bugs.
People often forget the bitter lesson of machine learning which plagues transformer models as well.
- echelon 1y agoAI seems pretty good at Rust, so I don't know. What sort of obscure languages are we talking about here?
- behnamoh 1y agoHaskell, Lisps (especially the most Common one!), Gleam or any other Erlang-wrapper like Elixir, Smalltalk, etc.
- josevalim 1y agoPhoenix.new is a good example of a coding agent that can fully bootstrap realtime Elixir apps using Phoenix LiveView: https://phoenix.new/ https://phoenix.new/ I also use coding agents with Elixir daily without issues.
- arrowsmith 1y agoYes, Claude 4 is very good at Elixir.
- ModernMech 1y agoSee this is what kills me about these things. They say they built this system that will build apps for you, yet they advertise it using a website that chews through my CPU and GPU. All this page does is embed a YouTube video, why is my laptop's fan going full blast? And I'm supposed to trust the code that emanates from their oracle coding agent? What are we doing here people??
- m00dy 1y agoRust is the absolute winner of LLM era.
- danielbln 1y agoBy what metric? I still see vastly more Python and Typescript being generated, and hell, even more golang. I suppose we are all in our own language bubbles a bit.
- m00dy 1y agoI don’t have hard data to back it up, but LLMs make writing code super easy now. If the code compiles, you’ve basically filtered out the hallucinations. That’s why writing in Python or TypeScript feels kind of pointless. Rust gives you memory safety, no garbage collector, and just overall makes more sense, way better than Go. Honestly, choosing anything other than Rust feels like a risky gamble at this point.
- yahoozoo 1y agoDoes nobody write business logic in Rust? All you ever hear is “if it compiles it works” but you can write a compiling Rust program that says “1 + 1 = 3”. Surely an LLM can still hallucinate.
- m00dy 1y agoyou also write units tests, which is something baked in rust std toolchain.
- spacechild1 1y agoRust only really makes sense in settings where you would have otherwise used C or C++, i.e. you need the best possible performance and/or you can't afford garbage collection. Otherwise just use Go, Java or C#. There is no gamble with picking any of these.
- 1y ago
- bugglebeetle 1y agoI’m blown away by how good Gemini Pro 2.5 is with Rust. Claude I’ve found somewhat disappointing, although it can do focused edits okay. Haven’t tried any of the o-series models.
- smackeyacky 1y agoOld stuff like VB.NET it’s really struggling on here. But c# its mostly fine
- mrheosuper 1y agoRust is far from obscure. some HDLs should fit the bill: VHDL, Verilog or SystemC
- vitorsr 1y agoI taught Digital Design this semester - all models output nonsensical VHDL. The only exception is reciting “canonical” components available on technical and scientific literature (e.g., [1]). [1] https://docs.amd.com/r/en-US/ug901-vivado-synthesis/Flip-Flop-Registers-with-Rising-Edge-Clock-Coding-VHDL-Example https://docs.amd.com/r/en-US/ug901-vivado-synthesis/Flip-Flo...
- apwell23 1y agosame i am developing a bunch of neovim plugins. haven't had any background in neovim or lua.
- rapind 1y agoI’m having a good time with claude and Elm. The correctness seems to help a lot. I mean it still goes wonky some times, but I assume that’s the case with everyone.
- minebreaker 1y agoFrom what I can tell, LLMs tend to hallucinate more with minor languages than with popular ones. I'm saying this as a Scala dev. I suspect most discussions about the LLM usefulness depend on the language they use. Maybe it's useful for JS devs.
- noosphr 1y agoIts more useful for python devs since pretty much all ml code is python wrappers around c++.
- dr-detroit 1y ago[dead]
- philipkglass 1y agoI write primarily Scala too. The frontier models seem reasonably good at it to me. One approach I sometimes use is to ask for it to write something complicated in Python, using only the standard library, and then once I have the Python refined I ask for a translation into Scala. This trick may not be applicable to your problems, but it works for me when I find an interesting algorithm in a paper and I'd like to use it but there is no existing Java/Scala implementation. I use AI assistance to generate code and review code, but I haven't had success trying to use it to update a substantial existing code base in Scala. I have tried using both Claude Code and Cursor and the handful of times I tried there were so many oversights and mistakes that resolving the mess was more effort than doing it manually. I'll probably try again after the next big model releases. Current frontier models have been the least useful to me when I'm asking them to review performance-critical code inside Scala. These are bits of my code base that I have written to use a lot of mutable variables, mutable data structures, and imperative logic to avoid allocations and other performance impediments. I only use this style for functions highlighted by profiling. I can ask for a code review and even include the reasoning for the unusual style in the docstring, but Claude and Gemini have still tried to nudge me back to much slower standard Scala idioms.
- dearilos 1y agoproblem with the tools you're using is that they're not built for code review im building one that lets you write and enforce your own rules so you don't get the typical slop email in profile if you'd like to try it - i can send you a link
- bluetomcat 1y agoIt’s good at matching patterns. If you can frame your problem so that it fits an existing pattern, good for you. It can show you good idiomatic code in small snippets. The more unusual and involved your problem is, the less useful it is. It cannot reason about the abstract moving parts in a way the human brain can.
- carlmr 1y ago>It cannot reason about the abstract moving parts in a way the human brain can. Just found 3 race conditions in 100 lines of code. From the UTF-8 emojis in the comments I'm really certain it was AI generated. The "locking" was just abandoning the work if another thread had started something, the "locking" mechanism also had toctou issues, the "locking" also didn't actually lock concurrent access to the resource that actually needed it.
- bluetomcat 1y agoYes, that was my point. Regardless of the programming language, LLMs are glorified pattern matchers. A React/Node/MongoDB address book application exposes many such patterns and they are internalised by the LLM. Even complex code like a B-tree in C++ forms a pattern because it has been done many times. Ask it to generate some hybrid form of a B-tree with specific requirements, and it will quickly get lost.
- hombre_fatal 1y ago"Glorified pattern matching" does so much work for the claim that it becomes meaningless. I've copied thousands of lines of complex code into an LLM asking it to find complex problems like race conditions and it has found them (and other unsolicited bugs) that nobody was able to find themselves. Oh it just pattern matched against the general concept of race conditions to find them in complex code it's never seen before / it's just autocomplete, what's the big deal? At that level, humans are glorified pattern matchers too and the distinction is meaningless.
- 1y ago
- arrowsmith 1y agoEhhhh, a year ago I'd have agreed with you — LLMs were noticeably worse with Elixir than with bigger langs. But I'm not noticing that anymore, at least with Elixir. The gap has closed; Claude 4 and Gemini 2.5 both write it excellently. Otoh, if you wanted to create an entirely new programming language in 2025, you might be shit outta luck.
- rglover 1y ago> Otoh, if you wanted to create an entirely new programming language in 2025, you might be shit outta luck. This just made me really sad. That effectively means that we'll plateau indefinitely as a civilization (not just on programming languages, but anything where the LLM can create an artificial Lindy effect).
- drbojingle 1y agoUnless the new language was a super set of an existing language. I think a stricter version of python or even typescript could be do-able.
- arrowsmith 1y agoGood point
- bigfishrunning 1y ago> Otoh, if you wanted to create an entirely new programming language in 2025, you might be shit outta luck. Or, do what you want, and don't worry what language people who have no interest in programming use.
- jongjong 1y agoCan confirm, you can do some good vibe coding with JavaScript (or TypeScript) and Claude Code. I once vibe coded a test suite for a complex OAuth token expiry issue while working on someone else's TypeScript code. Also, I had created a custom Node.js/JavaScript BaaS platform with custom Web Components and wanted to build apps with it, I gave it the documentation as attachment and surprisingly, it was able to modify an existing app to add entire new features. This app had multiple pages and Claude just knew where to make the changes. I was building a kind of marketplace app. One time it implemented the review/rating feature in the wrong place and I told it "This rating feature is meant for buyers to review sellers, not for sellers to review buyers" and it fixed it exactly right. I think my second experience (plain JavaScript) was much more impressive and was essentially frictionless. I can't remember it making a single major mistake. I think only once it forgot to add the listener to handle the click event to highlight when a star icon was clicked but it fixed it perfectly when I mentioned this. With TypeScript, it sometimes got confused; I had to help it a lot more because I was trying to mock some functions; the fact that the TypeScript source code is separate from the build code created some confusion and it was struggling to grep the codebase at times. Though I guess the code was also more complicated and spread out over more files. My JavaScript web components are intended to be low-code so it's much more succinct.
- greener_grass 1y agoMore people who are not traditionally programmers are now writing code with AI assistance (great!) but this crowd seems unlikely to pick up Clojure, Haskell, OCaml etc... so I agree this is a development in favor of mainstream languages.
- __loam 1y agoImo there's been a big disconnect between people who view code as work product vs those who view it as a liability/maintenance burden. AI is going to cause an explosion in the production of code, I'm not sure it's going to have the same effect on long term maintenance and I don't think rewriting the whole thing with ai again is a solution.
- badgersnake 1y agoAny they don’t understand it. So they get something that kinda half works and then they’re screwed.
- lonelyasacloud 1y agoNot sure. Even for small projects the optimisation criteria is different if the human's role in the equation shifts from authoring to primarily a reviewing based one.
- RedNifre 1y agoI'm not sure, I have a custom config format that combines a CSV schema with processing instructions that I use for bank CSVs and Claude was able to generate a perfect one for a new bank only based on one config plus CSV and the new bank's CSV. I'm optimistic that most new programming languages will only need a few "real" programmers to write a small amount of example code for the AI training to get started.
- 0points 1y ago> I'm optimistic that most new programming languages will only need a few "real" programmers to write a small amount of example code for the AI training to get started. CSV is not a complex format. Why do you reach this conclusion from toying with CSV? And why do you trust a LLM for economic planning?
- theshrike79 1y agoIt’s not “economic planning”, it’s creating a CSV parser/converter. When the code is done, it not like the LLM can secretly go flip columns at random
- golergka 1y agoRecently I wrote a significant amount of zig first time in my life thanks to Claude Code. Is zig a mainstream language yet?
- ACCount36 1y agoIt's not too obscure. It's also about the point where some coding LLMs get weak. Zig changes a lot. So LLMs reference outdated data, or no data at all, and resort to making a lot of 50% confidence guesses.
- 0x000xca0xfe 1y agoInteresting, my experience lerning Zig was that Claude was really bad at the language itself to the point it wrote obvious syntax errors and I had to touch up almost everything. With Rust OTOH Claude feels like a great teacher.
- golergka 1y agoSyntax and type errors gets instantly picked up by type checker and corrected, and as long as these failures stay in context, LLM doesn’t make those mistakes again. Not something I ever have to pay attention to.
- rm_-rf_slash 1y agoCursor and Claude Code were the asskicking I needed to finally get on the typescript bandwagon. Strong typing drastically reduces hallucinations and wtf bugs that slip through code review. So it’ll probably be the strongly typed languages that receive the proportionally greatest boost in popularity from LLM-assisted coding.
- theshrike79 1y agoThis is why I like Go for vibe programming. goimports makes everything look the same, the compiler is a nitpicky asshole that won’t let the program even compile if there is an unused variable etc.
- nzach 1y ago> won’t let the program even compile if there is an unused variable That is a really big advantage in the AI era. LLMs are pretty bad at identifying what is and what isn't relevant in the context. For developers this decision is pretty annoying, but it makes sense if you are using LLMs.
- theshrike79 1y agoYep, that's why I like strict tooling with LLMs (and actually real people as well, but that's a different conversation :D) When you have a standard build process that runs go vet, go test, golanci-lint, goimports and compiles the code you can order the LLM to do that as the last step every time. This way at the very least the shit it produces is well-formed and passes the tests :) Otherwise they tend to just leave stuff hanging like "this erroring test is unrelated to the current task, let's just not run it" - ffs you just broke it, it passed perfectly before you started messing with the codebase =)
- hiAndrewQuinn 1y agoMost people who work in non-mainstream languages are, to some extent, making a statement. They care more about X than mere "popularity". (Sometimes X is money, hence why I still have Anki flashcards in rotation on OCaml, Intersystems Cache and Powershell.) If they do want "popularity" then the counter-counter-point is that it should be easier to get than ever. Just have one proficient person write a lot of idiomatic, relatively isolatable code, and then have an AI generate terabytes upon terabytes of public domain licensed variations and combinations on that code. If you make programming in the small a breeze, people will flock to your language, and then they can discover how to program in the large with it on their own time.
- kybernetikos 1y agoYes, I worry that we're in for an age of stagnation, where people are hesitant to adopt radically new languages or libraries or frameworks because the models will all be bad at them, and that disadvantage will swamp any benefit you might get from adopting an improved language/library/framework. Alternatively every new release will have to come with an MCP for its documentation and any other aspects that might make it easier for an LLM to talk about it and use it accurately.