Good morning everyone. I have 2 book sets of the C...
# cfml-general
c
Good morning everyone. I have 2 book sets of the ColdFusion Web Application Construction Kit series 1. Macromedia Coldfusion Mx 7 Web Application Construction Kit (2 books) 2. Adobe Coldfusion 8 Web Application Construction Kit (3 books) I've been developing in CF since CF6, but have been doing .NET Dev for the last 5 years - so I've been out of the game for a while. My question is: Assuming a practice CF Dev, would either of these book sets still be relevant/useful in today's world? I'm looking to clean up my physical book library and not sure if I should still hold on to them. It's possible that they're no longer useful and equivalent (or better) resources are available online. Maybe 7 set is better than 8- at least that's what I'm seeing on amazon reviews of the books. Thank you in advance for the responses/opinions
r
I would say the books are still relevant as the core of CF has not changed. Some tags may have been deprecated in the meantime and there may be new functions that did not exist when the books were published.
πŸ‘ 1
I generally use cfdocs.org for my function reference when needed since it covers both Lucee and ACF.
πŸ‘ 2
πŸ‘πŸΎ 1
p
Go ahead and burn em; use the online docs for the latest and easily searchable. (cfdocs.org as mentioned)
πŸ˜‚ 1
🀦🏻 1
r
Please do not burn them. There are new CF devs who would love to have them. Sell them as used on Amazon or offer to give them away. The WACK books are terrific for brand new developers and those brand new to CF to get that first grasp of programming in CF and set their foundation from the then-masters of the game.
a
I would be a +1 for burning them. There are more up to date language reference out there (the docs, for example), and the practices they espouse are outdated and not how anyone ought to be developing CFML applications these days.
πŸ™ 1
πŸ™‚ 2
A lot of the guidance in the CFWACK wasn't that great, even when it was still in print. It was very much "here's how to write CFML code", but they were written in a very "closed-shop mindset" sort of way: "here is how to use ColdFusion to write CFML code to query a database and then loop-de-loop over that to output some mark-up". This is not how to write good software. No mention of frameworks. No mention of design patterns. No mention of testing. No mention of all the non-strictly-language-skills one needs to be able to be a decent dev. Just enough to be a web monkey, which is as far as a lot of CFML devs have ever gotten. For the 1990s / early 2000s this was fine - it really was - but not for ppl starting in 2023.
πŸ‘πŸΎ 1
πŸ‘ 1
So their benefit was the CFML reference, and that info is out of date now; the only material is better.
r
Adam, while your points are valid, I still feel there is value in helping get someone off the ground. Rather than stare at their screen and try to find esoteric references to how to do something when you don't even know what questions to ask, and an introduction to the fact that, "Hey! I can do THAT?" gets a new programmer into the drivers seat in a long day of working through the book. THEN they know the questions to ask and can begin to observe the way people are writing via online docs, podcasts, and so forth. IMHO you're talking about running when newbies are still finding out they can raise themselves up to a crawl. πŸ™‚
πŸ‘ 1
a
The online docs cover all that. And are up to date.
As @carehart is wont to point out periodically... there are 1000s and 1000s of pages in the online docs. It's not just the CFML ref that we all generally use.
r
The value of the CFWACK books is that they take you by the hand and lead you through the initial stages of learning CFML. Yes, those steps can be found online, but Forta treats the reader so wonderfully comfortable. Guess we'll just have to agree to disagree on this point, my good man.
a
To start with CFML I'd probably recommend https://www.learncfinaweek.com/ as a starting point. However I would never recommend CFML as something a newbie dev ought to focus on. but for someone already a dev and needing to do CFML for some reason... I'd start there.
CFWACK takes a person by the hand and teaches them the way the code would have been written in 2005 though. That's not a good thing.
I take your point about Forta's style though. But... style must come secondary to substance.
c
All these are fair points, but let's not throw the baby out with the bathwater. While it's true that the old books show style and approaches that are not modern, that's not ALL they're about. They help introduce/think through HOW some cf features work. And while the cfml reference has MUCH about some topics, it has little about others. And most of the cfdocs.org site is also reference /examples, valuable though it certainly is...
πŸ‘ 2
As Adam mentioned, the FULL cf docs on the Adobe site are substantial--literally several thousands pages if printed. But about 2000 pages of that is in the CF Developers Guide, which is a real "user guide" to cf and its hundreds of features... but it's too deep (parts, chapters, sections, subsections, subsubsections) as it was originally written to be rendered fully in the Adobe docs site. So you may Google a topic and be taken to a page with just a paragraph on it. That was the first intro section on the topic, which may then have 10 pages of really useful discussion about a feature...but you can't get to it. No forward button, no breadcrumb on such a page, nor even the left navbar as is shown on pages "higher" in the docs. Hell, you might only know you were IN the cf dev guide doc if you looked at the very long url. I've lamented this for years, and just recently got Mark Takata to see the issue clearly. He is hoping something can now be done. Are those docs perfect? No. Modern? Not often. But since few even saw them (since they last rendered well in cf11), there's been little feedback to improve them. I certainly agree that other resources do a great job on helping develop more modern cfml.
πŸ’― 1
So back to the original point, for someone who never saw those original docs, learning cfml from the reference is like learning English from a dictionary. The wack books still impart very helpful insight into aspects of features that are NOT in the reference, and MAY NOT be covered in cfdocs.org, nor Modern cfml in 100 Mins, nor learncfinaweek, and other such very helpful resources. So should the old WACK books be burned, or merely dismissed? No. Should they be read in their proper context? Sure. Might a newcomer lack the discernment to know what to beware? Sure. Does that mean they're of no value to such a person? No. They probably would come out understanding SOME things better than people who've used a feature SOLELY from the cfml reference and trial/error. :-) I've seen that, so known it to be true. And of course, the same would be so if they could access/properly navigate the full cf developers guide. That's why I so wish that problem could be solved. At least, that's how I'd regard it all. :-)
πŸ™‚ 1
r
Thank you, Charlie, for stating what I could not figure out how to say.
πŸ‘ 1
p
Typically I value an individual's time and want them to operate that the quickest approach and the best of the best tools at their fingertips and a paper BOOK is not that (unless its chatgpt audio readible and can ask it questions). Thus modern approaches are more efficient. And yes there is valuable viewpoints in those books but not to say they are the ONLY location you can find the same teachings.
πŸ‘πŸΎ 1
c
Patrick, I agree that most folks these days have little regard for printed books, at all. And sure, if these were available online some would read them. Or at least if they were easily accessed and navigated, some would find them and learn from them. And indeed, if they (or the cf dev guide) were offered as audio, I think many would LOVE to listen, while others might come to wish they could. Just like listening to other "old books of non fiction" can still be valuable to hear, long after their prime.
a
Good points Charlie. I do think we're talking a bit in the abstract here though. If someone had the book in front of them and they wanted to learn CFML, then... cool... yeah... don't throw them out. And if Cisco had a person there in front of them going "can I have because [see above]", then... yeah cool. But this is not the situation. Cisco dun't need them. No-one is going "can I have them?", so what's the point of Cisco keeping them? Is he supposed to keep them just on the off chance someone comes along? Is he supposed to fuck around on ebay trying to get rid, banking on the timing being just right for that other person wanting to learn CFML from a CFMX7 & CF8 book happens to be checking there? Just throw them out man.
c
Adam, I read Cisco's original question as "I found I had them. Are they worth me keeping/reading". To that, my answer stands as that qualified "yes". I offered the elaboration for any who may find them or be offered them, but more to turn to the point you were making about the cf docs (mentioning how I've pointed out there's more to them than most realize). And there the same issues arise, about how modern even the "hidden" cf docs may be, and whether they even SHOULD be resurrected. To that, again, I'd argue the qualified yes.
w
i found they make excellent wheel stops when changing a tire, and the retaining wall i repaired with the MX version is still intact
r
I think I still have my WACK books, but I'd take them if he's giving them away. I know people who want them.
c
I have the cf10 wack book literally ON my desk, because last week someone asked me about something I knew was covered there in more depth there than even the Adobe site or elsewhere. And in fact, it was in a chapter I WROTE. :-) My fellow bloggers will appreciate that point!
😁 1
a
Ha. very true. it's nice to be able to say "here's one I made earlier".
p
I still have my 3 WACK books, but again, its not worth my time to dispose of them so they are in a box in my basement somewhere. 😎
a
@Cisco how long had you been doing CFML before moving away? We're second-guessing your capabilities a bit here.
r
I have moved 4 times since I last had a bookshelf up, but I'm finally in a place where I can do that and hope to have access to/know if I still have my WACK books. I plan to donate them to the newbies in our org that need to get a quick handle on CFML. In a day, you can be writing applications by going through these books, and then you can move on to modernize.
πŸ‘ 1
d
Put them in the recycle bin not the trash bin. Two weeks ago I did the same with 3 cfml books. I doubt new devs are looking for books and let alone cfml. Existing devs looking to learn cf don’t want hand holding and probably have a senior dev to guide them to some good online resources.
r
Sorry, Daniel, you would be wrong. We bring in devs that know nothing about CFML quite often, and they could use that quick start the WACK books would give them.
a
Yes, @Randy L. Smith, that's a case for you to have the books. Not for Cisco. Cheers for picking me up on the context swing Charlie, but my reaction to whether these books would be of any use to Cisco (ie: back the actual question), I'd be erring towards "no, not if yer've already been a CFML dev in the past", but... as per my question... not much benefit in us guessing where his CFML skillz lie at.
But I think it can be summarised as "it's a bit out of date in places, but there's stuff in there that's perhaps(?) easier to find via its index than via trying to wrestle it out of Adobe's online docs. Pity you don't have the CF10 version as there's a cracker of a chapter from Charlie in it".
d
@Randy L. Smith you bring in devs new to cf and ask them to start with a book!?!? ok cool. I stand corrected. I really thought that was an old and dead way of learning.
Specifically programming. I still love books for history.
a
I really thought that was an old and dead way of learning.
Well this is CFML. Have you not heard? ColdFusion is dea... ah never mind ;-)
πŸ˜‚ 2
m
I think that https://modern-cfml.ortusbooks.com/ and https://www.learncfinaweek.com/ are better choices for getting the gist of the basics from cfml standpoint. But, being able to get people producing usable-ish cf seems to be an easier hurdle for us (aside from the candidates who just flat reject it) than getting them providing usable html, css, and javascript are.
m
Late to the game here, but I will say this: I still have all my original CF books. But I don't really reference them anymore. Learn CF in a Week is my go-to for newbie CFML devs, then the Ortus books, then the ACP:ACF cert program as well as CFCasts. So, basically, what Charlie said lol.
g
@Cisco is actually a pretty good friend of mine and hasn't done CF in over 5 years. If a book doesn't have lots of pictures, or isn't a pop-up book, he doesn't like to read them anyway. He called me this morning and I told him to just give them to @Randy L. Smith if Randy will pay for shipping. πŸ˜‰
πŸ‘ 1
πŸ˜‚ 2
BTW, I was on the phone with him when I posted that and he laughed. πŸ˜„
πŸ˜† 2
πŸ˜„ 1
r
@garciadev Done deal. He can DM me when he's ready.
@Daniel Mejia we haven't provided a book because we haven't started a library for those -- yet. They would be shown they are available, but not required to do so. New to CFML doesn't mean new to programming -- they already know OOP and all that, and are usually veteran JS of one version or the other, but much of our stuff is in CFML (Lucee) and will be for some time, so they just need a quickstart. It's been slower for them to take off with just the online versions where a WACK book can be checked out and looked over to get ideas and such. But, books being an old idea for learning programming... While I do see your point, I also understand that not everyone learns the same way. I, personally, am not a "hear it" kind of learner, and much of the online stuff is not surrounded with any context; like Charlie said, some of it can be like trying to learn English from a dictionary. I like to see the example, see the context, and be working on putting all the pieces together. I can't look at a tree and necessarily see a table, but if I can get my hands on it and see it cut down, planked, dried, planed, sanded, lathed, drilled, tooled, and fitted together, now I get it. Kapiche?
m
This is now a planking thread?
c
@Adam Cameron to answer your question..I had been doing CF work for about 15 years up until 5 years ago when the company decided to change tech stack to .NET. I had been holding on to the books in part for nostalgia and in part b/c I had thought that they may contain some benefit or potential useful information, but wasn't sure since I haven't cracked them open in years, even before I stopped being a CF Dev. So, I reached out to you fine folks in the hopes that perhaps I could be swayed one way or the other - and I have. Since I'm not a complete newbie to CF and given the responses to my question it would seem that these books would perhaps benefit someone else more than my bookshelf. @Randy L. Smith I'll DM you to coordinate me sending them over to you. Thank you all for your input and opinions, it really helped.
πŸ‘ 2
πŸ‘πŸΎ 1
r
@Mark Takata (Adobe) It's trending on Instagram, I hear.
🀣 1
s
As an "old 'un" myself, I still find books -- or at least readable text -- to be the best way to learn a new tech. I don't like this new-fangled "video" stuff that younger devs seem to love so much πŸ™‚ As for CFMX7-era books of any stripe, those really predate a fairly massive shift in the CFML landscape, with the appearance and rise to dominance of ColdBox and FW/1 and things like CommandBox, and also the huge overhaul the language got in the CF9 timeframe with a large number of modern features and the "growing up" (finally) of cfscript. If I was an employer hiring CF devs today, I wouldn't let them near CFMX7-era anything. I don't know how much better the CF10 WACK set is in terms of "modern CFML" but I suspect it still drags along a lot of the "old school" CFML from earlier WACKs? I'd want my employees to learn CFML in terms of frameworks, OOP, cfscript, TDD, etc -- pretty sure most of that isn't covered in any of the WACKs...?
βœ… 1
πŸ‘ 1
a
This is one of the good things about using industry-popular languages the amount of material out there is so vast one doesn't even need to consider a 15yr-old book as a learning resource. Now that I think about it... what a weird and sad conversation to even be having.
πŸ‘πŸ» 1
πŸ‘πŸΎ 1
πŸ‘ 2
c
I'd argue there's logic and benefit to the conversation (and sadness) for a different reason than someone observing it would presume: the trouble with the online docs (discussed previously), which lock up otherwise valuable detail on using CF. Other tech wouldn't suffer that, so the "need" for books about them in the last 10 years would be lessened. Instead, we've had a dearth (of docs and books), and a heavy leaning on the CFML Reference (which is not suited to bringing people INTO CF). That has suited "legacy" developers, whether they are maintaining or extending ACF apps, while also a significant part of that audience was focusing on switching to Lucee (thus having little interest in what may be documented about ACF in docs or books). We've certainly been blessed that key folks have stepped up to fill the void (often trying to serve both audiences)--while also leading toward modernization. But all this helps explain why a discussion of "old" CF books might (like the books themselves) have some relevance which would surprise many.
s
Books and publishing are a bit of a distraction, to be honest. Publishers only care about what sells, and how cheaply they can get a book written and out the door. Most publishers have a fairly shitty editorial process these days. Self-publishing is much more tractable these days, fortunately, but being an author -- and your own editor -- is a huge undertaking and very few people have the spare time to dedicate to writing an entire book on a schedule. I've been down the path three times over the last three decades with three different publishers and three different tech stacks. I've gotten to the book pitch and the table of contents and vague outline stage each time -- but I just can't commit the time required to get the chapters out on time. I have huge admiration for the folks who do this! I think it's great that the Ortus folks have produced an online "book" for learning "modern CFML". I think it's great that LearnCFInAWeek exists. I think it's great that Adobe still take the time to produce extensive online documentation. I wish the Lucee project would spend more time on documentation. Documentation has to evolve as the tech evolves. As Adam says, discussing whether a 15 year-old language-specific book is valuable would be pretty laughable in other tech communities. Books that are higher level than a language have longer lives, books about process and philosophy can stand the test of time. Books about a language have a limited shelf-life by definition -- unless the language itself fails to evolve, and I don't think anyone here would try to claim that CFML has not evolved?
c
Sean, I can't tell if you've read the entire thread (I have), and especially my comments early in it. My focus has been not on "the value of books", but the value of the CFWACK books (when it was suggested they were useless) specifically BECAUSE of the challenge of accessing the CF Developer Guide (2000 pages of deep info on using CF--which by and large HAS been kept updated, if not quite "modern"). That aspect of the CF docs is essentially inaccessible (other than the top couple of levels, which tend to be just a few paragraphs on many topics), for reasons raised earlier (and hopefully being worked on). To be clear, I'm not arguing "we need more CF books". And I'm certainly not arguing against the great alternative resources that have popped up (I've praised them here more than once). But really, if you may still feel that I'm somehow missing your point, or Adam's, or anyone else's, we can let it go. I only chimed in tonight because the last comment from Adam sat for nearly a day as the seeming last word...and it was suggesting how this discussion was a sad testament about the CF community (or however else one may care to characterize or narrow it). I just thought a bit more could be said to put the discussion in a better light. If folks disagree, I can accept that.
m
I think, for me, the love of books is more historical than functional. I would not be where I am today without books. I learned CF from a shelf full of books. And JavaScript. And PHP. And ActionScript. And SQL. And C#. So many of the languages I know, I first gained knowledge in from physical books. And so, there is this love in me for those as objects. But today? If I wanted to, say, learn GraphQL (which I first picked up a couple years ago)? I go online. I seek out websites, online guides. Videos. Quickstarts. Docs. But I will, forever, have a deep abiding love for books as objects. My library is quite vast, but also, quite dusty. This thread has actually made me really think about why my closet is absolutely chock full of books. When it could, instead, be chock full of old video cards I just cannot give up, instead. πŸ˜‰
s
Good grief, @carehart "Sean, I can't tell if you've read the entire thread (I have)," -- of course I have read the whole thread! Don't be so condescending.
c
I was simply offering that as a preface to my comment, in case it might be true.
and also because it has been a large thread, with a lot of thoughts shared
s
I don't think anyone learning CFML should work from a CFMX 7 book. They don't have the knowledge to discern what is "good" and "bad" in such a book -- and these days, with the huge advances in CFML, there's a lot of very bad advice in such a book.
c
That distinction was made early in the thread. Also, the original post did discuss BOTH CFMX7 AND CF8 books. I didn't press that when your first comment today focused on 7. And of COURSE, even CF8 is very old. The point being made was that even with such old books, there was still value to be gained...by a discerning reader. Again, the point's been made also that they may not be the BEST or ONLY resources from which one should learn...but I do think they offer far more than most realize, that may not be readily found elsewhere. And that was the main point I was trying to get across. But at this point, I think we're starting to talk in circles. I'll (try to) let it go. πŸ™‚
s
You should, yes.
c
how's that for the pot calling the kettle black?
s
I specifically mentioned the CF10 books earlier.
Perhaps you haven't read the whole thread?
c
I was referring to your comments today (and said so), not yesterday's. Sheesh.