Yeah, sorry for not being clear enough. I just struggle how a good faith market can even exist. I immediately start thinking how participants would be incentivized to cheat by neglecting or even introducing vulnerabilities to win. Maybe I’m just a bit too cynical and/or should do more reading on the topic.
Few weeks ago I'd disagree with you, but recently I've been struggling with concentration and motivation and now I kind of try to embrace coding with AI. I guide it pretty strictly, try to stick with pure functions, and always read the output thoroughly. In a couple of places requiring some carefulness I coded them in executable pseudocode (Python) and made AI translate it to the more boilerplate-y target language.
I don't know if I'm any faster than I would be if I was motivated, but I'm A LOT more productive in my current state. I still hope for the next AI winter though.
First time reading this. It's actually funny how disliking exceptions seemed crazy then but it's pretty normal now. And writing a new programming language for a certain product, well, it could turn out to be pretty cool, right? It's how we get all those Elms and so on.
> disliking exceptions seemed crazy then but it's pretty normal now
Help me to clarify. Are you saying that when Joel posted (~20 years ago), disliking exceptions was considered crazy? And, now it is normal to dislike exceptions?
Assuming that my interpretation is correct, then I assume that you are a low level systems programmer -- C, C++, Rust, etc? Maybe even Golang? If you are doing bog standard enterprise programming with Python, Java or C#, exceptions are everywhere and unavoidable. I am confused. If anything, the last 20 years have cemented the fact that people should be able to choose a first class citizen (language) that either has exceptions or not. The seven languages that I mentioned are all major and have billions of lines of legacy code in companies and open source projects. They aren't going anywhere soon. C++ is a bit special because you can use a compiler flag to disable exceptions... so C++ can be both. (Are there other languages like that? I don't know any. Although, I think that Microsoft has a C language extension that allows throw/catch!)
I wasn't around back then, but it must've been at least a bit crazy, considering Atwood threw an exception (heh) high enough to write a blog entry about it. What I think has happened is that with functional programming concepts sort of permeating mainstream, and with the advent of languages like Go and Rust (which I wouldn't exactly call low-level, for different reasons), treating errors as values is nothing unorthodox in principle. I'm not sure how real or prevalent this is really, just a guess.
I'm not trying to advocate going against the stream and not using exceptions in languages based around them, but I can see it being pulled off by a competent team, which I'm certain Joel could put together.
If AI is such a competitive advantage, why are AI companies even trying to sell it? Wouldn't it bring more money to use a bleeding edge internal model and just vibe a couple of facebooks at the fraction of the cost and profit like crazy?
It seems the people who think they can just tell computers to write code for them, also are the people who are inclined to tell other people to build apps for them.
We are hurdling towards a brave new world where only 10% of humans have to work, and the other 90% form the bureaucracy on top.
Full algebraic data types wouldn't have added much here. Product types are already everywhere, and we didn't need sum or exponential types.
Splitting IO and pure code was just routine refactoring, not a full redesign. Our app logic wasn't strictly pure because it generates pseudorandom numbers and logs events, but practically speaking, splitting the IO and shell from the relatively pure app logic made for much cleaner code.
In retrospect, I consider FCIS a good practice that I first learned with Haskell. It's valuable elsewhere, even when used in a less formal way than Haskell mandates.
I have written a small system in Elixir adhering to FCIS. Not used to the approach, I was pretty slow and sometimes it felt like jumping through hoops set by myself, lol, but I loved it, the code was very clean, testable, and refactorable. Highly recommend it as an exercise, it was surprising just how much state and IO can be pushed out.
Yeah, N++ is super floaty, there's A LOT of inertia. It might feel off at the beginning, but when you get the hang of it, it's just beautiful. It's the opposite of twitchy. You work to preserve the momentum through jumps and corners and evasion maneuvers, it's got that sleek race-y feel. I get it, it's not for everyone, but for me it's bonkers good.
I’ll go one step further: what makes you think it’s an average auto-translate job? I didn’t notice anything weird, felt like your average, slightly ranty HN post. I’m not a native speaker though.
13 mini here, also not charging every day. My screen time is around 2 hours a day, which IMO is still to much. I try to keep battery between 20 and 80 percent.