How Relevant is Syntax after LLMs

Neotheone

Figuring stuff out
Adept
Hi All,

I have a feeling that I am probably learning to program a little too late in the day, because LLMs seem to be remarkably good at doing anything that I ask of them, which makes it seem pointless to actually remember specifics associated with the syntax.

To be clear, I am happy putting in the hours, but I suspect that we are not far from getting to the point where natural languages will be the dominant input for computer programs, which means I might do well with just understanding and getting used to data structures and other applications of programming rather than focus on syntax itself.

In this context, any perspectives from you guys would be helpful, in terms of what to focus on when learning to use Python , R, Julia, and Wolfram Mathematica, as these are the languages/tools that I'm expected to get reasonably good at, as part of my degree requirements.

Thanks
 
The latest 3b1b video explains LLMs quite nicely, and after watching it you’ll kinda figure out syntax is indeed important, at least at the beginning -

And yes, if you gain the fundamental understandings of how data structure works, then syntax becomes secondary.

It’s like knowing words of a language which trigger a response from others, vs conceptually understanding what the words mean and how people interpret them.
 
Syntax has as much meaning as it did before. Data structures, logic building, analytical thinking, problem solving approaches still factor in higher than programming language knowledge.

You could search documentation for syntax earlier as well. IDEs had autocomplete long before Co-pilot existed. Yes, it has become easier, but still not a major change in my opinion.

Whenever we conduct coding interviews, we give the candidates pen and paper to write code. We don't expect proper syntax, just pseudo-code or algorithm that covers all corner cases.
 
I have a feeling that I am probably learning to program a little too late in the day, because LLMs seem to be remarkably good at doing anything that I ask of them, which makes it seem pointless to actually remember specifics associated with the syntax.
Programming is more than just syntax. If you intend to take it up seriously, you must understand that there is a lot that happens between what you write and what your hardware actually executes. To that end, being fluent in syntax is just one of many considerations when writing code for a specific task.

There are various ways to get something done in code but only a few optimal ones based on your requirements. For instance, if you want something quick, raw Python is great. If you want it faster, you'll need to look into libraries which ate actually written in C or C++. If performance is of utmost consideration, you may need to write everything from scratch in C++ or Rust.

Where LLMs excel is at providing snippets of code to do a very specific task or give you the logic flow to do something very weird which you just can't seem to get right. We are a long long way from programming in natural language.

Just because you have Google Translate doesn't mean you can write poetry. However, it can help you interact with a driver or a shopkeeper. Similarly with LLMs.
 
Thanks for the helpful responses, guys. However, I am keen to check in case you have a different opinion for those who don't intend to pursue programming /software development as a career, but intend to use programming to the extent required, as a tool for agent-based modelling, simulations and forecasting.

For context, I have been into financial risk assessment /corporate finance and treasury in my career thus far, and I am currently learning to use computational tools mentioned above, as part of my systems science degree. I hope to apply my learning in the assessment of risks in financial systems in my career in the future.
 
Thanks for the helpful responses, guys. However, I am keen to check in case you have a different opinion for those who don't intend to pursue programming /software development as a career, but intend to use programming to the extent required, as a tool for agent-based modelling, simulations and forecasting.
If you have some tech support to fall back upon in case the code doesn't work or produces unexpected results, then LLM generated code would be perfectly fine for your stated needs. A good practice would be to read through the code and see if it's making sense to you logically and if you can understand the syntax; if not, try prompting the LLM to explain the code line-by-line.
 
If you have some tech support to fall back upon in case the code doesn't work or produces unexpected results, then LLM generated code would be perfectly fine for your stated needs. A good practice would be to read through the code and see if it's making sense to you logically and if you can understand the syntax; if not, try prompting the LLM to explain the code line-by-line.
Thanks for the kind response. However, I suspect I would typically not have the option of falling back on tech support. At least I cannot count on that.
 
Thanks for the kind response. However, I suspect I would typically not have the option of falling back on tech support. At least I cannot count on that.
Python code is fairly readable even for beginners. If you can't understand what the LLM is generating, prompt it to generate alternative solutions and pick what looks good to you. Trial and error it'll have to be.
 
I have found that these existing LLMs are giving answers based on hallucinations. Even if it is correct, if you tell it is wrong, it will give a totally wrong answer including wrong syntax.
 
Last edited:
i generally use llms to get the syntax for mongodb queries. many-a-times it gives a perfectly reasonable answer, but it doesnt achieve what i wanted in the first place. a couple of times i had to mix a couple of answers it had given by myself to get to the desired result.
 
Back
Top