You can read the show notes and download the full episode here.
Michaela Light 0:00
Welcome back to the show. I'm here with Brian Cain. And we're gonna be talking about cold fusion versus PHP versus Java versus.net. It's like a super boxing kind of for way thing. And we're asking, which is your better friend as a developer, and we'll be looking at several topics, their speed of development, object orientation, how many add ons there are, and that L Word legacy development platforms. So we might even talk about security features for platforms. And if you don't know, Brian, you've probably seen him at some of the confusion conferences around he's been in the cold fusion world decades, and he's been developing for 20 years, been doing cold fusion for 16 years. And he's the deputy manager for careers division of bombs calm. So welcome. Brian
Brian Cain 0:50
Hi, Thanks for having me.
Michaela Light 0:52
Yeah, so let's just start off with speed of development. Because, you know, that's often critical in organizations these days, how do these four languages compare? Because you've programmed in all of them, right?
Brian Cain 1:06
I yeah, I have it as far as the, the speed of development, you know,
ColdFusion is, has always been the by far the fastest and easiest one to use for me, in fact, that the last day of summer, one of the keynote speakers
kind of threw out a buzz phrase that really stuck with me, but he talked about time of thought to launch. So it was the idea of, okay, somebody comes up with an idea, how long does it actually take for you to take that thought, and turn it into an actual feature or function on your website, and your customers can be in their case, they actually turned it around, I think their case was, was about 10 to 12 hours, which was, was actually very cool, had a similar experience,
probably about seven, six or seven years ago, one of the features on
one of the, our company ones, job board software, where employers can go post jobs and job seekers search them, we also have a
talent database, essentially that employers can go in and search and at the time, the database in the developed by another person who had left the company a few months before I started working with this team. And he did it in.net using MVC framework and it was really kind of
very overly engineered for the needs of that specific application. And it never worked the way they wanted it to win, it required constant restart of the application pool generated, just lots and lots of errors was really slow. So
at the time, I wasn't heavily working in.net, so I wasn't interested in going back and, and fixing and refactoring all of the, the code and.net, I knew that it would be much faster for me to be able to go in and do that in cold fusion. So
just kind of all my initiative by went in over a weekend, and
basically analyze the functionality that was currently there,
rewrote it 100% in cold fusion, and actually improved upon a lot of the functionality that was already there, and presented it to the team that following week, and we, they were so happy with it, we launched it that week. So I I know that the, the developer that had worked on that for had spent, you know,
weeks working on just the development and design of that, and, you know,
constant fixes and updates of trying to get the functionality to work correctly. So he said, You know, I don't know how much time you spent on that. But essentially, I came in, you know, we wrote it over a weekend made a couple of updates, and then loss of that following weekend, and the the sales and marketing team was just ecstatic to see that we could actually, you know, produce something for them that fast fix what was really a chronic problem that was created by somebody that was no longer with company. So we have no, you no recourse of being able to go back and say, Well, you know, you need to fix this, you know, we still have the issue of, we need to fix this, but it was a matter of figuring out what's the best path forward for us turned out to be cold fusion, and it was great being able to get that launch
and turn around so quickly. And, you know, that's just one story or one anecdote, many times, where something like that has happened, where we identified a specific need, whether it be, you know, we're responding to changes in SEO algorithms to make sure that we're, you know, doing well, in the, the search engine optimization market, or responding to customer requests, that's one of my favorites, when we respond to a customer requesting, turn around and watch that feature the next day, that's, you know, nothing builds stronger customer support them being able to quickly respond to their
requests, you know, and say, Oh, we, we hear you, we want to get that done for you, and then turning around and being able to launch put on very quickly, so they see it, you know, sometimes the same day or the next day, or for in a very timely manner. And, you know, that happens on a regular basis with cold fusion, simply because of the flexibility of the framework,
it makes it very easy to build a scalable, but flexible architecture, whereas, you know, other platforms, you know.net.net can be a very difficult platform to develop in, when you want to be able to make changes, it's, it's great if you want to relive your developers, and they can only develop in a certain way, but it doesn't allow itself to a lot of creativity, you're outside the box, thinking PHP is a little bit almost wild west, and that there's almost too much freedom, but not enough real
necessarily, you know,
it doesn't lend itself as well to some other concepts like object oriented
design approach, and things like that, simply because of, you know, the nature of language, obviously, it's, it's a sufficient platform to be able to, to build upon, because a lot of websites run off that, but if you're doing custom development, you know, for sure, cold fusion is, is the, the best option for being able to develop exactly what you need in a very efficient and time
Michaela Light 7:33
is great. So we left one of those four languages are Java, how he seen that compare when you you've done Java development,
Brian Cain 7:42
I like I like Java, I know, you know, cold fusion is, is really was built off of Java, it provided a lot of support for Java developers kind of coming over to use that within CF script. But at the same time,
cold fusion then also has kind of the script based tags. So you were getting a little bit of the kind of the best of both worlds of being able to bring both in, I think Java's is still a good development platform. But it again,
it seems to be a little bit more efficient, maybe, you know, in certain applications, whereas cold fusion really seems to integrate well, with, you know, all tiers of development, whether it be, you know, working with, you know, injecting script and variables, and output onto the front end, using it as middleware using it for database connectivity, it's super simple and much faster, to get up and running from day one, I mean, you can, you can easily, you know, get a cold fusion site, basic cold fusion flight up and running in a day or two, even if it's dynamic, you know, data driven
from a database, it's, it's so much easier to set up a job is
once you can know the basics of what you're doing, you know,
why, why have you seen, I mean, I think job or.net, they're both kind of heavy weight development platforms,
Michaela Light 9:19
and there's a lot more machinery you have to do to do stuff, and you have to write quite a few more lines of code, in my experiences, have you seen that, or
Brian Cain 9:29
with, with, you know, I, the,
my Java experience was, was mostly, you know, based on some work that I had done in college,
and it seemed like, there was just, you know,
you can, you can kind of get it down to looking like, it was, you know, one line of code, but, you know, you were actually, you know, calling what would essentially be, you know, six, seven or eight lines of code, you know, because of, you know, just calling different functions, the way it was, working.net seems to have so many so much overhead in the types of files. And yet, you know, you do certain things and certain files, and, but you have to make sure that you, you know, use these specific keywords, when you're setting up, you know, classes and objects and the abstracts, and it, it, it gets really cumbersome, whereas, you know, cold fusion just allows you to kind of, you know, you're not burdened by the overhead of the engineering and cold fusion,
which, you know, if you want to be able to just quickly get into development, you don't have to spend, you know, a lot of time just setting it up, you can get right into development, you know, kind of, from, from the first line code almost.
Michaela Light 10:59
So, I am, I think that kind of lets us go into how friendly or each of these languages because their job is not too friendly to the developer, in my view, because it is kind of picky. And maybe that's a good thing in some circumstances. But if you're trying to get something done, it kind of gets in the way. So, how do they be follow his compare for you on on friendliness, as from the developer point of view,
Brian Cain 11:25
yeah, so, um, you know, I think, in my opinion, probably the least friendly ones, you know, are going to be almost a tie between.net and Java PHP is a little bit more friendly, but again, because it's also open source, and
it is it's only friendly in if you're, you know, kind of come from a technical background. And the same can be said for, for Java and.net, if you're used to using if you're a designer, and it's pretty easy to understand HTML know, HTML, you know, that's I've heard people complain about the the tag based development and cold fusion but these are like you know, true gearhead, developers who, you know, love that challenge. If you're coming from, you know, sometimes you're just kind of getting into, but you know, how to write a web page, the nice thing about the tag based
coding in cold fusion, is it something that's familiar and easy to pick up from, you know, just the most basic
idea of, you know, building code based off of logical decisions and structures. So, that's, that's, you know, it lends itself to be really easy to use from, you know, very inexperienced, the helpers. In fact, I,
the team leads that currently work for me, neither of them had any experience with a.net guy when one of the Java guy
that picked up cold fusion in a week, and we're working on tasks, you know, within two weeks, they were actually writing code and being, you know, productive to the team. So, from a, from a training standpoint, at this point, especially for cold fusion,
I don't, I don't post confusion jobs, I post programming jobs, and when you know, we're talking, we let them know what, what they're working in, and we'll train them how to do that. But if you've got a strong set of analytical thinking skills, and you can understand logical decisions, understand how week's work, understand how structures work, there's no reason that anybody couldn't pick up how to code into the future, you know, in a week, there's a website currency up in a week. I mean, that's, that's not sure you could alert see up that week,
of course, you know, that's not to say that confusion either is something that's really simple. It's when I was a kid, I had a game called a felony. And the tagline for the game was a minute to learn a lifetime to master. And that's kind of what cold fusion is, you can learn whole user week. But, you know, even, you know, 16 years later, obviously, you know, Adobe still cranking out updates and working on new features. But there's still new things that, you know, I learned, I come up with a particular problem that needs to be solved by go if I don't know the immediate answer, I, you know, do a little bit of research, and then I find, you know, what's going to be the best way to do that. And cold fusion, I have not found a problem yet that cannot be solved by
Michaela Light 14:56
Yeah, it's, it's very flexible. You know, it's hard to think of what kind of web development problem you couldn't solve with cold fusion. Maybe any listeners have an idea on that? Let me know in a comment on the show notes or drop me an email. It's interesting there, you say, you know, how you have successful in hiring developers to work on cold fusion? Because I know in our state of the confusion union survey, that was one of the top concerns that CIOs had, it's hard to hire good copy from developers. And you're saying you that's not a problem was you just hire good developers, and then spend a week or two training them to get up to speed in cold fusion?
Brian Cain 15:35
Absolutely, you know, it doesn't matter what the language is, the language is a tool, what you need is a good, good proven, you need a good thing. So if you're, if you're a good PHP developer, or a good job offer, or good.net developer,
by default, you're a good cold fusion developer, you just need to learn the tools, it's not a matter of, you need to learn a completely new language, you just need to learn a new implementation of what it is you're currently doing. What's the function? You know, how do I manipulate a string and cold fusion? Well, it's going to be very similar to how you manipulate a string, and any other language is need to figure out what's the syntax in the cold fusion, because that's the only real big difference of going from any other language in the cold fusion, this, what's the syntax
going in from cold fusion into some of those other languages, I think there's a little, it's a little bit different, because it's not just limited to the syntax, you have to there are, you have to do things in a very certain specific way in order to get your code to compile and work correctly.
But cold fusion is is not, you know,
I just don't see cold fusion is being as rigid, some of those other languages that are much more friendly and easier pick up very shortly.
Michaela Light 17:03
Now, what would you suggest to give a devil's advocate position on that, you know, someone might be saying, Well, I'm not going to spend two weeks training someone to program and this I'll just hire someone who codes in Java? What, why is that not a smart way to look at it?
Brian Cain 17:22
Well, um, you know, if your,
if your platform is already cold fusion base? Sure, you can, you can do that with Java, but
it's a matter of, Okay, you got to go back to how long? How
effort how much reason to all of the tasks Java. So if you look at it up front, you know, maybe you're losing that week or two. But if, let's say, every task is going to take 10 to 15% longer, but they work on, you know, how quickly do you make up that time by, you know, having somebody do it, and cold fusion versus Java?
Michaela Light 18:08
And I think it's actually more of a 50% cost as
Brian Cain 18:12
well. Yeah, you know, I, I tend to be conservative on my number, I mean, even just, you know, 10%, that's, you know, that's an additional four hours a week that could be spent on development time. And if you, you know, hopefully, you have a developer who's there for, you know, you know, a couple of years at least or more, but you make up that time and gain so much more time in that, you know, first six months, you gain time by, you know, allowing that learning curve in that first couple of weeks for cold fusion. And yeah, I totally agree, I think the, the, the development time is, you know, much that that percentage is much greater than 10%. But even if you just need a simple number, like that person, I mean, you know, in a matter of months, you're already ahead of the curve. So, it's, for me, it's just kind of a no brainer decision,
maybe we should run a hackathon sometime, Brian, where we get some you know.net and Java or PHP and cold fusion developers and just give them a thing that could be done in a day.
Oh, yeah, that's take like, the, the art gallery database, or whatever it is, and say, okay, we want you to write the, the middle in front ends on this, you know, we want to be able to manage it, we want to be able to add, edit, delete, and then we want to be able to have a public search. And, you know, you need to tell us how long it took, and how many lines of code you actually had to write to get this done, you know, cohesion, that's, that's going to be, you know, really easy to do, and it's going to, it's going to come in last lines of code, and it's going to be I'm in with fewer files and much, much smaller, total amount of
coding time, that would actually have to go into it. And I think, you know, that that's a, that's actually a great idea, I kind of had that idea while back. And, you know, yeah, do a hackathon and just provide a simple database with some data in it with, you know, say, we just how long does it take you, you know, develop this Brennan interface, you can do it as a my sequel, you know, do a my SEQUEL, NO SEQUEL, MS SQL database, so that, you know, anybody does have access to it. So,
Michaela Light 20:41
yeah, maybe we'll do that. Maybe instead of it being a throwaway epic, be some something that some charity or nonprofit needed deteriorating, and then it's something useful out there. So that you talked about the time to develop the app being quicker in cold fusion, compared to the to the other three languages? What about maintenance?
Brian Cain 21:04
So yeah, I mean, what, you know, one of the, one of the issues just kind of, you know, the difficult things to deal with maintenance
you, for me, that the two biggest problems I see with that is
Michaela Light 21:23
Brian Cain 21:25
developer who is not familiar with the system having to go in and pick something, how long is it going to take them to figure out, you know, what the problem is, or exactly where it is that it needs to change in cold fusion, generally,
previous record, you're only going to have to look in a couple of different spots. But, you know, if you're trying to figure out how to implement a change in networking within MVC, architecture,
my God, that, you know, that that's a, that could be a huge, huge task to undertake. Whereas with cold fusion, you know, you can easily and quickly identify the source of what needs to be updated, and really go in and get that change pretty quickly. And then, you know, on top of that, there's, there's great testing tools available for cold fusion. So you can, you know, do meet testing, you know,
very quickly, easily, you can write your own sandbox pages, you can use, you know, cool box for testing, and all of that, just make it easier to, you know, quickly go in and, you know, make those updates rather than having to, you know,
dig, you know, super deep in the code to figure out, you know, what exactly needs to be done? And is it going, you know, what effect is it going to have in other areas, you can easily
do that cold fusion without having a lot of those concerns. And if you do have those concerns, you know, the testing tools that are available for cold fusion, make it really easy to integrate that, you know, quickly even write your own test scripts, to test those objects, if you want to those functions, whatever you
call, so, I know,
Michaela Light 23:19
the Adobe, you know, announced CF summit that, that they're committed through 2028 for support of cold fusion, and that's a public commitment, I'm sure they'll keep supporting it beyond that, but 10 years is quite a long time in internet years. And how they get to that figure is they already have on their roadmap, a release of cold fusion, 2020, and there's one called even coming off that it's already, you know, started being in development, and then they've got a six year to end of life on their support on any version of whole fusion. So I'm kind of curious, I mean, you know, that's a long public commitment from a software company,
Brian Cain 24:06
because in internet years, I've got to be at least two dog like times, and
I'm kind of curious what the roadmap is for.net and Java or PHP and I was trying to find that out before we got on a call, but I'm curious if you have any ideas because I know Oracle has, you know, they came about how their schooling Java
so I don't think they have done is they will commercial now, right. Oracle? Java?
Yeah, I think so, you know, I don't really know too much about the, you know, the timelines or the the life expect expectancies and some of those, you know, I
there, there's especially.net and PHP, they're, they're big, they're big dogs in the in the the world or the web internet development. I think,
honestly, I think the only reason PHP is so big is because of things like WordPress, you know, WordPress runs on PHP and so it's not necessarily that PHP is big, it's the WordPress is big and WordPress is you know, you can add all of those add ons into WordPress, and but all that's done in PHP. But a lot of those people that are running those websites, they're not PHP developers, and they go in and just use the content management system. And I think that that's something that that kind of gets gets left office as in, you know, what's actively being developed, if you took out, you know, who's working in WordPress and didn't include them as, you know, PHP development per se, because as a content management system can just build off of anything, same thing with dnn there's a lot of dnn sites out there, but is that truly you know.net development or is that development that's being done specifically within the content management. And, you know,
maybe that's, that's part of the reason why cold fusion didn't
burst onto the scene as much as you know,
or make as much of an impact in the market as.net and and
PHP did because of, you know, there's not there are some some Java based or cold fusion based, you know, CMS is out there. But that's not you don't think of cold fusion as the platform upon which content management system is built. But I think any developer who would use fusion for a project with real, you know, would would agree with cold fusion is great for development
for a developer. But if you're just somebody who's putting up a website, yeah, use a content management system, because you don't necessarily need to know the programming and I think that's probably a strong contributing factors to why cold fusion is not seen as, as playing on the same field as some of those other languages. That's not because the language itself is inferior, it's because the community, you know, hasn't necessarily developed products on it for the public to use, you know, on a widespread basis.
Yeah, that that makes sense. I mean, there are plenty of CMS is for cold fusion, but none of them has taken off the way WordPress or.net new evening. Hello. And I'm not sure there's really no real real popular, CMS acaba not I'm aware of Maybe, yeah,
I think there's, there's also a jeweler, that I think that's one as well, I'm not really familiar with that is not spirit. That's another
popular one. Yeah, and Drupal as well, which is PHP one. Yeah,
Brian Cain 28:24
cool. So maybe we should talk a bit about objects a bit more, you mentioned that earlier, but how does object reuse appear, you know, compare between these different languages.
So yeah, I mean, if you want cold fusion, to be fully object oriented, you can easily do that. And, you know, that's, that's very cool. One of the things that I
have been loving about cold fusion for the past three years. So on our sites, we have our desktop version. And then we have a dedicated mobile version, we decided a few years back that we were not going to go the responsive design room. So we have a dedicated mobile version with a dedicated mobile code base. But because our objects that we use are common across the two sites,
we only actually have to make updates in one set of objects. So essentially, the mobile code base is really just a UI code base, all it does is, is managed kind of the user interface. But for the heavy lifting, essentially, the middleware, you know, within cold fusion administrator, we set up a mapping, and when we want to include, you know, an object on the mobile site, we know that we're using the same object that we're using on the desktop site. And,
we went so far as to do the same thing with the web service for our mobile application. So one of the, the primary uses on our job sites on our sites is searching for jobs. So we have one function that does a job search for anything that you do on the front end. And there's multiple paths into that. So you can do a straight up job search, we also have pages that are custom written to include jobs on them, where we defined what the criteria will be on that you can do it from desktop, you can do it from mobile, you can your job search from the mobile app, and they all go through the same function. So they all return the exact same results. And if we want to make a change in that logic, we only have to make the change in one single function, when there's, you know, there's, you know, a couple doesn't have the go into that function,
it's great to be able to have that, that kind of cascading functionality. And, you know, if, if confusion didn't make it so easy to be able to reuse those objects, and then reuse those objects, not only within the same code base itself, but then refer to that object from a different code base.
That's, I mean, for me, that was a game changer, when I I kind of, you know, stumbled upon that functionality, it was like, because I before that, you know, we would keep the object, same set of objects that we have to maintain the multiple care basis, once I came to the realization that I was making it so much harder on myself, and that we could use the same, you know, the same set of objects, where everything and only maintain that one place
that that may development and maintenance on an even easier task at that point. So, yeah, I mean, as far as that we usability goes it, it fully supports, you know, what, you, you know, the, the basic second, a lot of the advanced concepts that you need from, from the, you know,
development tools, per se,
I love being able to, you know, extend objects, you know, getting an inheritance, and doing a lot of that there was, you know, yeah, beginning in cold fusion, before we had that object oriented approach, I was, you know, still doing stuff in that time and see a five, we had custom tags in it, it's like, they were trying to go that route, but it wasn't easy to do once, they really kind of opened up that object oriented
approach with CFC,
they've been making a lot of good headway in that. And that's one of the things one of the, the strong
cases for, you know, Adobe is really listening to what the developer community wants, or at least has been finger on the pulse of what the needs are the developers and so far as, you know, what do they need to make their job easy? What do they need to do to make cold fusion, you know, better friends of developers.
So how does that compare to doing an object orientated coding in other languages like PHP, or.net or Java,
so I've never even attempted to try and do anything object oriented in PHP, simply because it's,
I've never been presented with that opportunity. But also it You almost have to force object oriented on PHP wasn't necessarily, you know, specifically designed with that in mind, as opposed to, you know, say Java net was specifically designed with that object oriented type approach in mind, the, you know,
don't get me wrong, the object oriented approach when that was applied to the language from the get go, like, it was with Java and. NET there. I mean, they it's, it's great functionality that's built in, but you really are, you have to do it their way, it has to be done very specifically, you know, the,
the best developers that I've ever met, that I've ever, you know, had the pleasure of working with
our developers, but their creative people, most of them are musicians, I'm a musician myself.
And so we tend to think in a different way.
And it's, it's a very creative type of thinking, you know, nonlinear out of the box type of thinking, cold fusion allows you to be nonlinear the future, if you try and be nonlinear within.net or Java, it just doesn't, they don't allow for that time type of creativity, they don't allow for that, that flexibility, you know,
on the development side, if you're, you're really a if you love coding, but don't want to do it somebody else's way, you, you know, you know, what, what's the best way to do you, you know, what's the best way to do it for your project properties, it's going to let you do that Microsoft and, you know, Java, they have a tendency to say, No, this is the way that you need to do that's why, you know,
I think that's a strong reason why that's what gets taught in universities is because you have to learn,
you have to learn the way to do it. Right. As opposed to, you know, we kind of talked with cold fusion earlier, it's not that you have to learn to do with the cold fusion way, you just have to figure out what's the syntax to achieve this task with the cold fusion users. And I think that's really good. The big difference between the two.
So it's almost like you're saying where that one of the reasons confusion doesn't get taught in schools and universities is, it's not complicated enough.
and I think it probably
I think it really doesn't
turn out good developers. It turns out
English majors, people who learned how to write and syntax but it doesn't turn out good developers, you know,
for me, a good developer is somebody who can
solve not only the problem that they're working on but then you know, solve some other problems along with it and make sure that everything is is
taken care of from you know, a scalability and future perspective and see problems that might be happening in the future and I think that's a big problem with university is they're just they're turning out people who know how to write code within the syntax but you give them a simple logic problem and they're just their boss they have no idea what to do I think if you know these cold fusion to to
show how development works in universities they could actually turn out you know developers rather than a person who knows how to write code which is you know very strict or a person who knows how to write Java code
very different things in my mind
and if anyone here is at us a high school or university just let you know Adobe has a whole curriculum for learning cold fusion that you can get for free just email Kishore Adobe and I'll stick his email down here and he can redirect the request and also the licenses for cold fusion universities and high schools if you're using a learning a free as well so assuming you're using Adobe cold fusion, obviously using the open source Lucy that that free to so I don't think it's any reason not to be teaching the stuff that you got the desire to do it.
So why don't we move on to to something that I know people spend a lot of time on in, you know, length, which is third party add ons? How does that compare a call patient
you've got add ons, you've also got other services that you can integrate with. And we we do a little bit of both. So as far as the add ons, we've we've used a couple of us sometimes when we have issues with connection to a third party service over HTTP, we use the
tag really super simple at the c++
application, essentially, that we can integrate into our cold fusion app makes it you know, super simple to to work around certain security SSL authentication issues that happen from time to time, not necessarily a cold fusion problem, sometimes a Java problem, but it's it's nice to be able to use that as an alternative.
And then, you know,
kind of integrating with with other third party services, we use a
service called postmark to deliver a lot of our business critical email.
again, we wrote a component to integrate with postmark. Super simple to use very easy to integrate with the API's
as a job board. We work with external vendors as well to import jobs. They provide an API writer services and cold fusion to import that data. It's actually really super simple and quick to be able to use in view, we use Twilio or Twilio to send out text messages. Again, another super simple, easy integration for us that was that, you know, we could set up as far as third party integrations, when it comes to, you know, actual add ons.
One of the great things for cold fusion is that we use kind of extensively in
resume submission and invoice creation and things of that nature is the PDF functionality, which is built right from the get go on on cold fusion. In fact, we had another one part of our website was written in.net,
but 90 95%
of is written confusion, just have this one particular feature,
one of the requirements that
one of our sites had was that they wanted to, for brand recognition, watermark resumes that were sent on to employers and recruiters
to do that, in cold fusion, it was really simple, we were able to convert our files into a PDF format, add that watermark, and then send the PDF off to the client. really super simple, easy integration with you, there's, if you want to do that and.net, you got a fork of money.
So we didn't want to fork over money, we actually radical fees and service to have that watermark on the file and send it off to the client, you know,
that that was, that was great with the PDF generation. I mean, if you can go as easy or as complex as need to go, if you just want to write an HTML page, you can just write an HTML page, save it as a PDF, and download it right to the client. I mean, that's, that's great, that's easy, that's simple, you can add formatting, you could add watermarks,
we haven't used some of the other advanced integrations and a PDF, but you know, you can, there's a lot more advanced things that you can actually do with PDF generation, it's built right into to Java itself. And, you know,
if you're, you're working, you know, your business has to send documentation of clients,
yeah, you have to pretty much use PDFs, because that's the universal forming
that that just is what makes most sense, you can do signing with PDFs, you can do all that functionality, and it's built right in from fusion, which is just, you know, that in itself is kind of amazing that, you know, if you want to do anything with PDFs in any other language, and then cold fusion, it's a pain in the butt, it's, it's, it's very difficult to get through all the configuration and everything else you have you before you can even start writing code to work with PDFs, whereas you want to do a PDF and cold fusion, just open up your ID, and start writing the code for it. So, you know, when it comes to third parties, and PDF stuff there, if you have to do anything with with PDF, there shouldn't be any other consideration other than just these cold fusion right up front, because it's, you know, it's built in from the ground from from day one, there's nothing else you need to do, I can't think of anything, what you need to do what a PDF into using that you have to buy, you know, one stall another atom. So,
yeah, that's true of a lot of different areas where you have to use an add on to get something done in other languages or library. So, and, you know, of course, one of the issues with with libraries is sometimes that different libraries don't get on with each other, so
least if they're built into the language and have been tested together, you know, it was a work friendly together,
that's an important thing. So I, you know, it sounds overall, you know, you think on all these aspects, cold fusion comes out ahead.
So, is there any way that cold fusion lags behind any of those other three languages. So,
from a technical standpoint, I don't really think that there's anything that cohesion live behind, I think it's just a perception and marketing, you know, where it seems to, like, behind
talk fusion, I know, is
widely used, you know, especially in government agencies, a lot of job postings, which are fear, or, you know, government jobs that require security claims, and you know, that
they're going to want to use something there, they're going to want to use something that's secure, that is going to be easy to developing. And,
but it doesn't, you know, When,
when, you know, people talk about, you know, what runs the web, you know,
cold fusion never really comes up, it just doesn't seem that it's, you know, marketed to,
it's not marketed as, you know, a strong competing driving product on the web, it's, it's just, you know,
people within the cold fusion community truly love cold fusion, and that would always be their choice to developing
and it just doesn't seem to be that, you know, I don't necessarily see other people having that fervent dedication to whatever language they may be developing. I know guys who develop in multiple languages, and they'll be whatever, you know, the client requests, and it doesn't really matter to them. But I think, you know, when somebody works in cold fusion, they're always going to want to recommend cold fusion.
Yeah, suddenly, a very passionate community, what I've seen at last year's summit or see if united or any of the other conferences around the world that they're now love the place, they just have to see a summit India will see up camp in Germany. So and of course, we've got into the box in use of Texas, see if somebody in DC, so lots of conferences and excitement.
So I think I think, you know, we should just briefly discuss security, because a lot of people, you know, cues, confusion of being insecure. But I read a recent CNET survey that actually copied from came out way ahead of PHP and Java. And there are security holes been found, and even Day Zero incidence. So
I'm curious your thoughts on cold fusion and security?
Yeah, so, you know, when, when it comes to security, or, you know, one of the, one of the issues you have to take into consideration is, you know,
some security exploits aren't necessarily because of the language itself. But because of, you know, what the developer gave you, if you develop secure code, then, you know, that, that doesn't come from the fact that, but as far as the actually security experts,
I believe it's been,
it's been years since there was a zero day, it's quite cold fusion, I can't remember how long but I think it's been
Michaela Light 48:12
Brian Cain 48:12
five, yeah, five years. So I mean, that's, that's been a long time, I know that cold fusion is very reactive, and getting those updates out, when anything is actually discovered,
it's especially now it's super easy to update your cohesion instance, with the latest fixes and security updates, it's just a matter of going into the, the administrator and essentially installing it, you don't have to do anything special or fancy to get in and do that I have
noticed that, you know, Microsoft still gets their regular updates, they still have a lot that's going on, you know, and I, I can see, you know, the benefit of
the, you know, on the, on the windows side, let's talk about that specifically, you know, those can be scheduled and automatically, john, and that makes it, you know, usually pretty easy to stay on top of that, I think he can do that with cold fusion as well. But I prefer to, you know, have a little bit more control over mind. So that, you know, I know, the time of day that it's going to happen, and I can react to anything that may happen from them. We have had instances where Windows Updates have been installed, and for some reason or another caused our site to stop responding. So we had to go back and figure out you know, what changed that did that as far as the security of cohesion itself, if you're staying on top of these updates,
then yeah, right there you're you're finding yourself well covered. And if you're developing good code just by following best practices we talked about sequel injection
if you just behind best practices, your site will never be vulnerable to sequel injection. If you see a query
that the problem is if you don't do that, then yeah, you'll you'll be vulnerable just like anybody else would. But if you follow the best practice of using SEO query down you're you're getting the benefit on multiple levels because not only getting the benefit from security standpoint where you're preventing your site from being you know, half the sequel injection but the database performance piece that you get from using Thea query parents because it allows sequel server to cash all those great wines that was one of the big takeaways I got from the last day of summer was actually if you hard code in let's say you have a database with 10 records you have 10 id values you hard code in your in your sequel statement pretend ID values that's temporary points but if you sequel query parent that's one query plan because it actually uses you know parents instead of
building a plan for each individual statement so I mean just use the best practices best practices and cold fusion and you'll have a very secure
Michaela Light 51:28
yeah that totally makes sense
what about some of these other languages do you know anything about security on them
Brian Cain 51:37
I don't really know too much other than you know things get back to all the time we had a WordPress site
for one of our divisions that got hacked pretty easily because it didn't get updated nobody was was nobody was
making maintaining that site essentially and you know somebody they will be and that's where the content and kind of
mess up the database but again you know I was built on on PHP It was a easy exploit to get in and find them and execute against the website but
you know if
yeah you have to you know keep on top of the updates and that's going to be the same across any platform but
that's you know, I tend not to like to use this example but it's people are going to go after what are the most popular languages on the right so yeah it's the.net PHP are going to be the huge
you know, nightlights for you know the people to be attracted to figure out you know, where they want to find the exploits in cold fusion is going to have that same I'm a draw but
that doesn't mean that they're not going to you know, get to cold fusion eventually so I I truly believe that confusion has less security exploits but it's not because it is not as prevalent on the internet it's simply because it's harder to get
get find those exploits it's the same reason why you know it's it's easier to hack an Android phone it is
an apple from yeah most of the stuff with Apple is proprietary but
they they do a good job of keeping on top of finding security breaches and you know sending out regular updates and getting that stuff fixed you know cold fusion Adobe center follow a similar process of making sure that they take security concerns
very seriously and want to make sure that
they're not just reactive proactive and not building in you know are thoroughly testing functionality is they needed to make sure that it will be secure and not provide additional exploits for malicious hackers to get in and use against you
yeah I think keeping a server up to date and writing more secure code works whatever language you're in but certainly as far as the number of holes that have been
reported confusions definitely ahead of the other language on that so I think that brings the final topic here that The L Word for legacy which is something that confusion seems to get accused of but I kind of looked up how old PHP job or.net are they seem to be about the same age How come they don't get called legacy
Michaela Light 54:54
do what I just haven't heard it
Brian Cain 54:55
That's a really good question I don't maybe because some of the old copia absolute adults are still running and those old versions because they're just fine i don't know but
you can So Microsoft made the whole switch from classic ASP. NET which was a definitive switch it that that's a I mean when you're looking at you know timeline of web development for Microsoft that's a big red line there's there's no commonality you know it was it was such a huge ship
confusion as legacy but only in the fact that been going out of their way to make sure that things are backwards compatible so if you were if you're currently developing and see a five or six or seven and you need you know your company all of a sudden decides they want to invest in infrastructure and update the CFA team
it's gonna be a bit of a project but it's not going to be it's not going to be a complete code rewrites right they've gone out of the way to make sure that each version is is compatible with the previous version and then instead of reinventing their entire platform development platform they built upon it and improved upon it whereas you know other languages don't necessarily do that i think you know PHP is a bit of an exception but
but you know PHP is purely open source and doesn't have a you know necessarily
market driven public entity that is you know has a bottom line per se but you know cold fusion is only legacy in the fact that they didn't want to leave anybody behind which I think is is a favor really to the development community and that they're not you know trying to reinvent the you know their entire platform every few years
just to make themselves appear Roldan going
right you know we've seen that recently in the WordPress world where they rolled out that whatever that update was cool
passing my my brain but they just totally changed how it works. You know, which caused a lot of people to get upset. Yeah, yeah so
let's close with some questions I asked all my guests we share. The first one is why are you proud to use called passion
I'm proud ego vision because it's,
it allows me to be need, you know, from a development perspective, it allows me to have my own style versus, you know, somebody else's created to I'm installing, which allows me to have more pride in the work that I actually do, I feel more connected to it, I feel more ownership of it. And, you know, I take more pride in in the tasks that I work on the features that result in my team.
So, you know, that's, that's the big thing is it allows me to do to use my best judgment instead of somebody else's best judgment. And, you know,
coming back to this theme of legacy and cold fusion, sometimes being accused of dying, I like to flip that on its head, what would it take to make Caucasian even more alive this year, and, you know, if we could get, you know, some publicity from some of the major organizations that are using cold fusion that might inspire, you know, some people, especially as, you know, if it's something it's coming up in the news, I know, NASA uses cold fusion. So, you know, why aren't they making a big deal out of them, you know, cold fusion is going to help us get to Mars, you know, that's, that's a great, great subject line for, you know, an article or something like that. But I think if we just had
public recognition of, you know, large organizations that are using cold fusion on a daily basis as part of the mission critical apps, I think that right there would would help silence a lot of the critics of cohesion, his legacy you're dying, what did anyone say?
Maybe farms.com is going to say great things about called fusion, maybe I'd like to,
I'd like to be able to get them to do that
what least we're doing this podcast episode. That's right. So what do you enjoy CF summit this year, I know we were there,
we had a great time I wouldn't with my team leads every year, I come away with
at least one or two
very significant takeaways from the event that immediately go into our development strategy and architecture. And, you know,
I can't say enough about that, how important it is just to get out there and see what other people are doing, you know, there's, I guess what, six events in each day, so maybe attend 12 events,
to be able to go to 12 events,
a lot of which don't necessarily apply to what it is I'm working on. But at least I'm seeing what other people are doing. But to be able to come back and within the next week, say, this is what we're doing, we need to start working and getting this and then all of a sudden, you know, we see projects coming up we're related specifically to those takeaways from that event. I mean that's hugely important you know, can't can't
can't express that you know anymore my development leads are the same way they come back with strong takeaways things that they want to implement it but you know, to have something go to a cold fusion seminar or cold fusion event and then come away with something that you're going to start implementing the next week or the next day or the next month
that's you know, that that's happened consistently for the past several years for me and so you know, that's that's one of the things I enjoy the most you know, and getting to sit and talk and socialize and network with other developers and in cold fusion and see what other people are doing you know, that's that's great. Well, I really enjoy that.
Yeah, I definitely recommend anyone listening if you're able to get to the CSM summit west or east or the one in India or to any of the other call, even conferences like CF camp or into the box or mural con, or NC DEF CON. They're all great places to learn new stuff. And, you know, mix a lot about this. So if folks want to find you online, what one of the best ways
that probably via LinkedIn, I tend to use social or tend to use social media as more of a social thing. Not as much.
But yeah, definitely be on LinkedIn. LinkedIn profile. Is
there bring a book with Brian King,
I'll put it in the show notes. So yeah, exactly. Which you can find a terror attack.com and
yeah, it's been great talking to you, Brian, and really appreciate you coming on the show today.
I appreciate your time. Thank you very much.