What's with the avalanche of new things to learn - has it always been that bad?

I was more thinking about doing it in Lisp with the table directly in the source code (and not in a string)...
Ah, I'm sure a good lisp hacker like yourself would have a nice way of doing it 😁
Like Doc Fine, lisp is one of the things I always wanted to master, and somehow never got the time...
 
I have zero desire to learn a new language.
Delphi/Free Pascal, ASM and the occasional C/C++ are quite sufficient.
Being retired, I spend most of my writing time in VBA for Excel in support of my spreadsheet projects.

As for a steep learning curve, my new one is multi-track music recording.
DAW, MIDI, VST and hooking them all up together is my new learning project.
 
I spend most of my writing time in VBA for Excel in support of my spreadsheet projects.

As for a steep learning curve, my new one is multi-track music recording.
DAW, MIDI, VST and hooking them all up together is my new learning project.
Being an old tracker fan, I hope you don't mean to build some kind of tracker in excel.
 
I mentioned this a couple of times elsewhere. Yesterday, again, I tried to get AI to solve a programming problem for fun. It provided a wrong answer six times and finally admitted it had to give up.

I asked it a few questions about settings on FreeBSD. It insisted on me using Bash. When I told it bash wasn't native to FreeBSD, it apologized, rewrote the code, but on another question, continued to use bash.

A setting on my phone seems to have disappeared or moved. 10 times I asked AI to find it and 10 times it failed before it gave up.
my experience as well, to the point that all this AI everywhere talk is getting me worse nausea than if I was the first male to be pregnant with 7 babies.
 
When I joined a well-known very large company, my first task was to fix (a long list of) bugs in a critical program written in C++. I studied it for a while and asked them if it was ok to rewrite it in Go. I was quite prepared to argue my case but then I was pleasantly surprised when colleagues told me they were hoping I would rewrite it in Go! Rewrite took a while since it had to interface with all sorts of external programs and APIs which were in constant flux & their internal systems were highly complicated. May be I have been lucky but my experience over the years is that by taking some initiative & hard work & persuasion changes are possible. Though often people don't do this (or they give up assuming they won't be allowed). It is like they are not aware of their own power.

But I do agree that simplifying is harder and harder as "technical debt" (bad design/impl. decisions) accrues. One other phenomenon I saw at this company is that their "smart" programmers were the type who could keep a lot of complexity in their heads so they didn't seem to mind all that complexity but over time there is an increasing cost. Especially as "smart" programmers move on to other projects.
One of the problems with re-writes is that if you do it perfectly, you won't introduce any new bugs. In this case the original system was so buggy that even if you introduced a few new bugs, fixing the long list of existing ones still made it a win.

I did something similar years ago when I replaced a C++ database exporter with Java. The Java version took 1/8 the time, didn't crash, and didn't leak memory, but this was not really Java's merit or C++'s fault. The original version used Oracle's vomitous OCI interface, and the new version used the far more robust and tractable JDBC interface. At the time it was hard to write threaded code in C++, and trivial in Java. The export process was embarrassingly parallel and therefore took very well to a multi-threaded approach.

In any case, it's hard for a for-profit business to justify the expense of re-writing something that's working well enough, even if it's hard to maintain. You spend all this money on expensive programmer time and your best-case outcome is you're right back where you started in terms of functionality.

Now re-writing perfectly good, working, battle-tested C code in Rust...
 
Being an old tracker fan, I hope you don't mean to build some kind of tracker in excel.
Nope.
I'm just a retired Windows refugee who writes for that platform.
My Excel stuff is personal use and a great deal for my masonic lodge use.
I track in Cakewalk with a MOTU M4 interface.
 
I think the the details are expanding at a rate that's growing out of control, but the concepts aren't.

Most new tech is a flavor of well-understood existing concepts. That's why people who have experience in older tech tend to be uninterested / unimpressed by it. The new tech might have marginal gains over the old tech - but the ramp-up time for someone well-versed in the old tech simply isn't worth it.

When I look back at the last couple decades of my own experience, the new-to-me concepts were:

- NoSQL databases
- columnar databases
- concurrency
- ML
- AI

I'm able to adopt new tools & technologies relatively quickly because I have enough context to be able to map the new stuff to things I already know. Sometimes it gets frustrating / exhausting / whyyyyyyyyy. But I'm fortunate to have a great deal of confidence knowing, "I know it can do X, I just need to know how this toolset expresses it."

Plus our industry loves to invent new ways to say the same thing, and then make them work together in their preferred expression. That's why you have Python installers that download Rust toolchains to compile C libraries.
 
Much of it is marketing.

I know someone who sells support packages/services for a living. He knows all of the names of the products, their capabilities, etc, but nothing of the underlying tech. He doesn't need to - and for the most part, neither do his customers.

Since they stopped selling CPUs as $VENDOR $MODEL $FREQ, this has been the case.

Introduction of new ideas, not necessarily better ideas, with the main motives being profit and marketshare for those doing the pushing, now often involves discrediting that which it sets out to replace. So, for example, if I'm a "big tech" consortium pushing memory safe languages, I'm going to attack C and developers who code in C.

I have already set out my stall, so to descredit C, I'm going to focus on it's supposed security problems. Useful idiots, with enough motivation, will do a lot of the legwork. This includes legions of developers, "experts", bloggers, etc.

The result is: more to learn, because employer wants to know if you have a knowledge of XYZ, even if they don't know what XYZ is.
 
Useful idiots, with enough motivation, will do a lot of the legwork. This includes legions of developers, "experts", bloggers, etc.

The result is: more to learn, because employer wants to know if you have a knowledge of XYZ, even if they don't know what XYZ is
This is a VERY accurate representation of reality... I'd know, I'm living exactly that.
 
One of the problems with re-writes is that if you do it perfectly, you won't introduce any new bugs.
Why is that a problem?
Introduction of new ideas, not necessarily better ideas, with the main motives being profit and marketshare for those doing the pushing, now often involves discrediting that which it sets out to replace. So, for example, if I'm a "big tech" consortium pushing memory safe languages, I'm going to attack C and developers who code in C.
I like C and use it (in preference to C++ for sure) but it certainly has many problems. Similar non-technical arguments were being put forth 50 years ago about assembly language(s).
 
Why is that a problem?
Because from a bean counter's perspective you spent a bunch of money and got nothing in return. It's easy to put a cost on the programmer time to re-write something. It's hard to pin down the savings from having more maintainable code.

Also, I suspect you're one of those few people who can accomplish a re-write that doesn't introduce new bugs. I also suspect that's not the case for many of our colleagues, unfortunately.
 
Nah, SQLite can be easily compiled to enforce ACID properties of proper SQL databases. NoSQL gives up enforcement of that stuff so that it can be more 'flexible' - at the expense of data integrity.
Thanks for the info!

I was thinking ACID in that context was related to the WoW server emu MaNGOS and their ACID scripts, but apparently theirs means "Artificial Creature Intelligence Database" :p

NoSQL: https://en.wikipedia.org/wiki/MongoDB

"Because of MongoDB's default security configuration, which allows any user full access to the database, data from tens of thousands of MongoDB installations has been stolen."

etc

Interesting; I haven't used anything that needed MongoDB yet, but recently heard of a game server project using it. I'll keep that config note in mind!
 
To be honest, anybody who deploys MongoDB in production but isn't familiar enough with it to know the default permissions probably got the bad press they deserve.

I am more concerned about the funny licenses on MongoDB and a few other non-SQL database systems.
 
Back
Top