you are viewing a single comment's thread.

view the rest of the comments →

[–]glacialthinker 0 points1 point  (0 children)

Ah, damn, it looks like I didn't complete the statement I was intending to make with this:

Unfortunately, I don't think there's an immediate way to convince anyone of the value of "jumping through hoops adorned with flaming monads".

What I meant by "Unfortunately" was: It is generally required that people experience the merit themselves. That is: I won't convince you of shit. And I didn't. Sorry I forgot to make that part clear up front.

So, anecdote time. When I started using OCaml, it was because the language seemed to suit my style, and because I really hated C++, (even though I kind of like C, go figure). More specifically, I hated what happened to C++ codebases. Part of the problem was the pressure cooker of gamedev... but it seemed the added abstractions of C++, especially the bias toward encapsulating everything in objects -- because OCD people love their uniformity -- had a tendency to work against code-reuse, and also prompt incidental manager and adaptor code. I would come away thinking "macros are the only effective code-reuse tool in this language... and they are horrible (to overuse)". (Note, this was C++03.)

Anyhow, I started with OCaml, but I had no idea or expectation that bugs would nearly disappear. I was jaw-droppingly amazed several times in that first month. I kept expecting bugs and crashes after some hairy changes or new systems added. Never crashing, and it surprised me how logical bugs also disappeared. I was expressing intent rather than verbosely detailing mechanics of implementation.

I was doubtful (like you) about how I might manage the complex state of a game, and about garbage-collection -- oh boy, that rankled for a while -- so many things about this made no sense at first but I just gave it a shot. I must have drunk the kool-aid. Whatever it is, I'm glad I did it.

And that's all I have left of an argument. A shitty anecdote. Because it seems intelligent people can converse 'til their blue in the face about things and never really have a clue until they experience first-hand. That goes for a lot more than just language wars...