Hi folks. I haven't had time to follow the conver...
# water-cooler
n
Hi folks. I haven't had time to follow the conversations here recently. Have people found good use cases / examples of using ChatGPT for ColdFusion (or html/css) development? I've experimented, with some success.
a
I found it like dealing with an eager but not particularly capable intermediate-level dev.
👍🏼 1
But this is specific to CFML. With Kotlin it was largely fine, so I'm guessing the quality of the CFML code it has to draw on is... not great.
n
@Adam Cameron I wonder whether having a lot of code examples in this slack environment limits the amount of code available to the AI training process.
In on example I tried, it wrote a bit of CF code but also and html/bootstrap form and some css. So, overall it seemed like a potentially great time saver (like an eager intermediate dev might be)
a
I think the CFML community's participation on the likes of GitHub is poor.
👍🏾 1
And OSS projects in general: there ain't many of them. Partly cos the community is small. Mostly cos it's apathetic and most ppl who might put something back in tend to be more experienced, and those sorts tend to leave CFML behind.
I also found that copilot struggles with CFML. I am guessing for the same reasons.
n
I haven't tried co-pilot
I wonder if these systems can be trained on non-public repos
a
It's been handy for my Kotlin (at which I am a n00b).
I doubt it (re non-public repos). It won't be a problem for most other languages, and I doubt solving a fairly CFML-specific situation would seem like a good use of their time. The solution would have been for CFML devs to be more inclined to give rather than take. Over the last decade or so. That ship had sailed now though, unfortunately.
n
@Adam Cameron I've found the the community very giving in terms of this kind of community (with you being a good example). However, I guess code is a different issue. I know the Box framework has a lot of modern open source code, right? I wonder if that would help in training AI.
a
Bear in mind that ppl like Brad and Ben are the exception. Even the ppl showing up here are the exception.
n
In our case it's always been a goal to make our code base open source, but we haven't had time to fully modernize it, so I'm not sure how much of a help that would be.
a
Very few CFMLers I personally know/worked with participate in the community.
n
I expect that's similar to php, etc. Probably most are lurkers but with a larger community it may not matter.
a
It is what it is. But it doesn't help when it comes to integrating with third-party tooling.
n
I see, that makes sense
@Adam Cameron We would like to do an integration between our CF app and Quickbooks online. It will be interesting to see whether these AI tools can make that easier.
e
Most CMFL developers treat their code like its the holy grail and guard it accordingly.. When in fact it's usually a sad mix of cfscript, tags, java calls, and some leftover ux crap. All in all its maybe a few hundred lines to do amazing things where as it took the jAVA developer 90+files and 10K lines to do the same.
n
@Evil Ware Overall it's done the job well for us, but perhaps we're in a bubble of our own code. With a large platform, the costs of re-coding are prohibitive. I was concerned that would be a real problem, but so far the ease of use has made it more of an asset and not that much of a detriment overall. Again, we may be in a small bubble here.
I guess the ease of use in a sense enables a lot of mediocre coding to be done (pointing at myself), but that has also enabled a lot of fast development
e
I am a horrible coder, but That is why I love COLDFUSION. I can spend 10+ hours developing something in another language that I can do in 10 minutes in CF. My comment is very much pointed at myself, and the code bases I have seen. For me, it's a flat ROI sell point. Do I want to spend 200 hours a year improving code, or do I want to spend 200 hours a month maintaining code.
n
@Evil Ware That's interesting. I've always been sold on the ease of CF, and I still hear that kind of story from good coders like Ben Nadal. But, I'm not really working with a lot of other languages so interesting to hear your thoughts. Python looks relatively simple, from what little I have seen of it. In olden times, there was always sort of that "it has to be hard to be good" vibe around programming. But, with rise of python at least, I wonder if that kind of attitude is shifting.
a
I guess the ease of use in a sense enables a lot of mediocre coding to be done (pointing at myself), but that has also enabled a lot of fast development
This is all fine until something needs to scale, or be maintained by someone other than the current team. It's a very... myopic way of looking at things. Or if the current team want to lift their game from "meh" to "actually being good at this thing we do for a living". For a lot of ppl who work 9-5 at their job... "meh" is fine (as evidenced elsewhere in this thread)
I'm not having a go @ you when I say this, @nickg. Just that it's a symptom of dev "stewardship" that I see more prevalent in the CFML community than other areas of my dev range. Could be confirmation bias on my part though.
g
AI aside, I find that if you find an open-source project that can really hold your attention, regardless of language... and if you devote some spare time to it - then overall your (work) programming improves. Being involved with different ideas, different coding standards / methodologies / frameworks / etc - helps broaden your overall knowledge. Instead of spending some spare time on "work" things that are bugging me - I've started looking for other "projects" I can contribute to instead. Same amount of time on the PC / away from family / housework etc - just "different".
1
💯 1
a
This is why I started my blog way back when.
Nicely put, @gavinbaumanis
g
I find Co-pilot works pretty well. I was looping through an array of structs, with embedded structs and got it all the syntax for the looping correct to "get to" all the nested data. It certainly can be wrong at times... It isn't perfect. It does get it wrong... But the more you use it - the more it learns. Eg. I was adding a comment (specifically at the end of LOOPs / IFs (// End Customer Loop, End this, End that) And co-pilot started automatically proposing those comments, too. Also - I recently found out that you can iterate through suggestions... if you don't like the first one - there is a keyboard shortcut to progress forwards and backwards through a list of proposals. I use it, mostly, as a "syntax-checker" - and for that I find it really quite useful.
a
I recently found out that you can iterate through suggestions
That is gold
n
@Adam Cameron agreed. For me personally I would love to raise my game. It's been a time issue with many competing priorities.
a
Sure.
n
@gavinbaumanis it sounds like you are using co-pilot with cf? I thought I read somewhere that it was only for other languages?
a
I have the luxury that I have had spare time and I like programming and I was rubbish at putting back into the CFML community and felt guilty about it. So I decided to do something about it. And wrote something about...
onApplicationStart
, apparently. Something I had worked out that wasn't well (at all ) documented at the time. (https://blog.adamcameron.me/2012/07/onapplicationstart-is-not-intrinsically.html... first blog article)
(ugh... tags... 😉)
g
@nickg: Yeah I am using it with CFML. Tags and cfscript.
d
cfml in chatgpt is ok.
👍🏼 1
I heard chatgpt uses lots of code examples on the www for its learning. but I wonder too if it uses language servers to verify validity. If it does, how the hell is it going to validate cfml?
g
There is a CFML parser that is used is VSCODE, and I am pretty sure I remember that just recently @zackstermentioned a (newish) project.
d
home grown parsers for very specific applications don't count I believe. I believe it if CFML had an lsp that followed the microsoft language server protocol then it would be different.
haha - "home grown" is not the best description
😀 1
a
but I wonder too if it uses language servers to verify validity
Nope. It doesn't verify validity. Quite often the code it will suggest is wrong to the point of not compiling. Plus you could just ask it. Think of it as a glorified google "I feel lucky" search, where the result is distilled into a single humanesque string instead of a series of docs.
👍🏾 1
d
Ok i'm pretty certain it doesn't use programming language servers.
Either way, we know chatgpt is using the www to learn how to have smarter converstations with you and CFML isn't having a whole lot of conversations online, so a cfml chat is going to be entry level like you guys have already stated above.
n
I remember there was some talk a while ago of using a service that would make these slack discussions publicly searchable, which might help in this kind of situation. But, I don't know if that ended up happening.
d
by the way, I will not mind if my new hire, who starts in 2 weeks, uses chatgpt to learn cfml.
@nickg it did. our conversations are being cached at cfml.linen.dev
I think its only about 30 minutes behind, maybe faster.
n
Ah, very cool. Hopefully that will eventually find it's way into chatgpt
d
yes lets hope.
n
I think that the chatgpt training was at least 2 years ago, but hopefully they will update soon
d
but we need to have more advanced converstations so that the next generation has the data.
its up to us.
oh right, the chatgpt was trained some time ago. I also read that OpenAI has a newer version for language model so perhaps next version of chatgpt will be trained with the latest language model.
e
@nickg I deal with a smattering of other languages, most of which I hate. I am not a programmer, though I am employed as one. I see the code of other languages and really I am not impressed by the quality or the hassle of what it takes to make a functioning application. I have seen so-called "low code" applications in which I literally banged out a prototype in under a day in ColdFusion which a team of developers cant replicate in power apps in over a year. Do not get me wrong every language has its place and its strengths, and weaknesses and some just make more sense than others as a matter of preference.
👍 1
n
@Evil Ware That's great to hear. CF always allowed us to do a lot with limited resources, but I don't have a much broader perspective. I've seen Ben Nadel write some similar sounding posts, ie that CF holds up well when used correctly.
👍 2
👍🏾 1