Programmer productivity has gotten worse. None of the development tools in widespread use today is as productive as Visual Basic or Delphi were back in 1996.
It took many years to realize the role of software is to be flexible to maintain and modify at the code level.
That's the entire point of "soft"ware. Otherwise there would be no point on doing on a CPU what could be made on an integrated circuit 1000 times faster.
A single guy writing whatever code they decided to do, may create a good program. But as requirements change, and the ownership gets passed on, it quickly becomes a nightmare to modify or refactor.
Good code made in SlowScript® by a team based on consensus on architecture and coding style has more potential for success as a product than the fast and optimized spaghetti code made by the best hacker in the world.
This needs a lot of qualifiers. I can see that for web development maybe (I don't know, haven't done that for almost 10 years, but I can imagine given the constraints), but for system level programming for example I don't want to go back to the 90s. Not that Visual Basic or Delphi worked for that anyway.
Also, as the internet (and technology) grew in influence and popularity, the amound of usecases for them grew exponentially.
In the "golden era" computers were more or less advanced calculators. Now we (as a population) expect to give entertainment and give advice about our lifestyle, like we do with smartwatches or fitness devices.
That's a lot more complicated than writing text or inputting numbers into a grid
> Now we (as a population) expect to give entertainment and give advice about our lifestyle, like we do with smartwatches or fitness devices.
I always think about Lindy effect [1] in this context: the life expectancy of a technology, idea or (in our case) a societal habit is proportional to its current age. It follows, then, that the idea of a multi-purpose computing device may also wear off in certain areas of life, or for certain types of people. Not always, not everywhere is there a need for complex or complicated devices or systems. There will always be people who seek or prefer a simpler, quieter life that involves as little technology as possible.
What's really interesting is that many of these people seem to have a remarkably deep understanding of technology, and great skills [2]. Possibly because of this knowledge, they're really clear (or, pedantic :) about what they don't need.
In the end, though, I've come to think that this may be more of a simple psychological preference (for less stimulation) than a rationalized choice. Who knows.
Technically Delphi could have worked but you'd need to use your own RTL and aside from a few additional language feature, you'd be losing 99% of what Delphi offered anyway.
No, but all those people making "Netflix money" aren't really changing technology, are they? I'd argue FAANG is stagnating it, and telling themselves differently.
I guess if you want to make gobs of cash, fine. You could also just go into finance and make more than FAANG money if you're talented enough.
Facebook is a major contributor (sometimes the primary one) to many famous open-source projects: Linux, mercurial, MySQL, React, jemalloc, PyTorch, GraphQL, and probably several others I’m not thinking of.
They’re also one of the top AI/ML research institutions in the world with a huge chunk of the papers published at top conferences.
I'd argue that Microsoft, Google and Apple have enabled massive growth in technology. New uses for OSs, new places for them to run, and ways to make starting far more accessible/collaborative.
Even if there is 2 step forwards, one step back, the overall benefit of options available due to the vast number of people contributing their creativity is only possible due to these companies.
No but that isn't because of Lazarus itself but because "Netflix/FAANG" doesn't use it as what it does isn't really in their business interests. Lazarus is mainly about making desktop applications. It can do web, etc but it isn't really a focus and you lose most of the visual functionality anyway (yeah ok, you can set up URL routing via the object inspector and connect DB components together, but 99% of the work is done via code anyway so it doesn't provide something better than what you'd find in more popular tools).
AFAIK pas2js doesn't fully support the full runtime library yet and i think the language isn't completely implemented. IMO the wasm target will be more interesting and was merged into the main branch earlier this year, though i don't know how usable it is.
Either way those are things that allow you to use Free Pascal code in the web on the client side, but they aren't really "Lazarus" things. Once the full RTL can be used via pas2js or wasm, it could be possible to make a web-based backend for LCL but that would feel kinda alien as you'd essentially be embedding a desktop application inside a web page.
It is also possible to make new form (object) designers for a new type of form (object) that acts more like a Flash page or something like that, but that would require a lot of work. On the other hand it might make making mobile apps better too.
I've read it. I "binged" on pretty much everything published by Wirth and Mössenböck's groups at one point. His work on Oberon really underlines the point that it's unsurprising that Go has similarities in terms of design goals.
I do think he sometimes went too far, but I think the attitude was admirable in as much as it was driven not so much by opposition to these features but in recognition of his own lack of understanding of how to make various features efficient. Which made the languages less viable in their "pure" states for day to day use, certainly, but also great starting points.
I wish more language designers would at least think about simplicity and implementation consequences, even if I too would prefer to work in a language where after thinking about that they still implement hard to optimise features.
My favourite language is Ruby, pretty much the anti-thesis of a Wirthian language, and certainly not Go, so I'm not saying all of the parts carried over to Go are necessarily things I agree with either.
At the same time, Ruby is full of things I wish had been better specified or left out, and often I get the feeling that if Matz had been forced to at least consider simplicity more when Ruby started out, it'd be a cleaner, better language for it. E.g. for the most part the Ruby grammar makes for a language that is nice to write, but it has so many dark, and horrible corners that does nothing to make Ruby pleasant that are simply there because nobody cared enough simplicity. Favourite example: "% x " may look like a syntax error, but it's the quoted string "x" - space is a valid quote character; if that isn't messed up, "%\nx\n" is also valid and produces the quoted string "x"... LF is also a valid quote character... Contrived Ruby hello world:
x=%
hello world
puts x
(mind the whitespace - put a space after that "%" and it's suddenly a syntax error because the string suddenly ends at the space after "hello"; fun times)
Your evidence for this? It took a whole damn team to build a single website with "HTML programming" back then. Software was still shrinkwrapped. Modern platforms on web frameworks with CI/CD I think make today's dev a hell of a lot more productive.