CFWheels 2.0 – ColdFusion Markup Language framework inspired by Rails
cfwheels.org
cfwheels.org
1: Of course, other than leveraging existing CF knowledge.
One of the defining features of ColdFusion is the tag-based syntax. You can have a single "web page" file in, say, "my-widgets.cfm". It can then have a mix of HTML and CFML tags that lay out the page, which would include an SQL query of a database and the HTML being output for each row. Other languages have templating, but this is more like a core feature of the language.
By default, it's also got that PHP style of "just upload a file and open it in your web browser" that makes it simple. So if someone else wanted to make a page like my "my-widgets.cfm", they could simply duplicate it with a different name and make changes until it's ready to go. This lets you turn around internal web apps very quickly that, you know, does in realtime what an administrative assistant does in a week with an Excel spreadsheet.
I use Python now and I certainly recommend it, but it wouldn't be as simple to jump right into as a barely-techie. Same with modern PHP (on something like Laravel). Earlier PHP would be similar, but ColdFusion's <cfquery> functionality is so easy to use and so critical that it's really a big deal. You don't need to know much ColdFusion to run a query and output the results (safely even) in HTML.
- simplified query recordsets (loop through, values referenced as queryName.columnName)
- you can turn anything into a recordset
- in-memory SQL queries of recordsets
- easy access to SQL (<cfquery ...>select a,b,c from foo...</cfquery>)
- write code using integrated markup or using ECMAScript-type syntax
- built-in web-based UI
- simplified REST API construction
- simplified web services construction
- simplified access to global, app-local, session-local scopes
- delimited-lists as a top-level data structured
- simplified access to things like email, charting, etc
- most of what you need for a web app is in the box, so if a server is running a CFML application server, you can build an app with no boilerplate (frameworks like Wheels and ColdBox obviously work differently, but CF is no framework required)
There are some really nice things though, for example <cfprint> tag would be the sole reason I'd put a CF instance up. Haven't seen anything out there that would handle printers so easily.
Personal recommendation would be: if you do not have to, stay away. Nothing new to learn there. I am saying this as a certified Adobe ColdFusion 7 and 8 developer who’s not working with this technology for at least 6 years now.
Some people in this thread mention that it’s a benefit that people who know nothing about programming are able to write some working code. I find this a problem often contributing to the issues mentioned above.
Lol, and yes, asking if Coldfusion is still a thing is like asking if Java is still a thing. It's a dynamic scripting language on the JVM that gets stuff done. It's not going anywhere. If you had a bad perception of CF many years ago, do yourself a favor and check out Lucee before making any comments, lest you misrepresent the language and speak out of ignorance ;) -- Remember bad code happens in every language
I remember writing a Windows service to reload the CF's DLL every time the number of concurrent connections to ISS exceeded a certain threshold.
That happened, literally, in the past century, but Cold Fusion earned its bad reputation at that time. I was glad when I saw most of the original plumbing being ejected years later.
it's remarkable how resilient the dynamic templated web paradigm has been over the years. we keep coming up with new variants, like php, or even ones that run client-side, like react (reminiscent of coldfusion components), or shoehorning it into other languages like java, python and perl.
https://web.archive.org/web/20020605022808/http://www.jobnox...
It has always been an approachable language to people that don't program full time. It looks and feels like HTML, so novice programmers were productive fairly quickly in CF. Career programmers tend to not like it since it is verbose and restrictive, but I have know numerous people use CF as a jumping point for programming and IT careers solving company problems with a bit of code.
Since hard to test and, hence, untestable codebases are the hardest to migrate, I'd assume web applications that depend too much on Cold Fusion (or PHP, ASP or Model 1 JSP) will remain in those technologies until the whole thing is rewritten from scratch.
I use CF daily as my primary programming language, and I can assure you it's still a great option in terms of productivity and scalability in 2017.
CFML has open source engines like Lucee Server, and a modern arsenal of tooling including CLI, REPL, package management, MVC, IDE plugins, conferences around the world, and active support forums like our Slack team with 2.2K people in it. CF's modern scripting syntax reads like JavaScript and includes function programming, closures, and classical OO constructs. It sounds like you need to check it out again. Everything I listed above has been around for years in the CF space.
http://ir.tesla.com/releasedetail.cfm?ReleaseID=1042449
(third-party site, but interesting nonetheless)