All my career. They can’t program, they have no valid opinion about programming, as long as we finish the user stories. Which is several times faster in a nice dynamic language than a bondage language.
See also @mdhughes@appdot.net
All my career. They can’t program, they have no valid opinion about programming, as long as we finish the user stories. Which is several times faster in a nice dynamic language than a bondage language.
There’s some math & CS papers you should read, Gödel’s incompleteness theorem, Turing’s halting problem. YOU CANNOT prove your way out of logic errors. You cannot make a universal type system. All you’re doing is wasting time with false confidence.
Terrible projects are terrible because of the developers, not because of the language.
I find dynamic projects easier to refactor and fix, just write some tests and if it’s green bar before and after, you’re fine.
Typing can’t prove anything, either. It just creates bugs and crashes.
Your program logic is the part that will not be fixed by it.
Some languages really do suck so much they’re all but unwriteable by plain text, and need constant compiler tree parsing to get right.
But that’s an incentive to quit using bad languages. Write in something you can read and write in ed, and you can hold it in your head.
Strong typing is for weak minds.
You absolutely do not need a computer telling you what types you can put in a collection. Put an assert, write some unit tests, if you aren’t sure where data sources come from and can’t write a one-line comment.
Dynamic typing makes you fast, it’s empowering. Try it and quit being so scared.
Mlem is SwiftUI. It’s a buggy pile of crap that loses posts, says “nothing here” when there is something there, has bizarre navigation (where do I tap to go to a post?) Some of that may improve; some seems like no design.
If you can only hobble along with tool support, you never understood what you were doing. You don’t have to rewrite everything from scratch, but if you can’t, you lack the skills to use them effectively, and can’t ever improve on them. And like I say, soon AI will replace those consumers.
Compilers are perfectly able to tell you the line of an error, you can use a debugger without the IDE, I run lldb or the Chez Scheme debugger all the time, but I understand what the tool’s doing.
Yes. At least since late '90s, and certainly the last 2 decades.
I blame the rise of frameworks, libraries, and IDEs. It’s easier for someone who knows nothing to throw some software together and ship it. In the good old days, all software had to be written by someone who knew what they were doing, often in difficult tools. You had to think ahead and write code correctly, because you couldn’t just ship patches every week.
And as junior devs get replaced by AI, there won’t be any experience for any of them to learn how to do that.
You’re advocating switching to another OS with a complex package manager, to avoid using a package manager that’s basically a whole new OS. Giant Tower of Shit may be too generous for that.
But I was of course correct, I said you wouldn’t believe it.
[ LOVE ] I still miss working in it every day. I’ve mostly moved on to Scheme for myself, JS and sometimes Obj-C for clients.
I know you won’t believe this, but you don’t need any of these GTOS (giant towers of shit) to write & ship code. “Replace one GTOS with another” is a horizontal move to still using a GTOS.
You can just install the dev tools you need, write code & libraries yourself, or maybe download one. If you don’t go crazy with the libraries, you can even tell a team “here’s the 2 or 3 things you need” and everyone does it themselves. I know Make is scary, with the mandatory tabs, but you can also just compile with a shell script.
Deployment is packing it up in a zip and unzipping it on your server.
Videos and podcasts won’t help you, they’re pleasant noise but you learn to program by programming, by taking a problem and solving it.
I have two.
Scheme. It’s a fantastic language, you can cleanly switch from functional, procedural, or weird time machines (macros & continuations) solutions to any problem. Most Schemes (esp. Chez, CHICKEN, Gambit, Gerbil) compile to very fast binaries, close enough to C even with dynamic typing and garbage collection. C FFI depends on impl, but usually it’s pretty simple; in CHICKEN you can just write inline C code. SRFI vary from essential libraries to angels-on-pinheads nonsense, but there’s something to pick from.
Down side is the fractured, infighting community. R6RS was a practical batteries-included spec, which pissed off the teaching-only fans, so they made an inferior R7RS, and now committees are trying to make R7RS-large which is just bad R6RS. But if you pick one, and mostly stick to the spec language, it’s not a problem for the developer.
BASIC. I know, ridiculous, right? And I mean line-numbered, Atari or TRS-80 BASIC. But there was never a better language for teaching programming, or for banging out a small interactive program. Turn on any 8-bit computer (or start an emulator), it prompts
READY
, and you can write something small & interesting. Your modern 64-bit giant machine is notREADY
.