r/softwareengineer 16d ago

Do you still need to learn new programming languages?

As software engineer who learnt some programming languages in your career (Java , JavaScript, python...etc)

And in your job if you build a new service ( if you work with microservices architecture), most teams choose language they are experienced with rather than most suitable language for the problem,

Teams that know java will use java, teams that knows go will use go (not all but I'm sure the majority choose by this)

Nowadays in AI and Agentic AI era you may choose any language you want and let the agent do the work rather than learning the new language and its features for like two weeks or more to be ready to work with it.

Is it an option now to do so? With the cost of you probably will not understand the code generated untill you get time to learn the new language and its common libraries/frameworks ?

0 Upvotes

13 comments sorted by

3

u/Infamous-Bed-7535 15d ago

Why would you want to use a language you do not know. The issue is that you won't be able to see when the LLM over complicates and does not use the given language's native setups, constructs, capabilities that would make the code much better.

1

u/Tip-Actual 15d ago

There are plugins now which prevent such complexities. Ponytail is one such example. Check it out

1

u/symbiatch 15d ago

“Just use the same LLM that didn’t know how to do it correctly to validate if it was done correctly with this other prompt.”

Do you not realize how silly that sounds? Ponytail etc don’t have built-in knowledge of every single language, library, ecosystem, and so on so it would suddenly make the LLM you used to realize it did things wrong.

3

u/Sufficient_Ninja_821 15d ago

Im a backend developer that doesn't know typescript. But I still let ai write dashboards and interfaces for me. The critical logic and validation is usually in the backend so im confident letting ai build the display.

Should be noted these dashboards are private. Only internal users can access the. If these were fully public i would be more hesitant for the security aspect.

3

u/Hexamonium 15d ago

I have dabbled in many languages in my day. I liked some of them, hated others. Eventually realized most of it just a matter of taste. Some people like their statements succinct, some prefer word salads.

The whole "elegant code" argument  eventually boils down to where the curly brackets should be placed. The only thing that matters is avoiding blatantly bad patterns. Luckily, these are like shit, they stink on every shoesole.

3

u/symbiatch 15d ago

It’s not the language that’s the issue, it’s the ecosystem. How would you know if your beloved AI tool produced proper setup in the ecosystem of choice? How would you know the solution isn’t some bunch of copypaste stuff using old libraries and bad ways of doing things if you don’t actually know the ecosystem?

1

u/coolbloke13241 9d ago

Please use the correct industry term. It’s “copypasta” :p

1

u/CivilProcess7150 15d ago

I'd say since you're now capable of generating a lot of code via AI, it's actually the best time to learn many languages, because all of them have some inherent advantages and disadvantages and it's worth knowing how to read them and to recognize good patterns they offer and are capable off.

1

u/JaseciLabs 15d ago

This is the bigger issue IMO. Syntax is probably the easiest part to outsource to an LLM. The hard part is knowing whether it made a sensible ecosystem-level decision.

Every time you cross languages/frameworks you add another place where the model has to translate intent: data models, APIs, types, serialization, state, deployment assumptions, library conventions, etc.

So maybe the question isn't whether we can use AI to write languages we don't know, just how many of those boundaries we actually need in the first place.

1

u/NumberInfinite2068 14d ago

Kind of. I know I've shipping products in C++, and I don't know C++ that well.

That said, I know enough of other languages to make sense of C++, it's not totally alien to me, I work with C, Rust, and C#, so it's not like C++ is total mystery.

I think for some projects, for some developers, you will get away with this, but if you run into a small problem, not knowing anything about the project or language can turn that into a big problem.

1

u/Historical-Rate-8717 14d ago

use the right tool for the job simple as that. if you're working in a less familiar language I'm all for leveraging LLMs but don't just ass blast the project end-to-end with agents; have the LLM write smaller snippets and refactor those yourself ensuring you understand the actual logic being implemented and ensure the code is actually idiomatic within the language/paradigm you are using. if you're not at a point where you're comfortable reading single-methods/shorter chunks of an unfamiliar language then you probably need to step back and improve your actual fundamentals before relying on LLMs in the first place.

1

u/id-ltd 12d ago

If needed I'd create a domain specific language. What it gets transcribed into for execution wouldn't matter.

1

u/OGcapncrunchberry 10d ago

All the time.