Remix.run Logo
tclancy 2 hours ago

Would be cooler if it really was ColdFusion. Of course, 50 lines wouldn’t get you very far.

tombert 11 minutes ago | parent [-]

Tangential, but recently I dove down the ColdFusion rabbit hole again.

My first job after dropping out of college was working with Flash and ColdFusion in 2012. Even by that time it was dated, but it was my first real dive into network and server programming so I do look at those days rather fondly.

CFML is one of those things that is simultaneously a brilliant and terrible product. The terrible part is obvious: it's a bloated language that doesn't lend itself terribly well to structure and historically has been very slow (though my understanding is that Lucee actually fixes that somewhat). The "brilliant" parts are less obvious but still cool. For example the cfquery blocks are really neat, and I say that without any sarcasm. Not only does it make it easy to write SQL directly, but there are nice built-in features to avoid injections with cfqueryparam that are easy to use, and you can simply add an attribute to the cfquery to specify caching. That's actually a really cool; I've seen people haphazardly reinvent different SQL caching heuristics and screw them up. The cfquery stuff makes it trivial and it has the advantage of doing it correctly.

Things like that are all over the language (though I haven't used it in awhile so I'd have to dig through notes to find specific examples); pages and pages of ugliness mixed with occasional spots of cleverness.

While I don't want to say I "miss" writing it, because I don't, I do have a bit of gratitude for its existence. If I hadn't picked up ColdFusion because of an, umm, "alternatively licensed" version of Dreamweaver when I was a teenager, my career would likely be very very different.