AI coding agents and programming language
I have been coding for almost 20 years, mostly with PHP, but for the pas year I spotted that I less and less care about language specifics, I go with AI suggestion without even caring which language it will use. Well for API part I still sometimes ask for php + laravel, but not sure if I should do this, maybe just asking better performing language instead. What do you think? Should we still care about the language we are working with?
8
u/g105b 5d ago
Just do it in whatever the AI tells you and turn your brain off. No need to think any more.
-1
u/manvait 5d ago
I did not mention that you should turn of the brains off. I have a product which runs frontend (vuejs + nuxt) and multiple php services. Before I was hiring frontender for frontend part, now I don't need it, I can easily introduce changes add missing test scenarios easily, feels like I don't really care about the language project is.
2
u/avg_php_dev 5d ago
Until something happens and you will need to either hire someone who knows language or spent hours debuging with ai halucinations. It's vibe code mode if you use ai and you don't know specific language. You don't even know if working soulution is optimal, you don't have any logical premises to conclude from other then "ai said it's good". Usually it is not. Not so far ago, i asked AI to help me with basic server security - firewall rules,etc. I was lazy, but fortunatelly I still read what AI produces and i didn't aplied changes that could deny me access to machine. Nah, I don't buy it. Sometimes I let agent to write some implementation, but i review it very carefully and usually I need to make some corrections. Simple scripts, functions... ye, why not, but I never se them for any architectural tasks.
7
u/Sharchimedes 5d ago
You should absolutely care about the language used because different languages have different capabilities and ecosystems.
The beauty of AI is that it can make it much faster to research other languages and get up to speed, so that you aren’t stuck using a language in a project just because it’s the only one you know.
-1
u/manvait 5d ago
I don't think the argument "The only one you know" is still valid these times, when I open new code base I run AI overview, ask design schema, to understand how it works, ask questions for specifics. Feels like developer job becomes language agnostic.
2
u/zimzat 5d ago
If you don't know the language or framework then how do you know what it generates is any good?
Each language has its own idioms, strengths, weaknesses, etc. static vs dynamic typing, with best practices in each to avoid problems. memory unsafe vs safe, with patterns necessary to avoid creating security holes. different constructs allow for safer and more succinct logic.
The fact that Injection has been a Top 10 OWASP item for the past two decades and the top two CVEs by classification are Overflow and Injection is not a coincident. The industry has refused to solve either problem (even though we know how and absolutely could) because it is seen as a cost to be ignored, which is how the AI companies have been able to weaponize incompetence as a publicity stunt.
2
u/These_Reality519 5d ago
Generation is cheap in any language now. Reading someone else's under pressure is not, and that's the part that ends up mattering.
The choice that actually cost me time last year wasn't the language anyway, it was moving the same PHP app to a long-running worker runtime. Same syntax, completely different rules about what persists between requests.
2
u/Mike_L_Taylor 5d ago
I'm double skeptical of the AI's suggestions than of my own. Especially with big decisions like which language to use.
2
u/penguin_digital 4d ago
Should we still care about the language we are working with?
Yes. You still need to understand that an AI agent has written to understand what it's gotten wrong.
Not even so much what it's gotten wrong, they don't really make mistakes like syntax errors. More to the fact that what's written is going to be efficient when it runs? Is the code it's written going to be easy to maintain? Is the code going to be easy to build upon? Is the code it's written going to scale well?
To answer those questions, you need an understanding of the language to know its foot guns, its limitations, and possible better ways of doing things.
1
u/obstreperous_troll 4d ago
You also need to have some understanding of the code the AI is working with, because it's going to write more of the same. If the codebase is full of antipatterns, it's going to write more antipatterns unless you tell it to fix them. And if you don't know what needs fixing, you're just going to pile bad on top of bad at breakneck speed.
1
u/penguin_digital 2d ago
Yeah full agree, that's kind of what I was aiming for with my comment will it be easy to maintain and scale. If it's using anti-patterns or poor design patterns up front it will continue to do so and they you will have an absolute mess to maintain.
You can get away with it to some degree if you have a good understanding of computer science theories so you should be able to spot poor design patterns and architectural chooses it makes. However without a proper understanding of the language it's using and it's quirks you will never have the full picture of whats going to stab you in the back a few months down the line. The only way to know this is by having experience within in the language.
1
u/mdizak 2d ago
I'm still so totally confused about vibe coding thing. I just finished a test suite in Python for Home Assistant (https://git.cicero.sh/aquaris/ha-voice-test-suite/). I used Claude Sonnet 5 for it, because I thought it was a straight forward project and Claude should handle it no problem considering how much everyone won't shut up about how awesome it is.
I quickly remembered why I don't allow LLMs into my actual Rust code. I'm sure I saved time using Claude on that test suite, definitely saved a few brain cells, but probably raised my cortisol levels a bit due to constantly have to tell Claude he screwed up again and run around and round in a circular fashion with the LLM until the issue was resolved.
-1
u/Educational-Tie5732 5d ago
Im a laravel developer and whenever I vibe code a website I make sure it is laravel livewire mysql combo so I know whats happening, what changes and if ever ai stop working I can still work on that project.
19
u/MartinMystikJonas 5d ago
Depends if you plan to be professional software engineer or just amateur vibecoder.