--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
Erm, I believe that Java, PHP and Ruby also appeared in 1995 (as was JavaScript)
Yup, and Python predates even that. However, ColdFusion "is superseded
by" those technologies in terms of popularity / marketshare and,
frankly, in terms of language features compared to C# and Ruby (and
many other languages). Microsoft have been able to push C# forward so
much because they're not afraid of forcing their developers to learn
new skills. Witness their progression from classic ASP and (early) VB
to ASP.NET and VB.NET and then C# and F# - and even C# has evolved
dramatically (whilst not completely forcing a reskilling). Allaire,
Macromedia and Adobe have all been terrified of breaking backward
compatibility and it's held CFML back. A lot. Go look at the
metaprogramming available in Ruby and the sophistication of Rails - or
Groovy and Grails. Look at Scala, Clojure. Heck, even Python - which
has been described as Lisp-in-C-syntax. The only language whose
progress is as glacial as CFML is Java - and even that's gained
generic programming features, inner classes and a strong collections
library that all put CFML to shame.
When it says "Web developers basing their careers on this language
should start looking at modernizing their skill set." I would say that
such developers should have started looking years ago and that no
developers should be comfortable with just one core language in their
tool belt. And, no, SQL and JS don't count - all web developers need
those and, until the appearance of Node.js, JS was confined to
UI/client work anyway.
To be honest, I'd say CFML developers should be honored that the
author thinks ColdFusion is high enough profile to be worth mentioning
in such a list - it really is a testament to the longevity of CFML
that people even consider it when writing about technologies that
might be going out of fashion soon. Lots of other languages have come
and gone without making it onto those sorts of lists! :)
As for what the OP can say to naysayers, I always point people at the
open source world - which most people agree is where all the action
and growth is these days (in the "real world" it's basically Microsoft
vs FOSS now) - and note that there are at least two open source CFML
implementations, and open source can't be "EOL'd" and guarantees
everyone can support themselves as long as they want to even if the
original team disbands. Something that can't be said of commercial
products: once support is withdrawn, you're kinda screwed; once a
product is EOL'd, you'd better migrate to something else. No matter
what Adobe decides to do with ColdFusion, the open source alternatives
will be available. That's why so many companies are betting on open
source technologies.
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)
I do agree to this in principal but for a lot of us when do we get the time to learn a different language / system to a professional level when we are working exclusively in ColdFusion?
I know I could pick up PHP, .NET, Ruby etc if I had a decent paid job to work on but just doing a little in my spare time would not give me the relevant skills to sell them as a professional service.. At least I’m not sure I’d feel comfortable taking on projects in a different language without first having some real experience in it. Though I realise this in some ways is chicken and egg..
I’d be interested to hear how other people have done this in real / professional terms.
---
James Allen
Blog: http://jamesallen.name
Twitter: @CFJamesAllen (Coldfusion / Web development)
Twitter: @jamesallenuk (General)
Twitter: @JamesAllenVoice (Voiceover)
Tune in to the best in community radio – Codebass Radio: http://codebassradio.net
--
As for learning multiple languages I agree that it is good for you as
a developer (you'll learn new things about your language of choice by
looking at other languages) and also for your CV. Having said that I
am guilty of being very CFML focussed primarily because that is what I
use daily. I used to work for a company doing classic asp, I then
learnt .NET, before joining a ColdFusion shop. As I haven't really
used .NET in the last few years my knowledge of it is sadly all but
gone. I think that the best way to learn multiple languages is to pick
ones that are complimentary or will be used by your business on a
regular basis. We all know SQL because it is complimentary to
ColdFusion. Personally I have been looking at JRuby (jruby.org) as it
runs on the JVM and Rails has some cool stuff. However I Sean has got
it right by mixing CFML and something like Clojure together in the
same application. That to me seems like a great way of learning a new
language and improving your applications at the same time.
John
- sent by a little green robot powered device
That is pretty much my situation as well. I work for myself and so time is money. It’s hard to justify time on learning new languages when I have paid work to do in CFML and no real time to spend on new systems. I still wonder how long it would take to get to a point – in this situation – where I could legitimately look at charging for a job in a different language.
Quite a tricky one really.
---
James Allen
Blog: http://jamesallen.name
Twitter: @CFJamesAllen (Coldfusion / Web development)
Twitter: @jamesallenuk (General)
Twitter: @JamesAllenVoice (Voiceover)
Tune in to the best in community radio – Codebass Radio: http://codebassradio.net
When do you get the time to learn anything? I'd hope you make time as
part of your own professional development. It's why you buy books,
attend training or go to conferences. If you're working for "the man",
you're likely restricted to what they'll consider will benefit them in
your career growth but even there you should be able to pitch for
alternative technologies to augment what's being done at the office
(or at least for evaluation purposes to verify you can't improve on
your current tools). If you're freelance, you are not restricted by
"the man" and you can learn whatever you please. If you don't have a
training budget as a freelancer, you're selling yourself short and
contributing to your own future obsolescence, in my opinion.
> I know I could pick up PHP, .NET, Ruby etc if I had a decent paid job to
> work on but just doing a little in my spare time would not give me the
> relevant skills to sell them as a professional service..
View it as learning new problem solving techniques. Learn Ruby on
Rails, not just to sell yourself but to _improve_ yourself. Looking at
technology solely in terms of revenue is terribly limiting. Learn new
skills to make _you_ more effective.
> I’d be interested to hear how other people have done this in real /
> professional terms.
When I was freelance, I budget for 2-4 conferences a year (or some
training and fewer conferences - since training tends to cost more).
That's just part of my cost of doing business, much like the overheads
of my office, my computers, my tax accountant and so on. You have to
think of yourself as a business and invest in your business. If you're
not doing that, you might as well be working for a corporation in a
9-to-5 job :(
Several comments come to mind but you won't like them :)
> I also think the question of how important it is to be fluent in a variety
> of languages is relative. ... They care about cost and results.
Right, which is why learning new techniques is important: it'll make
you more effective and you'll be able to solve harder problems, solve
them faster and deliver better results to your clients. And you'll
make more money doing it. The goal is to get your rate high enough
that you don't have to kill yourself working 60 hour weeks (like I
hear many freelancers complaining) so you have more time to invest in
yourself - either life quality or enhancing your skills. If you can
deliver a better solution faster, you can charge more for your time
because you'll be giving your clients better value. The better life is
achieved by working smarter, not harder :)
But if CFML hasn't moved forward as much as other languages of similar
"vintage" - which you seem to agree - then it doesn't really matter
whether it's about age or just being outdated: the view of CFML,
whether you like it or not, is equally valid. Other languages of equal
age have left CFML behind. That's just a fact. It doesn't make CFML
any less of a great language for the folks who use it day in, day out.
Frankly, I don't know why CFers are still so sensitive to this issue
after all these years. The situation isn't going to get better unless
the community - y'all - go out and show what CFML can do with your
heads held high in a world that is largely about open source
(Microsoft notwithstanding).
Last year's keynote at the OpenCF Summit was very specifically about
that issue: accept that CFML is behind the curve, stop being offended
by people pointing that out, but show people it's still great and
getting better all the time.
> It would have
> been really interesting to see what Microsoft would have done with
> ColdFusion and it's tooling if they'd bought it.
I think you can look back at old school ASP and Visual Basic, and then
look forward to modern .NET languages and tooling, and the pattern
would have been the same. Somewhere along the way, they'd have
reinvented CFML and forced everyone to learn new skills, just like
they've done with everything else. In other words, CFML would have
been ASP and then ASP.NET and what we all know as CFML simply wouldn't
exist today.
And the CFML community wouldn't be what it is - C# doesn't have our
close knit community - and we wouldn't have seen the rise of open
source software and CFML engines (although CFML is far, far behind
most of the other open source languages in that area). I know a lot of
people who would never have learned CFML if it had belonged to
Microsoft. We wouldn't be having these discussions.
> As for learning multiple languages I agree that it is good for you as
> a developer (you'll learn new things about your language of choice by
> looking at other languages) and also for your CV.
Yes, that's the point I'm trying to make: this is about much more than
just getting paid to write in language X.
> I used to work for a company doing classic asp, I then
> learnt .NET, before joining a ColdFusion shop. As I haven't really
> used .NET in the last few years my knowledge of it is sadly all but
> gone.
My C++ skills have lessened with lack of use so I recently joined a
C++ user group that plans to have collaborative hackathons twice a
month. My Java skills have also become a bit stale - but since I've
picked up Groovy, Scala and Clojure (and taken all three to
production), I'm happy to let Java go. I do feel I should learn C# and
I was involved with Mono early on for that specific purpose but I've
let that skill go very rusty since (I learned enough to write a few
small web apps that ran on XSP/Mono on my Mac). I belong to about a
dozen different user groups and go to two or three meetings a month as
interesting topics turn up (I've stepped down from BACFUG but would
still turn up if an interesting topic turns up).
I'll make another plug for Seven Languages in Seven Weeks by Bruce
Tate. Buy it, work thru all the exercises. Setting aside an hour or
two every night for two months is a small investment for the benefits
you'll get.
Sean
I get where you are coming from now, that learning other languages can
actually help you improve your CFML skills. I think I was caught up in the
idea of trying to learn a new language and then be able to sell it as a
professional service.
I have dabbled in some other languages such as PHP and some scripting ones
which I find pretty easy to pick up, but it's just being able to take on
full jobs and deliver to budget and timescale which I don't think is always
that realistic.
The idea of bringing in new programming methodologies to CFML is a good one.
I suppose that it also gives us a head start if we ever have to move to
another platform for a certain project or change of circumstances. That is
probably the key here - being prepared... Maybe Baden-Powell had something
there. ;)
---
James Allen
E: ja...@jamesallen.name
Blog: http://jamesallen.name
Twitter: @CFJamesAllen (Coldfusion / Web development)
Twitter: @jamesallenuk (General)
Twitter: @JamesAllenVoice (Voiceover)
Tune in to the best in community radio - Codebass Radio:
http://codebassradio.net
> -----Original Message-----
> From: framew...@googlegroups.com [mailto:framework-
> o...@googlegroups.com] On Behalf Of Sean Corfield
> Sent: 28 January 2012 23:38
> To: framew...@googlegroups.com
> Subject: Re: [framework-one] Re: Off Topic
>
One of these days I need to heed Sean's advice and try the "Seven languages in seven weeks".
Thanks everyone!
- Miguel
Perhaps this is going even further off topic, but I'm enjoying the thread :)
I'm getting quite interested in using cfml as a templating engine and something like scala for the model. Is this something others have done (I think this is what you're doing at world singles Sean). If so, are you using cfgroovy2 to do it? Seems like a good way for me to learn and use on a regular basis jvm languages such as scala / closure / jruby etc within my current "9-5".
Thanks.
- sent by a little green robot powered device
Right, and PHP won't teach you anything new. There's some good lessons
in Ruby on Rails but the real "new thinking" will come from learning
languages like Scala, Clojure, Prolog, Erlang and from building
applications on Node.js... just off the top of my head.
A couple of things:
* FW/1 for Clojure and a Leiningen (build tool) plugin that makes
creating a new FW/1 site as easy as: lein fw1 new mysite
* cfmljure which allows you to use Clojure for the model in a CFML app
(we use it with both FW/1 and ColdBox at World Singles)
> may have even discussed it on the RTE CF Roundtable. If Sean can confirm
> that, I'll toss a link to the podcast.
https://github.com/seancorfield/fw1-clj
https://github.com/seancorfield/lein-fw1
https://github.com/seancorfield/cfmljure (caveat: the documentation sucks)
> On Jan 29, 2012, at 1:16 PM, John Whish wrote:
> I'm getting quite interested in using cfml as a templating engine and
> something like scala for the model. Is this something others have done (I
> think this is what you're doing at world singles Sean). If so, are you using
> cfgroovy2 to do it? Seems like a good way for me to learn and use on a
> regular basis jvm languages such as scala / closure / jruby etc within my
> current "9-5".
Scala is more of a compile-deploy-test language so it's not very
amenable to the cfgroovy2 mindset. I think you can use that with
Groovy and JRuby tho'.
Clojure is easiest to use thru my cfmljure project.
We've actually stopped using Scala at World Singles. It didn't really
fit our mindset - but it's a good language. Today we use CFML for the
front end and most of the back end with Clojure being used
increasingly for the back end. Most of our persistence is handled via
Clojure (about half of our MySQL interaction and all of our MongoDB
interaction). We also do all of our searching via Clojure (JSON and
XML generation and parsing, and posting to a search engine). We're
doing geolocation via Clojure too, and some of our email generation. I
expect we'll eventually have most of our backend in Clojure with just
our View-Controller layer in CFML (on Railo). We may eventually
consider switching the front end to Clojure but that's a very, very
long way off if it ever happens.
BTW, if you want to try cfmljure, use Railo on Tomcat. Adobe
ColdFusion's handling of expression types doesn't work very well with
Clojure (I can explain if anyone cares).
About 2/3 the way down is the ColdFusion Roundtable, which was basically made up of all the CF community dudes present at Clojure Conj. There's one above that with Daniel Spiewak in which Scala is discussed. (Apologies for the audio quality. It's much improved in later episodes. Lessons learned. ;)
Reach out to other communities on behalf of Clojure. We need a bigger round table for next year. :P
CFML is going to be "good enough" (as long as you write decent code)
but there are benefits to writing the model in another language,
including:
* performance
* reuse
Performance:
CFML's type system is so dynamic that there's quite a performance
overhead in almost everything it does. Every release of every CFML
engine works to improve this area but most other JVM languages will
give you substantially better performance (Groovy is one of the
slowest mainstream languages on the JVM but Scala, Clojure and Java
will all substantially outperform CFML).
Reuse:
If your model is written in a non-CFML language, you can reuse it in
non-CFML applications which may be of value to your organization. At
World Singles, we have a number of long-running processes that could
not be built in CFML (they are daemon processes that run 24x7) and by
having our model in Clojure, we can reuse that code between our web
apps (in CFML) and our daemon processes (in Clojure).
Also, some things are just plain hard in CFML (integration with
certain third party APIs, concurrency, network I/O, etc) and dropping
down to a JVM-based language closer to the metal may be required if
your application needs that. An example: we use Braintree's excellent
payment provider service but their Java library is designed around the
Builder pattern and uses some inner classes - it was nasty to get some
of that working from CFML (we succeeded but it would have probably
been easier to write a wrapper in some non-CFML language and use that
wrapper from CFML).
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
I spoke at four CFML events in 2011 and attended six non-CFML events.
I need a quieter year in 2012!
Simplest argument against such lists? The author/publisher/company in question has a vested interest in selling their training materials, and 100% of their articles/posts are for the express purpose of selling their stuff. Guess what they do not offer? ColdFusion training. Why? Probably because ColdFusion is so damn simple and easy that a toddler can pick it up simply by reading the FREE documentation! Someone seasoned in programming? Yeah, they *really* don't need training from some "education company" such as the folks behind that website.
On Fri, Jan 27, 2012 at 10:13 AM, Doug <dsm...@arn.com> wrote:Miguel –
Please take a look at Ray Camden’s blog, as I asked a similar
question.
http://www.raymondcamden.com/index.cfm/2011/3/21/Quick-advice-for-handling-the-ColdFusion-haters
Please inform the person that wrote point #10 that *they* are the one
that needs to do their homework. Honestly, I have yet to tackle a
problem at work that couldn’t be handled by a CF implementation.
It’s funny, but as I write this, I’m altering a process that currently
employs a .net app, SQL DTS, SQL package, 2 SQL procs, and a CuteFTP
call – all with one .cfm template. So much less complex, and so much
easier to manage.
Doug
On Jan 27, 10:50 am, "Fernandez, Miguel" <Miguel.Fernan...@kyfb.com>
wrote:
> This really has nothing to do with FW/1 (my apologies) but I was just curious if any of you out there have to deal with naysayers of ColdFusion? This seems to come up just about every year. Here is the latest going around my office (if you don't want to read it all just see number 10 at the bottom)...> http://www.globalknowledge.com/articles/generic.asp?pageid=3149&count...
>
>
> It's kind of funny because I just attended a ColdFusion meetup last week that talked about the next version of ColdFusion (code named Zeus) and was pretty excited about it. As usual it will include several very cool features that will make our lives easier. That is, assuming ColdFusion doesn't become extinct... ;)
>
> If you missed the meetup about Zeus you can see the recorded version here:http://www.meetup.com/coldfusionmeetup/events/45355792/ (No they did not give any release dates.)
> Thanks to Charlie Arehart for putting these things on for us.
> - Miguel
>
>
--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
"...but it is hard for it compete with so many newer, easier and more
advanced products. ColdFusion was originally released in 1995 Today,
it is superseded by Microsoft .NET, Java, PHP, and Ruby..."
Erm, I believe that Java, PHP and Ruby also appeared in 1995 (as was JavaScript)
That is pretty much my situation as well. I work for myself and so time is money. It’s hard to justify time on learning new languages when I have paid work to do in CFML and no real time to spend on new systems. I still wonder how long it would take to get to a point – in this situation – where I could legitimately look at charging for a job in a different language.Quite a tricky one really.
---James AllenBlog: http://jamesallen.nameTwitter: @CFJamesAllen (Coldfusion / Web development)Twitter: @jamesallenuk (General)Twitter: @JamesAllenVoice (Voiceover)
Tune in to the best in community radio – Codebass Radio: http://codebassradio.netFrom: framew...@googlegroups.com [mailto:framew...@googlegroups.com] On Behalf Of Nando
Sent: 28 January 2012 14:48
To: framew...@googlegroups.com
Subject: Re: [framework-one] Re: Off Topic
I also agree in principle, but am always very much short of time, especially running my own business.
I also think the question of how important it is to be fluent in a variety of languages is relative. My clients do not care what server side language I use, and indeed most don't even know how any of it works at all. If I try and explain how web applications work to them in any detail, they get insecure and irritated. They care about cost and results.
On Jan 28, 2012, at 11:29, "James Allen" <sling...@googlemail.com> wrote:
I do agree to this in principal but for a lot of us when do we get the time to learn a different language / system to a professional level when we are working exclusively in ColdFusion?
I know I could pick up PHP, .NET, Ruby etc if I had a decent paid job to work on but just doing a little in my spare time would not give me the relevant skills to sell them as a professional service.. At least I’m not sure I’d feel comfortable taking on projects in a different language without first having some real experience in it. Though I realise this in some ways is chicken and egg..
I’d be interested to hear how other people have done this in real / professional terms.
---James AllenBlog: http://jamesallen.nameTwitter: @CFJamesAllen (Coldfusion / Web development)Twitter: @jamesallenuk (General)Twitter: @JamesAllenVoice (Voiceover)
Tune in to the best in community radio – Codebass Radio: http://codebassradio.netFrom: framew...@googlegroups.com [mailto:framew...@googlegroups.com] On Behalf Of James Holmes
Sent: 28 January 2012 08:00
To: framew...@googlegroups.com
Subject: Re: [framework-one] Re: Off Topic
This is the most important part of Sean's response, IMO. I'd even take it to the level that having favourites and being reliant on one technology / language / platform etc is a weakness and makes one vulnerable in a number of ways.
--
Shu Ha Ri: Agile and .NET blog
http://www.bifrost.com.au/
On 28 January 2012 08:35, Sean Corfield <seanco...@gmail.com> wrote:When it says "Web developers basing their careers on this language
should start looking at modernizing their skill set." I would say that
such developers should have started looking years ago and that no
developers should be comfortable with just one core language in their
tool belt.
--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
--
FW/1 on RIAForge: http://fw1.riaforge.org/
FW/1 on github: http://github.com/seancorfield/fw1
FW/1 on Google Groups: http://groups.google.com/group/framework-one
I think it's interesting that a lot of people do say that early on
nothing could touch CFML for ease of use in terms of getting dynamic
data up on web pages. That CFML was once a great choice doesn't seem
to be in dispute (although I wouldn't go so far as to say "dominant").
> my Earth, there are more ColdFusion developers now than ever, as it has
I'd challenge that. I think the number of CFML developers has dropped
from the claimed peak of around 800,000 (Adobe no longer seem to tout
the Evans Data Corp report that provided that estimate). That may have
been true for 2008 but all the data I've seen indicates a peak in the
CFML market around the end of 2008 / start of 2009 and a steady
decline in numbers ever since.
BTW, sorry for the delay in posting many of these posts - Google
didn't alert me that messages were awaiting first post moderation so
there was quite a backlog when I checked this morning!
If you're in the Bay Area and you're interested in learning about
Clojure, you might consider Clojure/West in March:
The early bird price just finished but you can get $25 off the current
price as follows:
* At registration, select "Attendee (Friend of Attendee)"
* On the Personal Information page, enter the name of the already
registered friend: Sean Corfield
I'm a speaker so I don't get anything out of this as far as I know,
but you'll get to register for $400 instead of $425 right now.
There was quite a CFML presence at Clojure/conj so this is actually
less out-of-left-field than you might think:
http://codebassradio.net/2011/11/29/runtime-expectations-episode-13-hot-clojure-conj/
Another option for a cheap Bay Area event that's not about CFML is MongoSF:
http://www.10gen.com/events/mongo-sf
I'll be signing up for this (I went to both MongoSF and MongoSV last
year and both were excellent events!).
I'm not familiar enough with Python to comment but I've heard folks
refer to Python as "Lisp in C clothing" which makes it sound
interesting. I think if you are learning idiomatic Python with an
emphasis on a functional programming style, you'll be picking up some
of that "new thinking"...
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/
Sean - a few posts back on this thread you mentioned joining a C++
user group. I'm a little interested why? Do you have a use for it in
your day to day work, or is it just for your own interest?
Regards,
Andrew.
http://www.amk.ca/python/writing/functional
> Sean - a few posts back on this thread you mentioned joining a C++
> user group. I'm a little interested why? Do you have a use for it in
> your day to day work, or is it just for your own interest?
Just for interest. I was a voting member of the ANSI C++ Standards
Committee for eight years (and secretary for three) so there's a few
things in the language I can take the blame for :)
I'm also in a Haskell user group - again for interest - and a couple
of Java groups (even tho' I don't actually write Java). I'm in over a
dozen user groups - and that's after dropping out of several others :)