19 ms·
Saddened to see a high number of ColdFusion dislike votes. As a CFML developer who routinely bears the brunt of gleeful derision, allow me to point out what you
by sjwright 13y ago
Saddened to see a high number of ColdFusion dislike votes. As a CFML developer who routinely bears the brunt of gleeful derision, allow me to point out what you're missing out on.
Yes, ColdFusion was a bit awful in its early days, but to be fair, it was pretty much the first of its breed, predating PHP, JSP, and ASP.
Modern CFML is a JVM-native language and framework that runs in a Java servlet engine. There are three first-class from-scratch implementations, two of which are fully open source. To cut a long story short, the best one is called Railo, and yes, it's one of the open source ones.
Modern CFML running on Railo is an awesome environment to work in: PHP-like hackability, native JVM performance, first-class java library integration, all on a 100% pure open source software stack. Think of it as JSP for genuinely rapid development.
I swear if Railo wasn't associated with the stigma of ColdFusion, it would be up there in the pantheon of fashionable web languages. It's Groovy with batteries included. It's Ruby On Rails for people who wish their code ran faster and realise that ORMs are inherently stupid. (Or there's Hibernate integration for those who haven't realised this yet.)
- bfish510 13y agoAs someone who has only associated cold fusion with people laughing, thanks. I'll be sure to look into as an option before I start my next side project.
- sjwright 13y agoTo be fair, I'd only actively recommend CFML if it fits your requirements -- if you want something hackable like PHP, perhaps the flexibility of being able to load and use any old Java library, and don't want your language to be opinionated on client side frameworks. Otherwise I tend not to recommend, mostly because there's a lot of old bad CFML code out there, and it's frankly embarrassing.
- mindcrime 13y agorealise that ORMs are inherently stupid. That's quite the claim... Care to expand on why you think ORMs are "inherently stupid"?
- tel 13y agoI think ORMs are "inherently stupid" (or: "quite likely to be leaky as abstractions") because they don't necessarily share a theory with the underlying databases ("something like but not exactly relational algebra") and I don't think many people spend time proving that the OO-like theories can be properly embedded into something-like-relational-algebra. Not saying you can't get work done with them, but it does mean that they're likely to leak.
- sjwright 13y agoBecause you can't cleanly map objects to sets nor sets to objects. Sure, if you want to pretend an RDBMS is an object store you certainly can, but you'll be forced to have an incredibly stupid schema, and will miss out on much of the benefits of a good RDBMS. Turning a powerful SQL database engine into an object storage emulator is just sad. If your underlying data suits objects better than sets, consider using something that's designed for the job, like one of the many non-SQL database systems. Although it may seem trite to say it, Object/Relational Mapping is the Vietnam of Computer Science. It represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy. http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Compute... Well worth reading. Also: http://database-programmer.blogspot.com.au/2010/12/historical-perspective-of-orm-and.html http://database-programmer.blogspot.com.au/2010/12/historica... http://www.codinghorror.com/blog/2006/06/object-relational-mapping-is-the-vietnam-of-computer-science.html http://www.codinghorror.com/blog/2006/06/object-relational-m...
- jpatte 13y agoUnfortunately I didn't have time to read these articles in depth, nor do I have the time to write a detailed answer now - sorry. But it seems to me that the situation has changed since these articles were written, at least concerning the tools I know best (which are .NET and C#). We now have built-in support for data (sets) manipulation in C# and Entity Framework makes things like db.Customers.First().FirstName with syntax support totally real. Many of the premises these essays seem to be based on (like "the languages in play lack any real specialized data structures") are just not true anymore. Also, I would like to know more about why using an ORM like EF would force me to "have an incredibly stupid schema".
- 83457 13y agoNo mention of CFScript
- axisK 13y agoI liked ColdFusion as a whole but really disliked using it in a professional context - most other developers just seemed to have a bad understanding of how ColdFusion specific variable scoping worked.
- mratzloff 13y agoMy first job included a significant amount of ColdFusion and CFScript. Having worked professionally in probably 10 languages since then, and speaking from personal experience, I feel comfortable in saying that ColdFusion is a terrible platform and deserves all scorn that can be heaped upon it.
- 51Cards 13y agoAs a CF developer (among many other languages) for bordering 15 years now I have come to accept the blanket rejection of the platform. I had to smile at the stats above because I have to wonder if the number of people who have marked "dislike" have even used it (or at least any time recently) As I write this there are about 2200 votes apiece for both PHP and Python, two languages most people will have an opinion on, so lets make an assumption that's somewhat representative of the voters to date. Also at the moment there are 500-ish down votes for Coldfusion. From my experience it seems suspect that 1 in 5 developers, or even 1 in 6, has worked with Coldfusion enough to have an opinion on it outside of external influence. This type of trend probably also applies to other languages, in both directions. That said, on Coldfusion, it's far from perfect but it also gets a pretty unfair judging in my personal opinion. Just my 2c.
- druiid 13y agoThanks for mentioning Railo. The problem with CFML is that Coldfusion(tm) gives Coldfusion a bad name. Some 'legacy' apps that ran on CF were recently switched from Adobe Coldfusion to Railo and it is like night and day... way better memory utilization, hugely advanced caching options and the speed is crazy... like as fast as PHP and other languages I've worked with.
- cakeface 13y agoAn interesting fact about Railo/CFML is that the recently lauded Distrokid[1] site that got rave reviews from many HNers was built in Railo[2]. [1] https://news.ycombinator.com/item?id=6519175 https://news.ycombinator.com/item?id=6519175 [2] https://news.ycombinator.com/item?id=6519743 https://news.ycombinator.com/item?id=6519743