Sure. Until we need to. Then we face some apparently tiny concern, which is actually deeply intricated with the rest of this whole mess, and we are ready for a ride in the rabbit hole.
> most developers today don’t pay much attention to the instruction sets and other hardware idiosyncrasies of the CPUs that their code runs on, which language a program is vibe coded in ultimately becomes a minor detail.
This can be very misguided from my part but I have the feeling they are two very different cases here. Ok, not everyone is a ffmpeg level champion who will thrive in code-golfing ASM til the last drop of cycle gain.
But there are also probably reasons why third-generation programming language lasted without any other subsequent proposal completely displacing them. It’s all about a tradeoff of expressiveness and precision. What we want to keep in the focus zone, and what we want to delegate to mostly uncontrolled details.
If to go faster we need to get rid of a transparent glasses, we will need very sound and solid alternative probes to report what’s going on ahead.
In my opinion, their target audience are scientists rather than programmers, and a scientist most often think of code as a tool to express his ideas (hence, perfect AI generated code is kind of a graal). The faster he can express them, even if the code is ugly, the better. He does not care to reuse the code later most of the time.
I have the hint that scientists and not programmers are the target audience as other things may trigger only one category but not the other, for example, they consider Arduino a language, This makes totally sense for scientists, as most of the ones using Arduino dont necessarily know C++, but are proud to be able to code in Arduino.
If it was even slightly true then we wouldn’t be generating language syntax at all, we’d be generating raw machine code for the chip architectures we want to support. Or even just distributing the prompts and letting an AI VM generate the target machine code later.
That may well happen one day, but we’re not even close right now
They are indeed very different. If your compiler doesn't emit the right output for your architecture, or the highly optimized library you imported breaks on your hardware, you file a bug and, depending on the third party, have help in fixing the issue. Additionally, those types of issues are rare in popular libraries and languages unless you're pushing boundaries, which likely means you are knowledgeable enough to handle those type of edge cases anyway.
If your AI gives you the wrong answer to a question, or outputs incorrect code, it's entirely on you to figure it out. You can't reach out to OpenAI or Anthropic to help you fix the issue.
The former allows you to pretty safely remain ignorant. The latter does not.
IEEE's methodology[2] is sensible given what's possible, but the data sources are all flawed in some ways (that don't necessarily cancel each other out). The number of search results reported by Google is the most volatile indirect proxy signal. Search results include everything mentioning the query, without promising it being a fair representation of 2025. People using a language rarely refer to it literally as the "X programming language", and it's a stretch to count all publicity as a "top language" publicity.
TIOBE uses this method too, and has the audacity to display it as a popularity with two decimal places, but their historical data shows that the "popularity" of C has dropped by half over two years, and then doubled next year. Meanwhile, C didn't budge at all. This method has a +/- 50% error margin.
[1]: https://redmonk.com/rstephens/2023/12/14/language-rankings-u... [2]: https://spectrum.ieee.org/top-programming-languages-methodol...
Yes, that does not show us how much code is running out there, and some companies might have huge armies with very low churn and so the COBOL stacks in banks don’t show up, but I can’t think of a more useful and directly measurable way of understanding a languages real utility.
Use the "right"/better tool from the toolbox, the tool you know best, and/or the tool that the customer wants and/or makes the most money. This might include Ada[0] or COBOL[1]. Or FORTH[2] or Lua[3]. Popularity isn't a measure of much of anything apart from SEO.
0. https://www2.seas.gwu.edu/~mfeldman/ada-project-summary.html
1. https://theirstack.com/en/technology/cobol
2. https://dl.acm.org/doi/pdf/10.1145/360271.360272
3. https://www.freebsd.org/releases/12.0R/relnotes/#boot-loader
After working with Node and Ruby for a while I really miss a static type system. - Typescript was limited by its option to allow non strictness.
Nothing catches my eye, as it’s either Java/.Net and its enterprisey companies or Go, which might not be old but feels like it is, by design. Rust sounds fun, but its usecases don’t align much with my background.
Any advice?
In an alternate universe, if LLM only had object oriented code to train on, would anyone push programming forward in other styles?
Elixir behind OCaml? Possible, I guess, but I know of several large Elixir shops and I haven’t heard much of OCaml in a while.
In all of these Python is artificially over-represented. Search hits and Stackoverflow questions represent beginners who are force fed Python in university or in expensive Python consultancy sessions. Journal articles are full of "AI" topics, which use Python.
Python is not used in any application on my machine apart from OS package managers. Python is used in web back ends, but is replaced by Go. "AI" is the only real stronghold due to inertia and marketing.
Like the TIOBE index, the results of this so called survey are meaningless and of no relevance to the jobs market.
https://survey.stackoverflow.co/2024/technology#most-popular...
Even with a big uptick in Python and Java due to AI, I don't see Javascript+Typescript losing that much ground year-over-year.
Instead I find myself more concerned with which virtual machine or compiler tool chain the language operates against. Does it need to ship with a VM or does it compile to a binary? Do I want garbage collection for this project?
Maybe in that way the decision moves up an abstaction layer the same way we largely moved away from assembly languages and caring about specific processor features.
Was thinking of learning some spring boot and create a small project or two to reinforce what I've learned. However it feels like tutorials for spring boot is of so much lower quality compared to newer language/frameworks like JS/React/Python. Often times it's just a talking head over a powerpoint presentation talking for 30 minutes.
Could people recommend me a good tutorial for spring boot (or anything java that is being used in enterprises)?
Any idea how could it be explained?
Both Java the language and JVM is great. A lot of the important work for JVM just landed. I am not even sure if there are anything that is really missing anymore. But the whole ecosystem is so vast I wonder if anyone would want to just craft out a subset of Java.
No Zig, Crystal, Odin, but Julia and Elixir is there just without numbers.
Is it something to do with frameworks like React?